- has barely any content
'npm shrinkwrap' solves this by pinning the currently installed versions of everything under node_modules/, regardless of dependency depth. Yarn does the same thing, but by default rather than, as with npm, an optional extra. There's an argument to be made that the correct place to shrinkwrap, if you want to, is in your build process. But I suspect that, in practice, Yarn defaulting to it will prove a net positive, albeit a bit of a speedbump for people looking to do turnkey migrations from npm.
EDIT: guess not according to https://github.com/yarnpkg/yarn/issues/929
It makes no sense and honestly makes me want to tear my hairs.
It's the literal opposite. npm hasn't been open to contributions or fixes for years.
No seriously, go look at their source code. In particular go look at the caching code, one of the big things that Yarn fixes. You think their time would have been better spent hacking on that?
*https://code.facebook.com/posts/1840075619545360?_fb_noscrip...
For reference:
https://github.com/npm/npm/issues/12085
https://github.com/npm/npm/issues/8319
https://github.com/npm/couch-login/pull/13
I have a deep understanding of how it works now, and therefore more to contribute, but what's the point? I just keep running my own npm(s) instead and contribute to packages that appreciate it.
But considering the amount of collaboration effort it took to build this (fb said they collaborated with multiple companies in different timezones), wouldn't it be better to spend a little more time understanding npm's codebase and get it patched ? Maybe I'm wrong, but yea just a thought.
Better for you? You know that open source work is free labor, right? Why should they prefer to spend weeks trying to understand undocumented, opaque and "clever" code (much of which has never been refactored) when they can start from scratch with a codebase of their own design?
What I'm asking is, what is the value to them? Or to you (assuming you ever do open source)? Unless you are getting paid for your OS work, you're under no obligation to do things any way other than what works for you.