After you `npm install -g yarnpkg` away, do a side by side comparison of installing a module using npm and yarn. Thanks to features such as its caching and parallelism approach you will be happy to see the dramatic speed up.
Then add to that the other benefits such as:
- Security: checksum packages to verify integrity of packages.
- Reliability: thanks to the lockfile and deterministic algorithm, installs are guaranteed to be reproducible.
- Network Resilience: A single request failing won’t cause an install to fail. Requests are retried upon failure.
- Flat Mode: Resolve mismatching versions of dependencies to a single version to avoid creating duplicates.
It’s a great new tool for us to explore, but what I am actually most excited about is how it came to be.
We somethings see frameworks and corners of the Web community have some NIH going on. Sometimes this has been exacerbated by the fact that the platform has made it hard to interop (e.g. component models) and other times it is due to different opinions.
The Web wins though when we find common ground and work on solving problems together. This is a great example of just that.
You could imagine a world where we had reactpm, emberpm, polymerpm, etc etc. We would throw up our hands shouting FATIGUE. Not this time though. This time members of the community discovered what folks were all working on and decided it would be better for all to collaborate.
I am optimistic that we have the start of a great solution for web packaging, and I also hope that this is the first of many truly community projects across frameworks, browsers, and devs in general to solve our shared problems.
Many thanks for everyone involved in making this happen.