Build, bundle & ship your Rust WASM application to the web.
”Pack your things, we’re going on an adventure!” ~ Ferris
Trunk is a WASM web application bundler for Rust. Trunk uses a simple, optional-config pattern for building & bundling WASM, JS snippets & other assets (images, css, scss) via a source HTML file.
📦 Dev server - Trunk ships with a built-in server for rapid development workflows, as well as support for HTTP & WebSocket proxies.
🏗 Change detection - Trunk watches your application for changes and triggers builds for you, including automatic browser reloading.
Head on over to the Trunk website, everything you need is there. A few quick links:
- Install
- Download a released binary: https://github.com/trunk-rs/trunk/releases
cargo binstall trunk
(installing a pre-compiled binary using cargo-binstall)cargo install trunk --locked
(compile your own binary from crates.io)cargo install --git https://github.com/trunk-rs/trunk trunk
(compile your own binary from the most recent git commit)cargo install --path . trunk
(compile your own binary form your local source)brew install trunk
(installing from Homebrew)nix-shell -p trunk
(installing from nix packages)
- App Setup
- Assets
- Configuration
- CLI Commands
Check out the example web applications we maintain in-repo under the examples
directory.
Anyone and everyone is welcome to contribute! Please review the CONTRIBUTING.md document for more details. The best way to get started is to find an open issue, and then start hacking on implementing it. Letting other folks know that you are working on it, and sharing progress is a great approach. Open pull requests early and often, and please use GitHub's draft pull request feature.
trunk is licensed under the terms of the MIT License or the Apache License 2.0, at your choosing.