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%
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)
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” - Comment from 7 Jan 2026 in “NPM to implement staged publishing after turbulent shift off classic tokens”
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” - Comment from 11 Feb 2026 in “Chrome extensions spying on 37M users' browsing data”
- Comment from 11 May 2026 in “TanStack NPM Packages Compromised”
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” - Comment from 27 Aug 2026 in “Pnpm 12.0”
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” - Comment from 7 Mar 2026 in “Package Managers Need to Cool Down”
- Comment from 10 Jun 2026 in “Upcoming breaking changes for NPM v12”
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)” - Comment from 22 Mar 2026 in “Revert "userdb: add birthDate field to JSON user records”
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.
See all 35 package managers, rankedWhat 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”
“attackers are publishing "internal-package-a@999.9.9" on any public package host (NPM, PyPi, etc)”
“for me NPM is the best tool, is not that fast, but the installation speed is not that bad”
“They will continue to enable post-install scripts for JavaScript, an interpreted language that does not have a foreign function interface.”
“the whole npm system made of packages with single functions written by folks that just did their first package out of a bootcamp”
“the ecosystem really grew. There are mainstream languages that to this day still can't match npm”
“it's one of the strongest reasons beyond performance to use Node over some other dynamic language”
“npm is no longer a small open-source project with a federated rulership, it is owned and operated by a for-profit technological giant”
“It's great for ensuring your devs don't break the freaking build by updating something with npm, etc.”
“Even npm, probably the poster child for doing things wrong, has user- and org-based namespaces.”
“NPM has at least had the good sense to use namespaces so that it isn't entirely a free for all”
“the NPM and cargo registries handle way more traffic and visibility and doesn't have any issues like this”
“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”
“We need to encourage the community to adopt these publishing protections or this will continue to be an issue.”
“trust that NPM at least gets their "you can't republish to an old version" bare-minimum constraint right”
“publish a wrapper around the same library and validate that it was working in maybe 10 minutes”
“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”
“NPM's biggest fault is just it allows post/pre install scripts by default without user intervention.”
“You can limit yourself to pre-scanned packages by setting npm's minimum release age setting to 1 or 2 days”
“Now that npm supports --before, yarn supports npmMinimumAge, and pnpm supports minimumReleaseAge, it's quite possible to stay safe”
“Almost all security vulnerabilities I've personally seen flagged through npm are about things I only use at build-time”
“imagine where the JavaScript ecosystem would be if packages like is-array and left-pad couldn't get accepted to npm”
“npm is uniquely bad in that regard. Refusal to implement security features that would have made attacks like this harder really doesn't help”
“The NPM ecosystem is a leaning tower of hacks on top of hacks and adapters for adapters, but it gets the job done.”
“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.”
“I also have `ignore-scripts=true` in my ~/.npmrc. Based on the analysis, that alone would have mitigated the vulnerability.”
“if you use SIP and use package managers (npm, cargo, pip, etc) outside of a VM you are substantially more vulnerable to attack”
“NPM+Yarn+$package-package-manager of the day to solve the problems the whole ecosystem and the so-called solutions creates twice”
“NPM, PyPI, Cargo et. al. continue to think they can short circuit that process and still ship safe software, and they verifiably cannot.”
“as it eliminated long lived access tokens for publishing, it encourages people to use "trusted publishing"”
“npm never has "version lock" where it can't figure out a valid solution to the version constraints”
“I've never written a line of JS but have installed all kinds of command line utilities with npm/npx.”
“The npm community is too big that one can never discard it for frontend development.”
“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”
“I've lost countless hours having to get the rube goldberg machine of npm, jest, typescript, ts-jest and other things to work together.”
“Microsoft, as the owner of npm, has implemented a policy banning npm publishers from publishing via competitors to GitHub Actions”
“I strongly recommend the use `save-exact` in npm and only update your dependencies when you actually need to.”
“At least with NPM we can pull in updated versions with NPM tells us that we're running an outdated version.”
“nodejs and npm are easy for beginners, especially compared to the Python packaging situation”
“people coming from the NodeJS/NPM ecosystem doing Web Scale Development(tm) and its terrible practices around dependency management”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.