pnpm
Hacker ApprovedRanked 4 of 35 package managers by recommenders
A faster, disk-efficient npm replacement whose blocked-by-default install scripts and release-age cooldowns help against supply chain attacks, though critics note it doesn't fully stop them.
A faster, disk-efficient npm replacement whose blocked-by-default install scripts and release-age cooldowns help against supply chain attacks, though critics note it doesn't fully stop them.
148 people gave an opinion
- recommend it
- 124
- criticize it
- 24
- approval share
- 84%
Recommended in 12 of 13 months
- November 2025: recommended
- December 2025: recommended
- January 2026: recommended
- February 2026: recommended
- March 2026: recommended
- April 2026: recommended
- May 2026: recommended
- June 2026: recommended
- July 2026: recommended
- August 2026: recommended
- September 2026: recommended
- October 2026: recommended
- November 2026: not recommended (month in progress)
Owned for 5 years
Median of the 4 owners who said how long they have had it.
Each square is one year.
Why it carries the badge
- 124 people recommend itNeeds 10 or more, met.
- 5.2 recommenders for every criticNeeds 2 to 1 or better, met.
- Recommended in 12 of 13 monthsNeeds 4 or more, met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Blocks install scripts by default
“pnpm does all that on top of node. Also disables postinstall scripts by default, making the recent security incidents we've seen a non-issue.”
Comment from 2 Dec 2025 in “Anthropic acquires Bun” “Saner node package managers like pnpm ignore the build script and you have to explicitly approve it on a case-by-case basis.”
Comment from 5 Mar 2026 in “Googleworkspace/CLI” “none of which will run the malicious "prepare" hook in the first place unless specifically allowed.”
Comment from 11 May 2026 in “TanStack NPM Packages Compromised” - Comment from 31 Mar 2026 in “Axios Compromised on NPM – Malicious Versions Drop Remote Access Trojan”
- Comment from 22 Dec 2025 in “Lotusbail npm package found to be harvesting WhatsApp messages and contacts”
- Comment from 28 Nov 2025 in “GitLab discovers widespread NPM supply chain attack”
- Comment from 12 May 2026 in “Show HN: Safe-install – safer NPM installs with trusted build dependencies”
- Comment from 1 Jun 2026 in “NPM packages from RedHat have been compromised”
- Comment from 6 Mar 2026 in “A GitHub Issue Title Compromised 4k Developer Machines”
- Comment from 1 Jun 2026 in “NPM packages from RedHat have been compromised”
- Comment from 15 Dec 2025 in “Shai-Hulud compromised a dev machine and raided GitHub org access: a post-mortem”
- Comment from 31 Mar 2026 in “Axios Compromised on NPM – Malicious Versions Drop Remote Access Trojan”
- Comment from 31 Mar 2026 in “Axios Compromised on NPM – Malicious Versions Drop Remote Access Trojan”
- Comment from 31 Mar 2026 in “Axios Compromised on NPM – Malicious Versions Drop Remote Access Trojan”
- Comment from 24 Nov 2025 in “Shai-Hulud Returns: Over 300 NPM Packages Infected”
Minimum release age cooldown
“PNPM also lets you specify a minimum package age, so you cannot install packages younger than X.”
Comment from 15 Dec 2025 in “Shai-Hulud compromised a dev machine and raided GitHub org access: a post-mortem” “With pnpm's dependency cooldown and whitelisting of postinstall scripts, you are probably good.”
Comment from 22 Dec 2025 in “Lotusbail npm package found to be harvesting WhatsApp messages and contacts” “It has dependency cooldowns, build scripts disabled by default, and the setting you mentioned.”
Comment from 12 May 2026 in “Show HN: Safe-install – safer NPM installs with trusted build dependencies” - Comment from 24 Nov 2025 in “Shai-Hulud Returns: Over 300 NPM Packages Infected”
- Comment from 30 Nov 2025 in “Post-mortem of Shai-Hulud attack on November 24th, 2025”
- Comment from 27 Nov 2025 in “Show HN: Safe-NPM – only install packages that are +90 days old”
- Comment from 12 May 2026 in “TanStack NPM Packages Compromised”
- Comment from 24 Jul 2026 in “Buz – A fork of Bun using modern Zig, with sub-1s incremental builds”
- Comment from 31 Mar 2026 in “Axios Compromised on NPM – Malicious Versions Drop Remote Access Trojan”
Fast installs
“we've been using pnpm for years now without issue, and it's been faster and a little more secure to boot!”
Comment from 9 Oct 2026 in “Cloudflare acquires Deno” “Pnpm (a very popular npm replacement) makes completely locked packages easy and natural and ultra fast”
Comment from 24 Nov 2025 in “Shai-Hulud Returns: Over 300 NPM Packages Infected” “for better speed, determinism, node_modules bloat reduction, dep graph mgmt, install script safety”
Comment from 23 Apr 2026 in “OpenAI's response to the Axios developer tool compromise” - Comment from 28 Apr 2026 in “NPM Website Is Down”
- Comment from 30 Apr 2026 in “Aube: A fast Node.js package manager”
- Comment from 9 Oct 2026 in “Cloudflare acquires Deno”
Saves disk space via hardlinks
“for better speed, determinism, node_modules bloat reduction, dep graph mgmt, install script safety”
Comment from 23 Apr 2026 in “OpenAI's response to the Axios developer tool compromise” “The disk usage and performance wins are life-changing for daily work and CI flows.”
Comment from 9 Oct 2026 in “Cloudflare acquires Deno” “It stores packages in a global cache, and hardlinks to the local node_packages.”
Comment from 20 Feb 2026 in “I found a useful Git one liner buried in leaked CIA developer docs” - Comment from 3 Sep 2026 in “We could save petabytes of cache storage with Zstandard and Pingora”
What people warn about
Each mark is one comment
Not full supply chain protection
“That's helpful to prevent individual secret harvesting, however it does not protect you from potential silent downstream effects in packages.”
Comment from 19 May 2026 in “Mini Shai-Hulud Strikes Again: 314 npm Packages Compromised” “There is no way to bootstrap it without binary blobs making it an easy target supply chain attack”
Comment from 4 May 2026 in “I am worried about Bun” “Until you fix your processes and workflows, this will continue to happen, even if you use pnpm.”
Comment from 24 Nov 2025 in “Shai-Hulud Returns: Over 300 NPM Packages Infected” - Comment from 1 Jun 2026 in “NPM packages from RedHat have been compromised”
- Comment from 8 Jan 2026 in “NPM to implement staged publishing after turbulent shift off classic tokens”
Bugs and hard-to-debug edge cases
“Every millisecond of time saved will be out the window the first time someone is stuck dealing with an edge case”
Comment from 18 Feb 2026 in “Fastest Front End Tooling for Humans and AI” - Comment 48106082 on Hacker News
- Comment 47422607 on Hacker News
- Comment 48106326 on Hacker News
Awkward configuration
“Advising every user of npm/pnpm to change their settings and set their own cooldown periods is not a real choice.”
Comment from 31 Mar 2026 in “Axios Compromised on NPM – Malicious Versions Drop Remote Access Trojan” “Currently pnpm only supports setting this option via persistent config file, not per-run.”
Comment from 7 Apr 2026 in “Tell HN: Litellm 1.82.7 and 1.82.8 on PyPI are compromised” “pnpm reads .npmrc for some reason, despite not having the same options as npm”
Comment from 11 May 2026 in “TanStack NPM Packages Compromised” - Comment 48106082 on Hacker News
Modest gains over npm
“the only benefit I find with pnpm is a little bit of speed when using the cli, but not enough that I notice”
Comment from 17 Mar 2026 in “Why Node.js needs a virtual file system” “what pnpm brings on top of npm is way less than the difference between uv and the status quo”
Comment from 23 Feb 2026 in “The JavaScript Oxidation Compiler”
Other package managers people recommend
The four most recommended other package managers, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.
See all 35 package managers, rankedWhat people said
40 of the 183 comments that mention it, newest first. Each links to the original comment.
“we've been using pnpm for years now without issue, and it's been faster and a little more secure to boot!”
“The disk usage and performance wins are life-changing for daily work and CI flows.”
“doesn't take up that much disk space for me with standard pnpm deduplication”
“pnpm is generally safer and had the age delay much sooner than npm as well.”
“pnpm, by contrast, allows you to essentially "opt-in" only specific packages that need this”
“pnpm can still be exposed, afterall the worm simply have to wait you run tests locally.”
“pnpm, by contrast, allows you to essentially opt-in only specific packages that need this”
“That's helpful to prevent individual secret harvesting, however it does not protect you from potential silent downstream effects in packages.”
“It has dependency cooldowns, build scripts disabled by default, and the setting you mentioned.”
“I am glad to have enabled these back in March before the last two waves hit.”
“none of which will run the malicious "prepare" hook in the first place unless specifically allowed.”
“pnpm reads .npmrc for some reason, despite not having the same options as npm”
“There is no way to bootstrap it without binary blobs making it an easy target supply chain attack”
“pnpm sets a high bar, so even if aube ends up getting faster, it's not a sure thing”
“Both yarn and pnpm support http/2 which speeds up the bazillion requests quite a bit.”
“for better speed, determinism, node_modules bloat reduction, dep graph mgmt, install script safety”
“Currently pnpm only supports setting this option via persistent config file, not per-run.”
“Pnpm makes things more secure without install scripts, mininum package time”
“Advising every user of npm/pnpm to change their settings and set their own cooldown periods is not a real choice.”
“JS package managers (pnpm, bun) now will ignore postinstall scripts by default.”
“PNPM makes you approve postinstall scripts instead of running them by default, which helps a lot.”
“Good news for pnpm/bun users who have to manually approve postinstall scripts.”
“the only benefit I find with pnpm is a little bit of speed when using the cli, but not enough that I notice”
“These mostly solve the issue of adding postinstall scripts and packages being compromised.”
“Saner node package managers like pnpm ignore the build script and you have to explicitly approve it on a case-by-case basis.”
“what pnpm brings on top of npm is way less than the difference between uv and the status quo”
“It stores packages in a global cache, and hardlinks to the local node_packages.”
“Every millisecond of time saved will be out the window the first time someone is stuck dealing with an edge case”
“I do understand this is still better than npm right now, but it's still broken.”
“With pnpm's dependency cooldown and whitelisting of postinstall scripts, you are probably good.”
“PNPM also lets you specify a minimum package age, so you cannot install packages younger than X.”
“PNPM - the packager used in this case - doesn't automatically run postinstall scripts.”
“pnpm does all that on top of node. Also disables postinstall scripts by default, making the recent security incidents we've seen a non-issue.”
“We also suggest you make use of the minimumReleaseAge setting present both in yarn and pnpm.”
“using pnpm or something similar that blocks postinstall scripts by default should be sufficient”
“I would maybe choose the tried and true PNPM instead, which supports this too.”
“minimumReleaseAge strikes a good balance between protecting yourself against emerging threats”
“Until you fix your processes and workflows, this will continue to happen, even if you use pnpm.”
“Pnpm (a very popular npm replacement) makes completely locked packages easy and natural and ultra fast”
“it by default prevents packages from taking any actions during installation”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.