- Node v14.9.0 - Preferably use nvm for installing
node
- Yarn
- react for development
- tailwindcss for styling
- storybook for developing UI components in isolation
- jest and react testing library for testing
We use gitflow workflow for managing git. It is recommended to use gitflow plugin.
The overall flow of Gitflow is:
- A develop branch is created from master
- A release branch is created from develop
- Feature branches are created from develop
- When a feature is complete it is merged into the develop branch
- When the release branch is done it is merged into develop and master
- If an issue in master is detected a hotfix branch is created from master
- Once the hotfix is complete it is merged to both develop and master
Create a feature branch when you are working on a feature such as implementation of a new UI component.
git flow feature start feature_branch
Maintenance or “hotfix” branches are used to quickly patch production releases.
git flow hotfix start hotfix_branch
We're using conventional commits to ensure consistency of commit messages.
Always assign a prefix to your first commit in a new branch.
For more information, check the convention.
Please see https://chris.beams.io/posts/git-commit/ for information on how to write commit messages.
If the commit has a corresponding issue, make sure to add the reference to the issue in the commit message
[ref-#329] Fixing the performance issue on the input field
We are using merge to master with squashing commits.
Bad:
* Add React
* add react-dom
* fix deps
* another fix
* fix test
Good:
* feat: adding React & React-Dom
* fix: resolve peer dependencies of React
For local development you can use
yarn storybook
We encourage adding tests to all components. Jest is used for testing.
To run tests, you can use
yarn test
to run the tests in the watch modeyarn test:ci
to run the tests in CI mode along with test coverage