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

Node.js native addon tooling

Ranking updated Jun 30, 2026

For a tool for building native node modules, the first results are neon-bindings/neon (Neon is a framework for building native Node.js modules in Rust using N-API, providing scaffolding, cross-platform compilation, bindings automation, and testing—directly fitting the tooling need, though the Rust language differs from the explicit C++ modules you mentioned), napi-rs/napi-rs (napi-rs is a full-featured framework for building Node.js native addons in Rust: it handles N-API bindings, cross‑platform compilation, project scaffolding, and packaging automation, exactly matching your need for native addon tooling) and nodejs/node-gyp (node-gyp is essential for compiling C++ native addons into Node.js binaries across platforms, making it a core part of the native-addon toolchain, though it does not cover scaffolding or testing). nodejs/nan and nodejs/node-addon-api round out the shortlist. Compare the match explanations and check the project documentation against your requirements.

We curate open-source GitHub repositories matching “native module authoring tools”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.

Results for “a tool for building native node modules”

Find the best repos with AI.We'll search the best matching repositories with AI.
  • 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

    Neon is a framework for building native Node.js modules in Rust using N-API, providing scaffolding, cross-platform compilation, bindings automation, and testing—directly fitting the tooling need, though the Rust language differs from the explicit C++ modules you mentioned.

    RustNode-API IntegrationsNative Module Build Utilities
    View on GitHub↗8,410
  • napi-rs/napi-rsnapi-rs avatar

    napi-rs/napi-rs

    7,500View on GitHub↗

    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

    napi-rs is a full-featured framework for building Node.js native addons in Rust: it handles N-API bindings, cross‑platform compilation, project scaffolding, and packaging automation, exactly matching your need for native addon tooling.

    RustFFI Type Definitions
    View on GitHub↗7,500
  • nodejs/node-gypnodejs avatar

    nodejs/node-gyp

    10,647View on GitHub↗

    node-gyp is a build system wrapper and compilation tool designed to transform C and C++ source code into binary modules for the Node.js runtime. It functions as a native module compiler that orchestrates the process of converting native source code into binary bindings for high-performance execution. The project provides cross-platform compilation by managing different compilers and SDKs across Windows, macOS, and Linux. It translates a single project configuration into platform-specific build files, such as Makefiles or Visual Studio projects, to ensure consistent builds across different ope

    node-gyp is essential for compiling C++ native addons into Node.js binaries across platforms, making it a core part of the native-addon toolchain, though it does not cover scaffolding or testing.

    PythonNative Library Integrations
    View on GitHub↗10,647
  • nodejs/nannodejs avatar

    nodejs/nan

    3,351View on GitHub↗

    This project is a compatibility layer and abstraction library for building native C++ addons for Node.js. It provides a consistent C++ API that allows a single codebase to compile against multiple versions of the V8 JavaScript engine by hiding version-specific differences behind macros and inline functions. The toolkit differentiates itself through specialized wrappers and managers, including a monadic wrapper for handles to avoid explicit null checks, a persistent reference manager for objects that must survive handle scope disposal, and a buffer abstraction API for version-compatible memory

    NAN is a compatibility layer library that helps build Node.js native addons by abstracting away V8 version differences, but it lacks N-API support and does not include scaffolding, build system integration, or testing tooling, making it a narrower fit than a full addon toolchain.

    C++Engine API AbstractionsNative Object AccessorsNode.js Native Addons
    View on GitHub↗3,351
  • 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

    node-addon-api is the official C++ wrapper for Node-API, making it a core library for building native Node.js addons, but it focuses on the bindings layer rather than providing scaffolding, build integration, or testing support.

    C++Native Addon FrameworksNode.js Native AddonsAsynchronous Task Execution
    View on GitHub↗2,400
  • philsquared/catchphilsquared avatar

    philsquared/Catch

    20,456View on GitHub↗

    Catch is a C++ testing toolset providing frameworks for unit testing, behavior-driven development, and micro-benchmarking. It serves as a utility for software quality assurance and test-driven development, allowing developers to validate code correctness and measure the execution time of small code fragments. The project features a header-only distribution, enabling integration by including a single file. It utilizes expression-decomposition assertions to provide detailed failure messages and employs a self-registering test discovery system that uses macros to register test cases without manu

    Catch is a general-purpose C++ testing framework, not a tool specifically for creating, building, or managing Node.js native addons. While it can be used to test addon code, it lacks the scaffolding, N-API support, build system integration, and bindings automation that this search is after.

    C++C++ Unit Testing
    View on GitHub↗20,456
  • electron/electronelectron avatar

    electron/electron

    121,727View on GitHub↗

    This framework provides a multi-process architecture for building desktop applications using web technologies. It manages the application lifecycle, window states, and system-level integrations through a primary entry point, while isolating web content in separate rendering processes to maintain stability and security. A secure bridge mechanism facilitates communication between these isolated contexts and the main process, ensuring that privileged system APIs remain protected. The framework distinguishes itself through a comprehensive security model that includes process sandboxing, content p

    Electron is a desktop application framework that can load and use Node.js native addons, but it is not a tool specifically designed to create, build, or manage those addons — it consumes them rather than providing scaffolding, N-API tooling, or build automation for addon development.

    C++Native Module Build UtilitiesNative Library Integrations
    View on GitHub↗121,727
  • 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

    wasm-bindgen generates bindings between Rust and JavaScript for WebAssembly modules, not for native C/C++ addons, so it falls into the neighbouring category of Wasm interop tooling rather than the Node.js native addon tooling you're looking for.

    RustType-Safe Binding Generators
    View on GitHub↗9,042
  • nwjs/nw.jsnwjs avatar

    nwjs/nw.js

    41,183View on GitHub↗

    nw.js is a Node.js desktop application framework that combines a Chromium web renderer with a Node.js runtime to build standalone software for Windows, macOS, and Linux. It serves as a cross-platform desktop runtime that allows developers to create native executables using web technologies. The project is distinguished by its integration layer that exposes Node.js system APIs and modules directly to the browser window and web worker contexts. It functions as a native module bridge, enabling the compilation and execution of low-level C++ system code and native addons within a web-based applica

    nw.js is a desktop application framework that runs native addons rather than a tool for creating and managing them — it lacks the scaffolding, build integration, and testing features this search targets.

    JavaScriptNative Module Build Utilities
    View on GitHub↗41,183
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
neon-bindings/neon8.4KRustApache-2.0Jun 15, 2026
napi-rs/napi-rs7.5KRustotherFeb 16, 2026
nodejs/node-gyp
10.6K
Python
MIT
Jun 19, 2026
nodejs/nan3.4KC++mitFeb 5, 2026
nodejs/node-addon-api2.4KC++MITJun 8, 2026
philsquared/catch20.5KC++BSL-1.0Jun 14, 2026
electron/electron121.7KC++MITJun 23, 2026
wasm-bindgen/wasm-bindgen9KRustApache-2.0Jun 16, 2026
nwjs/nw.js41.2KJavaScriptMITMay 26, 2026

Related searches

  • a command line tool for scaffolding projects
  • a platform for building native integrations
  • Project scaffolding tools
  • a boilerplate for starting open source projects
  • a module bundler for libraries and npm packages
  • a scaffolding tool for generating project boilerplate
  • a native menu and tray library for desktop apps
  • a monorepo build system for JavaScript projects