0.2.1-beta.0 • Published 3 years ago

@abinavseelan/papers-please v0.2.1-beta.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

papers-please

All Contributors

jest-based test case mandating tool for new code.

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

OptionTypeDescriptionDefault Value
--baseBranchstringBase branch to validate your branch against to derive new and modified filesorigin/main
--projectRootstringRoot directory for the project. Assume this to be where the .git folder residesprocess.cwd()
--coverageFilestringPath to the jest coverage report. Note The coverage summary report should be the json summary output./coverage/coverage-summary.json
--skipCoveragebooleanSkip coverage metrics validationfalse
--trackGlobsstringList of comma-separated source files / globs to track. Any file that is modified or added that matches the glob pattern will be validated.*/
--branchCoverageThresholdnumberBranch coverage threshold for new files (in percentage)80
--functionCoverageThresholdnumberFunction coverage threshold for new files (in percentage)80
--lineCoverageThresholdnumberLine coverage threshold for new files (in percentage)80
--statementCoverageThresholdnumberStatement coverage threshold for new files (in percentage)80
--helpbooleanShow usage and available optionsfalse
--verbosebooleanShow verbose output for each stepfalse
--exposeMetricsbooleanExposes coverage metrics into a json file for the modified/added files which matches the glob patternfalse

Contributing

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

Contributors ✨

Thanks goes to these wonderful people (emoji key):

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