Hey there! We’re really excited that you are interested in contributing to WarriorJS. Before submitting your contribution though, please make sure to take a moment and read through the following guidelines.
Please note that this project has a Code of Conduct. It's important that you review and enforce it.
Here is a quick guide to doing code contributions to the library.
-
Find some issue you're interested in, or a feature that you'd like to tackle. Also make sure that no one else is already working on it. If it's a feature you're requesting, make sure it's aligned with the direction of the project by creating an issue and discussing it with the core maintainers. We don't want you to be disappointed.
-
Fork, then clone:
git clone https://github.com/YOUR_USERNAME/warriorjs.git
. -
Create a branch with a meaningful name for the issue:
git checkout -b fix-something
-
Make your changes and commit:
git add
andgit commit
. -
Make sure that the tests still pass (see below).
-
Push your branch:
git push -u origin your-branch-name
. -
Submit a Pull Request to the upstream warriorjs repository.
-
Choose a descriptive title and describe your changes briefly.
-
Wait for a maintainer to review your PR, make changes if it's being recommended, and get it merged.
-
Celebrate! 🎉
You can take this free course: How to Contribute to an Open Source Project on GitHub.
WarriorJS relies on yarn instead of npm to manage dependencies.
Run yarn install
and edit code in the src/
folder of the corresponding
package(s) in packages/
. If your contribution is to the docs or the website,
you're looking for the docs/
or the website/
directories, respectively.
To verify your changes, run the following commands:
- Install dependencies (you probably already did this):
yarn install
. - Build cross-dependencies:
yarn build
. - Link cross-dependencies:
yarn bootstrap
. - Run tests:
yarn test
.
Steps #2 and #3 above are required because we're using Lerna. If you have ideas on how to improve that to make these steps simpler, please don't hesitate to create an issue or submit a PR.