Skip to content

Latest commit

 

History

History
9 lines (6 loc) · 1.17 KB

why-pnpm.md

File metadata and controls

9 lines (6 loc) · 1.17 KB

Why pnpm?

pnpm is a relatively new package manager for Node. It's fully-featured and essentially a drop-in replacement for npm or yarn. The decision to use pnpm over more traditional package managers came down to the following reasons:

  1. Performant dependency installation and efficient usage of node_modules disk space. A monorepo that supports a wide array of packages across an engineering organization will accumulate a lot of dependencies over time. Performance and efficiency when handling these dependencies is critical.
  2. First class monorepo support. pnpm workspaces and a global --filter CLI argument that enables running commands against a subset of packages within the monorepo.
  3. First class Typescript monorepo support. Customizable publishConfig within package.json files enables all packages to use .ts main entrypoints. This small feature really improves the DX of maintaining a TS monorepo.

pnpm has many more features that you will not find in npm or yarn. Please refer to the pnpm docs to find out more.