Yarn Berry (v2+) does default to Plug’n’Play now, though many teams still switch back to nodeLinker: node-modules for tool compatibility. So “doesn’t use node_modules anymore” is true by default, but not universal.
And yeah, pnpm’s own benchmarks actually show Yarn PnP performing slightly faster in certain cold-install cases — mostly because it skips creating a node_modules tree. But in real-world usage (cached installs, CI/CD, or big monorepos), pnpm still tends to come out ahead thanks to its hard-linking and store reuse.
On disk efficiency, I agree — both Yarn PnP and pnpm are great now, since they both use a global content-addressable store. The main difference is pnpm achieves that while staying 100% Node-compatible, whereas Yarn’s PnP needs extra tooling support.
So yeah, Yarn PnP is technically amazing, but pnpm often wins in practicality
Some comments have been hidden by the post's author - find out more
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Good points — you’re mostly right!
Yarn Berry (v2+) does default to Plug’n’Play now, though many teams still switch back to nodeLinker: node-modules for tool compatibility. So “doesn’t use node_modules anymore” is true by default, but not universal.
And yeah, pnpm’s own benchmarks actually show Yarn PnP performing slightly faster in certain cold-install cases — mostly because it skips creating a node_modules tree. But in real-world usage (cached installs, CI/CD, or big monorepos), pnpm still tends to come out ahead thanks to its hard-linking and store reuse.
On disk efficiency, I agree — both Yarn PnP and pnpm are great now, since they both use a global content-addressable store. The main difference is pnpm achieves that while staying 100% Node-compatible, whereas Yarn’s PnP needs extra tooling support.
So yeah, Yarn PnP is technically amazing, but pnpm often wins in practicality