We follow the [conventional commits specification](https://www.conventionalcommits.org/en) for our commit messages:
-`fix`: bug fixes, e.g. fix crash due to deprecated method.
-`feat`: new features, e.g. add new method to the module.
-`refactor`: code refactor, e.g. migrate from class components to hooks.
-`docs`: changes into documentation, e.g. add usage example for the module..
-`test`: adding or updating tests, eg add integration tests using detox.
-`chore`: tooling changes, e.g. change CI config.
### Linting and tests
[ESLint](https://eslint.org/)
We use [ESLint](https://eslint.org/) for linting and formatting the code, and [Jest](https://jestjs.io/) for testing.
### Scripts
The `package.json` file contains various scripts for common tasks:
-`yarn eslint`: lint files with ESLint.
-`yarn eslint:fix`: auto-fix ESLint issues.
-`yarn test:unit`: run unit tests with Jest.
### Sending a pull request
> **Working on your first pull request?** You can learn how from this _free_ series: [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github).
When you're sending a pull request:
- Prefer small pull requests focused on one change.
- Verify that linters and tests are passing.
- Review the documentation to make sure it looks good.
- Follow the pull request template when opening a pull request.
- For pull requests that change the API or implementation, discuss with maintainers first by opening an issue.