website/build-wasm.sh

28 lines
594 B
Bash
Raw Normal View History

2026-02-20 13:23:22 +00:00
#!/usr/bin/env bash
set -euo pipefail
2026-02-22 14:41:34 +00:00
PROFILE="${1:-wasm-release}"
2026-02-20 13:23:22 +00:00
if [ "$PROFILE" = "dev" ]; then
PROFILE_DIR="debug"
CARGO_FLAGS=""
else
2026-02-22 14:41:34 +00:00
PROFILE_DIR=$PROFILE
CARGO_FLAGS="--profile wasm-release"
2026-02-20 13:23:22 +00:00
fi
cargo build $CARGO_FLAGS --target wasm32-unknown-unknown -p app
mkdir -p static
2026-02-22 14:41:34 +00:00
wasm-bindgen --out-name app \
2026-02-20 13:23:22 +00:00
--out-dir static \
--target web \
"target/wasm32-unknown-unknown/$PROFILE_DIR/app.wasm"
2026-02-22 14:41:34 +00:00
# Optimize the WASM file for size
if [ "$PROFILE" = "wasm-release" ]; then
wasm-opt -Oz -o static/app_bg.wasm static/app_bg.wasm
fi
2026-02-20 13:23:22 +00:00
cp web/index.html static/