Freedom251 › JavaScript Package Managers
snpm

What snpm is
snpm is an open-source, Rust-native package manager for Node.js projects and JavaScript workspaces. It provides npm-style commands including install, add, run, exec, and dlx, plus workspace filters based on names, globs, paths, dependency walks, and Git references. When snpm-lock.yaml is missing, it can import pnpm, Bun, Yarn, or npm lockfiles before using snpm-lock.yaml as the source of truth. Packages are downloaded once into a shared store and linked through a node_modules/.snpm virtual store. Install scripts are blocked unless allowed, package-age settings can exclude recent releases, and tarball authentication is scoped to the announcing registry. The CLI supports audits with attempted fixes and SARIF output, publishing workflows, license listing, patching, and store maintenance. It includes an nvm-style Node manager and supports macOS, Linux, and Windows x64 or arm64 binaries.
Who it suits
It suits developers managing Node.js dependencies, workspaces, lockfiles, publishing, and Node versions across macOS, Linux, or Windows. Teams seeking open-source tooling with dependency and installation safeguards may consider it.
What it does well
- Supports npm-style project commands
- Imports several existing lockfile formats
- Blocks lifecycle scripts by default
- Includes audit and SARIF output
- Provides a Node version manager
What to know first
- Install script requires Node.js 18 or newer
- Exact pnpm edge-case compatibility is still evolving
- Unusual package-layout compatibility is still evolving
- Performance figures are reported benchmarks
Getting started
- Choose an installation route: npm, a GitHub Release binary or source.
- For the npm installation script, use Node.js 18 or newer.
- Select the build for macOS, Linux or Windows on x64 or arm64, if using a pre-built binary.
- Use snpm's install command for project dependencies and add, run, exec or dlx for related tasks.
Verdict
snpm offers a broad package-management workflow with workspace, security, audit, publishing, and Node-version features. It is open source under MIT or Apache-2.0, though some compatibility areas remain in development.
Questions
Is snpm free?
Yes. snpm is listed as free and open source.
What license does snpm use?
The project states that it is licensed under MIT or Apache-2.0.
Which platforms does snpm support?
It supports Linux, macOS and Windows. Pre-built native binaries are available for x64 and arm64.
What does the npm installation script require?
It requires Node.js 18 or newer.
Can snpm use other package managers’ lockfiles?
When snpm-lock.yaml is absent, it can import lockfiles from pnpm, Bun, Yarn and npm. Afterward, snpm-lock.yaml is the source of truth.
Does snpm support workspaces and publishing?
Yes. It supports workspace filters and package publishing workflows, including workspace fan-out, distribution tags, OTP and dry-run modes.
Facts from snpm's own pages
- Architecture
- Pre-built native binaries support macOS, Linux and Windows on x64 and arm64. · snpm.io, 1 Oct 2026
- Audit
- The audit command can find vulnerable dependencies, attempt fixes and emit SARIF output. · snpm.io, 1 Oct 2026
- CLI features
- The CLI includes audit with SARIF output, dependency inspection, license listing, patching, packing, publishing, and store maintenance commands. · snpm.io, 2 Oct 2026
- Compatibility status
- The project says exact pnpm behavior across every CLI edge case and compatibility with unusual package layouts are still evolving. · github.com, 2 Oct 2026
- Installation requirement
- The npm install script requires Node.js 18 or newer. · snpm.io, 1 Oct 2026
- Install methods
- The documentation describes installation from npm, GitHub Release binaries, or source. · snpm.io, 2 Oct 2026
- Install performance
- The site reports a 14.3-second cold-cache install and a 1.2-second warm-cache install in its React app benchmark, tested on a MacBook Pro M1 with Node 20.x. · snpm.io, 2 Oct 2026
- License
- The site states that snpm is open source and licensed under MIT or Apache-2.0. · snpm.io, 2 Oct 2026
- Lockfiles
- It reads pnpm, Bun, Yarn, and npm lockfiles on the first install, then uses snpm-lock.yaml as its source of truth. · snpm.io, 2 Oct 2026
- Node manager
- snpm includes a Node version manager with install, use, .node-version, .nvmrc and engines.node discovery. · snpm.io, 1 Oct 2026
- Node version management
- snpm includes an nvm-style Node version manager. · snpm.io, 2 Oct 2026
- Package age control
- The SNPM_MIN_PACKAGE_AGE_DAYS setting can be used to avoid newly published packages. · snpm.io, 2 Oct 2026
- Package store
- Packages are downloaded once into a shared store and linked into projects through a node_modules/.snpm virtual store. · snpm.io, 1 Oct 2026
- Performance claim
- The homepage reports a 1.2-second warm-cache install and says snpm is 50% faster than pnpm in its benchmark. · snpm.io, 1 Oct 2026
- Product
- snpm is a Rust-native package manager for JavaScript and Node.js projects. · snpm.io, 2 Oct 2026
- Protocols
- Supported protocols include npm, jsr, file:, git:, workspace: and catalog:. · snpm.io, 1 Oct 2026
- Publishing
- snpm supports pack and publish workflows with workspace fan-out, distribution tags, OTP and dry-run modes. · snpm.io, 1 Oct 2026
- Security
- Dependency install scripts are blocked unless allow-listed, and tarball authentication is scoped to the announcing registry. · snpm.io, 2 Oct 2026
- Security defaults
- Dependency lifecycle scripts are blocked unless explicitly allowed, minimum package age can exclude recent publishes, and tarball authentication is scoped to the announcing registry. · snpm.io, 1 Oct 2026
- Source availability
- The project is open source and links to its GitHub repository from the documentation and homepage. · snpm.io, 1 Oct 2026
- Supported platforms
- The npm installer supports macOS, Linux, and Windows on x64 and arm64; Node.js 18 or later is required for its install script. · snpm.io, 2 Oct 2026
- Workflow
- It provides npm-style commands including install, add, run, exec and dlx. · snpm.io, 1 Oct 2026
- Workspaces
- It discovers workspaces from snpm-workspace.yaml, pnpm-workspace.yaml, or package.json workspaces and supports filters. · snpm.io, 2 Oct 2026
Where snpm stands on Freedom251
- JavaScript Package Managers#19 of 19