We want this community to be friendly and respectful to each other. Please read the full text so that you can understand what actions will and will not be tolerated.
The core team works directly on GitHub and all work is public.
Working on your first pull request? You can learn how from this free series: How to Contribute to an Open Source Project on GitHub.
- Fork the repo and create your branch from
main
(a guide on how to fork a repository). - Run
yarn
to setup the development environment. - Do the changes you want and test them out in the example app before sending a pull request.
We prefix our commit messages with one of the following to signify the kind of change:
fix
: bug fixes, e.g. fix incorrect error message.feat
: new features, e.g. add useful API.refactor
: code/structure refactor, e.g. new folder structure.docs
: changes into documentation, e.g. add usage example forgetByText
.test
: adding or updating tests, eg unit, snapshot testing.chore
: tooling changes, e.g. change circle ci config.BREAKING
: for changes that break existing usage, e.g. change API.
Our pre-commit hooks verify that your commit message matches this format when committing.
We use TypeScript for type checking, eslint
with prettier
for linting and formatting the code, and jest
for testing. Our pre-commit hooks verify that the linter and tests pass when committing. You can also run the following commands manually:
yarn typecheck
: run TypeScript compiler on all files.yarn lint
: run eslint and prettier.yarn test
: run tests.
When you're sending a pull request:
- Prefer small pull requests focused on one change.
- Verify that
typecheck
,eslint
and tests are passing. - Preview the documentation to make sure it looks good.
- Follow the pull request template when opening a pull request.
yarn publish
- Push changes & tag to
origin
.
You can report issues on our bug tracker. Please follow the issue template when opening an issue.
By contributing to @testing-library/react-native
, you agree that your contributions will be licensed under its MIT license.