Project template for a Rust library compiled to WASM exposed as a Bun module.
Create a new Bun project using this as a template:
bun create @flowscripter/template-bun-wasm-rust-library
Add the module:
bun add @flowscripter/template-bun-wasm-rust-library
Use the module:
import { world } from "@flowscripter/template-bun-wasm-rust-library";
world();
Install wasm-pack:
cargo install wasm-pack
Install dependencies:
bun install
Build (remove generated .gitignore
to allow npm publish from root of
repository):
wasm-pack build --target web --release --no-pack && rm pkg/.gitignore
Test:
cargo test && bun test
NOTE: The following tasks use Deno as it excels at these and Bun does not currently provide such functionality:
Format:
deno fmt
Lint:
cargo fmt && deno lint index.ts src/ tests/
Generate HTML API Documentation:
deno doc --html --name=template-bun-wasm-rust-library index.ts
Sample mermaid diagram to test rendering in markdown:
classDiagram
Foo <|-- Bar
Link to auto-generated API docs:
MIT © Flowscripter