istanbul-coverage-enforcer
A Nodejs package and cli tool to enforce code coverage

Build status

npm status

The problem
Most of the coverage tools available do not provide an option to enforce the coverage and stop the build in case the coverage threshold is not met
Solution:
A small node package to enforce coverage as based on threshold
Installation
Use it with npm
as
npm install istanbul-coverage-enforcer
or with yarn as
yarn add istanbul-coverage-enforcer
Prerequisite
istanbul stable (0.4.5
or below) is needed to get the correct format of the coverage.json
Usage
You can use the istanbul-coverage-enforcer both as a node package and as a CLI tool
As a CLI tool:
These are the options available currently with the CLI tool
enforce --help
Usage: enforce [options]
Options:
-c, --coverage-path The path to coverage JSON file
-t, --threshold-path The path to the threshold JSON file
-h, --help output usage information
- Add a npm script in
package.json
to call the package with the path to the code-coverage file. By default this is at coverage/coverage.json
"enforce-coverage": "enforce -c coverage/coverage.json -t coverage-threshold.json",
- Now you can run this script as part of your build to ensure that code coverage is maintained above threshold
npm run enforce-covergage
Output


As a node package
-
Create a coverage-threshold.json
in the root of your project. Optionally this can be also passed as the second parameter to the function
-
In your script import and call the enforce
function as below:
const enforce = require('../index');
enforce('./examples/packages/coverage.json', './examples/packages/coverage-threshold.json');
Refer the examples folder for basic use case examples as node package and cli
Reference and Credits