Pull requests are very welcome, but should be within the scope of the project, and follow the repository's code conventions. Before submitting a pull request, it's always good to file an issue, so we can discuss the details of the PR.
-
Ensure you've replicated the issue against master. There is a chance the issue may have already been fixed.
-
Search for any similar issues (both opened and closed). There is a chance someone may have reported it already.
-
Provide a demo of the bug isolated in a jsfiddle/jsbin. Sometimes this is not a possibility, in which case provide a detailed description along with any code snippets that would help in triaging the issue. If we cannot reproduce it, we will close it.
-
The best way to demonstrate a bug is to build a failing test. This is not required, however, it will generally speed up the development process.
-
Fork the repository.
-
Ensure that all tests are passing prior to submitting.
-
If you are adding new functionality, or fixing a bug, provide test coverage.
-
Follow syntax guidelines detailed below.
-
Push the changes to your fork and submit a pull request. If this resolves any issues, please mark in the body
resolve #ID
within the body of your pull request. This allows for github to automatically close the related issue once the pull request is merged. -
Last step, submit the pull request!
The following the process to release a new version of the react-intl
package on npm. This repo uses a protected master
branch so the process involves creating a Pull Request for the version bump:
-
Make sure local
node_modules
is up to date:rm -rf node_modules && npm install
. -
Create a release branch from
master
:git checkout -b release
-
Bump version using
npm version
and choose appropriatepatch
,minor
,major
argument. -
Create a Pull Request for your local
release
branch so Travis CI tests run. -
If all the tests pass successfully, publish your local
release
branch to npm:npm publish
. -
Push the Git tag to the main fork:
git push upstream --tags
. -
Merge the
release
branch PR intomaster
and make sure to create a merge commit so the Git tag matches. -
Create a release post for the new release Git tag.