
Today, Facebook in collaboration with Google and others released Yarn, a new package manager for javascript:
The Yarn website lists a few benefits such as speed, reliability, and security (amongst other things).
NPM install: 2m23s, Yarn first install: 40s, yarn second install: 18s :rocket:
― Sebastian【ツ】 (@sebdedeyne) October 11, 2016
But those are benefits are not the main reason why I’m excited about Yarn. I’m really super excited about the fact that it’s basically a drop-in replacement for npm install itself.
You don’t need to learn an entirely new (*) syntax (unlike the switch from grunt to gulp to webpack) . You don’t need to find your packages on a different repository/website (unlike the switch from bower to npm) . You don’t need to change your directory structure (Yarn still uses package.json and puts everything in the node_modules subfolder) .For us, the end user, not much changes. Everything that was, still is. From a UX perspective that can count.
Of course I’m also very excited about a few other things. Coming from a php background where we have Composer for dependency management I applaud the fact that Yarn has a few features that Composer sports: a local cache on disk, lock files that are generated, etc.
Yarn Fast, reliable, and secure dependency management →
Facebook Engineering Blog: Yarn: A new package manager for JavaScript →
The npm blog: Hello, Yarn! →(*) The syntax is a tad different, but not that much: Once yarn is installed , just run yarn (or yarn install ) instead of npm install . To add a package to your package.json run yarn add packagename (instead of npm i packagename --save ). Different indeed, but nothing big.