Generating coverage badges from jest coverage report.
😺 This library is replaced by node-coverage-badges
Let's just imagine you want to display some information about your testing coverage and you're using jest as a testing framework. Look no further!
This package generates the following badges for you, based on the coverage report generated by jest, using instanbul.
If you want to integrate this to your CI/CD, you have a github action available for this.
Well, let's just start by stating the obvious here. Yes, you will need jest testing library to use this package.
yarn add -D node-jest-badges
or
npm i -D node-jest-badges
You will need to add json-summary to coverage reporters in jest config:
module.exports = {
coverageReporters: ["json-summary"];
};
You have two ways to generate coverage badges: cli and node. Both will create a folder where .svg files will be written.
You can add a script to your package.json like so:
"scripts": {
"badges": "generateBadges"
},
The generateBadges
function accepts two optional arguments to specify:
- a custom path for the input json summary file.
- a custom path for the output path.
// will generate badges from './coverage/coverage-summary.json' in './badges' (default)
yarn generateBadges
// will generate badges from './myModule/coverage-summary.json' in './cool' folder.
yarn generateBadges -c ./myModule/coverage-summary.json -o ./cool
Another way is to directly use the package:
import { generateBadges } from 'node-jest-badges';
(async () => {
// will generate badges from './coverage/coverage-summary.json' in './badges' (default)
await generateBadges();
})();
The function optionally accepts two arguments to specify a custom path for the json summary file and the output path:
import { generateBadges } from 'node-jest-badges';
(async () => {
// will generate badges from './myModule/coverage-summary.json' in './cool'
await generateBadges('./myModule/coverage-summary.json', './cool');
})();
Big thanks to Shield for this awesome tool!