rust-wasmpack-loader

3.3.1 • Public • Published

MIT License View this project on NPM View this project on NPM Quality Gate Status Known Vulnerabilities

Welcome to rust-wasmpack-loader

rust-wasmpack-loader is a powerful Webpack and Bun loader that enables seamless integration of Rust resources into your JavaScript/TypeScript projects through WebAssembly (WASM).

What is rust-wasmpack-loader?

rust-wasmpack-loader is a native WASM loader for .rs (Rust) resources that works with:

  • Webpack ^5.0.0 (Both web and node (node-async) targets)
  • Bun runtime (node target only)

Key Features

🚀 Easy Integration — Import .rs files directly in your .js or .ts files without any headache

🔧 Flexible Configuration — Supports both wasm_bindgen and regular functions

📦 Smart Discovery — Dynamically finds the Cargo.toml file for building the WASM source

🌐 Multi-Target Webpack Support — Works with web and node applications

Bun Compatible — Full support for Bun runtime (node target only for now)

Why Use rust-wasmpack-loader?

  • Simplicity: The most obvious one — No complex build setups, import and use
  • Write computation-heavy code in Rust: Leverage Rust's performance for CPU-intensive tasks
  • Ecosystem: Access the rich Rust ecosystem from your any projects

Quick Example

// Import Rust code directly
import wasmModule from './fibonacci.rs';

// Use the compiled WASM module
const result = wasmModule.fibonacci(10);
console.log(result); // Output: 55
// fibonacci.rs
use wasm_bindgen::prelude::*;

#[wasm_bindgen]
pub fn fibonacci(n: u32) -> u32 {
    match n {
        0 => 0,
        1 => 1,
        _ => fibonacci(n - 1) + fibonacci(n - 2),
    }
}

Getting Started

Ready to boost your projects with native WebAssembly support? Let us get started!

👉 Installation Guide

👉 Quick Start Tutorial

Examples

View Examples documentation

Check the example folder in the repository for a better understanding of how the loader works with different setups:

Contributing

Contributions are always welcome!

See CONTRIBUTING.md for ways to get started.

Please feel free to:

  • 🐛 Report bugs and issues
  • 💡 Suggest new features
  • 📖 Improve documentation
  • 🔧 Submit pull requests

Acknowledgements

Special thanks to the projects that inspired and helped make rust-wasmpack-loader possible:

License

This project is licensed under the MIT License.

See the LICENSE file for details.

Community & Support


Built with ❤️ by Yehor Brodskiy

/rust-wasmpack-loader/

    Package Sidebar

    Install

    npm i rust-wasmpack-loader

    Weekly Downloads

    92

    Version

    3.3.1

    License

    MIT

    Unpacked Size

    33.1 kB

    Total Files

    11

    Last publish

    Collaborators

    • yeskiy