diff --git a/packages/vite/src/node/plugins/workerImportMetaUrl.ts b/packages/vite/src/node/plugins/workerImportMetaUrl.ts index 1b05e6d4a137e1..5711b48bcedc42 100644 --- a/packages/vite/src/node/plugins/workerImportMetaUrl.ts +++ b/packages/vite/src/node/plugins/workerImportMetaUrl.ts @@ -76,13 +76,14 @@ export function workerImportMetaUrlPlugin(config: ResolvedConfig): Plugin { name: 'vite:worker-import-meta-url', async transform(code, id, options) { - const query = parseRequest(id) - let s: MagicString | undefined if ( + !options?.ssr && (code.includes('new Worker') || code.includes('new SharedWorker')) && code.includes('new URL') && code.includes(`import.meta.url`) ) { + const query = parseRequest(id) + let s: MagicString | undefined const cleanString = stripLiteral(code) const workerImportMetaUrlRE = /\bnew\s+(Worker|SharedWorker)\s*\(\s*(new\s+URL\s*\(\s*('[^']+'|"[^"]+"|`[^`]+`)\s*,\s*import\.meta\.url\s*\))/g @@ -96,13 +97,6 @@ export function workerImportMetaUrlPlugin(config: ResolvedConfig): Plugin { const urlEnd = urlStart + emptyUrl.length const rawUrl = code.slice(urlStart, urlEnd) - if (options?.ssr) { - this.error( - `\`new URL(url, import.meta.url)\` is not supported in SSR.`, - urlIndex - ) - } - // potential dynamic template string if (rawUrl[0] === '`' && /\$\{/.test(rawUrl)) { this.error(