JSPM

istanbul-coverage-enforcer

1.0.4
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 40
  • Score
    100M100P100Q65106F
  • License MIT

A Nodejs package and cli tool to enforce code coverage

Package Exports

  • istanbul-coverage-enforcer

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (istanbul-coverage-enforcer) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

istanbul-coverage-enforcer

A Nodejs package and cli tool to enforce code coverage

NPM

Build status

Build Status coverage

npm status

downloads version

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
  1. 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",
  1. 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 istanbul-enforce-success

istanbul-enforce-failure

As a node package

  1. Create a coverage-threshold.json in the root of your project. Optionally this can be also passed as the second parameter to the function

  2. 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