awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
wasm-bindgen avatar

wasm-bindgen/wasm-pack

0
View on GitHub↗
7,207 stars·483 forks·Rust·Apache-2.0·24 viewswasm-bindgen.github.io/wasm-pack↗

Wasm Pack

wasm-pack is a build tool and workflow orchestrator for compiling Rust code to WebAssembly. It coordinates the compilation process and generates the JavaScript glue code required to execute Rust logic within web browsers and server-side runtimes.

The tool manages binary optimization to reduce file sizes and improve execution speed. It also functions as a package manager, bundling compiled WebAssembly modules into archives compatible with JavaScript registries and bundlers.

The project covers language interoperability through the automatic generation of TypeScript type definitions. It further provides a test runner for executing module tests across multiple environments, including Node.js and headless browsers.

Features

  • WebAssembly Compilation - Transforms Rust source code into WebAssembly binaries and generates the required glue code for execution in web and server environments.
  • Language-Specific Toolchain Orchestrators - Coordinates the Rust compiler and binary optimizers by managing flags and environment configurations during the build process.
  • WebAssembly Workflow Orchestrators - Coordinates the entire Rust-to-Wasm workflow, including compilation, binary optimization, and multi-environment testing.
  • Rust-JavaScript Bridges - Generates the necessary glue code and type definitions to bridge Rust logic with JavaScript runtimes.
  • WebAssembly Glue Code Generators - Generates JavaScript and TypeScript glue code to handle memory layout and type conversion between Rust and WebAssembly.
  • Build Profiles - Manages different compilation modes to balance build speed against the level of final code optimization.
  • Package Registry Integrations - Bundles compiled binaries and glue code into archives compatible with JavaScript package registries and managers.
  • Registry Publishing Tools - Packages modules into compressed archives and uploads them to distribution registries with support for version tags.
  • WebAssembly Module Packages - Packages compiled WebAssembly modules into archives compatible with JavaScript registries and bundlers.
  • Environment-Specific Module Resolution - Emits different module formats and loading patterns tailored to the target execution environment, such as browsers or Node.js.
  • JavaScript Library Packagers - Bundles compiled modules into distribution formats compatible with JavaScript package registries and bundlers.
  • Module Packaging - Bundles compiled binaries and glue code into packages suitable for JavaScript package managers.
  • Multi-Target Compilers - Compiles code for multiple target environments, including web browsers, Node.js, and other system interfaces.
  • Type Definition Generators - Automatically produces TypeScript declaration files to enable static type checking and autocomplete in code editors.
  • TypeScript Type Synthesis - Automatically synthesizes TypeScript definition files from compiled WebAssembly module signatures to enable static type checking.
  • Test Runners - Provides a command-line interface to execute Rust module tests in Node.js and headless browsers.
  • CLI Test Runners - Provides a command-line tool to execute WebAssembly module tests by wrapping standard test runners.
  • Cross-Runtime Execution - Provides a test runner capable of executing WebAssembly modules across both headless browser and Node.js server environments.
  • Binary Optimizers - Integrates external binary optimizers to reduce the file size and improve the execution performance of compiled WebAssembly modules.
  • Foreign Function Interface - Builds and publishes Wasm packages to npm.

Star history

Star history chart for wasm-bindgen/wasm-packStar history chart for wasm-bindgen/wasm-pack

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Wasm Pack

These projects share indexed features with Wasm Pack. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • wasm-bindgen/wasm-bindgenwasm-bindgen avatar

    wasm-bindgen/wasm-bindgen

    9,042View on GitHub↗

    wasm-bindgen is a glue code generator and interoperability tool that facilitates high-level communication and data exchange between compiled Rust modules and JavaScript environments. It functions as a memory bridge and type definition generator, allowing the exchange of complex data types and the calling of functions across execution boundaries. The project distinguishes itself by automating the conversion of data types and function signatures using attribute-based bindings. It generates the necessary JavaScript and WebAssembly wrappers to manage linear memory mapping and creates automatic Ty

    Rust
    View on GitHub↗9,042
  • tinygo-org/tinygotinygo-org avatar

    tinygo-org/tinygo

    17,529View on GitHub↗

    TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to resource-constrained microcontrollers and WebAssembly environments. It provides a bare-metal runtime environment that enables high-level code execution without the need for a traditional operating system, utilizing an LLVM-based backend to generate efficient machine instructions. The project distinguishes itself through aggressive optimization techniques tailored for small hardware, including a static memory allocation strategy and whole-program dead code elimination that significantly re

    Goadafruitarduinoarm
    View on GitHub↗17,529
  • rust-lang/cargorust-lang avatar

    rust-lang/cargo

    14,624View on GitHub↗

    Cargo is the official build system and package manager for the Rust programming language. It provides a unified command-line interface that orchestrates the entire development lifecycle, including compiling source code, managing complex dependency graphs, running tests, and distributing packages through a centralized registry. By utilizing declarative manifest files, it ensures that builds remain reproducible and consistent across different environments. The tool distinguishes itself through its deep integration with the Rust compiler and its sophisticated approach to project management. It f

    Rustcargopackage-managerrust
    View on GitHub↗14,624
  • mozilla-firefox/firefoxmozilla-firefox avatar

    mozilla-firefox/firefox

    11,305View on GitHub↗

    Firefox is a cross-platform web browser engine designed to render web content, execute JavaScript, and manage secure browsing sessions. It utilizes a multi-process isolation architecture that distributes browser tasks across independent operating system processes to ensure stability and prevent site-specific failures from impacting the entire application. The engine incorporates a sandboxed execution environment to restrict web content and untrusted scripts to isolated memory compartments, enforcing security policies that prevent unauthorized access to system resources. The project distinguis

    JavaScript
    View on GitHub↗11,305
Compare all 30 related projects→

Frequently asked questions

What does wasm-bindgen/wasm-pack do?

wasm-pack is a build tool and workflow orchestrator for compiling Rust code to WebAssembly. It coordinates the compilation process and generates the JavaScript glue code required to execute Rust logic within web browsers and server-side runtimes.

What are the main features of wasm-bindgen/wasm-pack?

The main features of wasm-bindgen/wasm-pack are: WebAssembly Compilation, Language-Specific Toolchain Orchestrators, WebAssembly Workflow Orchestrators, Rust-JavaScript Bridges, WebAssembly Glue Code Generators, Build Profiles, Package Registry Integrations, Registry Publishing Tools.

Which projects share features with wasm-bindgen/wasm-pack?

Projects with overlapping indexed features include: wasm-bindgen/wasm-bindgen — wasm-bindgen is a glue code generator and interoperability tool that facilitates high-level communication and data… tinygo-org/tinygo — TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to… rust-lang/cargo — Cargo is the official build system and package manager for the Rust programming language. It provides a unified… mozilla-firefox/firefox — Firefox is a cross-platform web browser engine designed to render web content, execute JavaScript, and manage secure… trunk-rs/trunk — Trunk is a WebAssembly build tool and orchestrator designed to automate the process of transforming Rust source code… thedodd/trunk — Trunk is a build tool and development server for compiling Rust code to WebAssembly and packaging it for browser…