31 releases (breaking)

0.22.0 Sep 25, 2024
0.21.1 Jul 9, 2024
0.20.3 Nov 27, 2023
0.20.1 Jun 16, 2023
0.5.0 Mar 6, 2019

#776 in WebAssembly

Download history 57983/week @ 2024-07-24 62123/week @ 2024-07-31 55705/week @ 2024-08-07 49825/week @ 2024-08-14 47533/week @ 2024-08-21 41532/week @ 2024-08-28 48592/week @ 2024-09-04 42864/week @ 2024-09-11 41205/week @ 2024-09-18 43880/week @ 2024-09-25 46487/week @ 2024-10-02 43704/week @ 2024-10-09 48304/week @ 2024-10-16 45715/week @ 2024-10-23 42473/week @ 2024-10-30 41586/week @ 2024-11-06

186,658 downloads per month
Used in 107 crates (43 directly)

MIT/Apache

430KB
9K SLoC

Walrus 🌊🐘

Walrus is a WebAssembly transformation library

Crates.io version Download docs.rs docs

API Docs | Contributing | Chat

Built with 🦀🕸 by The Rust and WebAssembly Working Group

About

The walrus crate is a Rust library for performing WebAssembly transformations in a robust and ergonomic fashion. The crate is still in its early days but is currently used to power the wasm-bindgen CLI tool and its own internal transformations.

Using walrus will, in the long term, also allow transforming WebAssembly while preserving DWARF debug information to ensure that debugging the final module is just as nice as debugging the intermediate module.

Stay tuned for more information in the future!

Examples

  • Check out examples/build-wasm-from-scratch.rs for a quick intro to building a Wasm module from scratch with walrus.
  • Check out the wasm-snip project for a relatively simple and self-contained but still Real World example of using walrus.

License

This project is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~5MB
~110K SLoC