@abinavseelan/papers-please

0.2.1-beta.0 • Public • Published

papers-please

All Contributors

jest-based test case mandating tool for new code.

PapersPleaseDemoReel

Install

npm install -D papers-please

Requires Node 8+ and Jest 25.x+

⚠️ For coverage reporting, Jest coverage needs be be collected as json-summary.

// In jest.config.js

{
  coverageReporters: ["json-summary"]
}

Usage

CLI

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"

As an npm script

// In your package.json

{
  "scripts": {
    "validate": "npx papers-please --trackGlobs="**/src/**/*.js,**/client/**/*.js,**/server/**/*.js" --baseBranch="main""
  }
}

As a git hook

papers-please can be used alongside husky to run validation on git commit and / or git push.

Options

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

Contributing

Want to fix something, add a new feature or raise an issue? Please read the contributing guide to get started. 😄

Contributors

Thanks goes to these wonderful people (emoji key):


Abinav Seelan

💻 📖 🤔

Aditi Mohanty

👀

This project follows the all-contributors specification. Contributions of any kind welcome!

Package Sidebar

Install

npm i @abinavseelan/papers-please

Weekly Downloads

0

Version

0.2.1-beta.0

License

MIT

Unpacked Size

272 kB

Total Files

6

Last publish

Collaborators

  • abinavseelan