Skip to content
This repository has been archived by the owner on Nov 1, 2022. It is now read-only.

Latest commit

 

History

History
34 lines (20 loc) · 1.98 KB

development.md

File metadata and controls

34 lines (20 loc) · 1.98 KB

Jackal Development Guide

Testing

Jackal uses Mocha and Chai for tests, ESLint for linting and NYC for coverage reports.

Tests can be run using the npm test command. ESLint will run prior to the tests being run, all linting errors should be fixed prior to pushing changes. Linting warnings should also be fixed, or at least surrounded with eslint-disable and eslint-enable comments if a good reason exists for not modifying the code.

HTML coverage reports will be generated and can be viewed by opening /path/to/jackal/coverage/lcov-report/index.html in a browser, a text summary will be printed after the tests have executed.

Contributing

Jackal is now in a state which meets our needs for Contract testing and it is unlikely we will add any new features in the short term, if you would like to contribute to Jackal then some features we would like to see added include:

  • an API interface to remove specific contracts from the running database by consumer, provider or both
  • a UI to display the current state of the Jackal instance, including usage statistics

If you would like to contribute the above or any other features to Jackal, we welcome pull requests and will aim to review them as fast as we can.

Releasing

For developers with contributor status, every push results in an updated latest image in Dockerhub. Once you decide to create a new release based on semver run the following to create a tag and bump the package.json version:

npm version [ patch | minor | major ]

Then to push the changes and trigger a deploy:

git push && git push --tags

This will result in a new github release, new npm release and a new Dockerhub tagged image.