.PHONY: test pkg clean

# Native tests — wasm_bindgen fns are plain Rust; sessions work on the host.
test:
	cargo test

# wasm-bindgen web pkg (consumed by the factory `build-wasm-white` and
# node/smoke.mjs). Pins mirror the factory: wasm-bindgen 0.2.114, Binaryen.
pkg:
	rustup target add wasm32-unknown-unknown
	cargo build --release --target wasm32-unknown-unknown
	$(HOME)/.cargo/bin/wasm-bindgen --target web --out-dir pkg \
		target/wasm32-unknown-unknown/release/bimr_wasm.wasm
	command -v wasm-opt >/dev/null && \
		wasm-opt -O pkg/bimr_wasm_bg.wasm -o pkg/bimr_wasm_bg.wasm || true

# Node smoke test over the web pkg.
smoke: pkg
	node node/smoke.mjs

clean:
	cargo clean
	rm -rf pkg
