diff --git a/README.md b/README.md index fbabe96f8..4f0227c3a 100644 --- a/README.md +++ b/README.md @@ -55,12 +55,13 @@ High-level features include: 2. [Local Scripts](#local-scripts) 3. [Development inside Docker](#development-inside-docker) 4. [Adding a Python Dependency](#adding-a-python-dependency) - 5. [Running the Build System](#running-the-build-system) - 6. [To run individual tests](#to-run-individual-tests) + 5. [Adding a Yarn Dependency](#adding-a-yarn-dependency) + 6. [Running the Build System](#running-the-build-system) + 7. [To run individual tests](#to-run-individual-tests) 1. [Pytest](#pytest) 2. [Tox](#tox) - 7. [Running Migrations](#running-migrations) - 8. [How to run a build with tests for a push or merge](#how-to-run-a-build-with-tests-for-a-push-or-merge) + 8. [Running Migrations](#running-migrations) + 9. [How to run a build with tests for a push or merge](#how-to-run-a-build-with-tests-for-a-push-or-merge) 4. **[Documentation](#documentation)** 1. [Architecture at a Glance](#architecture-at-a-glance) 2. [Terminology](#terminology) @@ -206,6 +207,23 @@ pip freeze > requirements.txt pyenv uninstall quay-deps ``` +### Adding a Yarn Dependency + +We use [Yarn](https://yarnpkg.com/) for frontend dependency management. The `yarn.lock` file ensures +that we get consistant version installs using the `yarn install` command. However, new dependencies +should be added using `yarn add `. This will add an entry to `package.json` and `yarn.lock`. + +Occassionally there will be merge conflicts with `yarn.lock`. To resolve them, use the following (taken +from [here](https://github.com/yarnpkg/yarn/issues/1776#issuecomment-269539948). + +```sh +git rebase origin/master +git checkout origin/master -- yarn.lock +yarn install +git add yarn.lock +git rebase --continue +``` + ### Running the Build System TODO