diff --git a/rspack.config.js b/rspack.config.js index ad5639b..e7cffc9 100644 --- a/rspack.config.js +++ b/rspack.config.js @@ -64,8 +64,6 @@ export default defineConfig({ plugins: [ new rspack.ProvidePlugin({ dbg: [join(__dirname, "src/log.ts"), "default"], - Function: [join(__dirname, "src/snapshot.ts"), "Function"], - Request: [join(__dirname, "src/snapshot.ts"), "Request"], }), process.env.OBFUSCATE === "true" && { apply(compiler) { diff --git a/src/shared/rewriters/js.ts b/src/shared/rewriters/js.ts index e45ade4..0be28da 100644 --- a/src/shared/rewriters/js.ts +++ b/src/shared/rewriters/js.ts @@ -7,7 +7,6 @@ import { rewrite_js, rewrite_js_from_arraybuffer, } from "../../../rewriter/out/rewriter.js"; -import { config } from "../../shared"; initSync( new WebAssembly.Module( @@ -58,7 +57,7 @@ export function rewriteJsNaiive(js: string | ArrayBuffer, origin?: URL) { } return ` - with (${config.wrapfn}(globalThis)) { + with (${self.$scramjet.config.wrapfn}(globalThis)) { ${js} diff --git a/src/shared/rewriters/worker.ts b/src/shared/rewriters/worker.ts index 6bb10e3..e92180f 100644 --- a/src/shared/rewriters/worker.ts +++ b/src/shared/rewriters/worker.ts @@ -1,10 +1,11 @@ import { rewriteJs } from "./js"; const clientscripts = ["wasm", "shared", "client"]; -export function rewriteWorkers(js: string | ArrayBuffer, origin?: URL) { - const dest = origin.searchParams.get("dest"); - const type = origin.searchParams.get("type"); - +export function rewriteWorkers( + js: string | ArrayBuffer, + type: string, + origin?: URL +) { origin.search = ""; let str = ""; @@ -35,7 +36,7 @@ self.$scramjet.codec = self.$scramjet.codecs[self.$scramjet.config.codec]; str += rewritten; - dbg.log("Rewrite", type, dest, str); + dbg.log("Rewrite", type, str); return str; } diff --git a/src/worker/fetch.ts b/src/worker/fetch.ts index fccc707..7c7d7b5 100644 --- a/src/worker/fetch.ts +++ b/src/worker/fetch.ts @@ -172,7 +172,11 @@ async function handleResponse( break; case "sharedworker": case "worker": - responseBody = rewriteWorkers(await response.arrayBuffer(), url); + responseBody = rewriteWorkers( + await response.arrayBuffer(), + workertype, + url + ); break; default: responseBody = response.body; diff --git a/src/worker/index.ts b/src/worker/index.ts index cd2e8de..5f01dfa 100644 --- a/src/worker/index.ts +++ b/src/worker/index.ts @@ -111,6 +111,7 @@ export class ScramjetServiceWorker { async fetch({ request, clientId }: FetchEvent) { if (new URL(request.url).pathname.startsWith("/scramjet/worker")) { const dataurl = new URL(request.url).searchParams.get("data"); + const type = new URL(request.url).searchParams.get("type"); const res = await fetch(dataurl); const ab = await res.arrayBuffer(); @@ -118,7 +119,7 @@ export class ScramjetServiceWorker { decodeURIComponent(new URL(request.url).searchParams.get("origin")) ); - const rewritten = rewriteWorkers(ab, new URL(origin)); + const rewritten = rewriteWorkers(ab, type, new URL(origin)); return new Response(rewritten, { headers: {