Hacker ApprovedDepartments

npm

Ranked 3 of 35 package managers by recommenders

Recommended for JavaScript's huge package ecosystem and easy package installs, though critics say it's a frequent supply-chain attack target and runs install scripts by default.

Recommended for JavaScript's huge package ecosystem and easy package installs, though critics say it's a frequent supply-chain attack target and runs install scripts by default.

622 people gave an opinion

recommend it
161
criticize it
461
approval share
26%
Each figure is 5 people. RecommendsCriticizes

Recommended in 12 of 13 months

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: recommended
  4. February 2026: recommended
  5. March 2026: recommended
  6. April 2026: recommended
  7. May 2026: recommended
  8. June 2026: recommended
  9. July 2026: recommended
  10. August 2026: recommended
  11. September 2026: recommended
  12. October 2026: recommended
  13. November 2026: not recommended (month in progress)

Why it doesn’t carry the badge

  • 161 people recommend itNeeds 10 or more, met.
  • 0.3 recommenders for every criticNeeds 2 to 1 or better, not 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

  • Unmatched package ecosystem

    “The NPM ecosystem is a leaning tower of hacks on top of hacks and adapters for adapters, but it gets the job done.”

    Comment from 23 Apr 2026 in “Olive CSS: Lisp powered vanilla CSS utility-Class A la Tailwind”

    “it's one of the strongest reasons beyond performance to use Node over some other dynamic language”

    Comment from 10 Aug 2026 in “Because It's Not Fun Enough: why languages fail”

    “the ecosystem really grew. There are mainstream languages that to this day still can't match npm”

    Comment from 11 Aug 2026 in “Because It's Not Fun Enough: why languages fail”
  • Safety settings mitigate supply-chain risk

    “Now that npm supports --before, yarn supports npmMinimumAge, and pnpm supports minimumReleaseAge, it's quite possible to stay safe”

    Comment from 11 May 2026 in “TanStack NPM Packages Compromised”

    “I also have `ignore-scripts=true` in my ~/.npmrc. Based on the analysis, that alone would have mitigated the vulnerability.”

    Comment from 31 Mar 2026 in “Axios Compromised on NPM – Malicious Versions Drop Remote Access Trojan”

    “I strongly recommend the use `save-exact` in npm and only update your dependencies when you actually need to.”

    Comment from 28 Nov 2025 in “GitLab discovers widespread NPM supply chain attack”
  • Easy for beginners and tools

    “I've never written a line of JS but have installed all kinds of command line utilities with npm/npx.”

    Comment from 28 Jan 2026 in “Package Management Is a Wicked Problem”

    “publish a wrapper around the same library and validate that it was working in maybe 10 minutes”

    Comment from 16 May 2026 in “'No Way to Prevent This,' Says Only Package Manager Where This Regularly Happens”

    “nodejs and npm are easy for beginners, especially compared to the Python packaging situation”

    Comment from 16 Nov 2025 in “Go's Sweet 16”
  • Has user and org namespaces

    “Even npm, probably the poster child for doing things wrong, has user- and org-based namespaces.”

    Comment from 25 Jun 2026 in “GitHub shouldn't be a dependency for publishing Rust on crates.io”

    “NPM has at least had the good sense to use namespaces so that it isn't entirely a free for all”

    Comment from 23 Jun 2026 in “Package Managers need global hooks”

What people warn about

Each mark is one comment

  • Weak security against malicious packages

    “Npm, for example, is owned by Microsoft (through GitHub). MS has huge amounts of money. They could be scanning for malware on upload and adding so many more security mechanisms. But they don't.”

    Comment from 12 Apr 2026 in “No one owes you supply-chain security”

    “This is why NPM, Crates.io, etc... flatly refuse to do even the most basic security checks like adding namespaces and verifying the identity of major publishers”

    Comment from 16 May 2026 in “'No Way to Prevent This,' Says Only Package Manager Where This Regularly Happens”

    “npm is uniquely bad in that regard. Refusal to implement security features that would have made attacks like this harder really doesn't help”

    Comment from 23 Apr 2026 in “Bitwarden CLI Compromised in Ongoing Checkmarx Supply Chain”
  • Install scripts run by default

    “NPM's biggest fault is just it allows post/pre install scripts by default without user intervention.”

    Comment from 11 May 2026 in “TanStack NPM Packages Compromised”

    “npms post install hook is a degree worse. Triggering during install, silently because npm didn't like someone using the feature to ask for donations”

    Comment from 14 Dec 2025 in “Shai-Hulud compromised a dev machine and raided GitHub org access: a post-mortem”

    “They will continue to enable post-install scripts for JavaScript, an interpreted language that does not have a foreign function interface.”

    Comment from 25 Aug 2026 on Hacker News
  • Fragile, bloated dependency culture

    “I've lost countless hours having to get the rube goldberg machine of npm, jest, typescript, ts-jest and other things to work together.”

    Comment from 12 Dec 2025 in “The Tor Project is switching to Rust”

    “people coming from the NodeJS/NPM ecosystem doing Web Scale Development(tm) and its terrible practices around dependency management”

    Comment from 7 Nov 2025 in “Why I love OCaml (2023)”

    “the whole npm system made of packages with single functions written by folks that just did their first package out of a bootcamp”

    Comment from 14 Aug 2026 in “Choose Boring Technology (2015)”
  • Microsoft ownership concerns

    “Npm, for example, is owned by Microsoft (through GitHub). MS has huge amounts of money. They could be scanning for malware on upload and adding so many more security mechanisms. But they don't.”

    Comment from 12 Apr 2026 in “No one owes you supply-chain security”

    “npm is no longer a small open-source project with a federated rulership, it is owned and operated by a for-profit technological giant”

    Comment from 30 Jul 2026 in “Disrupting supply chain attacks on NPM and GitHub Actions”

    “Microsoft, as the owner of npm, has implemented a policy banning npm publishers from publishing via competitors to GitHub Actions”

    Comment from 8 Dec 2025 in “GitHub Actions has a package manager, and it might be the worst”

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.

