From 1084b76c7b5c3af5fa011f9461f55a759b1097a2 Mon Sep 17 00:00:00 2001 From: yoho Date: Tue, 26 Apr 2022 22:13:17 +0800 Subject: [PATCH 1/6] feat: worker support query url --- .../worker/__tests__/es/es-worker.spec.ts | 8 +++- .../worker/__tests__/iife/worker.spec.ts | 8 +++- .../sourcemap-hidden-worker.spec.ts | 2 +- .../sourcemap-inline-worker.spec.ts | 2 +- .../sourcemap/sourcemap-worker.spec.ts | 2 +- packages/playground/worker/index.html | 6 +++ packages/playground/worker/simple-worker.js | 1 + packages/playground/worker/worker/main-url.js | 11 +++++ packages/playground/worker/worker/main.js | 1 + packages/vite/src/node/plugins/worker.ts | 45 ++++++++++++++++--- .../src/node/plugins/workerImportMetaUrl.ts | 39 ++-------------- 11 files changed, 79 insertions(+), 46 deletions(-) create mode 100644 packages/playground/worker/simple-worker.js create mode 100644 packages/playground/worker/worker/main-url.js diff --git a/packages/playground/worker/__tests__/es/es-worker.spec.ts b/packages/playground/worker/__tests__/es/es-worker.spec.ts index a815596721c268..040431a4553014 100644 --- a/packages/playground/worker/__tests__/es/es-worker.spec.ts +++ b/packages/playground/worker/__tests__/es/es-worker.spec.ts @@ -60,7 +60,7 @@ if (isBuild) { // assert correct files test('inlined code generation', async () => { const files = fs.readdirSync(assetsDir) - expect(files.length).toBe(21) + expect(files.length).toBe(23) const index = files.find((f) => f.includes('main-module')) const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8') const worker = files.find((f) => f.includes('my-worker')) @@ -100,3 +100,9 @@ test('emit chunk', async () => { '"A string/es/"' ) }) + +test('url query worker', async () => { + expect(await page.textContent('.simple-worker-url')).toMatch( + 'Hello from simple worker!' + ) +}) diff --git a/packages/playground/worker/__tests__/iife/worker.spec.ts b/packages/playground/worker/__tests__/iife/worker.spec.ts index 9be78d57edd702..6f8ecf49025aec 100644 --- a/packages/playground/worker/__tests__/iife/worker.spec.ts +++ b/packages/playground/worker/__tests__/iife/worker.spec.ts @@ -63,7 +63,7 @@ if (isBuild) { // assert correct files test('inlined code generation', async () => { const files = fs.readdirSync(assetsDir) - expect(files.length).toBe(12) + expect(files.length).toBe(14) const index = files.find((f) => f.includes('main-module')) const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8') const worker = files.find((f) => f.includes('my-worker')) @@ -94,3 +94,9 @@ test('classic worker', async () => { expect(await page.textContent('.classic-worker')).toMatch('A classic') expect(await page.textContent('.classic-shared-worker')).toMatch('A classic') }) + +test('url query worker', async () => { + expect(await page.textContent('.simple-worker-url')).toMatch( + 'Hello from simple worker!' + ) +}) diff --git a/packages/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts b/packages/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts index 1797ac5269e411..34a3320f646587 100644 --- a/packages/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts +++ b/packages/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts @@ -9,7 +9,7 @@ if (isBuild) { test('sourcemap generation for web workers', async () => { const files = fs.readdirSync(assetsDir) // should have 2 worker chunk - expect(files.length).toBe(24) + expect(files.length).toBe(28) const index = files.find((f) => f.includes('main-module')) const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8') const indexSourcemap = getSourceMapUrl(content) diff --git a/packages/playground/worker/__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts b/packages/playground/worker/__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts index 89af0878213ab9..8760e1f5d27ffc 100644 --- a/packages/playground/worker/__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts +++ b/packages/playground/worker/__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts @@ -9,7 +9,7 @@ if (isBuild) { test('sourcemap generation for web workers', async () => { const files = fs.readdirSync(assetsDir) // should have 2 worker chunk - expect(files.length).toBe(12) + expect(files.length).toBe(14) const index = files.find((f) => f.includes('main-module')) const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8') const indexSourcemap = getSourceMapUrl(content) diff --git a/packages/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts b/packages/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts index 24af73d5e3edfa..44098a5a14a585 100644 --- a/packages/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts +++ b/packages/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts @@ -9,7 +9,7 @@ if (isBuild) { test('sourcemap generation for web workers', async () => { const files = fs.readdirSync(assetsDir) // should have 2 worker chunk - expect(files.length).toBe(24) + expect(files.length).toBe(28) const index = files.find((f) => f.includes('main-module')) const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8') const indexSourcemap = getSourceMapUrl(content) diff --git a/packages/playground/worker/index.html b/packages/playground/worker/index.html index 602aa3d06bfcac..f43a9e8a99e75e 100644 --- a/packages/playground/worker/index.html +++ b/packages/playground/worker/index.html @@ -58,6 +58,12 @@

format iife:

+

+ new Worker(new URL('../simple-worker.js', import.meta.url).href) + .simple-worker-url +

+ +

diff --git a/packages/playground/worker/simple-worker.js b/packages/playground/worker/simple-worker.js new file mode 100644 index 00000000000000..3b7e9a75fd8c5f --- /dev/null +++ b/packages/playground/worker/simple-worker.js @@ -0,0 +1 @@ +self.postMessage('Hello from simple worker!') diff --git a/packages/playground/worker/worker/main-url.js b/packages/playground/worker/worker/main-url.js new file mode 100644 index 00000000000000..ba395926009754 --- /dev/null +++ b/packages/playground/worker/worker/main-url.js @@ -0,0 +1,11 @@ +import workerUrl from '../simple-worker?worker&url' + +function text(el, text) { + document.querySelector(el).textContent = text +} + +const worker = new Worker(workerUrl, { type: 'classic' }) + +worker.addEventListener('message', (ev) => { + text('.simple-worker-url', JSON.stringify(ev.data)) +}) diff --git a/packages/playground/worker/worker/main.js b/packages/playground/worker/worker/main.js index 953b5ef1bf3b53..ce434c38e79ce6 100644 --- a/packages/playground/worker/worker/main.js +++ b/packages/playground/worker/worker/main.js @@ -1,3 +1,4 @@ /* flag: will replace in vite config import("./format-es.js") */ import('./main-module') import('./main-classic') +import('./main-url') diff --git a/packages/vite/src/node/plugins/worker.ts b/packages/vite/src/node/plugins/worker.ts index 4113b7153f9b35..474a3c51b499ca 100644 --- a/packages/vite/src/node/plugins/worker.ts +++ b/packages/vite/src/node/plugins/worker.ts @@ -3,10 +3,11 @@ import type { Plugin } from '../plugin' import { fileToUrl, getAssetHash } from './asset' import { cleanUrl, injectQuery, parseRequest } from '../utils' import type Rollup from 'rollup' -import { ENV_PUBLIC_PATH } from '../constants' +import { ENV_ENTRY, ENV_PUBLIC_PATH } from '../constants' import path from 'path' import { onRollupWarning } from '../build' import type { TransformPluginContext, EmittedFile } from 'rollup' +import type { ViteDevServer } from '../server' interface WorkerCache { // save worker bundle emitted files avoid overwrites the same file. @@ -23,7 +24,9 @@ interface WorkerCache { emitted: Map } -const WorkerFileId = 'worker_file' +export type WorkerType = 'classic' | 'module' | 'ignore' + +export const WorkerFileId = 'worker_file' const workerCache = new WeakMap() function emitWorkerFile( @@ -195,10 +198,15 @@ export async function workerFileToUrl( export function webWorkerPlugin(config: ResolvedConfig): Plugin { const isBuild = config.command === 'build' const isWorker = config.isWorker + let server: ViteDevServer return { name: 'vite:worker', + configureServer(_server) { + server = _server + }, + buildStart() { workerCache.set(config, { assets: new Map(), @@ -220,11 +228,30 @@ export function webWorkerPlugin(config: ResolvedConfig): Plugin { } }, - async transform(_, id) { + async transform(raw, id) { const query = parseRequest(id) - if (query && query[WorkerFileId] != null) { + if (query && query[WorkerFileId] != null && query['type'] != null) { + const workerType = query['type'] as WorkerType + let injectEnv = '' + + if (workerType === 'classic') { + injectEnv = `importScripts('${ENV_PUBLIC_PATH}')\n` + } else if (workerType === 'module') { + injectEnv = `import '${ENV_PUBLIC_PATH}'\n` + } else if (workerType === 'ignore') { + if (isBuild) { + injectEnv = '' + } else if (server) { + // dynamic worker type we can't know how import the env + // so we copy /@vite/env code of server transform result into file header + const { moduleGraph } = server + const module = moduleGraph.getModuleById(ENV_ENTRY) + injectEnv = module?.transformResult?.code || '' + } + } + return { - code: `import '${ENV_PUBLIC_PATH}'\n` + _ + code: injectEnv + raw } } if ( @@ -233,6 +260,7 @@ export function webWorkerPlugin(config: ResolvedConfig): Plugin { ) { return } + const isUrl = query.url != null let url: string if (isBuild) { @@ -264,6 +292,13 @@ export function webWorkerPlugin(config: ResolvedConfig): Plugin { url = injectQuery(url, WorkerFileId) } + if (isUrl) { + return { + code: `export default ${JSON.stringify(url)}`, + map: { mappings: '' } // Empty sourcemap to supress Rolup warning + } + } + const workerConstructor = query.sharedworker != null ? 'SharedWorker' : 'Worker' const workerOptions = { type: 'module' } diff --git a/packages/vite/src/node/plugins/workerImportMetaUrl.ts b/packages/vite/src/node/plugins/workerImportMetaUrl.ts index 3d8970b746349c..1f7764ce5c057a 100644 --- a/packages/vite/src/node/plugins/workerImportMetaUrl.ts +++ b/packages/vite/src/node/plugins/workerImportMetaUrl.ts @@ -4,19 +4,15 @@ import type { Plugin } from '../plugin' import { fileToUrl } from './asset' import { cleanUrl, injectQuery } from '../utils' import path from 'path' -import { workerFileToUrl } from './worker' +import type { WorkerType } from './worker' +import { workerFileToUrl, WorkerFileId } from './worker' import { parseRequest } from '../utils' -import { ENV_ENTRY, ENV_PUBLIC_PATH } from '../constants' import MagicString from 'magic-string' -import type { ViteDevServer } from '..' import type { RollupError } from 'rollup' import { emptyString } from '../cleanString' -type WorkerType = 'classic' | 'module' | 'ignore' const ignoreFlagRE = /\/\*\s*@vite-ignore\s*\*\// -const WORKER_FILE_ID = 'worker_url_file' - function getWorkerType(raw: string, clean: string, i: number): WorkerType { function err(e: string, pos: number) { const error = new Error(e) as RollupError @@ -69,41 +65,12 @@ function getWorkerType(raw: string, clean: string, i: number): WorkerType { export function workerImportMetaUrlPlugin(config: ResolvedConfig): Plugin { const isBuild = config.command === 'build' - let server: ViteDevServer return { name: 'vite:worker-import-meta-url', - configureServer(_server) { - server = _server - }, - async transform(code, id, options) { const query = parseRequest(id) - if (query && query[WORKER_FILE_ID] != null && query['type'] != null) { - const workerType = query['type'] as WorkerType - let injectEnv = '' - - if (workerType === 'classic') { - injectEnv = `importScripts('${ENV_PUBLIC_PATH}')\n` - } else if (workerType === 'module') { - injectEnv = `import '${ENV_PUBLIC_PATH}'\n` - } else if (workerType === 'ignore') { - if (isBuild) { - injectEnv = '' - } else if (server) { - // dynamic worker type we can't know how import the env - // so we copy /@vite/env code of server transform result into file header - const { moduleGraph } = server - const module = moduleGraph.getModuleById(ENV_ENTRY) - injectEnv = module?.transformResult?.code || '' - } - } - - return { - code: injectEnv + code - } - } let s: MagicString | undefined if ( (code.includes('new Worker') || code.includes('new SharedWorker')) && @@ -150,7 +117,7 @@ export function workerImportMetaUrlPlugin(config: ResolvedConfig): Plugin { url = await workerFileToUrl(this, config, file, query) } else { url = await fileToUrl(cleanUrl(file), config, this) - url = injectQuery(url, WORKER_FILE_ID) + url = injectQuery(url, WorkerFileId) url = injectQuery(url, `type=${workerType}`) } s.overwrite(urlIndex, urlIndex + exp.length, JSON.stringify(url), { From 2584d5f698d1538352d764ae752e88721bc8a71d Mon Sep 17 00:00:00 2001 From: yoho Date: Wed, 27 Apr 2022 21:30:05 +0800 Subject: [PATCH 2/6] chore: clean code --- packages/vite/src/node/plugins/worker.ts | 13 ++++++------- .../vite/src/node/plugins/workerImportMetaUrl.ts | 4 ++-- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/packages/vite/src/node/plugins/worker.ts b/packages/vite/src/node/plugins/worker.ts index 474a3c51b499ca..3f639870c0abde 100644 --- a/packages/vite/src/node/plugins/worker.ts +++ b/packages/vite/src/node/plugins/worker.ts @@ -26,7 +26,7 @@ interface WorkerCache { export type WorkerType = 'classic' | 'module' | 'ignore' -export const WorkerFileId = 'worker_file' +export const WORKER_FILE_ID = 'worker_file' const workerCache = new WeakMap() function emitWorkerFile( @@ -230,7 +230,7 @@ export function webWorkerPlugin(config: ResolvedConfig): Plugin { async transform(raw, id) { const query = parseRequest(id) - if (query && query[WorkerFileId] != null && query['type'] != null) { + if (query && query[WORKER_FILE_ID] != null && query['type'] != null) { const workerType = query['type'] as WorkerType let injectEnv = '' @@ -260,7 +260,6 @@ export function webWorkerPlugin(config: ResolvedConfig): Plugin { ) { return } - const isUrl = query.url != null let url: string if (isBuild) { @@ -289,13 +288,13 @@ export function webWorkerPlugin(config: ResolvedConfig): Plugin { } } else { url = await fileToUrl(cleanUrl(id), config, this) - url = injectQuery(url, WorkerFileId) + url = injectQuery(url, WORKER_FILE_ID) } - if (isUrl) { + if (query.url != null) { return { code: `export default ${JSON.stringify(url)}`, - map: { mappings: '' } // Empty sourcemap to supress Rolup warning + map: { mappings: '' } // Empty sourcemap to suppress Rollup warning } } @@ -309,7 +308,7 @@ export function webWorkerPlugin(config: ResolvedConfig): Plugin { url )}, ${JSON.stringify(workerOptions, null, 2)}) }`, - map: { mappings: '' } // Empty sourcemap to supress Rolup warning + map: { mappings: '' } // Empty sourcemap to suppress Rollup warning } }, diff --git a/packages/vite/src/node/plugins/workerImportMetaUrl.ts b/packages/vite/src/node/plugins/workerImportMetaUrl.ts index 1f7764ce5c057a..a10b7440872e1a 100644 --- a/packages/vite/src/node/plugins/workerImportMetaUrl.ts +++ b/packages/vite/src/node/plugins/workerImportMetaUrl.ts @@ -5,7 +5,7 @@ import { fileToUrl } from './asset' import { cleanUrl, injectQuery } from '../utils' import path from 'path' import type { WorkerType } from './worker' -import { workerFileToUrl, WorkerFileId } from './worker' +import { workerFileToUrl, WORKER_FILE_ID } from './worker' import { parseRequest } from '../utils' import MagicString from 'magic-string' import type { RollupError } from 'rollup' @@ -117,7 +117,7 @@ export function workerImportMetaUrlPlugin(config: ResolvedConfig): Plugin { url = await workerFileToUrl(this, config, file, query) } else { url = await fileToUrl(cleanUrl(file), config, this) - url = injectQuery(url, WorkerFileId) + url = injectQuery(url, WORKER_FILE_ID) url = injectQuery(url, `type=${workerType}`) } s.overwrite(urlIndex, urlIndex + exp.length, JSON.stringify(url), { From 09bc12ed459b9d34018cdb96750452a3477443f1 Mon Sep 17 00:00:00 2001 From: yoho Date: Wed, 27 Apr 2022 21:37:07 +0800 Subject: [PATCH 3/6] fix: file nums --- packages/playground/worker/__tests__/es/es-worker.spec.ts | 2 +- packages/playground/worker/__tests__/iife/worker.spec.ts | 2 +- .../__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts | 2 +- .../__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts | 2 +- .../worker/__tests__/sourcemap/sourcemap-worker.spec.ts | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/playground/worker/__tests__/es/es-worker.spec.ts b/packages/playground/worker/__tests__/es/es-worker.spec.ts index fc1f30043a5da7..4e3fbab23cd407 100644 --- a/packages/playground/worker/__tests__/es/es-worker.spec.ts +++ b/packages/playground/worker/__tests__/es/es-worker.spec.ts @@ -64,7 +64,7 @@ if (isBuild) { // assert correct files test('inlined code generation', async () => { const files = fs.readdirSync(assetsDir) - expect(files.length).toBe(26) + expect(files.length).toBe(28) const index = files.find((f) => f.includes('main-module')) const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8') const worker = files.find((f) => f.includes('my-worker')) diff --git a/packages/playground/worker/__tests__/iife/worker.spec.ts b/packages/playground/worker/__tests__/iife/worker.spec.ts index eb33848cf9c969..d7fa0308592793 100644 --- a/packages/playground/worker/__tests__/iife/worker.spec.ts +++ b/packages/playground/worker/__tests__/iife/worker.spec.ts @@ -64,7 +64,7 @@ if (isBuild) { // assert correct files test('inlined code generation', async () => { const files = fs.readdirSync(assetsDir) - expect(files.length).toBe(14) + expect(files.length).toBe(15) const index = files.find((f) => f.includes('main-module')) const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8') const worker = files.find((f) => f.includes('my-worker')) diff --git a/packages/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts b/packages/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts index 34a3320f646587..30bc02627c6994 100644 --- a/packages/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts +++ b/packages/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts @@ -9,7 +9,7 @@ if (isBuild) { test('sourcemap generation for web workers', async () => { const files = fs.readdirSync(assetsDir) // should have 2 worker chunk - expect(files.length).toBe(28) + expect(files.length).toBe(30) const index = files.find((f) => f.includes('main-module')) const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8') const indexSourcemap = getSourceMapUrl(content) diff --git a/packages/playground/worker/__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts b/packages/playground/worker/__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts index 8760e1f5d27ffc..5d0d467e84edc4 100644 --- a/packages/playground/worker/__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts +++ b/packages/playground/worker/__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts @@ -9,7 +9,7 @@ if (isBuild) { test('sourcemap generation for web workers', async () => { const files = fs.readdirSync(assetsDir) // should have 2 worker chunk - expect(files.length).toBe(14) + expect(files.length).toBe(15) const index = files.find((f) => f.includes('main-module')) const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8') const indexSourcemap = getSourceMapUrl(content) diff --git a/packages/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts b/packages/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts index 44098a5a14a585..ba3f6bf22ae5af 100644 --- a/packages/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts +++ b/packages/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts @@ -9,7 +9,7 @@ if (isBuild) { test('sourcemap generation for web workers', async () => { const files = fs.readdirSync(assetsDir) // should have 2 worker chunk - expect(files.length).toBe(28) + expect(files.length).toBe(30) const index = files.find((f) => f.includes('main-module')) const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8') const indexSourcemap = getSourceMapUrl(content) From f27204fa0d91db1ad9ebb0e09055f849700a8c56 Mon Sep 17 00:00:00 2001 From: yoho Date: Thu, 12 May 2022 21:06:49 +0800 Subject: [PATCH 4/6] fix: build error --- packages/vite/src/node/plugins/worker.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/vite/src/node/plugins/worker.ts b/packages/vite/src/node/plugins/worker.ts index f8ee64ce99d590..14364b64e01af3 100644 --- a/packages/vite/src/node/plugins/worker.ts +++ b/packages/vite/src/node/plugins/worker.ts @@ -5,9 +5,9 @@ import type { ResolvedConfig } from '../config' import type { Plugin } from '../plugin' import type { ViteDevServer } from '../server' import { ENV_ENTRY, ENV_PUBLIC_PATH } from '../constants' -import { cleanUrl, injectQuery, parseRequest } from '../utils' +import { cleanUrl, getHash, injectQuery, parseRequest } from '../utils' import { onRollupWarning } from '../build' -import { fileToUrl, getAssetHash } from './asset' +import { fileToUrl } from './asset' interface WorkerCache { // save worker bundle emitted files avoid overwrites the same file. @@ -146,7 +146,7 @@ function emitSourcemapForWorkerEntry( const basename = path.parse(cleanUrl(id)).name const data = sourcemap.toString() const content = Buffer.from(data) - const contentHash = getAssetHash(content) + const contentHash = getHash(content) const fileName = `${basename}.${contentHash}.js.map` const filePath = path.posix.join(config.build.assetsDir, fileName) emitWorkerSourcemap(context, config, { @@ -189,7 +189,7 @@ export async function workerFileToUrl( } const code = await bundleWorkerEntry(ctx, config, id, query) const basename = path.parse(cleanUrl(id)).name - const contentHash = getAssetHash(code) + const contentHash = getHash(code) const fileName = path.posix.join( config.build.assetsDir, `${basename}.${contentHash}.js` From 2228aaec29ca7ed180af1a34de75a0ac9a424e47 Mon Sep 17 00:00:00 2001 From: yoho Date: Sun, 15 May 2022 00:30:25 +0800 Subject: [PATCH 5/6] fix: test --- playground/worker/__tests__/es/es-worker.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playground/worker/__tests__/es/es-worker.spec.ts b/playground/worker/__tests__/es/es-worker.spec.ts index 59be22519f084d..b901a7deaeedbc 100644 --- a/playground/worker/__tests__/es/es-worker.spec.ts +++ b/playground/worker/__tests__/es/es-worker.spec.ts @@ -66,7 +66,7 @@ describe.runIf(isBuild)('build', () => { test('inlined code generation', async () => { const assetsDir = path.resolve(testDir, 'dist/es/assets') const files = fs.readdirSync(assetsDir) - expect(files.length).toBe(28) + expect(files.length).toBe(27) const index = files.find((f) => f.includes('main-module')) const content = fs.readFileSync(path.resolve(assetsDir, index), 'utf-8') const worker = files.find((f) => f.includes('my-worker')) From dcb3efe628bec203f8f7ac3d758098cd2ff5af4c Mon Sep 17 00:00:00 2001 From: yoho Date: Sat, 21 May 2022 10:04:58 +0800 Subject: [PATCH 6/6] fix: lint --- packages/vite/src/node/plugins/workerImportMetaUrl.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vite/src/node/plugins/workerImportMetaUrl.ts b/packages/vite/src/node/plugins/workerImportMetaUrl.ts index cf3ab11fb6686e..3e7426f52cda24 100644 --- a/packages/vite/src/node/plugins/workerImportMetaUrl.ts +++ b/packages/vite/src/node/plugins/workerImportMetaUrl.ts @@ -6,7 +6,7 @@ import { stripLiteral } from 'strip-literal' import type { ResolvedConfig } from '../config' import type { Plugin } from '../plugin' import { cleanUrl, injectQuery, normalizePath, parseRequest } from '../utils' -import type { WorkerType} from './worker'; +import type { WorkerType } from './worker' import { WORKER_FILE_ID, workerFileToUrl } from './worker' import { fileToUrl } from './asset'