Node.js tool for easy binary deployment of C++ addons
1.2k
Stars
272
Forks
198
Open issues
30
Contributors
AI Analysis
node-pre-gyp is a Node.js tool that simplifies publishing and installing C++ native addons by providing cross-platform binary deployment, standing between npm and node-gyp. It serves developers building native modules who need reliable binary distribution without compilation on end-user machines. It is specifically for native addon authors and package maintainers, not for general Node.js application developers.
Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.
AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.
Mapbox's binary deployment tool for Node.js C++ addons, mature and narrowly focused on the build-and-distribute problem.
node-pre-gyp sits between npm and node-gyp to solve a specific, narrow problem: making it easy to publish and install pre-compiled C++ binaries for Node.js native modules across platforms. It abstracts away cross-platform binary packaging and S3 hosting coordination. Used by projects that need to ship compiled code without forcing end-users to compile locally. Actively maintained by Mapbox, but adoption is niche and stable rather than growing—it fills a specific technical need for addon authors rather than being a category leader.
Created November 2013 by Mapbox to address Ghost Project's binary deployment pain. Deprecated the unscoped version in February 2021 and moved to @mapbox-scoped package. Modeled after node-gyp's design but layers binary management on top. Sponsorship by Mapbox has ensured continuous maintenance over 12+ years.
Project gained 1 star in the last 7 days and sits at 1,154 stars total. Growth appears flat and mature—not declining, but no longer accumulating new users rapidly. The pivot to @mapbox-scoped package in 2021 consolidated adoption around the maintained version. Last push July 6, 2026 (2 days before evaluation date) indicates active, steady maintenance rather than growth or abandonment. Adoption appears stable among addon authors who already use it; not evidence of expanding market share.
README names node-addon-examples as a hello-world reference and directs users to a wiki listing 'real world examples,' but specific production users are not enumerated in the README excerpt provided. The project describes itself as widely used but concrete adoption evidence is not documented in the visible README. Adoption not verified at scale in this analysis.
Likely operates as a wrapper and orchestration layer: intercepts npm install lifecycle hooks, fetches or builds binaries conditionally, manages cross-platform paths. Based on README, it abstracts S3 hosting, AWS SDK integration, and fallback-to-build logic. Appears to support Node.js, Electron, and node-webkit runtimes. Architecture seems stable and command-driven rather than API-first.
README mentions CI workflows (ci.yml, s3-bucket.yml) but does not document test coverage metrics or strategy. Presence of S3-bucket integration tests suggests real-world deployment testing. Specific unit/coverage percentages not disclosed in README.
Last push July 6, 2026 (within 48 hours of evaluation). CI workflows are active. Project has clear versioning (v1 requires Node.js >=8.x, v2 unreleased with Node.js >=18.x). No evidence of neglect; maintenance appears steady and tied to Node.js release schedule. Not rapid iteration, but responsive to platform evolution.
ADOPT IF: you are authoring a Node.js C++ addon that must ship pre-compiled binaries across Windows/macOS/Linux and you want an integrated publish/install workflow with S3 hosting. The tool is mature, actively maintained, and solves this specific problem end-to-end. AVOID IF: you are using only high-level Node.js code or WebAssembly, or if you prefer community-maintained prebuild alternatives. Also avoid if you require Node.js <8.x or cannot use S3 for binary hosting. MONITOR IF: you depend on this for production addon distribution—check quarterly for maintenance status, but no urgent action needed given active July 2026 push and clear versioning strategy.
Independent dimensions
Mainstream potential
3/10
Technical importance
7/10
Adoption evidence
4/10
- Adoption is narrow and specialist. If you need binary addons, this tool is valuable; if you don't, it is irrelevant. No indication of expanding addressable market.
- S3 dependency for publish workflow may conflict with organizations avoiding AWS or requiring alternative object storage. No clear alternative backend documented in README excerpt.
- Node.js version coupling (v1 requires >=8.x, v2 unreleased for >=18.x) means upgrades tied to Node.js LTS transitions; potential friction during major version jumps.
- Wiki-based documentation for 'real world examples' is less visible than in-repo docs. Discoverability of production usage may limit newcomer confidence.
- Reliance on Mapbox sponsorship for maintenance; no indication of independent stewardship or community contribution model. Project continuity dependent on Mapbox's continued investment.
Will remain a stable, niche tool for C++ addon authors. Unlikely to grow significantly in absolute adoption (the population of addon authors is fixed and not expanding). However, will continue to receive maintenance patches as Node.js and npm evolve, ensuring it remains functional for its intended use case.
Newsletter
Get analyses like this every Monday
Free weekly digest of the most interesting open-source discoveries.
Languages
Information
- Language
- JavaScript
- License
- BSD-3-Clause
- Last updated
- 4d ago
- Created
- 154mo ago
- Analyzed with
- anthropic/claude-haiku-4-5
Stars over time
Contributors over time
Top 100 contributors only — repos with more will plateau at 100.
Open issues
Top contributors
Similar repos
nodejs/node-addon-examples
A curated collection of Node.js C++ addon examples demonstrating best practices...
| Repository | Stars | Week Δ | Language | Score | Updated |
|---|---|---|---|---|---|
|
|
1.2k | +1 | JavaScript | 7/10 | 4d ago |
|
|
10.7k | — | Python | 8/10 | 4d ago |
|
|
2.6k | — | C++ | 7/10 | 2w ago |
|
|
2.4k | — | C++ | 8/10 | 2w ago |
|
|
3.4k | — | C++ | 8/10 | 2w ago |
|
|
13.8k | — | Shell | 8/10 | 17h ago |
Direct predecessor. node-gyp compiles C++ locally; node-pre-gyp adds pre-built binary distribution. node-gyp is broader (10,660 stars), node-pre-gyp is narrower and purpose-built for binary deployment workflow.
Solves native module stability problem via standardized C++ interface; node-pre-gyp solves distribution problem. Complementary, not competing—addons using N-API may still use node-pre-gyp for binary delivery.
Legacy abstraction layer for Node.js C++ bindings; node-pre-gyp addresses a different layer (distribution, not API compatibility). Both often used together in older projects.
Community alternative focused specifically on pre-built binary installation. Lighter-weight, fewer features for publishing. node-pre-gyp includes publish/packaging tooling; prebuild-install primarily installs.
Solve the 'avoid native compilation' problem entirely via FFI or WebAssembly. Different philosophy: these reduce need for C++ addons altogether rather than improving distribution of existing ones.