jest-it-up
August 25, 2024 ยท View on GitHub
Ensure incremental coverage gains are not lost, and positively reinforce good testing habits. Automatically bump up global Jest thresholds whenever coverage goes above them.

Requirements
- Node.js 20+
- Conventional
jest.config.js(package.jsonconfig unsupported) json-summarycoverage report (see usage)
Installation
npm install --save-dev jest-it-up
Usage
jest-it-up exposes a standalone CLI tool (see options), but you most likely want to use it in a post-test script.
Within package.json:
{
"scripts": {
"test": "jest --coverage", // or set `collectCoverage` to `true` in Jest config
"posttest": "jest-it-up" // must run from the same directory as `jest.config.js`
}
}
within jest.config.js:
module.exports = {
coverageReporters: [
'json-summary', // plus any other reporters, e.g. "lcov", "text", "text-summary"
],
coverageThreshold: {
global: {
branches: 0, // or your current numbers
functions: 0,
lines: 0,
statements: 0,
},
},
}
Once tests finish running, jest-it-up will update configured thresholds to match higher coverage numbers, if any.
Options
$ jest-it-up --help
Usage: jest-it-up [options]
Options:
-c, --config <path> path to a Jest config file (default: 'jest.config.js')
-m, --margin <margin> minimum threshold increase (default: 0)
-t, --tolerance <tolerance> threshold difference from actual coverage
-i, --interactive ask for confirmation before applying changes
-s, --silent do not output messages
-d, --dry-run process but do not change files
-v, --version output the version number
-p, --precision number of threshold decimal places to persist
-h, --help display help for command