rust-wasmpack-loader
v3.3.2
Published
wasm Webpack/Bun loader for .rs (Rust) resources. Boost your Webpack-powered projects with native WebAssembly support using the 'rust-wasmpack-loader'. This powerful loader enables seamless integration of Rust resources, unlocking high-performance capabil
Downloads
501
Maintainers
Keywords
Readme
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:
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!
Examples
Check the example folder in the repository for a better understanding of how the loader works with different setups:
- Web Webpack - Browser applications
- Node.js Webpack - Server-side applications
- Bun Node.js - High-performance Bun runtime
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:
- @wasm-tool/wasm-pack-plugin - Original inspiration for WebAssembly integration
- wasm-pack - The amazing tool that makes Rust-to-WASM compilation seamless
License
This project is licensed under the MIT License.
See the LICENSE file for details.
Community & Support
Built with ❤️ by Yehor Brodskiy
