NickBolles / coverage-diff

Diffs two istanbul json-summary reports and outputs files coverage deltas.

Home Page:https://flaviusone.github.io/coverage-diff/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

coverage-diff

What it does

  • Accepts base-summary.json and head-summary.json
  • Diffs the two jsons and outputs info about
    • Percentage of changed coverage (in changed/added files)
    • Formatted as markdown table
  • Fail if coverage decreases on a file (check on percentage) for any of the lines/func/statements/branches. Can  be configured to only check some criteria.
  • Written in Typescript

Usage

const fs = require('fs');
const coverageDiff = require('coverage-diff');

const base = JSON.parse(fs.readFileSync('./base-summary.json'));
const head = JSON.parse(fs.readFileSync('./head-summary.json'));
const diff = coverageDiff.diff(base, head);

console.log(diff.diff);
console.log(diff.results);
console.log(diff.regression);

Out:

Ok File Lines Branches Functions Statements
🔴 file1 80%
(+10%)
14%
(-30%)
3%
(+20%)
20%
(-10%)
file2 20%
(+10%)
8%
(-30%)
2%
(-20%)
5%
(-10%)

API at https://flaviusone.github.io/coverage-diff/globals.html#diff

Auto-generated docs

https://flaviusone.github.io/coverage-diff/

About

Diffs two istanbul json-summary reports and outputs files coverage deltas.

https://flaviusone.github.io/coverage-diff/

License:MIT License


Languages

Language:TypeScript 94.9%Language:JavaScript 5.1%