good first issue🔨 p3-minor
Description
Environment
- Operating System:
Darwin - Node Version:
v20.11.1 - Nuxt Version:
3.11.2 - CLI Version:
3.11.1 - Nitro Version:
- - Package Manager:
pnpm@8.15.5 - Builder:
- - User Config:
devtools - Runtime Modules:
- - Build Modules:
-
Reproduction
https://github.com/Jinjiang/reproductions/tree/nuxt-build-20240415
cd node_modules/foo
pnpm install
pnpm nuxt dev
# or
pnpm nuxt build
# or
node ./debug/dev.mjs
# or
node ./debug/build.mjs
Describe the bug
when a nuxt app is inside node_modules, nuxt commands don't work
Additional context
Background: this is part of Nuxt integration with Bit. In Bit, everything is considered inside a node module. So during dev or build or other processes, the Nuxt command will be run on a path inside node_modules, which leads to this issue.
Logs
$ pnpm nuxt dev
Nuxt 3.11.2 with Nitro 2.9.6 4:39:13 PM
4:39:13 PM
➜ Local: http://localhost:3000/
➜ Network: use --host to expose
➜ DevTools: press Shift + Option + D in the browser (v1.1.5) 4:39:14 PM
[4:39:15 PM] ERROR Pre-transform error: Failed to resolve import "ofetch" from "virtual:nuxt:/Volumes/jinjiang-portable-disk/Developer/teambit/temp/fake-capsules/node_modules/try-nuxt-build/node_modules/foo/.nuxt/fetch.mjs". Does the file exist?
ℹ Vite client warmed up in 1054ms 4:39:16 PM
ℹ Vite server warmed up in 1123ms 4:39:16 PM
✔ Nuxt Nitro server built in 766 ms nitro 4:39:17 PM
^C
------------------------------------------------
$ pnpm nuxt build
Nuxt 3.11.2 with Nitro 2.9.6 4:39:22 PM
ℹ Building client... 4:39:24 PM
ℹ vite v5.2.8 building for production... 4:39:24 PM
ℹ ✓ 7 modules transformed. 4:39:24 PM
transforming (93) node_modules/.pnpm/@vue+devtools-api@6.6.1/node_modules/@vue/devtoolsInspect report generated at /Volumes/jinjiang-portable-disk/Developer/teambit/temp/fake-capsules/node_modules/try-nuxt-build/node_modules/foo/.nuxt/analyze/.vite-inspect
ERROR x Build failed in 481ms 4:39:24 PM
[4:39:24 PM] ERROR Nuxt Build Error: [vite]: Rollup failed to resolve import "ofetch" from "virtual:nuxt:/Volumes/jinjiang-portable-disk/Developer/teambit/temp/fake-capsules/node_modules/try-nuxt-build/node_modules/foo/.nuxt/fetch.mjs".
This is most likely unintended because it can break your application at runtime.
If you do want to externalize this module explicitly add it to
build.rollupOptions.external
This is most likely unintended because it can break your application at runtime.
If you do want to externalize this module explicitly add it to
build.rollupOptions.external
at viteWarn (node_modules/.pnpm/vite@5.2.8/node_modules/vite/dist/node/chunks/dep-whKeNLxG.js:67589:27)
at onRollupWarning (node_modules/.pnpm/vite@5.2.8/node_modules/vite/dist/node/chunks/dep-whKeNLxG.js:67617:9)
at onwarn (node_modules/.pnpm/vite@5.2.8/node_modules/vite/dist/node/chunks/dep-whKeNLxG.js:67321:13)
at node_modules/.pnpm/rollup@4.14.3/node_modules/rollup/dist/es/shared/node-entry.js:18351:13
at Object.logger [as onLog] (node_modules/.pnpm/rollup@4.14.3/node_modules/rollup/dist/es/shared/node-entry.js:19999:9)
at ModuleLoader.handleInvalidResolvedId (node_modules/.pnpm/rollup@4.14.3/node_modules/rollup/dist/es/shared/node-entry.js:18941:26)
at node_modules/.pnpm/rollup@4.14.3/node_modules/rollup/dist/es/shared/node-entry.js:18899:26