npm compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
Nix37815072%133 yrs24 ownersApproved
Homebrew27117561%1210 yrs13 owners—
npmThis page16146126%12——
pnpm1242484%125 yrs4 ownersApproved
Cargo12311153%126 yrs4 owners—
See all 35 package managers, ranked

What people said

40 of the 795 comments that mention it, newest first. Each links to the original comment.

“One must be crazy to run third-party software (including package managers like npm) unrestricted”

MixedComment from 31 Oct 2026 in “Malware uses LLMs to rank victims by how much they're worth”

“attackers are publishing "internal-package-a@999.9.9" on any public package host (NPM, PyPi, etc)”

MixedComment from 31 Aug 2026 in “A CVE Dispute”

“for me NPM is the best tool, is not that fast, but the installation speed is not that bad”

RecommendsComment from 27 Aug 2026 in “Pnpm 12.0”

“They will continue to enable post-install scripts for JavaScript, an interpreted language that does not have a foreign function interface.”

CriticizesComment from 25 Aug 2026 on Hacker News

“the whole npm system made of packages with single functions written by folks that just did their first package out of a bootcamp”

CriticizesComment from 14 Aug 2026 in “Choose Boring Technology (2015)”

“the ecosystem really grew. There are mainstream languages that to this day still can't match npm”

RecommendsComment from 11 Aug 2026 in “Because It's Not Fun Enough: why languages fail”

“it's one of the strongest reasons beyond performance to use Node over some other dynamic language”

RecommendsComment from 10 Aug 2026 in “Because It's Not Fun Enough: why languages fail”

“npm is no longer a small open-source project with a federated rulership, it is owned and operated by a for-profit technological giant”

CriticizesComment from 30 Jul 2026 in “Disrupting supply chain attacks on NPM and GitHub Actions”

“It's great for ensuring your devs don't break the freaking build by updating something with npm, etc.”

MixedComment from 29 Jun 2026 in “NixOS 26.05 Released”

“Even npm, probably the poster child for doing things wrong, has user- and org-based namespaces.”

MixedComment from 25 Jun 2026 in “GitHub shouldn't be a dependency for publishing Rust on crates.io”

“NPM has at least had the good sense to use namespaces so that it isn't entirely a free for all”

MixedComment from 23 Jun 2026 in “Package Managers need global hooks”

“the NPM and cargo registries handle way more traffic and visibility and doesn't have any issues like this”

RecommendsComment from 20 Jun 2026 in “AURpocalypse now: a look at the recent AUR attacks”

“I guess their support is run by LLM because you can just write to them and they will transfer ownership of any module nilly willy”

CriticizesComment from 10 Jun 2026 in “Upcoming breaking changes for NPM v12”

“We need to encourage the community to adopt these publishing protections or this will continue to be an issue.”

RecommendsComment from 1 Jun 2026 in “NPM packages from RedHat have been compromised”

“trust that NPM at least gets their "you can't republish to an old version" bare-minimum constraint right”

MixedComment from 19 May 2026 in “Mini Shai-Hulud Strikes Again: 314 npm Packages Compromised”

“publish a wrapper around the same library and validate that it was working in maybe 10 minutes”

MixedComment from 16 May 2026 in “'No Way to Prevent This,' Says Only Package Manager Where This Regularly Happens”

“This is why NPM, Crates.io, etc... flatly refuse to do even the most basic security checks like adding namespaces and verifying the identity of major publishers”

