npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

istanbul-coverage-enforcer

v1.0.9

Published

A Nodejs package and cli tool to enforce code coverage

Downloads

310

Readme

istanbul-coverage-enforcer

A Nodejs package and cli tool to enforce global code coverage

NPM

Build status

Build Status coverage

npm status

downloads version

Why?

Most of the coverage tools available do not provide an option to enforce the coverage and flag exception in case the coverage threshold is not met. This is one of the very frequently faced use cases I came across for most applications I work along with other team members. Due to struct deadlines we tend to miss out on tests and manually enforcing the test coverage to be maintained is not a scalable option.

This package solves the issue of manually maintaning the global code coverage above a given 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 required interface of the coverage.json file

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

istanbul-threshold-checker for getting the grunt work to compare and generate the result