mirror of
https://github.com/MercuryWorkshop/scramjet.git
synced 2025-05-13 06:20:02 -04:00
move wasm.js into separate file
This commit is contained in:
parent
929dfcca24
commit
cb395552c8
9 changed files with 33 additions and 7 deletions
|
@ -1,4 +1,4 @@
|
||||||
RUSTFLAGS='-C target-feature=+atomics,+bulk-memory -Zlocation-detail=none' cargo build --lib --target wasm32-unknown-unknown -Z build-std=panic_abort,std -Z build-std-features=panic_immediate_abort --release
|
RUSTFLAGS='-C target-feature=+atomics,+bulk-memory -Zlocation-detail=none' cargo build --lib --target wasm32-unknown-unknown -Z build-std=panic_abort,std -Z build-std-features=panic_immediate_abort --features "$FEATURES" --release
|
||||||
wasm-bindgen --weak-refs --target web --out-dir out/ target/wasm32-unknown-unknown/release/rewriter.wasm
|
wasm-bindgen --weak-refs --target web --out-dir out/ target/wasm32-unknown-unknown/release/rewriter.wasm
|
||||||
|
|
||||||
sed -i 's/import.meta.url/""/g' out/rewriter.js
|
sed -i 's/import.meta.url/""/g' out/rewriter.js
|
||||||
|
@ -10,7 +10,7 @@ WASM=rewriter/out/rewriter_bg.wasm
|
||||||
time wasm-opt -g -O4 --vacuum --dce --enable-threads --enable-bulk-memory --enable-simd "$WASM" -o rewriter/out/optimized.wasm
|
time wasm-opt -g -O4 --vacuum --dce --enable-threads --enable-bulk-memory --enable-simd "$WASM" -o rewriter/out/optimized.wasm
|
||||||
# cp "$WASM" rewriter/out/optimized.wasm
|
# cp "$WASM" rewriter/out/optimized.wasm
|
||||||
|
|
||||||
echo -n "self.WASM = '" > static/wasm.js
|
echo -n "self.WASM = '" > dist/scramjet.wasm.js
|
||||||
base64 -w0 < "rewriter/out/optimized.wasm" >> static/wasm.js
|
base64 -w0 < "rewriter/out/optimized.wasm" >> dist/scramjet.wasm.js
|
||||||
echo -n "';">> static/wasm.js
|
echo -n "';">> dist/scramjet.wasm.js
|
||||||
echo "Rewriter Build Complete!"
|
echo "Rewriter Build Complete!"
|
||||||
|
|
|
@ -15,6 +15,7 @@ export class ScramjetController {
|
||||||
trysetfn: "$scramjet$tryset",
|
trysetfn: "$scramjet$tryset",
|
||||||
importfn: "$scramjet$import",
|
importfn: "$scramjet$import",
|
||||||
rewritefn: "$scramjet$rewrite",
|
rewritefn: "$scramjet$rewrite",
|
||||||
|
wasm: "/scramjet.wasm.js",
|
||||||
shared: "/scramjet.shared.js",
|
shared: "/scramjet.shared.js",
|
||||||
worker: "/scramjet.worker.js",
|
worker: "/scramjet.worker.js",
|
||||||
thread: "/scramjet.thread.js",
|
thread: "/scramjet.thread.js",
|
||||||
|
|
17
src/drm.ts
Normal file
17
src/drm.ts
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
import { addListener, launch } from "devtools-detector";
|
||||||
|
|
||||||
|
function jail() {
|
||||||
|
setInterval(() => {
|
||||||
|
console.error("SCRAMJET ERROR");
|
||||||
|
|
||||||
|
debugger;
|
||||||
|
}, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
addListener((open) => open && jail());
|
||||||
|
|
||||||
|
if (!["http://localhost:1337"].includes(window.location.origin)) {
|
||||||
|
jail();
|
||||||
|
}
|
||||||
|
|
||||||
|
launch();
|
|
@ -8,7 +8,7 @@ import { rewriteJs } from "./js";
|
||||||
|
|
||||||
export function isScramjetFile(src: string) {
|
export function isScramjetFile(src: string) {
|
||||||
let bool = false;
|
let bool = false;
|
||||||
["codecs", "client", "shared", "worker"].forEach((file) => {
|
["wasm", "codecs", "client", "shared", "worker"].forEach((file) => {
|
||||||
if (src === self.$scramjet.config[file]) bool = true;
|
if (src === self.$scramjet.config[file]) bool = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -122,6 +122,12 @@ function traverseParsedHtml(node, origin?: URL) {
|
||||||
if (node.name === "head") {
|
if (node.name === "head") {
|
||||||
const scripts = [];
|
const scripts = [];
|
||||||
|
|
||||||
|
scripts.push(
|
||||||
|
new Element("script", {
|
||||||
|
src: self.$scramjet.config["wasm"],
|
||||||
|
"data-scramjet": "true",
|
||||||
|
})
|
||||||
|
);
|
||||||
const codecs = new Element("script", {
|
const codecs = new Element("script", {
|
||||||
src: self.$scramjet.config["codecs"],
|
src: self.$scramjet.config["codecs"],
|
||||||
"data-scramjet": "true",
|
"data-scramjet": "true",
|
||||||
|
|
|
@ -7,7 +7,6 @@ import {
|
||||||
rewrite_js,
|
rewrite_js,
|
||||||
rewrite_js_from_arraybuffer,
|
rewrite_js_from_arraybuffer,
|
||||||
} from "../../../rewriter/out/rewriter.js";
|
} from "../../../rewriter/out/rewriter.js";
|
||||||
import "../../../static/wasm.js";
|
|
||||||
|
|
||||||
initSync(
|
initSync(
|
||||||
new WebAssembly.Module(
|
new WebAssembly.Module(
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { rewriteJs } from "./js";
|
import { rewriteJs } from "./js";
|
||||||
|
|
||||||
const clientscripts = ["codecs", "shared", "client"];
|
const clientscripts = ["wasm", "codecs", "shared", "client"];
|
||||||
export function rewriteWorkers(js: string | ArrayBuffer, origin?: URL) {
|
export function rewriteWorkers(js: string | ArrayBuffer, origin?: URL) {
|
||||||
const dest = origin.searchParams.get("dest");
|
const dest = origin.searchParams.get("dest");
|
||||||
const type = origin.searchParams.get("type");
|
const type = origin.searchParams.get("type");
|
||||||
|
|
1
src/types.d.ts
vendored
1
src/types.d.ts
vendored
|
@ -17,6 +17,7 @@ interface ScramjetConfig {
|
||||||
trysetfn: string;
|
trysetfn: string;
|
||||||
importfn: string;
|
importfn: string;
|
||||||
rewritefn: string;
|
rewritefn: string;
|
||||||
|
wasm: string;
|
||||||
shared: string;
|
shared: string;
|
||||||
worker: string;
|
worker: string;
|
||||||
thread: string;
|
thread: string;
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
importScripts(
|
importScripts(
|
||||||
|
"/scram/scramjet.wasm.js",
|
||||||
"/scram/scramjet.codecs.js",
|
"/scram/scramjet.codecs.js",
|
||||||
"/scram/scramjet.shared.js",
|
"/scram/scramjet.shared.js",
|
||||||
"/scram/scramjet.worker.js"
|
"/scram/scramjet.worker.js"
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
const scramjet = new ScramjetController({
|
const scramjet = new ScramjetController({
|
||||||
|
wasm: "/scram/scramjet.wasm.js",
|
||||||
codecs: "/scram/scramjet.codecs.js",
|
codecs: "/scram/scramjet.codecs.js",
|
||||||
worker: "/scram/scramjet.worker.js",
|
worker: "/scram/scramjet.worker.js",
|
||||||
thread: "/scram/scramjet.thread.js",
|
thread: "/scram/scramjet.thread.js",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue