-
-
Notifications
You must be signed in to change notification settings - Fork 7.1k
Closed
Labels
Description
Describe the bug
Vite injects importScripts
at the top and it's breaking a code. Transform looks like this:
// src/worker.js
(() => {
console.log("hello iife");
})();
// http://localhost:5173/src/worker.js?worker_file&type=classic
importScripts("/@vite/env")(()=>{
console.log("hello iife");
}
)();
The transformed code causes an error since call expression is parsed differently:
TypeError: importScripts(...) is not a function
at worker.js:1:1
Perhaps, adding semicolon (like importScripts("/@vite/env"); ...
) to be parsed as expression statement would help?
Reproduction
https://github.com/hi-ogawa/reproductions/tree/main/vite-worker-inject-importScripts
Steps to reproduce
- open https://stackblitz.com/github/hi-ogawa/reproductions/tree/main/vite-worker-inject-importScripts?file=README.md
- check browser console
System Info
(stackblitz)
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: 18.20.3 - /usr/local/bin/node
Yarn: 1.22.19 - /usr/local/bin/yarn
npm: 10.2.3 - /usr/local/bin/npm
pnpm: 8.15.6 - /usr/local/bin/pnpm
npmPackages:
vite: ^5.3.4 => 5.3.5
Used Package Manager
pnpm
Logs
No response
Validations
- Follow our Code of Conduct
- Read the Contributing Guidelines.
- Read the docs.
- Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
- Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
- Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
- The provided reproduction is a minimal reproducible example of the bug.