fix import proxy

This commit is contained in:
velzie 2024-07-31 13:57:52 -04:00
parent 275950387a
commit aafcbeb5e4
No known key found for this signature in database
GPG key ID: 048413F95F0DDE1F
4 changed files with 10 additions and 13 deletions

View file

@ -5,9 +5,7 @@ export default function (client, self) {
return function (url) {
const resolved = new URL(url, base).href;
return function () {}.constructor(
`return import("${encodeUrl(resolved)}")`
)();
return Function(`return import("${encodeUrl(resolved)}")`)();
};
};
}

View file

@ -77,7 +77,7 @@ const base64 = {
},
};
if (!self.$scramjet) {
if (typeof self.$scramjet === "undefined") {
//@ts-expect-error really dumb workaround
self.$scramjet = {};
}

View file

@ -8,10 +8,6 @@ import { isScramjetFile } from "./rewriters/html";
import { BareClient } from "@mercuryworkshop/bare-mux";
import { parseDomain } from "parse-domain";
if (!self.$scramjet) {
//@ts-expect-error really dumb workaround
self.$scramjet = {};
}
self.$scramjet.shared = {
util: {
isScramjetFile,

View file

@ -2,13 +2,15 @@ import { rewriteJs } from "./js";
const clientscripts = ["codecs", "shared", "client"];
export function rewriteWorkers(js: string | ArrayBuffer, origin?: URL) {
let dest = origin.searchParams.get("dest");
let type = origin.searchParams.get("type");
const dest = origin.searchParams.get("dest");
const type = origin.searchParams.get("type");
origin.search = "";
let str = "";
str += `self.$scramjet = {}; self.$scramjet.config = ${JSON.stringify(self.$scramjet.config)};\n`;
str += "";
if (type === "module") {
for (const script of clientscripts) {
console.log("Import", script, self.$scramjet);
@ -24,9 +26,10 @@ export function rewriteWorkers(js: string | ArrayBuffer, origin?: URL) {
if (rewritten instanceof Uint8Array) {
rewritten = new TextDecoder().decode(rewritten);
}
str += `self.$scramjet.config = ${JSON.stringify(self.$scramjet.config)};
self.$scramjet.codec = self.$scramjet.codecs[self.$scramjet.config.codec];\n`;
str += "\n" + rewritten;
str +=
"self.$scramjet.codec = self.$scramjet.codecs[self.$scramjet.config.codec];\n";
str += rewritten;
dbg.log("Rewrite", type, dest, str);