Skip to content

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

@0x-jerry

Description

@0x-jerry

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!
~/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

> [email protected] 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    feat: deps optimizerEsbuild Dependencies Optimizationp2-edge-caseBug, but has workaround or limited in scope (priority)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions