What makes pnpm performant | Zoltan Kochan | ViteConf 2022

Discover what makes pnpm the performant package manager for Monorepos, with its content-addressable store, side effects caching, and linear disk usage.

Key takeaways
  • Pnpm is a package manager that can handle Monorepos by creating isolated node modules, which prevents indirect dependencies from being hoisted to the root of the node modules.
  • Pnpm uses a content-addressable store by default, which allows it to use disk space more efficiently compared to npm or yarn.
  • Pnpm is faster than npm or yarn because it uses a different algorithm to resolve and fetch packages, and it immediately writes packages to the node modules directory.
  • Pnpm allows for side effects caching and has a flat node modules structure, which makes it easier to maintain and learn for new contributors.
  • Pnpm’s algorithm is complex, but it can be configured to work with certain tools that don’t like symlinks.
  • Pnpm uses hard links to store files, which means that it doesn’t create duplicate files and can efficiently use disk space.
  • Pnpm is supported by a lot of great companies, including Bit.
  • Pnpm’s maintainers have worked hard to fix the issues of nested node modules and non-determinism.
  • Pnpm is the official package manager shipped by Node.js, and it has been integrated with Yarn to provide a more reliable and efficient package manager.
  • Pnpm has features that are not available in npm or yarn, such as a side effects cache and a flat node modules structure.
  • Pnpm’s disk usage is linear, so if you have 10 or 20 JavaScript projects on your PC, your dependencies might consume 10, 20, 30 gigabytes of disk space.
  • Pnpm is a great tool for managing Node.js versions, and it can even manage virtual stores.
  • Pnpm has a command called pnpm nviews that allows you to install Node.js versions.