CriticizesComment from 16 May 2026 in “'No Way to Prevent This,' Says Only Package Manager Where This Regularly Happens”

“NPM's biggest fault is just it allows post/pre install scripts by default without user intervention.”

MixedComment from 11 May 2026 in “TanStack NPM Packages Compromised”

“You can limit yourself to pre-scanned packages by setting npm's minimum release age setting to 1 or 2 days”

RecommendsComment from 11 May 2026 in “TanStack NPM Packages Compromised”

“Now that npm supports --before, yarn supports npmMinimumAge, and pnpm supports minimumReleaseAge, it's quite possible to stay safe”

RecommendsComment from 11 May 2026 in “TanStack NPM Packages Compromised”

“Almost all security vulnerabilities I've personally seen flagged through npm are about things I only use at build-time”

MixedComment from 8 May 2026 in “Maybe you shouldn't install new software for a bit”

“imagine where the JavaScript ecosystem would be if packages like is-array and left-pad couldn't get accepted to npm”

MixedComment from 29 Apr 2026 in “Before GitHub”

“npm is uniquely bad in that regard. Refusal to implement security features that would have made attacks like this harder really doesn't help”

CriticizesComment from 23 Apr 2026 in “Bitwarden CLI Compromised in Ongoing Checkmarx Supply Chain”

“The NPM ecosystem is a leaning tower of hacks on top of hacks and adapters for adapters, but it gets the job done.”

MixedComment from 23 Apr 2026 in “Olive CSS: Lisp powered vanilla CSS utility-Class A la Tailwind”

“Npm, for example, is owned by Microsoft (through GitHub). MS has huge amounts of money. They could be scanning for malware on upload and adding so many more security mechanisms. But they don't.”

CriticizesComment from 12 Apr 2026 in “No one owes you supply-chain security”

“I also have `ignore-scripts=true` in my ~/.npmrc. Based on the analysis, that alone would have mitigated the vulnerability.”

RecommendsComment from 31 Mar 2026 in “Axios Compromised on NPM – Malicious Versions Drop Remote Access Trojan”

“if you use SIP and use package managers (npm, cargo, pip, etc) outside of a VM you are substantially more vulnerable to attack”

MixedComment from 28 Mar 2026 in “Make macOS consistently bad (unironically)”

“NPM+Yarn+$package-package-manager of the day to solve the problems the whole ecosystem and the so-called solutions creates twice”

CriticizesComment from 22 Mar 2026 in “Revert "userdb: add birthDate field to JSON user records”

“NPM, PyPI, Cargo et. al. continue to think they can short circuit that process and still ship safe software, and they verifiably cannot.”

CriticizesComment from 7 Mar 2026 in “Package Managers Need to Cool Down”

“as it eliminated long lived access tokens for publishing, it encourages people to use "trusted publishing"”

RecommendsComment from 11 Feb 2026 in “Chrome extensions spying on 37M users' browsing data”

“npm never has "version lock" where it can't figure out a valid solution to the version constraints”

RecommendsComment from 28 Jan 2026 in “Package Management Is a Wicked Problem”

“I've never written a line of JS but have installed all kinds of command line utilities with npm/npx.”

MixedComment from 28 Jan 2026 in “Package Management Is a Wicked Problem”

“The npm community is too big that one can never discard it for frontend development.”

MixedComment from 7 Jan 2026 in “NPM to implement staged publishing after turbulent shift off classic tokens”

“npms post install hook is a degree worse. Triggering during install, silently because npm didn't like someone using the feature to ask for donations”

CriticizesComment from 14 Dec 2025 in “Shai-Hulud compromised a dev machine and raided GitHub org access: a post-mortem”

“I've lost countless hours having to get the rube goldberg machine of npm, jest, typescript, ts-jest and other things to work together.”

CriticizesComment from 12 Dec 2025 in “The Tor Project is switching to Rust”

“Microsoft, as the owner of npm, has implemented a policy banning npm publishers from publishing via competitors to GitHub Actions”

CriticizesComment from 8 Dec 2025 in “GitHub Actions has a package manager, and it might be the worst”

“I strongly recommend the use `save-exact` in npm and only update your dependencies when you actually need to.”

RecommendsComment from 28 Nov 2025 in “GitLab discovers widespread NPM supply chain attack”

“At least with NPM we can pull in updated versions with NPM tells us that we're running an outdated version.”

RecommendsComment from 17 Nov 2025 in “The fate of "small" open source”

“nodejs and npm are easy for beginners, especially compared to the Python packaging situation”

RecommendsComment from 16 Nov 2025 in “Go's Sweet 16”

“people coming from the NodeJS/NPM ecosystem doing Web Scale Development(tm) and its terrible practices around dependency management”

CriticizesComment from 7 Nov 2025 in “Why I love OCaml (2023)”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.