mirror of
https://github.com/MercuryWorkshop/scramjet.git
synced 2025-05-14 06:50:01 -04:00
fix import proxy
This commit is contained in:
parent
275950387a
commit
aafcbeb5e4
4 changed files with 10 additions and 13 deletions
|
@ -5,9 +5,7 @@ export default function (client, self) {
|
||||||
return function (url) {
|
return function (url) {
|
||||||
const resolved = new URL(url, base).href;
|
const resolved = new URL(url, base).href;
|
||||||
|
|
||||||
return function () {}.constructor(
|
return Function(`return import("${encodeUrl(resolved)}")`)();
|
||||||
`return import("${encodeUrl(resolved)}")`
|
|
||||||
)();
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,7 +77,7 @@ const base64 = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!self.$scramjet) {
|
if (typeof self.$scramjet === "undefined") {
|
||||||
//@ts-expect-error really dumb workaround
|
//@ts-expect-error really dumb workaround
|
||||||
self.$scramjet = {};
|
self.$scramjet = {};
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,10 +8,6 @@ import { isScramjetFile } from "./rewriters/html";
|
||||||
import { BareClient } from "@mercuryworkshop/bare-mux";
|
import { BareClient } from "@mercuryworkshop/bare-mux";
|
||||||
import { parseDomain } from "parse-domain";
|
import { parseDomain } from "parse-domain";
|
||||||
|
|
||||||
if (!self.$scramjet) {
|
|
||||||
//@ts-expect-error really dumb workaround
|
|
||||||
self.$scramjet = {};
|
|
||||||
}
|
|
||||||
self.$scramjet.shared = {
|
self.$scramjet.shared = {
|
||||||
util: {
|
util: {
|
||||||
isScramjetFile,
|
isScramjetFile,
|
||||||
|
|
|
@ -2,13 +2,15 @@ import { rewriteJs } from "./js";
|
||||||
|
|
||||||
const clientscripts = ["codecs", "shared", "client"];
|
const clientscripts = ["codecs", "shared", "client"];
|
||||||
export function rewriteWorkers(js: string | ArrayBuffer, origin?: URL) {
|
export function rewriteWorkers(js: string | ArrayBuffer, origin?: URL) {
|
||||||
let dest = origin.searchParams.get("dest");
|
const dest = origin.searchParams.get("dest");
|
||||||
let type = origin.searchParams.get("type");
|
const type = origin.searchParams.get("type");
|
||||||
|
|
||||||
origin.search = "";
|
origin.search = "";
|
||||||
|
|
||||||
let str = "";
|
let str = "";
|
||||||
|
|
||||||
|
str += `self.$scramjet = {}; self.$scramjet.config = ${JSON.stringify(self.$scramjet.config)};\n`;
|
||||||
|
str += "";
|
||||||
if (type === "module") {
|
if (type === "module") {
|
||||||
for (const script of clientscripts) {
|
for (const script of clientscripts) {
|
||||||
console.log("Import", script, self.$scramjet);
|
console.log("Import", script, self.$scramjet);
|
||||||
|
@ -24,9 +26,10 @@ export function rewriteWorkers(js: string | ArrayBuffer, origin?: URL) {
|
||||||
if (rewritten instanceof Uint8Array) {
|
if (rewritten instanceof Uint8Array) {
|
||||||
rewritten = new TextDecoder().decode(rewritten);
|
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 +=
|
||||||
str += "\n" + rewritten;
|
"self.$scramjet.codec = self.$scramjet.codecs[self.$scramjet.config.codec];\n";
|
||||||
|
str += rewritten;
|
||||||
|
|
||||||
dbg.log("Rewrite", type, dest, str);
|
dbg.log("Rewrite", type, dest, str);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue