Thanks for contributing! We love seeing continuous improvements and enhancements, no matter how small or big they might be.
We follow fairly standard but lenient rules around pull requests and issues. Please pick a title that describes your change briefly, optionally in the imperative mood if possible.
If you have an idea for a feature or want to fix a bug, consider opening an issue first. We're also happy to discuss and help you open a PR and get your changes in!
Luckily it's not hard to get started. You can install dependencies using yarn.
Please don't use npm to respect the lockfile.
yarnYou can then run the build using:
yarn buildAnd you can run Flow to check for any type errors:
yarn flow checkIt's always good practice to run the tests when making changes. It might also make sense to add more tests when you're adding features or fixing a bug, but we'll help you in the pull request, if necessary.
yarn test # Single pass
yarn test --watch # Watched
yarn test --coverage # Single pass coverage reportSometimes it's a good idea to run the Jest in production mode,
since some data structures and behaviour changes in React in
production:
NODE_ENV=production yarn testWe ensure consistency in this codebase using prettier.
It's run on a precommit hook, so if something's off it'll try
to automatically fix up your code, or display an error.
If you have them set up in your editor, even better!
If you're a core contributor or maintainer this will certainly come up once in a while.
Make sure you first create a new version. The following commands
bump the version in the package.json, create a commit,
and tag the commit on git:
yarn version --new-version X
# or
npm version patch # accepts patch|minor|majorThen run npm publish (npm is recommended here, not yarn)
And maybe run npm publish --dry-run first to check the output.
npm publishThere's a prepublishOnly hook in place that'll clean and build
the package automatically.
Don't forget to push afterwards:
git push && git push --tags