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
napi-rs avatar

napi-rs/napi-rs

0
View on GitHub↗
7,500 stars·357 forks·Rust·other·15 viewsnapi.rs↗

Napi Rs

napi-rs is a framework and toolkit for building high-performance native extensions for Node.js using Rust. It functions as a bridge between Rust and JavaScript runtimes, enabling the conversion of data types and the execution of native functions within a JavaScript environment.

The project provides a native binary compiler and a cross-platform module orchestrator to automate the compilation and publishing of packages across multiple operating systems and architectures. It generates corresponding JavaScript type definitions and platform-specific binaries to ensure consistent installation.

The framework covers the development of native add-ons by exposing native logic to JavaScript, managing type interoperability for memory and value exchange, and bootstrapping the necessary project structures and build scripts.

Features

  • Node.js Native Addons - Provides a comprehensive framework for building high-performance native extensions for Node.js using Rust.
  • Native Module Development - Provides a framework for authoring high-performance native extensions to expand Node.js runtime capabilities.
  • Native Binary Toolchains - Ships a toolchain that compiles source code into platform-specific native binaries and associated JS bindings.
  • Native Build Orchestrators - Provides a system for compiling and packaging Rust source code into platform-specific native binaries for Node.js.
  • Native Type Bridges - Implements interfaces for transforming and bridging data types between Rust and JavaScript.
  • Binary Compilation - Implements a build pipeline that transforms Rust source code into standalone native binary units for Node.js.
  • Module Interface Exports - Implements mechanisms to register native methods and properties onto the public JavaScript exports object.
  • FFI Type Definitions - Defines the mapping between Rust native types and JavaScript values for safe memory exchange.
  • JavaScript-to-Native Bridges - Provides the bridge enabling JavaScript code to call and execute native Rust functions directly.
  • Node-API Bindings - Maps native Rust functions to the Node-API binary interface to ensure cross-runtime compatibility.
  • Runtime Extensions - Enables the integration of native Rust binaries into the JavaScript environment for computationally expensive tasks.
  • Rust-JavaScript Bridges - Implements a system for converting data types and calling functions between Rust and JavaScript runtimes.
  • Cross-Platform Orchestrators - Manages complex compilation and publishing pipelines across multiple hardware architectures and operating systems.
  • Package Publishing Pipelines - Automates the compilation and release pipeline for distributing native packages across multiple target platforms.
  • Procedural Macros - Utilizes Rust procedural macros to automatically generate the boilerplate glue code for JavaScript exports.
  • External Library Linking - Handles the configuration of linker flags to compile native logic into shared objects for JavaScript loading.
  • Cross-Platform Binary Generation - Generates platform-specific native binaries for diverse CPU architectures and operating systems.
  • Type Definition Generators - Automatically synthesizes TypeScript type declaration files from native Rust function signatures.
  • Cross-Platform Integration - Framework for building compiled Node.js add-ons in Rust.

Star history

Star history chart for napi-rs/napi-rsStar history chart for napi-rs/napi-rs

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 Napi Rs

These projects share indexed features with Napi Rs. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • neon-bindings/neonneon-bindings avatar

    neon-bindings/neon

    8,410View on GitHub↗

    Neon is a framework for writing high-performance native Node.js modules using the Rust programming language. It serves as a foreign function interface bridge and a toolchain for bootstrapping, compiling, and managing Rust-based extensions. The project provides a cross-language memory manager that handles buffers and object borrowing to ensure safe memory access between Rust and JavaScript. It enables the mapping of data types and function calls across the language boundary, allowing Rust functions to be exported to the script environment and JavaScript functions to be called from Rust. The f

    Rust
    View on GitHub↗8,410
  • pyo3/pyo3PyO3 avatar

    PyO3/pyo3

    15,344View on GitHub↗

    This project provides a framework for binding Rust and Python, enabling the creation of native extension modules and the embedding of the Python interpreter within host applications. It functions as a cross-language interoperability library that facilitates the execution of scripts, the definition of classes, and the sharing of data structures across the boundary of the two runtimes. The framework distinguishes itself through the use of procedural macros to automate the generation of boilerplate code, simplifying the process of exposing native functions and data types. It employs type-level m

    Rustbindingffipython
    View on GitHub↗15,344
  • rust-lang/rust-by-examplerust-lang avatar

    rust-lang/rust-by-example

    8,026View on GitHub↗

    This project is an interactive programming education resource and tutorial designed for learning the Rust programming language and systems programming concepts. It provides a collection of runnable and editable code examples that serve as a practical reference for language syntax and implementation. The resource features an interactive code sandbox that allows users to execute and test code snippets in real time. It emphasizes the verification of technical accuracy by executing embedded code blocks during the build process to ensure all examples remain functional. The content covers a compre

    Handlebars
    View on GitHub↗8,026
  • nodejs/node-addon-apinodejs avatar

    nodejs/node-addon-api

    2,400View on GitHub↗

    This project provides a header-only C++ wrapper for the Node-API, serving as a framework for building high-performance native addons for Node.js. It acts as a bridge between C++ and JavaScript, offering an object-oriented interface that simplifies the creation of compiled extensions while managing the complexities of the language boundary. The library distinguishes itself by providing type-safe abstractions for data marshalling and memory management, ensuring that native and script-side objects are tracked and reclaimed correctly. It includes mechanisms for coordinating asynchronous tasks bet

    C++nodenodejs
    View on GitHub↗2,400
Compare all 30 related projects→

Frequently asked questions

What does napi-rs/napi-rs do?

napi-rs is a framework and toolkit for building high-performance native extensions for Node.js using Rust. It functions as a bridge between Rust and JavaScript runtimes, enabling the conversion of data types and the execution of native functions within a JavaScript environment.

What are the main features of napi-rs/napi-rs?

The main features of napi-rs/napi-rs are: Node.js Native Addons, Native Module Development, Native Binary Toolchains, Native Build Orchestrators, Native Type Bridges, Binary Compilation, Module Interface Exports, FFI Type Definitions.

Which projects share features with napi-rs/napi-rs?

Projects with overlapping indexed features include: neon-bindings/neon — Neon is a framework for writing high-performance native Node.js modules using the Rust programming language. It serves… pyo3/pyo3 — This project provides a framework for binding Rust and Python, enabling the creation of native extension modules and… rust-lang/rust-by-example — This project is an interactive programming education resource and tutorial designed for learning the Rust programming… nodejs/node-addon-api — This project provides a header-only C++ wrapper for the Node-API, serving as a framework for building high-performance… nodejs/node-gyp — node-gyp is a build system wrapper and compilation tool designed to transform C and C++ source code into binary… bang590/jspatch — JSPatch is a JavaScript native bridge and method swizzler that allows for the dynamic injection of logic into a hosted…