diff --git a/src/shared/rewriters/html.ts b/src/shared/rewriters/html.ts index 315622e..80b9aa1 100644 --- a/src/shared/rewriters/html.ts +++ b/src/shared/rewriters/html.ts @@ -248,13 +248,18 @@ function traverseParsedHtml( node.children[0] !== undefined ) { let js = node.children[0].data; - // node.attribs[`scramjet-attr-script-source-src`] = btoa(js); + const module = node.attribs.type === "module" ? true : false; node.attribs["scramjet-attr-script-source-src"] = bytesToBase64( encoder.encode(js) ); const htmlcomment = //g; js = js.replace(htmlcomment, ""); - node.children[0].data = rewriteJs(js, "(inline script element)", meta); + node.children[0].data = rewriteJs( + js, + "(inline script element)", + meta, + module + ); } if (node.name === "meta" && node.attribs["http-equiv"] !== undefined) { diff --git a/src/shared/rewriters/js.ts b/src/shared/rewriters/js.ts index ce1cb56..291eac3 100644 --- a/src/shared/rewriters/js.ts +++ b/src/shared/rewriters/js.ts @@ -22,7 +22,8 @@ const decoder = new TextDecoder(); function rewriteJsWrapper( input: string | ArrayBuffer, source: string | null, - meta: URLMeta + meta: URLMeta, + module: boolean ): string | ArrayBuffer { let out: RewriterOutput; const before = performance.now(); @@ -31,7 +32,7 @@ function rewriteJsWrapper( out = rewrite_js( input, meta.base.href, - false, + module, source || "(unknown)", $scramjet ); @@ -39,7 +40,7 @@ function rewriteJsWrapper( out = rewrite_js_from_arraybuffer( new Uint8Array(input), meta.base.href, - false, + module, source || "(unknown)", $scramjet ); @@ -80,7 +81,8 @@ function rewriteJsWrapper( export function rewriteJs( js: string | ArrayBuffer, url: string | null, - meta: URLMeta + meta: URLMeta, + module = false ) { if (flagEnabled("naiiveRewriter", meta.origin)) { const text = typeof js === "string" ? js : new TextDecoder().decode(js); @@ -88,7 +90,7 @@ export function rewriteJs( return rewriteJsNaiive(text); } - return rewriteJsWrapper(js, url, meta); + return rewriteJsWrapper(js, url, meta, module); } // 1. does not work with modules