diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-02 18:08:01 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-02 18:08:01 +0300 |
commit | b375c6c05fbd03aea33a9ee9f82e678bdaa8c3cc (patch) | |
tree | 55f2a32e5fd3d67597fc8c6cc2a01793ee15c87a /doc/development/fe_guide | |
parent | 988b28ec1a379d38f6ac9ed04886ee564fd447fd (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc/development/fe_guide')
-rw-r--r-- | doc/development/fe_guide/dependencies.md | 40 | ||||
-rw-r--r-- | doc/development/fe_guide/index.md | 44 |
2 files changed, 64 insertions, 20 deletions
diff --git a/doc/development/fe_guide/dependencies.md b/doc/development/fe_guide/dependencies.md new file mode 100644 index 00000000000..0f5825992e9 --- /dev/null +++ b/doc/development/fe_guide/dependencies.md @@ -0,0 +1,40 @@ +# Frontend dependencies + +## Package manager + +We use [Yarn](https://yarnpkg.com/) to manage frontend dependencies. There are a few exceptions: + +- [FontAwesome](https://fontawesome.com/), installed via the `font-awesome-rails` gem: we are working to replace it with + [GitLab SVGs](https://gitlab-org.gitlab.io/gitlab-svgs/) icons library. +- [ACE](https://ace.c9.io/) editor, installed via the `ace-rails-ap` gem. +- Other dependencies found under `vendor/assets/`. + +## Updating dependencies + +### Renovate GitLab Bot + +We use the [Renovate GitLab Bot](https://gitlab.com/gitlab-org/frontend/renovate-gitlab-bot) to +automatically create merge requests for updating dependencies of several projects. You can find the +up-to-date list of projects managed by the renovate bot in the project’s README. Some key dependencies +updated using renovate are: + +- [`@gitlab/ui`](https://gitlab.com/gitlab-org/gitlab-ui/) +- [`@gitlab/svgs`](https://gitlab.com/gitlab-org/gitlab-svgs/) +- [`@gitlab/eslint-config`](https://gitlab.com/gitlab-org/gitlab-eslint-config) + +### Blocked dependencies + +We discourage installing some dependencies in [GitLab repository](https://gitlab.com/gitlab-org/gitlab) +because they can create conflicts in the dependency tree. Blocked dependencies are declared in the +`blockDependencies` property of GitLab’s [`package.json` file](https://gitlab.com/gitlab-org/gitlab/-/blob/master/package.json). + +## Dependency notes + +### BootstrapVue + +[BootstrapVue](https://bootstrap-vue.js.org/) is a component library built with Vue.js and Bootstrap. +We wrap BootstrapVue components in [GitLab UI](https://gitlab.com/gitlab-org/gitlab-ui/) with the +purpose of applying visual styles and usage guidelines specified in the +[Pajamas Design System](https://design.gitlab.com/). For this reason, we recommend not installing +BootstrapVue directly in the GitLab repository. Instead create a wrapper of the BootstrapVue +component you want to use in GitLab UI first. diff --git a/doc/development/fe_guide/index.md b/doc/development/fe_guide/index.md index ba77a51a089..ff69cb0e0ce 100644 --- a/doc/development/fe_guide/index.md +++ b/doc/development/fe_guide/index.md @@ -23,22 +23,22 @@ Use [BrowserStack](https://www.browserstack.com/) to test with our supported bro Current high-level frontend goals are listed on [Frontend Epics](https://gitlab.com/groups/gitlab-org/-/epics?label_name%5B%5D=frontend). -## [Principles](principles.md) +## Principles -High-level guidelines for contributing to GitLab. +[High-level guidelines](principles.md) for contributing to GitLab. -## [Development Process](development_process.md) +## Development Process -How we plan and execute the work on the frontend. +How we [plan and execute](development_process.md) the work on the frontend. -## [Architecture](architecture.md) +## Architecture -How we go about making fundamental design decisions in GitLab's frontend team +How we go about [making fundamental design decisions](architecture.md) in GitLab's frontend team or make changes to our frontend development guidelines. -## [Testing](../testing_guide/frontend_testing.md) +## Testing -How we write frontend tests, run the GitLab test suite, and debug test related +How we write [frontend tests](../testing_guide/frontend_testing.md), run the GitLab test suite, and debug test related issues. ## Pajamas Design System @@ -46,29 +46,33 @@ issues. Reusable components with technical and usage guidelines can be found in our [Pajamas Design System](https://design.gitlab.com/). -## [Design Patterns](design_patterns.md) +## Design Patterns -Common JavaScript design patterns in GitLab's codebase. +Common JavaScript [design patterns](design_patterns.md) in GitLab's codebase. -## [Vue.js Best Practices](vue.md) +## Vue.js Best Practices -Vue specific design patterns and practices. +Vue specific [design patterns and practices](vue.md). -## [Vuex](vuex.md) +## Vuex -Vuex specific design patterns and practices. +[Vuex](vuex.md) specific design patterns and practices. -## [Axios](axios.md) +## Axios -Axios specific practices and gotchas. +[Axios](axios.md) specific practices and gotchas. -## [GraphQL](graphql.md) +## GraphQL -How to use GraphQL +How to use [GraphQL](graphql.md). -## [Icons and Illustrations](icons.md) +## Icons and Illustrations -How we use SVG for our Icons and Illustrations. +How we use SVG for our [Icons and Illustrations](icons.md). + +## Dependencies + +General information about frontend [dependencies](dependencies.md) and how we manage them. ## Frontend FAQ |