# https://just.systems output := 'wasm'/'pkg'/'graphite_wasm_bg.wasm' build profile='debug': # Build the rust code into the target directory cargo build -p graphite-wasm --lib --target wasm32-unknown-unknown --color=always {{ if profile != "debug" { "--release" } else { "" } }} # Create a directory to store the package in mkdir -p pkg # Build the JS glue and patch wasm wasm-bindgen \ {{ '..' / 'target' / 'wasm32-unknown-unknown' / if profile != "debug" { 'release' / 'graphite_wasm.wasm' } else { 'debug' / 'graphite_wasm.wasm' } }} \ --out-dir {{ 'wasm' / 'pkg' }} --typescript --target web \ {{ if profile != "release" { "--debug" } else { "" } }} \ {{ if profile == "release" { "--no-demangle" } else { "" } }} \ {{ if profile == "profiling" { "--keep-debug" } else { "" } }} # Apply optimisations (if necessary) {{ if profile != 'debug' { "wasm-opt " + output + " -o " + output + " -Os -g" } else { "" } }}