Developer Tools

pnpm

4.52

is a fast, disk-space-efficient JavaScript package manager that uses a content-addressable store and hard links to save storage.

Visit Website

pnpm (performant npm) was created by Zoltan Kochan in 2017 in Ukraine. It started as a side project to solve the disk space waste caused by traditional node_modules, and it’s grown into a serious alternative to npm and Yarn.

The key innovation is pnpm’s content-addressable store. When you install a package, it’s saved once in a global store on your disk. Every project that uses that package gets a hard link to the store instead of its own copy. If you’ve got 10 projects using React, there’s only one copy of React on your disk. This saves gigabytes of storage and makes installs much faster.

pnpm also creates a strict node_modules structure that prevents “phantom dependencies” — packages that work by accident because they’re nested inside other packages. With pnpm, you can only access packages you’ve explicitly declared as dependencies. This catches bugs that would otherwise surface only in production.

Workspace support is first-class, with features like filtering commands to specific packages and managing cross-package dependencies. The pnpm deploy command creates a minimal production bundle with only the dependencies needed for a specific package.

pnpm has gained significant traction, with over 30,000 GitHub stars and growing weekly downloads. Major projects like Vue.js, Vite, and SvelteKit use pnpm. It’s also the default package manager for some Vercel templates. The tool supports Node.js, and it’s compatible with most npm packages without modification.

Tech Pioneers