We welcome all contributors to Ignite Bowser! This contributing guide will help you get up and running to submit your first pull request.
Before submitting a pull request, you will want to make sure that your branch meets the following requirements:
These examples assume you're using yarn rather than npm. If you're not using yarn, replace these commands with the appropriate npm alternative
- Everything works on iOS/Android
- Jest Tests pass in the root folder (
yarn test
) - New tests are included for any new functionality
- Our linter passes (
yarn lint
) - Branch has already been synced with the upstream repo and any merge-conflicts have been resolved.
- Node 7.6+
- NPM 4 (ships with Node 7)
- Fork and then clone the repo (
git clone git@github.com:<YOURGITHUBUSER>/ignite-bowser.git
) - Pull all package dependencies (
yarn
) - Make your changes
Test it out:
Test your changes by creating a new boilerplate using ignite-cli and pointing it to your newly created boilerplate.
$ ignite new <YOUR_BOILERPLATE_NAME> -b /full/path/to/boilerplate
Now you're ready to check out a new branch and get hacking on Ignite Bowser!
Refer to this guide
We use Jest for testing.
To run tests from the ignite-bowser folder:
$ yarn test
Our CI enforces lint to pass, so we suggest you enable linting to keep your project compliant during development.
To Run Lint from ignite-bowser's root directory:
$ yarn lint
To Lint on Commit
- Install git-hooks => On a Mac
brew install git-hooks
- Other - Setup on Repo =>
git hooks --install
Bypass Lint
If you have to bypass lint for a special commit that you will come back and clean (pushing something to a branch etc.) then you can bypass git hooks with adding --no-verify
to your commit command.
Understanding Linting Errors
The linting rules can be found in the package.json's eslintConfig
. Regular JS errors can be found with descriptions here, while React errors and descriptions can be found here.