We'd love for you to contribute to our source code and to make Fuse.js better! Here are the guidelines we'd like you to follow:
Do not open issues for general support questions as we want to keep GitHub issues for bug reports and feature requests. You've got much better chances of getting your question answered on dedicated support platforms, the best being Stack Overflow.
If you find a bug in the source code, you can help us by submitting an issue to our GitHub Repository. Even better, you can submit a Pull Request with a fix.
When creating issues, it's important to follow common guidelines to make them extra clear. Here is a few links to help you achieve that:
- GitHub Guides: Mastering Issues
- Wiredcraft: How We Write Github Issues
- NYC Planning Digital: Writing Useful Github Issues
Before you submit your pull request consider the following guidelines:
-
Search GitHub for an open or closed Pull Request that relates to your submission. You don't want to duplicate effort.
-
Make your changes in a new git branch:
git checkout -b my-fix-branch master
-
Create your patch commit, including appropriate test cases.
-
Run
yarn lint
to check that you have followed the automatically enforced coding rules -
Commit your changes using a descriptive commit message that follows our commit message conventions. Adherence to the commit message conventions is required, because release notes are automatically generated from these messages.
git commit -a
-
Before creating the Pull Request, package and run all tests a last time:
yarn test
-
Push your branch to GitHub:
git push origin my-fix-branch
-
If we suggest changes, then:
-
Make the required updates.
-
Re-run the test suite to ensure tests are still passing.
-
Commit your changes to your branch (e.g.
my-fix-branch
). -
Push the changes to your GitHub repository (this will update your Pull Request).
You can also amend the initial commits and force push them to the branch.
git rebase master -i git push origin my-fix-branch -f
This is generally easier to follow, but separate commits are useful if the Pull Request contains iterations that might be interesting to see side-by-side.
-
That's it! Thank you for your contribution!
After your pull request is merged, you can safely delete your branch and pull the changes from the main (upstream) repository:
-
Delete the remote branch on GitHub either through the GitHub web UI or your local shell as follows:
git push origin --delete my-fix-branch
-
Check out the master branch:
git checkout master -f
-
Delete the local branch:
git branch -D my-fix-branch
-
Update your master with the latest upstream version:
git pull --ff upstream master