📦🐈 Fast, reliable, and secure dependency management.
JavaScript Shell Other
Switch branches/tags
Latest commit 543f649 Jan 15, 2018 @arcanis arcanis 1.4.0
Failed to load latest commit information.
.circleci fix(install): use node-gyp from homebrew npm (#4994) Jan 15, 2018
.github Mention yarnpkg/rfcs in CONTRIBUTING, README and PULL_REQUEST_TEMPLAT… Mar 3, 2017
__tests__ Fix transient symlinks overriding direct ones v2 (#5016) Jan 15, 2018
bin fix(cli): Write Node4+ error message to stderr (#5094) Dec 15, 2017
end_to_end_tests Delete Docker container after test runs Nov 19, 2016
flow-typed/npm test(jest): Upgrade jest to latest available version (#5018) Dec 13, 2017
packages/lockfile Update: Update the lockfile parser README.md (#4232) Aug 23, 2017
resources Update: When upgrading Yarn on Windows, use the previous install dir (#… Jul 19, 2017
scripts ci(circle): Test all node versions on CircleCI (#4857) Nov 6, 2017
src Show current version, when new version is not supplied on "yarn publi… Jan 15, 2018
.babelrc chore(build): Replace preset-node-5 and babel-preset-es2015-node4 w/ … Nov 2, 2017
.dockerignore Add Dockerfile for building Yarn (#2628) Feb 11, 2017
.editorconfig Allow token replacement of .npmrc configuration with env vars (#1207) Nov 14, 2016
.eslintignore chore(eslint): ignore packages dir (#4963) Nov 27, 2017
.eslintrc.json chore(lint): Rename file to .eslintrc.json (#4931) Nov 17, 2017
.flowconfig Chore: ignore flow warnings from graphql (#4473) Sep 15, 2017
.gitattributes Set tgz files as binary in git (#2273) Dec 16, 2016
.gitignore Tweaks to lockfile package (#4215) Aug 22, 2017
.npmignore Remove Roadrunner (#3079) Apr 8, 2017
CODE_OF_CONDUCT.md add my personal email to code of conduct Aug 24, 2016
CONTRIBUTING.md docs(contributing): Direct contribution guides to the website (#4872) Nov 7, 2017
Dockerfile.dev Updated node to 8.x in Dockerfile.dev (#4607) Oct 3, 2017
LICENSE LICENSE: Specify BSD 2-Clause (#3133) May 12, 2017
README.md docs(readme): Remove Travis badge (#4871) Nov 7, 2017
appveyor.yml ci(circle): Test all node versions on CircleCI (#4857) Nov 6, 2017
gulpfile.js Update: Separate lockfile into its own npm package (#4114) Aug 19, 2017
jenkins_jobs.groovy Publish npm release of Yarn directly from CircleCI (#3938) Jul 17, 2017
package.json 1.4.0 Jan 15, 2018
renovate.json Configure Renovate (#5178) Jan 8, 2018
yarn.lock fix(deps): update dependency is-builtin-module to ^2.0.0 (#5186) Jan 15, 2018



Fast, reliable, and secure dependency management.

Circle Status Appveyor Status Discord Chat Commitizen friendly


Fast: Yarn caches every package it has downloaded, so it never needs to download the same package again. It also does almost everything concurrently to maximize resource utilization. This means even faster installs.

Reliable: Using a detailed but concise lockfile format and a deterministic algorithm for install operations, Yarn is able to guarantee that any installation that works on one system will work exactly the same on another system.

Secure: Yarn uses checksums to verify the integrity of every installed package before its code is executed.


  • Offline Mode. If you've installed a package before, then you can install it again without an internet connection.
  • Deterministic. The same dependencies will be installed in the same exact way on any machine, regardless of installation order.
  • Network Performance. Yarn efficiently queues requests and avoids request waterfalls in order to maximize network utilization.
  • Network Resilience. A single request that fails will not cause the entire installation to fail. Requests are automatically retried upon failure.
  • Flat Mode. Yarn resolves mismatched versions of dependencies to a single version to avoid creating duplicates.
  • More emojis. 🐈

Installing Yarn

Read the Installation Guide on our website for detailed instructions on how to install Yarn.

Using Yarn

Read the Usage Guide on our website for detailed instructions on how to use Yarn.

Contributing to Yarn

Contributions are always welcome, no matter how large or small. Substantial feature requests should be proposed as an RFC. Before contributing, please read the code of conduct.

See Contributing.

Prior art

Yarn wouldn't exist if it wasn't for excellent prior art. Yarn has been inspired by the following projects:


Thanks to Sam Holmes for donating the npm package name!