coverage-diff-cli
🚦 command line tool to report diff coverage 🚦
Explore the docs »
Report Bug
·
Request Feature
Table of Contents
Getting Started
This cli exposes 3 main functionalities coming directly from coverage-dff project.
the base
and head
parameters are a standard output from istanbul code coverage tool called json-summary.
if you are using jest (that comes already with istanbul inside) you can just specify the --coverageReporter
via command line or via the configuration.
Usage: coverage-diff-cli [options] [command]
🚦 command line tool to report diff coverage 🚦
Options:
-V, --version output the version number
-b --baseLocation <path/to/the/base/json-summary.json> The base summary (frequently on master/main branch), for more details: https://istanbul.js.org/docs/advanced/alternative-reporters/
-h --headLocation <path/to/the/head/json-summary.json> The head summary (frequently coming from changes in a PR), for more details:
https://istanbul.js.org/docs/advanced/alternative-reporters/
--help display help for command
Commands:
diff It will return a diff (json format) between base and head summary diffs
regression It will exit with 0 or 1 if was a regression or not
results It will display a markdown table with the differential and regressions
help [command] display help for command
Diff
It will return a json object displaying the differential between these 2 summaries. (you can see the type of the response ICoverageSummary)
coverage-diff diff --baseLocation <base_summary.json> --headLocation <head_summary.json>
Regression
The command line will exit with 1
if there has been a regression, useful when trying to request changes on a PR.
coverage-diff regression --base --baseLocation <base_summary.json> --headLocation <head_summary.json>
Results
Visual output of results.
coverage-diff results --baseLocation <base_summary.json> --headLocation <head_summary.json>
It will produce an output such as this:
| Ok | File | Lines | Branches | Functions | Statements |
---|
✅ | /absolute/path/file.ts | 100% (+5.41%) | 100% (+9.09%) | 100% (+0%) | 100% (+5.41%) | |
Total:
Lines | Branches | Functions | Statements |
---|
100%(+3.51%) | 100%(+9.09%) | 100%(+0%) | 100%(+3.39%) |
Details
Diff response type
the diff action on the cli will return a json response of the following shape:
export interface ICoverageSummary {
lines: ICoverageInfo;
statements: ICoverageInfo;
functions: ICoverageInfo;
branches: ICoverageInfo;
}
export interface ICoverageInfo {
total: number;
covered: number;
skipped: number;
pct: number;
}
Built With
Contributing
Contributions are what makes the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
Distributed under the MIT License. See LICENSE
for more information.