nuxt / bridge

🌉 Experience Nuxt 3 features on existing Nuxt 2 projects
MIT License
272 stars 29 forks source link

Can't find a module in the monorepo build #46

Open negezor opened 2 years ago

negezor commented 2 years ago

Environment

Reproduction

https://codesandbox.io/s/blissful-tess-b5dyi

Describe the bug

Can't find the tippy.js module when building, but it works in dev mode.

Additional context

I think @nuxt/bridge does not work properly in monorepo. It would be nice to have first-class support for monorepo.

Logs

ERROR  Rollup error: File /sandbox/services/web/tippy.js does not exist.             17:38:51

 FATAL  File /sandbox/services/web/tippy.js does not exist.                           17:38:51

  at Job.emitDependency (/sandbox/node_modules/@vercel/nft/out/node-file-trace.js:283:23)
  at async Promise.all (index 23)
  at async nodeFileTrace (/sandbox/node_modules/@vercel/nft/out/node-file-trace.js:35:5)
  at async Object.buildEnd (/sandbox/node_modules/@nuxt/nitro/dist/index.mjs:287:29)
  at async Promise.all (index 0)
  at async rollupInternal (/sandbox/node_modules/rollup/dist/es/shared/rollup.js:23394:5)
  at async _build (/sandbox/node_modules/@nuxt/nitro/dist/index.mjs:1085:18)
  at async /sandbox/node_modules/@nuxt/bridge/dist/chunks/module.mjs:219:7
  at async Nuxt.callHook (/sandbox/node_modules/hable/dist/hable.js:1:959)
  at async Builder.build (/sandbox/node_modules/@nuxt/builder-edge/dist/builder.js:264:5)
  at async Object.invoke (/sandbox/node_modules/nuxi/dist/chunks/build.mjs:33:5)
  at async _main (/sandbox/node_modules/nuxi/dist/chunks/index.mjs:382:7)
moisout commented 2 years ago

This is happening to me too, when using a yarn monorepo. It seems something is wrong when rollup is resolving modules.

start Generating public...                                                                                                           20:42:54
✔ Generated public .output/public                                                                                                    20:42:54
start Building server...                                                                                                             20:42:54

 ERROR  Rollup error: File /home/maurice/Projects/nuxt3-test/client/core-js/modules/esnext.set.add-all.js does not exist.   20:43:00

 FATAL  File /home/maurice/Projects/nuxt3-test/client/core-js/modules/esnext.set.add-all.js does not exist.                 20:43:00

  at Job.emitDependency (/home/maurice/Projects/nuxt3-test/node_modules/@vercel/nft/out/node-file-trace.js:280:23)
  at async Promise.all (index 25)
  at async nodeFileTrace (/home/maurice/Projects/nuxt3-test/node_modules/@vercel/nft/out/node-file-trace.js:32:5)
  at async Object.buildEnd (/home/maurice/Projects/nuxt3-test/node_modules/@nuxt/nitro/dist/index.mjs:299:29)
  at async Promise.all (index 0)
  at async rollupInternal (/home/maurice/Projects/nuxt3-test/node_modules/rollup/dist/es/shared/rollup.js:23495:5)
  at async _build (/home/maurice/Projects/nuxt3-test/node_modules/@nuxt/nitro/dist/index.mjs:1102:18)
  at async /home/maurice/Projects/nuxt3-test/node_modules/@nuxt/bridge/dist/chunks/module.mjs:229:7
  at async Nuxt.callHook (/home/maurice/Projects/nuxt3-test/node_modules/hable/dist/hable.js:1:959)
  at async Builder.build (/home/maurice/Projects/nuxt3-test/node_modules/@nuxt/builder-edge/dist/builder.js:264:5)
  at async Object.invoke (/home/maurice/Projects/nuxt3-test/node_modules/nuxi-edge/dist/chunks/build.mjs:33:5)
  at async _main (/home/maurice/Projects/nuxt3-test/node_modules/nuxi-edge/dist/chunks/index.mjs:384:7)
dmytro-grablov commented 1 year ago

I think it can be related to vite, rather than nuxt and is also described in https://stackoverflow.com/questions/74902697/error-the-request-url-is-outside-of-vite-serving-allow-list-after-git-init

I was able to resolve it with the following congiguration

import { searchForWorkspaceRoot } from 'vite';
import { defineNuxtConfig } from '@nuxt/bridge';

export default defineNuxtConfig({
  vite: {
    server: {
      fs: {
        allow: [searchForWorkspaceRoot(process.cwd())],
      },
    },
  },
});