📦🐈 Fast, reliable, and secure dependency management.
Switch branches/tags
Clone or download
Permalink
Failed to load latest commit information.
.circleci fix: Add Node 10 support (#5769) May 23, 2018
.github Changelog workflow (#6460) Oct 2, 2018
__tests__ test: add integration test for renaming scoped packages (#4921) Oct 10, 2018
bin Add Windows command executable that use powershell. (#6093) Aug 21, 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 Fixes invalid option forwarding (#6479) Oct 9, 2018
resources Replace nodejs dependency with nodejs-lts. (#5925) Jun 5, 2018
scripts Yarn Plug'n'Play: Implementation (#6382) Sep 24, 2018
src Checks the engines before running upgrade-interactive (#6536) Oct 13, 2018
.babelrc Yarn Plug'n'Play: Implementation (#6382) Sep 24, 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 Yarn Plug'n'Play: Implementation (#6382) Sep 24, 2018
.npmignore Remove Roadrunner (#3079) Apr 8, 2017
CHANGELOG.md Checks the engines before running upgrade-interactive (#6536) Oct 13, 2018
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 ci(perf): Set maxWorkers to match the number of cores available (#6249) Aug 9, 2018
gulpfile.js Upgrade gulp v4 (#6143) Aug 22, 2018
jenkins_jobs.groovy ci(brew): Pass access token to Homebrew job (#5862) May 24, 2018
package.json fix: restore Node.js v4 support by downgrading cli-table3 (#6535) Oct 12, 2018
renovate.json Enable Renovate master issue approval (#6490) Oct 4, 2018
stats.json fix(sshpk): Upgrade requests and sshpk to latest versions (#5934) Jul 19, 2018
yarn.lock fix: restore Node.js v4 support by downgrading cli-table3 (#6535) Oct 12, 2018

README.md

Yarn

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.

Features

  • 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:

Credits

Thanks to Sam Holmes for donating the npm package name!