nyc-text-summary-avg v1.0.1
nyc-text-summary-avg
Computes the average coverage from a nyc's text-summary report.
Use it in CI systems, like GitLab CI, that generate coverage by extracting it from job logs using regular expressions. It can also be used to stop the CI pipeline, when the coverage average is below the given limit.
Installing
When using yarn:
yarn add nyc-text-summary-avg When using npm:
npm install nyc-text-summary-avgUsage
The average is calculated from a stream piped from the output of the nyc command:
nyc mocha | nyc-text-summary-avgIt relies on the text-summary report being present in the stream, so the text-summary reporter must be enabled in nyc's configuration options.
Either via the command line:
nyc --reporter=text-summary mocha | nyc-text-summary-avgor inside the package.json or .nycrc files:
{
"reporter": [
"text-summary"
]
}The output with the average is then printed to the console:
============================== nyc-text-summary-avg ==============================
OK. Coverage average: 93.60.
==================================================================================It can then be matched by this regular expression:
^OK\. Coverage average:\s(100|(?:\d|[1-9]\d)(?:\.\d+)?).$Setting the limit
To set a limit below which this program will exit with an error, use the -l or --limit flag:
nyc mocha | nyc-text-summary-avg -l 95It then exits with an error code, that stops the CI pipeline:
============================== nyc-text-summary-avg ==============================
FAIL. Coverage average: 93.60 is below the given limit: 95.
==================================================================================Passing through the original stream
By default, the output from the nyc command is consumed. To pass it through the program, use the -p or --pass flag:
nyc mocha | nyc-text-summary-avg -pLicense
This project is licensed under the MIT License - see the LICENSE.md file for details.