22 repository-uri
C++ extensions that provide the Node.js runtime with low-level system access.
Distinct from Native Addon Loaders: Existing candidates focus on loaders or specific domains like logging/crypto rather than the general nature of a native addon library.
Explore 22 awesome GitHub repositories matching programming languages & runtimes · Node.js Native Addons. Refine with filters or upvote what's useful.
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
Implements a native Node.js addon using C++ bindings for low-level access to OS input and display functions.
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
Implements high-performance graphics processing by binding JavaScript calls to native C++ implementations.
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
Compiles C and C++ source code into binary modules that can be loaded as native addons by Node.js.
uWebSockets.js is a high-performance tool for building WebSocket and HTTP servers within Node.js. It focuses on high-throughput web servers and real-time data streaming, enabling the creation of network applications that handle a large number of concurrent connections with low memory and CPU overhead. The project distinguishes itself through a native C++ implementation that integrates directly with the Node.js event loop. It utilizes native-layer route matching and a shared memory architecture to minimize allocation overhead and avoid data duplication during message transmission. The impleme
Provides a native C++ addon that integrates high-performance protocol implementations directly into the Node.js runtime.
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
Enables the creation of high-performance Node.js native extensions specifically using the Rust programming language.
This is a Node.js library for securely hashing and verifying passwords using the bcrypt adaptive hashing algorithm. It functions as a password security module that transforms plain-text credentials into protected hashes and generates cryptographically secure salts. The implementation allows for the adjustment of computational cost to resist brute-force attacks. It provides utilities for password hash verification and the extraction of hash metadata to determine the number of encryption rounds used. The project covers a range of security and access control capabilities, including credential s
Utilizes a C++ native addon to provide high-performance implementations of the bcrypt algorithm.
Aceasta este o bibliotecă de hashing a parolelor bcrypt și un modul de criptografie pentru Node.js. Oferă un set de instrumente pentru generarea de săruri (salts) securizate, calcularea hash-urilor puternice din punct de vedere criptografic și verificarea parolelor pentru a proteja credențialele utilizatorilor împotriva accesului neautorizat. Biblioteca implementează hashing adaptiv, utilizând un factor de cost configurabil pentru a crește efortul computațional necesar pentru a sparge parolele prin forță brută. Include un instrument de verificare a parolelor care protejează procesul de comparare împotriva atacurilor de tip timing. Proiectul acoperă hashing-ul securizat al parolelor și generarea de săruri, precum și utilitare pentru extragerea costului hash-ului și verificarea parolelor. Aceste capabilități susțin stocarea securizată a parolelor și fluxurile de lucru de autentificare a utilizatorilor.
Binds a C++ implementation of the bcrypt algorithm to Node.js using native addons.
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
Provides a comprehensive framework for building high-performance native extensions for Node.js using Rust.
better-sqlite3 is a high-performance SQLite3 client for Node.js that executes queries synchronously, returning results directly without callbacks or promises. It compiles as a native addon using N-API, binding directly to the SQLite3 C library for immediate query execution and zero-copy result serialization into native JavaScript objects. The library is optimized for Write-Ahead Logging (WAL) mode, enabling faster concurrent reads and writes in web applications. It provides durability level tuning through the synchronous pragma, allowing adjustments between FULL, NORMAL, and OFF modes to bala
Compiles as a Node.js native addon using N-API for direct C-level access to SQLite3.
Node.js is an open-source, cross-platform JavaScript runtime environment built on the V8 engine, designed for executing JavaScript code outside a web browser. It operates as a server-side JavaScript platform with an event-driven, non-blocking I/O architecture that enables building scalable network applications and web servers. The runtime integrates the CommonJS module system for synchronous module loading and the npm ecosystem for sharing and reusing packages. The platform provides comprehensive capabilities for web server development, including creating HTTP and HTTPS servers, managing HTTP
Provides a stable C API for building native addons that remain compatible across Node.js versions.
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
Offers technical guidance on building high-performance native extensions using Rust and maintaining ABI stability.
node-sqlite3 is a relational database client and a set of native bindings that allow Node.js applications to interact with SQLite databases. It functions as a C++ native addon, linking JavaScript to the SQLite C library to manage data stored in local files or in-memory stores. The project includes optional support for SQLCipher, enabling page-level encryption to secure local database files. The driver covers a wide range of database management capabilities, including executing SQL queries with parameter binding, managing connections to database files, and preparing statements for repeated ex
Links JavaScript to the SQLite C library as a C++ native addon for direct memory access.
Prek is a Git hook manager written in Rust that runs configured hooks as a single binary without requiring Python or other external runtimes. It executes hooks faster than standard tools through parallel processing and bundled Rust implementations, and includes a built-in hook repository that enables fully offline operation without network access or environment setup. The tool supports both TOML and YAML configuration formats with identical semantics, and can run hooks from existing pre-commit configuration files without modification. Prek distinguishes itself through workspace-aware monorepo
Ships bundled Rust implementations of common hooks for faster startup and lower overhead.
j2objc is a source-to-source compiler and transpiler that converts Java source code into Objective-C. It functions as a cross-platform logic porter, allowing application logic and data models written in Java to be shared and executed on iOS. To support this translation, the project provides an Objective-C implementation of core Java classes and APIs to emulate the Java runtime environment. The system includes specialized translation for Java libraries and provides mapping for dependency injection and static analysis annotations to preserve metadata. It also enables the conversion of JUnit tes
Allows replacing automatically translated classes with hand-written native implementations to increase execution speed.
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
Calls Git operations directly from JavaScript with native performance, avoiding subprocess overhead.
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
Embeds a libmpv native addon within Electron for low-latency video playback.
opencv4nodejs este un set de wrappere JavaScript și un addon nativ C++ care oferă binding-uri Node.js pentru biblioteca OpenCV. Funcționează ca o bibliotecă de computer vision și framework de procesare a imaginilor, expunând algoritmi C++ de înaltă performanță către un mediu JavaScript. Proiectul permite executarea algoritmilor de viziune pentru detectarea fețelor, urmărirea obiectelor și analizarea datelor vizuale folosind rețele neuronale profunde. Include capabilități pentru clasificarea tiparelor de date, recunoașterea tiparelor de text și identificarea punctelor de reper faciale și a gesturilor. Framework-ul acoperă o suprafață largă de capabilități, inclusiv procesarea automată a imaginilor, recunoașterea optică a caracterelor și analiza video în timp real. Oferă instrumente pentru operațiuni aritmetice pe matrice, acces la datele pixelilor și gestionarea fișierelor imagine și a capturii video live. Gestionarea resurselor este realizată prin executarea asincronă a sarcinilor și urmărirea memoriei externe pentru a menține responsivitatea event loop-ului.
Functions as a C++ native addon providing the Node.js runtime with low-level access to OpenCV algorithms.
This project is a boilerplate and starter for building cross-platform desktop applications that integrate a web-based frontend with a native shell. It provides a pre-configured development environment combining Electron, Vite, and Vue to establish a frontend-driven desktop framework. The setup features an integrated development workflow with hot module replacement and automatic reloading for both the main and renderer processes. This allows for real-time updates to the desktop application shell and user interface components without requiring manual restarts. The project covers native system
Supports the inclusion of compiled C or C++ native addons for high-performance execution within the application.
Rustler este un toolkit și o interfață pentru construirea de extensii native sigure și de înaltă performanță care integrează codul Rust cu mașina virtuală BEAM. Oferă o punte pentru scrierea funcțiilor native în Rust care se integrează cu Erlang și Elixir. Proiectul se concentrează pe prevenirea blocajelor mașinii virtuale prin capturarea panicilor Rust în timpul execuției funcțiilor native. Utilizează o interfață sigură pentru a încapsula pointeri brute și a oferi abstracții sigure din punct de vedere al tipului pentru extensiile native. Toolkit-ul acoperă marshalling-ul datelor între limbaje prin conversia termenilor bazată pe trăsături și gestionează ciclul de viață al obiectelor de memorie prin gestionarea resurselor cu numărare de referințe. Aceste capabilități permit înlocuirea codului interpretat cu funcții Rust compilate pentru a îmbunătăți viteza de execuție.
Ships a toolkit for implementing high-performance Rust native extensions that safely handle data terms.
Acest proiect este o resursă educațională cuprinzătoare și un manual de tutoriale pentru construirea, antrenarea și implementarea modelelor de machine learning folosind TensorFlow 2. Acesta servește drept ghid de învățare structurat, acoperind concepte fundamentale de deep learning, inclusiv arhitecturi de rețele neuronale, diferențiere automată și operații cu tensori. Manualul oferă îndrumări tehnice pentru optimizarea eficienței execuției prin gestionarea memoriei GPU, antrenarea distribuită și cuantizarea modelelor. Include, de asemenea, manuale detaliate pentru construirea de pipeline-uri de date de înaltă performanță și exportul modelelor pentru servere de producție, dispozitive mobile și browsere web. Materialul acoperă o gamă largă de capabilități, inclusiv dezvoltarea de modele cu rețele convoluționale și recurente, implementarea de funcții de loss și straturi personalizate, precum și utilizarea modelelor pre-antrenate pentru transfer learning. De asemenea, abordează strategii de implementare pentru dispozitive edge și utilizarea runtime-urilor bazate pe cloud pentru accelerare hardware. Resursa este implementată sub forma unei colecții de Jupyter Notebooks.
Demonstrates executing saved models in Node.js using native C++ bindings to avoid conversion steps.