Contributing

Contributions are always welcome, no matter how large or small. Before contributing, please read the code of conduct.

Find things to work on

We label issues that we need help with the help wanted tag. We also categorize them with the following tags:

  • cat-bug
  • cat-feature
  • cat-chore
  • cat-performance

These are the main categories that you can work on. We further mark issues with a high-priority tag or a good first issue tag to indicate their importance to the project and subjective level of easiness to get started on respectively. If you don’t see the triaged tag or you see any of the needs-confirmation, needs-repro-script, needs-discussion tags, it may not be wise to start working on these issues.

Here are a few quick links to get you started:

If you would like to start triaging issues, one easy way to get started is to subscribe to yarn on CodeTriage.

Building

yarn run build
yarn run watch

Testing Your Changes Locally

You can modify the following command to allow you to test your changes locally such that it doesn’t override an existing installation of yarn.

  1. Navigate to the folder for yarn that you cloned from GitHub
  2. Run alias yarn-local="node $PWD/lib/cli/index.js". This will map yarn-local to the index.js file in your current working directory.

You can now proceed to run yarn watch in one tab, and test with yarn-local in the other.

Testing

yarn run test
yarn run lint

Pull Requests

We actively welcome your pull requests.

  1. Fork the repo and create your branch from master.
  2. If you’ve added code that should be tested, add tests.
  3. If you’ve changed APIs, update the documentation.
  4. Ensure the test suite passes.
  5. Make sure your code lints.

License

By contributing to Yarn, you agree that your contributions will be licensed under its BSD license.