Optimize wasm output size using wasm-opt

This commit is contained in:
Brandon Vandegrift 2025-04-06 14:52:33 -04:00
parent 71ad90e2d4
commit b89ca5da74
5 changed files with 17 additions and 9 deletions

View File

@ -92,7 +92,7 @@ deps-rust:
echo "retry #$retry..."; \
sleep 10; \
done
RUN cargo install wasm-pack wasm-tools --locked
RUN cargo install wasm-pack wasm-opt --locked
RUN cargo install -f wasm-bindgen-cli --locked --version $WASM_BINDGEN_CLI_VERSION
# Caching tool
RUN cargo install cargo-chef --locked

View File

@ -111,7 +111,7 @@ fi
rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android wasm32-unknown-unknown
# install cargo packages
cargo install wasm-bindgen-cli wasm-pack cargo-edit wasm-tools
cargo install wasm-bindgen-cli wasm-pack wasm-opt cargo-edit
# install pip packages
pip3 install --upgrade bumpversion

View File

@ -146,7 +146,7 @@ $BREW_COMMAND install capnp cmake llvm jq
rustup target add aarch64-apple-darwin aarch64-apple-ios aarch64-apple-ios-sim x86_64-apple-darwin x86_64-apple-ios wasm32-unknown-unknown aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android
# install cargo packages
cargo install wasm-bindgen-cli wasm-pack cargo-edit wasm-tools
cargo install wasm-bindgen-cli wasm-pack wasm-opt cargo-edit
# attempt to install pip packages - this may result in an error, which we will try to catch
pip3 install --upgrade bumpversion || ( \

View File

@ -17,8 +17,8 @@ if [[ "$1" == "release" ]]; then
./wasm_remap_paths.sh cargo build --target wasm32-unknown-unknown --release
mkdir -p $OUTPUTDIR
wasm-bindgen --out-dir $OUTPUTDIR --target web --weak-refs $INPUTDIR/veilid_wasm.wasm
wasm-tools strip $OUTPUTDIR/veilid_wasm_bg.wasm -o $OUTPUTDIR/veilid_wasm_bg.wasm.stripped
mv $OUTPUTDIR/veilid_wasm_bg.wasm.stripped $OUTPUTDIR/veilid_wasm_bg.wasm
wasm-opt -O --enable-mutable-globals $OUTPUTDIR/veilid_wasm_bg.wasm -o $OUTPUTDIR/veilid_wasm_bg.wasm.optimized
mv $OUTPUTDIR/veilid_wasm_bg.wasm.optimized $OUTPUTDIR/veilid_wasm_bg.wasm
else
OUTPUTDIR=$SCRIPTDIR/../target/wasm32-unknown-unknown/debug/pkg
INPUTDIR=$SCRIPTDIR/../target/wasm32-unknown-unknown/debug

View File

@ -37,11 +37,19 @@ else
exit 1
fi
if command -v wasm-tools &> /dev/null; then
echo '[X] wasm-tools is available in the path'
if command -v wasm-pack &> /dev/null; then
echo '[X] wasm-pack is available in the path'
else
echo -e 'wasm-tools is not available in the path.
Install wasm-tools: cargo install wasm-tools'
echo -e 'wasm-pack is not available in the path.
Install wasm-pack: cargo install wasm-pack'
exit 1
fi
if command -v wasm-opt &> /dev/null; then
echo '[X] wasm-opt is available in the path'
else
echo -e 'wasm-opt is not available in the path.
Install wasm-opt: cargo install wasm-opt'
exit 1
fi