nuxt/nuxt

nuxt commands don't run in node_modules

Open

#26 784 ouverte le 15 avr. 2024

Voir sur GitHub
 (0 commentaires) (0 réactions) (0 assignés)TypeScript (60 221 stars) (5 607 forks)batch import
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

Guide contributeur