Yarn: A new package manager for JavaScript
Yarn is a new package manager for JavaScript from Facebook. Yarn replaces the existing workflow for the npm client or other package managers while remaining compatible with the npm registry. It has the same feature set as existing workflows while operating faster, more securely, and more reliably.
Yarn is able to parallelize operations, which maximizes resource utilization and makes the install process faster. On some Facebook projects, Yarn reduced the install process by an order of magnitude, from several minutes to just seconds. Yarn also uses a mutex to ensure that multiple running CLI instances don’t collide and pollute each other.
Yarn has additional features to further simplify the dependency management workflow.
npm,bower
Compatibility with both the npm and bower workflows and supports mixing registries.
licenses
Ability to restrict licenses of installed modules and a means for outputting license information.
API
Exposes a stable public JS API with logging abstracted for consumption via build tools.
Offline Mode
If you’ve installed a package before, you can install it again without any internet connection.
Deterministic
The same dependencies will be installed the same exact way across every machine regardless of install order.
Network Performance
Yarn efficiently queues up requests and avoids request waterfalls in order to maximize network utilization.
Multiple Registries
Install any package from either npm or Bower and keep your package workflow the same.
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.
CLI
Readable, minimal, pretty CLI output.
-Rushi