Skip to content

Commit 05e59d8

Browse files
committed
switch between real and fake vanilla modules using node.js
1 parent ed01975 commit 05e59d8

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

web/packages/core/package.json

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,23 @@
99
"pkg/"
1010
],
1111
"scripts": {
12-
"build": "npm run build:cargo && npm run build:wasm-bindgen && npm run build:wasm-opt && npm run build:cargo_noext && npm run build:wasm-bindgen_noext && npm run build:wasm-opt_noext && npm run build:ts",
13-
"build:testing": "npm run build:cargo_noext && npm run build:wasm-bindgen_noext && npm run build:wasm-opt_noext && shx cp ./pkg/ruffle_web_noext_bg.wasm ./pkg/ruffle_web_bg.wasm && shx cp ./pkg/ruffle_web_noext_bg.wasm.d.ts ./pkg/ruffle_web_bg.wasm.d.ts && shx cp ./pkg/ruffle_web_noext.js ./pkg/ruffle_web.js && npm run build:ts",
12+
"build": "npm run build:ruffle_web && npm run build:ruffle_web_vanilla && npm run build:ts",
13+
14+
"build:ruffle_web": "npm run build:cargo && npm run build:wasm-bindgen && npm run build:wasm-opt",
15+
"build:ruffle_web_vanilla": "node -e \"((process.env.GITHUB_WORKFLOW == 'Release Nightly') || (process.env.RUFFLE_REALVANILLA)) ? process.exit(0) : process.exit(1)\" && npm run build:ruffle_web_vanilla_real || npm run build:ruffle_web_vanilla_fake",
16+
17+
"build:ruffle_web_vanilla_real": "echo \"Making real vanilla module\" && npm run build:cargo_vanilla && npm run build:wasm-bindgen_vanilla && npm run build:wasm-opt_vanilla",
18+
"build:ruffle_web_vanilla_fake": "echo \"Making fake vanilla module\" && shx cp ./pkg/ruffle_web_bg.wasm ./pkg/ruffle_web_vanilla_bg.wasm && shx cp ./pkg/ruffle_web_bg.wasm.d.ts ./pkg/ruffle_web_vanilla_bg.wasm.d.ts && shx cp ./pkg/ruffle_web.js ./pkg/ruffle_web_vanilla.js && shx cp ./pkg/ruffle_web.d.ts ./pkg/ruffle_web_vanilla.d.ts",
1419

1520
"//": "# Unfortunately, we have to set $RUSTFLAGS here, instead of in .cargo/config.toml (for example), because it's not possible to specify them per-profile; see cargo issue #7878. Enabling 'build-std' would also be great, but it's not stable yet.",
1621

1722
"build:cargo": "cross-env-shell RUSTFLAGS=\"--cfg=web_sys_unstable_apis -C target-feature=+bulk-memory,+simd128,+nontrapping-fptoint,+sign-ext\" \"cargo build --release --target wasm32-unknown-unknown --features \\\"$CARGO_FEATURES\\\"\"",
1823
"build:wasm-bindgen": "wasm-bindgen ../../../target/wasm32-unknown-unknown/release/ruffle_web.wasm --target web --out-dir ./pkg --out-name ruffle_web",
1924
"build:wasm-opt": "wasm-opt -o ./pkg/ruffle_web_bg.wasm -O -g ./pkg/ruffle_web_bg.wasm || npm run build:wasm-opt-failed",
2025

21-
"build:cargo_noext": "cross-env-shell RUSTFLAGS=\"--cfg=web_sys_unstable_apis\" \"cargo build --release --target wasm32-unknown-unknown --features \\\"$CARGO_FEATURES\\\"\"",
22-
"build:wasm-bindgen_noext": "wasm-bindgen ../../../target/wasm32-unknown-unknown/release/ruffle_web.wasm --target web --out-dir ./pkg --out-name ruffle_web_noext",
23-
"build:wasm-opt_noext": "wasm-opt -o ./pkg/ruffle_web_noext_bg.wasm -O -g ./pkg/ruffle_web_noext_bg.wasm || npm run build:wasm-opt-failed",
26+
"build:cargo_vanilla": "cross-env-shell RUSTFLAGS=\"--cfg=web_sys_unstable_apis\" \"cargo build --release --target wasm32-unknown-unknown --features \\\"$CARGO_FEATURES\\\"\"",
27+
"build:wasm-bindgen_vanilla": "wasm-bindgen ../../../target/wasm32-unknown-unknown/release/ruffle_web.wasm --target web --out-dir ./pkg --out-name ruffle_web_vanilla",
28+
"build:wasm-opt_vanilla": "wasm-opt -o ./pkg/ruffle_web_vanilla_bg.wasm -O -g ./pkg/ruffle_web_vanilla_bg.wasm || npm run build:wasm-opt-failed",
2429

2530
"build:wasm-opt-failed": "echo 'NOTE: Since wasm-opt could not be found (or it failed), the resulting module might not perform that well, but it should still work.' && echo ; [ \"$CI\" != true ] # > nul",
2631

web/packages/core/src/load-ruffle.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ async function fetchRuffle(config: Config): Promise<typeof Ruffle> {
5757
// otherwise some bundler will get confused and won't include the module?
5858
const { default: init, Ruffle } = await (extensionsSupported
5959
? import("../pkg/ruffle_web")
60-
: import("../pkg/ruffle_web_noext"));
60+
: import("../pkg/ruffle_web_vanilla"));
6161

6262
await init();
6363

@@ -66,7 +66,7 @@ async function fetchRuffle(config: Config): Promise<typeof Ruffle> {
6666

6767
type Ruffle =
6868
| typeof import("../pkg/ruffle_web")["Ruffle"]
69-
| typeof import("../pkg/ruffle_web_noext")["Ruffle"];
69+
| typeof import("../pkg/ruffle_web_vanilla")["Ruffle"];
7070

7171
let lastLoaded: Promise<Ruffle> | null = null;
7272

0 commit comments

Comments
 (0)