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:

npm install commitizen -g
npm i -g cz-conventional-changelog

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
Last updated on by Beth Skurrie