📦🐈 Fast, reliable, and secure dependency management.
JavaScript Shell Other
Switch branches/tags
Clone or download
Latest commit 5fe2401 Jul 19, 2018
Failed to load latest commit information.
.circleci fix: Add Node 10 support (#5769) May 23, 2018
.github Mention yarnpkg/rfcs in CONTRIBUTING, README and PULL_REQUEST_TEMPLAT… Mar 3, 2017
__tests__ fix(resolutions): Warn instead of erroring if unmatched dependency ma… Jul 6, 2018
bin Implements --no-default-rc and --use-rc (#6007) Jun 27, 2018
end_to_end_tests Delete Docker container after test runs Nov 19, 2016
flow-typed/npm chore(jest): Upgrade Jest flow types (#5573) Mar 26, 2018
packages fix(deps): update dependency fs-extra to v7 (#6114) Jul 19, 2018
resources Replace nodejs dependency with nodejs-lts. (#5925) Jun 5, 2018
scripts Excluded shebang for lockfile package (#5788) May 6, 2018
src fix(pack): higher priority to .npmignore over .gitignore on windows (#… Jul 19, 2018
.babelrc Fix yarn behaviour when scripts are failing (#5497) Apr 5, 2018
.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 Pkg-tests testsuite (#5392) Feb 27, 2018
.gitattributes Set tgz files as binary in git (#2273) Dec 16, 2016
.gitignore remove .vscode settings from repository (#5608) Apr 3, 2018
.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 fix: Add Node 10 support (#5769) May 23, 2018
LICENSE LICENSE: Specify BSD 2-Clause (#3133) May 12, 2017
README.md update npm link (#6120) Jul 19, 2018
appveyor.yml fix: Add Node 10 support (#5769) May 23, 2018
gulpfile.js fix(build): add sourceRoot to sourcemaps. Fixes #5319. (#5323) Feb 20, 2018
jenkins_jobs.groovy ci(brew): Pass access token to Homebrew job (#5862) May 24, 2018
package.json 1.10.0-0 Jul 19, 2018
renovate.json ci(renovate): Disable Renovate Docker support (#5646) Apr 11, 2018
stats.json fix(sshpk): Upgrade requests and sshpk to latest versions (#5934) Jul 19, 2018
yarn.lock fix(sshpk): Upgrade requests and sshpk to latest versions (#5934) Jul 19, 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!