Contributing
Raising issues
Before raising an issue, make sure you have checked the open and closed issues to see if an answer is provided there. There may also be an answer to your question on stackoverflow.
Please provide the following information with your issue to enable us to respond as quickly as possible.
- The relevant versions of the packages you are using.
- The steps to recreate your issue.
- An executable code example where possible. You can fork this repository and use one of the examples to quickly recreate your issue.
Contributing features
Hey, that's awesome you want to help! If you're not sure where to start, look for the help wanted
label in our issue tracker. If you have an idea that you think would be great, come and chat to us on slack in the #pact-js
channel.
Commit messages
Pact JS uses the Conventional Changelog commit message conventions. Please ensure you follow the guidelines, as they help us automate our release process.
Should your change include something that should be listed in the release
notes, please use feat
or fix
commits with a good commit message. Your
commit message will automatically be included in the release notes.
If you are committing something that shouldn't be listed in the release
notes, please use a different type (even if it is technically a fix). We
usually use one of chore
, style
, refactor
, or test
as appropriate.
You can take a look at the git history (git log
) to get the gist of it.
If you have questions, feel free to reach out in #pact-js
in our slack
community.
If you'd like to get some CLI assistance, getting setup is easy:
If you'd like to get some CLI assistance, getting setup is easy:
git cz
to commit and commitizen will guide you.
Code style and formatting
We use Prettier for formatting, and for linting we use TSLint (for TypeScript).
Please update your editor to enable Prettier, and things should be easy ๐. If not, our lint step will catch it.
Pull requests
- Write tests for any changes
- Follow existing code style and conventions
- Separate unrelated changes into multiple pull requests
- For bigger changes, make sure you start a discussion first by creating an issue and explaining the intended change