@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!

    Install

    npm i @abinavseelan/papers-please

    DownloadsWeekly Downloads

    6

    Version

    0.2.1-beta.0

    License

    MIT

    Unpacked Size

    272 kB

    Total Files

    6

    Last publish

    Collaborators

    • abinavseelan