gitlab-org--gitlab-foss/doc/development/new_fe_guide/dependencies.md
Stan Hu 928b9a1055 Add documentation on how to add dependencies to yarn
Danger constantly warns about de-duplicating dependencies, so put these
instructions in the documentation so they can be searched.
2019-07-23 10:29:57 -07:00

1 KiB

Dependencies

Adding Dependencies.

GitLab uses yarn to manage dependencies. These dependencies are defined in two groups within package.json, dependencies and devDependencies. For our purposes, we consider anything that is required to compile our production assets a "production" dependency. That is, anything required to run the webpack script with NODE_ENV=production. Tools like eslint, karma, and various plugins and tools used in development are considered devDependencies. This distinction is used by omnibus to determine which dependencies it requires when building GitLab.

Exceptions are made for some tools that we require in the gitlab:assets:compile CI job such as webpack-bundle-analyzer to analyze our production assets post-compile.

To add or upgrade a dependency, run:

yarn add <your dependency here>

This may introduce duplicate dependencies. To de-duplicate yarn.lock, run:

node_modules/.bin/yarn-deduplicate --list --strategy fewer yarn.lock && yarn install

TODO: Add Dependencies