Software:Pnpm
| File:Pnpm logo.svg | |
| Developer(s) | Zoltan Kochan and other contributors |
|---|---|
| Initial release | 28 June 2017 |
| Written in | TypeScript, JavaScript |
| Platform | Cross-platform |
| Type | Package manager |
| License | MIT License |
| Website | {{{1}}} |
pnpm (short for Performant npm)[1] is one of the main JavaScript package managers,[2] originally developed in 2016 by Rico Sta. Cruz for the Node.js JavaScript runtime environment.[3][non-primary source needed] It focuses on being a disk space-efficient alternative to npm.[4][5]
History
The first commit to the pnpm repository was made on 27 January 2016, the same year as Yarn. The pnpm project was inspired by Alexander Gugel’s ied – an early experiment that used symbolic links to organise node_modules. The first stable release (v1.0.0) arrived on 28 June 2017. Over the following years, pnpm gained traction for its novel approach to dependency hoisting and its ability to handle large monorepos efficiently.[6]
Technical design
pnpm's core innovation is its use of a global content-addressable store to manage dependencies. Instead of copying files into each project's node_modules folder, it stores a single copy of each package version in a central location (e.g., ~/.pnpm-store) and creates hard links from the project to these files. Symbolic links are then used to construct the dependency tree within the project.[7]
See also
References
- ↑ "Frequently Asked Questions | pnpm" (in en). https://pnpm.io/faq.
- ↑ "Package management basics". 2022-09-28. https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Package_management#a_rough_guide_to_package_manager_clients.
- ↑ pnpm. "Initial commit · pnpm/pnpm@4b42e5f" (in en). https://github.com/pnpm/pnpm/commit/4b42e5fcc402310d028ac54ba8fe979f7c4470af.
- ↑ Lawson, Loraine (20 April 2024). "Dev News: Vercel Preps for React 19; New jQuery, pnpm Releases". thenewstack.io. https://thenewstack.io/dev-news-vercel-preps-for-react-19-new-jquery-pnpm-releases/.
- ↑ Adam D. Scott; Matthew MacDonald; Shelley Powers (16 July 2021). JavaScript Cookbook (3 ed.). O'Reilly Media. ISBN 978-1492055709. https://books.google.com/books?id=4NA4EAAAQBAJ. Retrieved 12 September 2024.
- ↑ Kochan, Zoltan (2017-06-28). "pnpm version 1 is out!" (in en). https://medium.com/pnpm/pnpm-version-1-is-out-935a07af914.
- ↑ "What is the purpose of the virtual store and its parent (node_modules), in pnpm?" (in en). https://stackoverflow.com/questions/76091033/what-is-the-purpose-of-the-virtual-store-and-its-parent-node-modules-in-pnpm.
External links
- No URL found. Please specify a URL here or add one to Wikidata.
- on GitHub
