This documentation is work in progress and web3-fusion-extend in currently in beta. Please feel free to submit pull request or issues via the edit on github link in the upper right.
If you’re reading this, you’re awesome! Thank you for helping us make this project great and being a part of the web3-fusion-extend community. Here are a few guidelines that will help you along the way.
Submitting a pull request¶
web3-fusion-extend is a community project, so pull requests are always welcome, but, before working on a large change, it is best to open an issue first to discuss it with the maintainers.
When in doubt, keep your pull requests small. To give a PR the best chance of getting accepted, don’t bundle more than one feature or bug fix per pull request. It’s always best to create two smaller PRs than one big one.
As with issues, please make sure your title clear explains the issue.
When adding new features or modifying existing, please attempt to include tests to confirm the new behaviour. You can read more about our test setup here.
All stable releases are tagged (view tags). At any given time,
master represents the latest development version of the library. Patches or hotfix releases are prepared on an independent branch.
master is unsafe
We will do our best to keep
master in good shape, with tests passing at all times. However, in order to move fast, we will make API changes that your application might not be compatible with.
How to increase the chance of being accepted?¶
We will only accept a pull request for which all tests pass. Make sure the following is true:
- The branch is not behind master.
- If a feature is being added:
- If the result was already achievable with the core library, explain why this feature needs to be added to the core.
- It includes relevant tests.
- If this is a common use case, considered adding an example to the documentation.
- If a bug is being fixed, test cases that fail without the fix are included.
- The code is formatted (run
- The code is linted (run
- If API documentation is being changed in the source,
yarn docs:apiwas run.
- If prop types were changed, the TypeScript declarations were updated.
- If TypeScript declarations were changed,
- The PR title follows the pattern
[Component] Imperative commit message. (See: (How to Write a Git Commit Message) for a great explanation)
Please create a new branch from an up to date master on your fork. (Note, urgent hotfixes should be branched off the latest stable release rather than master)
- Fork the web3-fusion-extend repository on Github
- Clone your fork to your local machine
git clone email@example.com:<yourname>/web3-fusion-extend.git
- Create a branch
git checkout -b my-topic-branch
- Make your changes, lint, then push to to GitHub with
git push --set-upstream origin my-topic-branch.
- Visit GitHub and make your pull request.
If you have an existing local repository, please update it before you start, to minimise the chance of merge conflicts.
git remote add upstream firstname.lastname@example.org:FusionFoundation/web3-fusion-extend.git git checkout master git pull upstream master git checkout -b my-topic-branch yarn
Please follow the coding style of the project. web3-fusion-extend uses eslint, so if possible, enable linting in your editor to get real-time feedback. The linting rules can be run manually with the following command
You can also run
yarn prettier to reformat the code.
Finally, when you submit a pull request, they are run again by Circle CI, but hopefully by then your code is already clean!
By contributing your code to the FusionFoundation/web3-fusion-extend GitHub repository, you agree to license your contribution under the MIT license.