56 lines
3.7 KiB
JSON
56 lines
3.7 KiB
JSON
{
|
|
"name": "ruffle-core",
|
|
"version": "0.1.0",
|
|
"description": "Core bindings for Ruffle",
|
|
"license": "(MIT OR Apache-2.0)",
|
|
"private": true,
|
|
"main": "./pkg/index.js",
|
|
"types": "./pkg/index.d.ts",
|
|
"files": [
|
|
"pkg/"
|
|
],
|
|
"scripts": {
|
|
"build": "npm run build:ruffle_web && npm run build:ruffle_web-wasm_extensions && npm run build:ts",
|
|
|
|
"//1": "# Setting ENABLE_WASM_EXTENSIONS=true causes a second module to be built as well, that utilizes WebAssembly extensions, instead of it just being a 'fake' - a copy of the 'vanilla' one.",
|
|
"//2": "# 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.",
|
|
"//3": "# Enabling 'build-std' would also be great, but it's not stable yet.",
|
|
|
|
"build:ruffle_web": "cross-env OUT_NAME=ruffle_web CARGO_PROFILE=web-vanilla-wasm RUSTFLAGS=\"--cfg=web_sys_unstable_apis -Aunknown_lints\" npm run build:cargo_bindgen_opt",
|
|
|
|
"//4": "# Dispatches to either building the real, or copying the fake (stand-in), 'with-extensions' module.",
|
|
"build:ruffle_web-wasm_extensions": "node -e \"process.exit(process.env.ENABLE_WASM_EXTENSIONS == 'true' ? 0 : 1)\" && npm run build:ruffle_web-wasm_extensions-real || npm run build:ruffle_web-wasm_extensions-fake",
|
|
"build:ruffle_web-wasm_extensions-real": "echo \"Building module with WebAssembly extensions\" && cross-env OUT_NAME=ruffle_web-wasm_extensions CARGO_PROFILE=web-wasm-extensions RUSTFLAGS=\"--cfg=web_sys_unstable_apis -Aunknown_lints -C target-feature=+bulk-memory,+simd128,+nontrapping-fptoint,+sign-ext\" npm run build:cargo_bindgen_opt",
|
|
"build:ruffle_web-wasm_extensions-fake": "echo \"Copying the vanilla module as stand-in\" && shx cp ./pkg/ruffle_web_bg.wasm ./pkg/ruffle_web-wasm_extensions_bg.wasm && shx cp ./pkg/ruffle_web_bg.wasm.d.ts ./pkg/ruffle_web-wasm_extensions_bg.wasm.d.ts && shx cp ./pkg/ruffle_web.js ./pkg/ruffle_web-wasm_extensions.js && shx cp ./pkg/ruffle_web.d.ts ./pkg/ruffle_web-wasm_extensions.d.ts",
|
|
|
|
"//5": "# This just chains together the three commands after it.",
|
|
"build:cargo_bindgen_opt": "npm run build:cargo && npm run build:wasm-bindgen && npm run build:wasm-opt",
|
|
|
|
"build:cargo": "cross-env-shell cargo build --profile \"$CARGO_PROFILE\" --target wasm32-unknown-unknown --features \\\"$CARGO_FEATURES\\\" $CARGO_FLAGS",
|
|
"build:wasm-bindgen": "cross-env-shell wasm-bindgen \"../../../target/wasm32-unknown-unknown/${CARGO_PROFILE}/ruffle_web.wasm\" --target web --out-dir ./pkg --out-name \"$OUT_NAME\"",
|
|
"build:wasm-opt": "cross-env-shell wasm-opt -o \"./pkg/${OUT_NAME}_bg.wasm\" -O -g \"./pkg/${OUT_NAME}_bg.wasm\" || npm run build:wasm-opt-failed",
|
|
|
|
"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",
|
|
|
|
"build:ts": "tsc -d && node tools/set_version.js",
|
|
"docs": "typedoc",
|
|
"test": "cross-env TS_NODE_COMPILER_OPTIONS={\\\"module\\\":\\\"commonjs\\\"} mocha"
|
|
},
|
|
"dependencies": {
|
|
"wasm-feature-detect": "^1.2.11"
|
|
},
|
|
"devDependencies": {
|
|
"@types/mocha": "^9.1.1",
|
|
"@typescript-eslint/eslint-plugin": "^5.32.0",
|
|
"@typescript-eslint/parser": "^5.32.0",
|
|
"eslint": "^8.21.0",
|
|
"eslint-plugin-jsdoc": "^39.3.4",
|
|
"mocha": "^10.0.0",
|
|
"replace-in-file": "^6.3.5",
|
|
"shx": "^0.3.3",
|
|
"ts-node": "^10.7.0",
|
|
"typedoc": "^0.23.10",
|
|
"typescript": "^4.7.3"
|
|
}
|
|
}
|