vitejs / vite

Next generation frontend tooling. It's fast!
http://vitejs.dev
MIT License
67.2k stars 6.04k forks source link

[plugin vite:dep-scan] throw an error when start the dev server **at the first time** with import a virtual file #14151

Open 0x-jerry opened 1 year ago

0x-jerry commented 1 year ago

Describe the bug

When start vite dev server the first time, [plugin vite:dep-scan] will throw an error, but it doesn't break anything.

Then restart vite dev server again, the error disappeared.

when enable optimizeDeps.noDiscovery(It's an experimental option), the error disappeared.

  optimizeDeps: {
    noDiscovery: true,
  },

Reproduction

https://stackblitz.com/edit/vitejs-vite-qm5ajs?file=package.json,src%2FApp.vue,src%2Fmain.ts&terminal=dev

Steps to reproduce

  1. wait vite dev server start, dep-scan plugin will throw an error like ENOENT: no such file or directory, open 'virtual:foo/Bar.vue' [plugin vite:dep-scan]
  2. close vite dev server, run npm run dev
  3. no more errors.

System Info

System:
    OS: Linux 5.0 undefined
    CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 0 Bytes / 0 Bytes
    Shell: 1.0 - /bin/jsh
  Binaries:
    Node: 16.20.0 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 9.4.2 - /usr/local/bin/npm
    pnpm: 8.6.10 - /usr/local/bin/pnpm
  npmPackages:
    @vitejs/plugin-vue: ^4.2.3 => 4.2.3 
    vite: ^4.4.9 => 4.4.9

Used Package Manager

npm

Logs

Click to expand! ```shell ~/projects/vitejs-vite-qm5ajs ❯ npm install && npm run dev added 42 packages in 2s 4 packages are looking for funding run `npm fund` for details > vite-vue-typescript-starter@0.0.0 dev > vite VITE v4.4.9 ready in 928 ms ➜ Local: http://localhost:5173/ ➜ Network: use --host to expose ➜ press h to show help Error: Failed to scan for dependencies from entries: /home/projects/vitejs-vite-qm5ajs/index.html ✘ [ERROR] ENOENT: no such file or directory, open 'virtual:foo/Bar.vue' [plugin vite:dep-scan] script:/home/projects/vitejs-vite-qm5ajs/src/App.vue?id=0:4:7: 4 │ import 'virtual:foo/Bar.vue' ╵ ~~~~~~~~~~~~~~~~~~~~~ This error came from the "onLoad" callback registered here: node_modules/vite/dist/node/chunks/dep-df561101.js:44636:18: 44636 │ contents: await doTransformGlob... ╵ ^ at setup (/home/projects/vitejs-vite-qm5ajs/node_modules/vite/dist/node/chunks/dep-df561101.js:44636:19) at handlePlugins (/home/projects/vitejs-vite-qm5ajs/node_modules/esbuild/lib/main.js:1282:21) at buildOrContextImpl (/home/projects/vitejs-vite-qm5ajs/node_modules/esbuild/lib/main.js:968:5) at Object.buildOrContext (/home/projects/vitejs-vite-qm5ajs/node_modules/esbuild/lib/main.js:776:5) at eval (/home/projects/vitejs-vite-qm5ajs/node_modules/esbuild/lib/main.js:1993:68) at Object.context (/home/projects/vitejs-vite-qm5ajs/node_modules/esbuild/lib/main.js:1993:27) at Object.context (/home/projects/vitejs-vite-qm5ajs/node_modules/esbuild/lib/main.js:1833:58) at prepareEsbuildScanner (/home/projects/vitejs-vite-qm5ajs/node_modules/vite/dist/node/chunks/dep-df561101.js:44514:35) at failureErrorWithLog (/home/projects/vitejs-vite-qm5ajs/node_modules/esbuild/lib/main.js:1639:15) at eval (/home/projects/vitejs-vite-qm5ajs/node_modules/esbuild/lib/main.js:1048:25) at runOnEndCallbacks (/home/projects/vitejs-vite-qm5ajs/node_modules/esbuild/lib/main.js:1474:45) at buildResponseToResult (/home/projects/vitejs-vite-qm5ajs/node_modules/esbuild/lib/main.js:1046:7) at eval (/home/projects/vitejs-vite-qm5ajs/node_modules/esbuild/lib/main.js:1058:9) at requestCallbacks.on-end (/home/projects/vitejs-vite-qm5ajs/node_modules/esbuild/lib/main.js:1057:54) at handleRequest (/home/projects/vitejs-vite-qm5ajs/node_modules/esbuild/lib/main.js:719:19) at handleIncomingPacket (/home/projects/vitejs-vite-qm5ajs/node_modules/esbuild/lib/main.js:745:7) at Socket.readFromStdout (/home/projects/vitejs-vite-qm5ajs/node_modules/esbuild/lib/main.js:669:7) ```

Validations

stackblitz[bot] commented 1 year ago

Fix this issue in StackBlitz Codeflow Start a new pull request in StackBlitz Codeflow.