diff --git a/rewriter/build.sh b/rewriter/build.sh index f5a2726..b2a3da0 100644 --- a/rewriter/build.sh +++ b/rewriter/build.sh @@ -19,7 +19,12 @@ fi time wasm-opt $WASMOPTFLAGS -O4 --vacuum --dce --enable-threads --enable-bulk-memory --enable-simd "$WASM" -o rewriter/out/optimized.wasm -echo -n "self.WASM = '" > dist/scramjet.wasm.js +cat < dist/scramjet.wasm.js +if ("document" in self && document.currentScript) { + document.currentScript.remove(); +} +EOF +echo -n "self.WASM = '" >> dist/scramjet.wasm.js base64 -w0 < "rewriter/out/optimized.wasm" >> dist/scramjet.wasm.js echo -n "';">> dist/scramjet.wasm.js echo "Rewriter Build Complete!" diff --git a/src/client/index.ts b/src/client/index.ts index f3f7620..4138753 100644 --- a/src/client/index.ts +++ b/src/client/index.ts @@ -22,3 +22,7 @@ if (!(ScramjetClient.SCRAMJET in self)) { runtime.hook(); } } + +if ("document" in self && document.currentScript) { + document.currentScript.remove(); +} diff --git a/src/codecs/index.ts b/src/codecs/index.ts index 8dd8c72..8cc8730 100644 --- a/src/codecs/index.ts +++ b/src/codecs/index.ts @@ -90,3 +90,7 @@ self.$scramjet.codecs = { xor, base64, }; + +if ("document" in self && document.currentScript) { + document.currentScript.remove(); +} diff --git a/src/shared/index.ts b/src/shared/index.ts index ee8381e..11f18f8 100644 --- a/src/shared/index.ts +++ b/src/shared/index.ts @@ -29,3 +29,7 @@ self.$scramjet.shared = { rewriteWorkers, }, }; + +if ("document" in self && document.currentScript) { + document.currentScript.remove(); +} diff --git a/src/shared/rewriters/html.ts b/src/shared/rewriters/html.ts index f732e5e..527b2f2 100644 --- a/src/shared/rewriters/html.ts +++ b/src/shared/rewriters/html.ts @@ -136,7 +136,13 @@ function traverseParsedHtml(node, origin?: URL) { src: "data:application/javascript;base64," + btoa( - `self.$scramjet.config = ${JSON.stringify(self.$scramjet.config)}; self.$scramjet.codec = self.$scramjet.codecs[self.$scramjet.config.codec];` + ` + self.$scramjet.config = ${JSON.stringify(self.$scramjet.config)}; + self.$scramjet.codec = self.$scramjet.codecs[self.$scramjet.config.codec]; + if ("document" in self && document.currentScript) { + document.currentScript.remove(); + } + ` ), "data-scramjet": "true", });