๐ฆ command line tool to report diff coverage ๐ฆ
Explore the docs ยป
Report Bug
ยท
Request Feature
npx coverage-diff-cli results --baseLocation <base_summary.json> --headLocation <head_summary.json>
npm -g install coverage-diff-cli
npm run coverage-diff-cli results --baseLocation <base_summary.json> --headLocation <head_summary.json>
yarn global add coverage-diff-cli
coverage-diff-cli results --baseLocation <base_summary.json> --headLocation <head_summary.json>
If you don't want any dependencies, you can use the binary directly.
Head over to releases and pick the binary for LINUX, MACOSX and WINDOWS.
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
--coverageReporters
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/#json-summary
-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/#json-summary
--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
It will return a json object displaying the differential between these 2 summaries. (you can see the type of the response ICoverageSummary)
npx coverage-diff-cli diff --baseLocation <base_summary.json> --headLocation <head_summary.json>
The command line will exit with 1
if there has been a regression, useful when trying to request changes on a PR.
npx coverage-diff-cli regression --base --baseLocation <base_summary.json> --headLocation <head_summary.json>
Visual output of results. (markdown). Ideal for posting directly in github PR.
npx coverage-diff-cli 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%) |
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;
}
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
Distributed under the MIT License. See LICENSE
for more information.