Fast, native npm utilities — Rust cores exposed to Node via NAPI-RS that read your lockfile and rewrite package.json, much faster than their JavaScript predecessors.
End-user CLIs published from this monorepo:
| Tool | Description | Install |
|---|---|---|
@smarlhens/npm-check-engines (nce, npm-check-engines) — README |
Check and update Node.js engine constraints in package.json | npm i -g @smarlhens/npm-check-engines |
@smarlhens/npm-check-deprecations (ncd, npm-check-deprecations) — README |
Find deprecated packages in the lockfile dependency tree and show the chains that pull them in | npm i -g @smarlhens/npm-check-deprecations |
@smarlhens/npm-pin-dependencies (npd, npm-pin-dependencies) — README |
Pin dependency ranges in package.json to the exact versions resolved by the lockfile | npm i -g @smarlhens/npm-pin-dependencies |
- npm-check-engines — npm / pnpm / yarn lockfiles · Node.js lifecycle & EOL policy gates · multiple engine keys (node, npm, yarn) · configurable version precision · JSON output
- npm-check-deprecations — npm / yarn / pnpm lockfiles (auto-detected) · dependency chains to each deprecated package · semver-range blocker analysis · newest non-deprecated version hints · JSON output
- npm-pin-dependencies — npm / yarn / pnpm lockfiles (auto-detected) · workspace mode · pnpm catalog pinning · save-exact via .npmrc · JSON output
Prebuilt native binaries are published for:
| OS | Architectures |
|---|---|
| Linux | x64 (glibc, musl), arm64 (glibc, musl) |
| macOS | x64, arm64 |
| Windows | x64 |
Microbenchmarks (point-in-time, machine-specific) live in BENCHMARKS.md — per tool: nce, npd, semver-range.
- rustc >=1.85.0 <2.0.0 (tested with 1.96.0)
- prek >=0.3.8 (tested with 0.4.4)
- node ^22.22.2 || ^24.15.0 || >=26.0.0 (tested with 22.22.2)
-
Clone the git repository
git clone https://github.com/smarlhens/riri-node-tools.git
-
Go into the project directory
cd riri-node-tools/ -
Checkout working branch
git checkout <branch>
-
Enable pre-commit hooks
prek install