Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

awesome-rust-and-webassembly

Awesome Rust and WebAssembly projects, libraries, tools, and resources
https://github.com/rustwasm/awesome-rust-and-webassembly

  • macro_railroad - source as Scalable Vector Graphics, using customizable CSS for layout.
  • snowhash
  • wasmbooth
  • wasm-pack - pack.svg)](https://crates.io/crates/wasm-pack) [![](https://api.travis-ci.org/rustwasm/wasm-pack.svg?branch=master)](https://travis-ci.org/rustwasm/wasm-pack) — `wasm-pack` seeks to be a one-stop shop for building and working with Rust-generated WebAssembly that you would like to interoperate with JavaScript, on the Web or with Node.js. `wasm-pack` helps you build and publish Rust-generated WebAssembly to the npm registry to be used alongside any other JavaScript package in workflows that you already use.
  • wasm-objdump - ci.org/WebAssembly/wabt.svg?branch=master)](https://travis-ci.org/WebAssembly/wabt) — Print low-level details about a `.wasm` binary and each of its sections. Also supports disassembling into the WAT text format. It's like `objdump` but for WebAssembly.
  • wasm-nm - nm.svg)](https://crates.io/crates/wasm-nm) [![](https://api.travis-ci.org/fitzgen/wasm-nm.svg?branch=master)](https://travis-ci.org/fitzgen/wasm-nm) — List the imported, exported, and private function symbols defined within a `.wasm` binary. It's like `nm` but for WebAssembly.
  • wasm-gc - gc.svg)](https://crates.io/crates/wasm-gc) [![](https://api.travis-ci.org/alexcrichton/wasm-gc.svg?branch=master)](https://travis-ci.org/alexcrichton/wasm-gc) — A small tool to garbage collect a WebAssembly module and remove all unneeded exports, imports, functions, etc. This is effectively a `--gc-sections` linker flag for WebAssembly.
  • wasm-opt - ci.org/WebAssembly/binaryen.svg?branch=master)](https://travis-ci.org/WebAssembly/binaryen) — The `wasm-opt` tool reads WebAssembly as input, runs transformation, optimization, and/or instrumentation passes on it, and then emits the transformed WebAssembly as output. Running it on the `.wasm` binaries produced by LLVM by way of `rustc` will usually create `.wasm` binaries that are both smaller and execute faster.
  • wasm-snip - snip.svg)](https://crates.io/crates/wasm-snip) [![](https://api.travis-ci.org/rustwasm/wasm-snip.svg?branch=master)](https://travis-ci.org/rustwasm/wasm-snip) — `wasm-snip` replaces a WebAssembly function's body with an `unreachable` instruction. This is useful for forcibly removing Rust's panicking infrastructure in non-debug production builds.
  • twiggy - ci.org/rustwasm/twiggy.svg?branch=master)](https://travis-ci.org/rustwasm/twiggy) — `twiggy` is a code size profiler for `.wasm` binaries. It analyzes a binary's call graph to answer questions about which functions take up the most space.
  • wasm2js - ci.org/WebAssembly/binaryen.svg?branch=master)](https://travis-ci.org/WebAssembly/binaryen) — The `wasm2js` tool compiles WebAssembly into "almost asm.js". This is great for supporting browsers that don't have a WebAssembly implementation, such as Internet Explorer 11.
  • rollup-plugin-rust - plugin-rust.svg)](https://www.npmjs.com/package/rollup-plugin-rust) [![](https://img.shields.io/circleci/project/github/DrSensor/rollup-plugin-rust.svg?branch=master)](https://circleci.com/gh/DrSensor/rollup-plugin-rust) — A Rollup plugin that loads Rust code so it can be interop with Javascript base project.
  • rs-jest - jest.svg)](https://www.npmjs.com/package/rs-jest) [![](https://img.shields.io/circleci/project/github/DrSensor/rs-jest.svg?branch=master)](https://circleci.com/gh/DrSensor/rs-jest) — Jest preprocessor/transformer for Rust. Build for seamless integration with a project that use rollup-plugin-rust.
  • rust-native-wasm-loader - native-wasm-loader.svg)](https://www.npmjs.com/package/rust-native-wasm-loader) [![](https://travis-ci.org/dflemstr/rust-native-wasm-loader.svg?branch=master)](https://travis-ci.org/dflemstr/rust-native-wasm-loader) — A Webpack loader that loads Rust code as a WebAssembly module. It uses the native Rust support for compiling to wasm32 and does not require Emscripten.
  • wasm-pack-plugin - tool/wasm-pack-plugin.svg)](https://www.npmjs.com/package/@wasm-tool/wasm-pack-plugin) [![](https://api.travis-ci.org/wasm-tool/wasm-pack-plugin.svg?branch=master)](https://travis-ci.org/wasm-tool/wasm-pack-plugin) — Webpack plugin for Rust and `wasm-pack`.
  • wee_alloc - ci.org/rustwasm/wee_alloc.svg?branch=master)](https://travis-ci.org/rustwasm/wee_alloc) — The Wasm-Enabled, Elfin Allocator. A small (~1K uncompressed `.wasm`) allocator implementation for when code size is a greater concern than allocation performance.
  • console_error_panic_hook - ci.org/rustwasm/console_error_panic_hook.svg?branch=master)](https://travis-ci.org/rustwasm/console_error_panic_hook) — This crate lets you debug panics on `wasm32-unknown-unknown` by providing a panic hook that forwards panic messages to `console.error`.
  • gate - ci.org/SergiusIW/gate.svg?branch=master)](https://travis-ci.org/SergiusIW/gate) — Gate is a game development library tailored to 2D pixel-art games, written in Rust.
  • js-sys - sys.svg)](https://crates.io/crates/js-sys) [![](https://api.travis-ci.org/rustwasm/wasm-bindgen.svg?branch=master)](https://travis-ci.org/rustwasm/wasm-bindgen) — Raw `wasm-bindgen` imports for all the JavaScript global types and methods, such as `Object`, `Function`, `eval`, etc. These APIs are portable across all standard ECMAScript environments, not just the Web, such as Node.js.
  • wasm-bindgen - bindgen.svg)](https://crates.io/crates/wasm-bindgen) [![](https://api.travis-ci.org/rustwasm/wasm-bindgen.svg?branch=master)](https://travis-ci.org/rustwasm/wasm-bindgen) — `wasm-bindgen` facilitates high-level interactions between Rust and JavaScript. It allows one to import JavaScript things into Rust and export Rust things to JavaScript.
  • wasm-bindgen-futures - bindgen-futures.svg)](https://crates.io/crates/wasm-bindgen-futures) [![](https://api.travis-ci.org/rustwasm/wasm-bindgen.svg?branch=master)](https://travis-ci.org/rustwasm/wasm-bindgen) — `wasm-bindgen-futures` is a bridge connecting JavaSript `Promise`s and Rust `Future`s. It can convert in both directions and is useful when working with asynchronous tasks in Rust, and allows interacting with DOM events and I/O operations.
  • cranelift-wasm - wasm.svg)](https://crates.io/crates/cranelift-wasm) [![](https://api.travis-ci.org/CraneStation/cranelift-wasm.svg?branch=master)](https://travis-ci.org/CraneStation/cranelift-wasm) — Compile WebAssembly to the native host's machine code. Part of the Cranelift (né Cretonne) code generator project.
  • wasmer
  • wasmi - ci.org/paritytech/wasmi.svg?branch=master)](https://travis-ci.org/paritytech/wasmi) — An embeddable WebAssembly interpreter.
  • wasmtime - style runtime for WebAssembly
  • parity-wasm - wasm.svg)](https://crates.io/crates/parity-wasm) [![](https://api.travis-ci.org/paritytech/parity-wasm.svg?branch=master)](https://travis-ci.org/paritytech/parity-wasm) — Low-level WebAssembly format library for serializing, deserializing, and building `.wasm` binaries. Good support for well-known custom sections, such as the "names" section.
  • wasmparser - ci.org/yurydelendik/wasmparser.svg?branch=master)](https://travis-ci.org/yurydelendik/wasmparser) — A simple, event-driven library for parsing WebAssembly binary files.
  • The Rust and WebAssembly Book