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/
|