Skip to content
Get StartedNpm interoperability

npm interoperability

Keep your package manager. Point its registry at vlt & nothing else about your setup changes: same package.json, same node_modules, same commands.

Terminal window
npm config set registry=<your-vlt-registry-url>

vlt’s registry speaks the npm registry API, so pnpm, Yarn, & Bun switch the same way with their own registry config. You get your registry URL when you sign up.

What stays the same

vlt serves the same packages as the public npm registry. Names, semver ranges, & dist-tags like latest resolve as they do today, & installs land in a standard node_modules. Your package.json stays the source of truth.

Mixing registries

Route a single scope to a private registry & let everything else keep resolving publicly, so you don’t proxy the whole ecosystem:

Terminal window
npm config set @mycompany:registry=<your-vlt-registry-url>

The full set of options, including per-registry auth, is in Working with Named Registries.

Prefer the vlt client?

You don’t need it to use the registry, but the vlt CLI adds catalogs, Dependency Selector Syntax, & safer installs. Install it with the official install script:

Terminal window
curl -fsSL https://install.vlt.sh | bash

vlt requires Node.js 22.22 or later.