Why pnpm?

pnpm is a package manager — the tool that installs libraries your app depends on. It does the same job as npm (which comes with Node.js) but does it better in two ways that matter.

Faster installs

pnpm keeps a single copy of each package on your machine and links to it from every project that uses it. npm copies files into each project separately. If you have 10 projects that all use React, npm stores 10 copies. pnpm stores one and shares it.

This means pnpm install is faster — especially after your first project — because most packages are already on your disk.

Strict by default

npm lets your code import packages you didn't explicitly list in package.json. This happens because npm hoists everything into a flat node_modules folder. Your code works until someone removes the hidden dependency, then it breaks mysteriously.

pnpm doesn't hoist by default. If you didn't add it to package.json, you can't import it. This catches mistakes early instead of in production.

Monorepo support

pnpm has built-in support for monorepos — projects with multiple packages in one repository. Gista.js uses this: the main app and the docs site live in the same repo and share dependencies efficiently. With npm, you'd need extra tooling to make this work.

Easy to switch

pnpm uses the same package.json format as npm. The commands are nearly identical — pnpm install, pnpm dev, pnpm build. If you know npm, you already know pnpm.