jest-based test case mandating tool for new code.
npm install -D papers-please
Requires Node 8+ and Jest 25.x+
json-summary
.
// In jest.config.js
{
coverageReporters: ["json-summary"]
}
npx papers-please --trackGlobs="<comma separated list of file globs to track>" --baseBranch="<branch to check file diff against>"
Example
npx papers-please --trackGlobs="**/src/**/*.js,**/client/**/*.js,**/server/**/*.js" --baseBranch="main"
// In your package.json
{
"scripts": {
"validate": "npx papers-please --trackGlobs="**/src/**/*.js,**/client/**/*.js,**/server/**/*.js" --baseBranch="main""
}
}
papers-please can be used alongside husky to run validation on git commit and / or git push.
Option | Type | Description | Default Value |
---|---|---|---|
--baseBranch | string | Base branch to validate your branch against to derive new and modified files | origin/main |
--projectRoot | string | Root directory for the project. Assume this to be where the .git folder resides | process.cwd() |
--coverageFile | string | Path to the jest coverage report. Note The coverage summary report should be the json summary output | ./coverage/coverage-summary.json |
--skipCoverage | boolean | Skip coverage metrics validation | false |
--trackGlobs | string | List of comma-separated source files / globs to track. Any file that is modified or added that matches the glob pattern will be validated. | */ |
--branchCoverageThreshold | number | Branch coverage threshold for new files (in percentage) | 80 |
--functionCoverageThreshold | number | Function coverage threshold for new files (in percentage) | 80 |
--lineCoverageThreshold | number | Line coverage threshold for new files (in percentage) | 80 |
--statementCoverageThreshold | number | Statement coverage threshold for new files (in percentage) | 80 |
--help | boolean | Show usage and available options | false |
--verbose | boolean | Show verbose output for each step | false |
--exposeMetrics | boolean | Exposes coverage metrics into a json file for the modified/added files which matches the glob pattern | false |
Want to fix something, add a new feature or raise an issue? Please read the contributing guide to get started. 😄
Thanks goes to these wonderful people (emoji key):
Abinav Seelan 💻 📖 🤔 |
Aditi Mohanty 👀 |
This project follows the all-contributors specification. Contributions of any kind welcome!