30 open-source projects similar to nodejs/node-gyp, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Node Gyp alternative.
CMake is a cross-platform build system generator and build automation tool. It is used to define build requirements and dependencies for C and C++ source code, managing the compilation and linking process across different operating systems. The project functions by generating platform-specific build files and scripts from a single configuration. This allows for the standardization of how software is compiled and packaged for compilers and development tools across various environments. The tool covers C++ project configuration and native application compilation for desktop and embedded system
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
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
Theos is a cross-platform mobile development toolchain and build system designed for compiling and packaging software for mobile operating systems. It functions as a system tweak kit and runtime hooking framework, allowing developers to create modifications that alter the internal behavior of mobile OS environments. The project distinguishes itself by providing specialized preprocessor syntax that generates low-level API calls, removing the boilerplate code typically required for function and method hooking. It enables dynamic runtime method swizzling and class extensions, allowing developers
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
godot-cpp is a C++ binding library and development kit for creating high-performance extensions and custom nodes for the Godot engine. It provides the necessary headers and framework to implement complex game logic and low-level systems using native code. The project enables the development of GDExtension plugins, allowing native libraries to be loaded into the engine without requiring a full recompilation of the core software. It facilitates the creation of custom engine extensions through a system of native bindings that map C++ classes and methods to the internal engine database. The fram
The Rust RFCs repository is the formal home for the Rust language evolution process, housing the structured design documents and community review mechanisms that govern changes to the Rust programming language, its compiler, and its standard library. It defines the complete lifecycle for proposing, discussing, and implementing substantial changes through RFC documents, from initial submission and community feedback through final comment periods and sub-team sign-offs. The repository codifies the governance and collaboration processes that shape Rust's development, including mechanisms for com
Swift Package Manager is a cross-platform build tool, dependency resolver, and package distributor. It compiles Swift source code into native executable binaries for multiple operating systems and manages the resolution and linking of external Swift code packages. The tool facilitates Swift package distribution by sharing and distributing reusable source code through public or private channels. It orchestrates Swift projects by managing external code libraries and versioning to ensure consistent builds across different development environments.
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
Kotlin-native is an ahead-of-time, cross-platform compiler and toolchain that transforms Kotlin source code into standalone native machine binaries. It functions as an LLVM native compiler, producing executable files that run directly on hardware without the requirement of a virtual machine. The project enables cross-platform native development across multiple operating systems and processor architectures, including iOS, Linux, and Windows. This allows for the creation of native Apple platform applications and software for embedded systems programming where direct memory management and minima
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
Nim is a statically typed, compiled systems programming language designed for high performance and cross-platform development. It translates high-level source code into C, C++, or JavaScript, allowing developers to produce efficient native binaries or web-compatible scripts from a single codebase. The language emphasizes a clean, indentation-based syntax that simplifies code hierarchy while maintaining the power of a full-featured systems language. What distinguishes Nim is its robust metaprogramming framework, which allows developers to inspect, modify, and generate code structures during th
Robotjs is a native Node.js automation library and desktop input simulator. It uses C++ bindings to provide low-level access to operating system functions, allowing for the programmatic control of the mouse and keyboard and the analysis of screen pixels. The library functions as a toolkit for automating user interfaces and desktop workflows, including those within Electron applications. It enables the simulation of key presses and mouse movements to automate interactions with desktop software and perform automated data entry. Its capabilities extend to screen pixel analysis, where it capture
The Angular Command Line Interface is a tool for initializing, scaffolding, and managing the development lifecycle of Angular web applications from a terminal. It functions as a project manager and frontend build toolchain, providing a standardized way to bootstrap new applications and manage their overall health and configuration. The tool employs schematic-based code generation to create standardized project structures and components. It utilizes a workspace-based configuration to manage multiple related applications and libraries within a single shared root and dependency tree. The system
Scala Native is an ahead-of-time compiler that transforms Scala source code into standalone native binaries for direct execution on hardware. It provides a native binary toolchain designed to eliminate virtual machine warm-up times and ensure instant startup by compiling code into optimized executables. The project features a C interoperability interface and foreign function interface that map native C headers to language objects, allowing for the direct execution of external libraries. It includes a low-level memory manager that supports direct pointer manipulation and the use of structs for
NodeGit is a native Node.js binding library that wraps the libgit2 C API, providing direct Git repository operations from JavaScript without shelling out to the Git command-line interface. It exposes Git operations such as cloning remote repositories, opening local repositories, reading file contents from specific commits, and walking through commit history, all through a Promise-based asynchronous API that prevents event loop starvation by offloading blocking operations to a worker pool. The library distinguishes itself by bridging the C/JavaScript boundary through N-API, with reference-coun
Conan is a package manager and binary repository for C and C++ that resolves and installs external libraries to ensure consistent build environments across different platforms. It functions as a native dependency resolver and a cross-platform build tool designed to facilitate reproducible native builds. The project provides capabilities for native package hosting, allowing users to implement a server to store and distribute pre-compiled libraries and their required dependencies. It also supports standalone binary bundling to create executable files that include all necessary runtime dependenc
opencv4nodejs is a set of JavaScript wrappers and a C++ native addon that provides Node.js bindings for the OpenCV library. It functions as a computer vision library and image processing framework, exposing high-performance C++ algorithms to a JavaScript environment. The project enables the execution of vision algorithms for detecting faces, tracking objects, and analyzing visual data using deep neural networks. It includes capabilities for data pattern classification, text pattern recognition, and the identification of facial landmarks and gestures. The framework covers a broad capability s
Travis CI is a continuous integration platform and CI/CD pipeline orchestrator that automates the testing and building of code changes from version control systems. It functions as a multi-language test runner and build infrastructure manager, ensuring software quality through automated testing across various programming languages and runtimes. The platform is distinguished by its use of virtual-machine-based isolation for reproducible environments and a configuration-driven approach to pipeline generation. It supports complex testing strategies through parallel matrix execution, allowing job
Cocos Engine is a cross-platform game engine designed for building high-performance 2D and 3D interactive experiences for web, mobile, and desktop platforms. It features a multi-backend rendering engine and a 2D and 3D physics simulator, utilizing a core architecture that combines a C++ runtime for performance with TypeScript for game logic scripting. The engine distinguishes itself through a multi-platform deployment system that packages projects for native operating systems and instant-play web ecosystems. Its graphics system supports multiple APIs, employing physically based rendering and
node-canvas is a server-side 2D vector graphics and image processing library for Node.js. It provides a server-side implementation of the HTML5 Canvas API using the Cairo graphics library as its rendering engine to draw shapes, text, and paths. The library enables the programmatic generation of dynamic images and the creation of scalable vector graphics and PDF documents. It supports the registration of custom and system fonts for typography rendering and allows for the import of image assets via local paths, buffers, data URIs, and remote URLs. Capabilities include low-level pixel manipulat
Dev-Cpp is a comprehensive development suite that serves as a C++ integrated development environment, a cross-platform application builder, and a visual UI designer. It provides a toolchain for writing, compiling, and debugging native C++ applications on Windows, while offering a framework to create native binaries for desktop, mobile, and IoT devices from a single codebase. The project distinguishes itself by integrating an embedded SQL database engine and a REST API development platform directly into the workflow. It includes an AI-assisted coding tool that leverages large language models t
Iptvnator is an Electron-based desktop application for streaming live television and radio. It serves as an IPTV player and playlist manager that supports M3U, Xtream Codes, and Stalker portals, providing a unified interface for organizing and viewing media lists. The application functions as both an internal player and an external player wrapper, allowing users to hand off stream URLs to native third-party media players to bypass browser codec limitations. It includes a dedicated XMLTV program guide that maps external schedule data to live channels for broadcast discovery and catchup feature
This project is a cross-platform game engine framework and build pipeline designed to produce playable executable binaries for desktop and Android devices. It provides a collection of core libraries for game development, including a native Android build system and a C++ build pipeline. The framework features a specialized bitmap font rendering system that displays stylized typography by mapping character indices to image atlases using coordinate and spacing metadata. It also implements a hardware abstraction layer to decouple application logic from graphics and audio drivers, ensuring portabl
GB Studio is a visual integrated development environment and game engine for creating 8-bit games for Game Boy hardware. It functions as a retro hardware ROM compiler that transpiles graphical logic into native Z80 assembly and binary images compatible with original handhelds and emulators. The project serves as a cross-platform build tool, generating both native hardware ROMs and web-compatible builds from a single project source. It utilizes a drag-and-drop interface for game logic and scene design, allowing for the creation of game mechanics and asset placement without writing low-level ma
Style Dictionary is a cross-platform style generator and design token build system. It converts a single source of design variables into multiple output formats and platform-specific files to maintain a consistent source of truth across different interfaces. The system functions as a multi-format style orchestrator that merges modular token sources and transforms them based on target platform requirements. It uses a scriptable transform interface to modify token values and names, allowing for the automation of design system styles for web, iOS, and Android applications. The build process is
JUCE is a comprehensive C++ audio framework and digital signal processing library used to build cross-platform audio applications, audio plug-ins, and high-performance user interfaces. It serves as a development kit for creating audio processors compatible with industry-standard plugin formats for digital audio workstations, as well as a tool for MIDI and Open Sound Control communication between musical hardware and software. The framework is distinguished by its ability to maintain a single codebase for native desktop and mobile applications across multiple operating systems. It provides a f
This project is a comprehensive technical guide and diagnostic manual for analyzing memory, performance, and asynchronous behavior within Node.js applications. It provides detailed methods for asynchronous tracing, memory diagnostics, and performance analysis to resolve runtime errors and execution bottlenecks. The resource distinguishes itself by covering advanced diagnostic workflows, including the use of flame graphs for CPU profiling, the capture and comparison of heap snapshots for memory leak detection, and the mapping of asynchronous call stacks. It also provides technical guidance on
This is a bcrypt password hashing library and cryptography module for Node.js. It provides a toolset for generating secure salts, computing cryptographically strong hashes, and verifying passwords to protect user credentials from unauthorized access. The library implements adaptive hashing, utilizing a configurable cost factor to increase the computational effort required to brute-force passwords. It includes a password verification tool that protects the comparison process from timing attacks. The project covers secure password hashing and salt generation, as well as utilities for hash cost