From f4bdeb63d7c32a8ea1ff838dbb34751736277fe1 Mon Sep 17 00:00:00 2001 From: Hiroki Osame Date: Thu, 13 Apr 2023 10:44:13 +0900 Subject: [PATCH] pref(wasm): deduplicated web-worker code in browser.js --- lib/npm/browser.ts | 6 ++++-- scripts/esbuild.js | 2 -- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/npm/browser.ts b/lib/npm/browser.ts index ef8580297f9..14a3709d08f 100644 --- a/lib/npm/browser.ts +++ b/lib/npm/browser.ts @@ -78,13 +78,15 @@ const startRunningService = async (wasmURL: string | URL, wasmModule: WebAssembl terminate: () => void } + const webWorkerFunction = WEB_WORKER_FUNCTION; + if (useWorker) { // Run esbuild off the main thread - let blob = new Blob([`onmessage=${WEB_WORKER_SOURCE_CODE}(postMessage)`], { type: 'text/javascript' }) + let blob = new Blob([`onmessage=${webWorkerFunction.toString()}(postMessage)`], { type: 'text/javascript' }) worker = new Worker(URL.createObjectURL(blob)) } else { // Run esbuild on the main thread - let onmessage = WEB_WORKER_FUNCTION((data: Uint8Array) => worker.onmessage!({ data })) + let onmessage = webWorkerFunction((data: Uint8Array) => worker.onmessage!({ data })) worker = { onmessage: null, postMessage: data => setTimeout(() => onmessage({ data })), diff --git a/scripts/esbuild.js b/scripts/esbuild.js index 07b3514d74b..238f198a194 100644 --- a/scripts/esbuild.js +++ b/scripts/esbuild.js @@ -185,7 +185,6 @@ exports.buildWasmLib = async (esbuildPath) => { '--target=' + umdBrowserTarget, '--format=cjs', '--define:ESBUILD_VERSION=' + JSON.stringify(version), - '--define:WEB_WORKER_SOURCE_CODE=' + JSON.stringify(wasmWorkerCodeUMD), '--banner:js=' + umdPrefix, '--footer:js=' + umdSuffix, '--log-level=warning', @@ -199,7 +198,6 @@ exports.buildWasmLib = async (esbuildPath) => { '--target=' + esmBrowserTarget, '--format=esm', '--define:ESBUILD_VERSION=' + JSON.stringify(version), - '--define:WEB_WORKER_SOURCE_CODE=' + JSON.stringify(wasmWorkerCodeESM), '--log-level=warning', ].concat(minifyFlags), { cwd: repoDir }).toString().replace('WEB_WORKER_FUNCTION', wasmWorkerCodeESM) fs.writeFileSync(path.join(esmDir, minify ? 'browser.min.js' : 'browser.js'), browserESM)