{"_id":"@abinavseelan/papers-please","_rev":"3-3623c0b293380d8fb9f7fa2850f28517","name":"@abinavseelan/papers-please","dist-tags":{"latest":"0.2.1-beta.0"},"versions":{"0.1.0":{"name":"@abinavseelan/papers-please","version":"0.1.0","description":"jest-based test case mandating tool for new code","main":"lib/index.js","bin":{"papers-please":"bin/papers-please"},"keywords":["jest","cli","tests","ci","coverage","tooling"],"scripts":{"prepare":"husky install","local":"ts-node ./src/index.ts","build":"rollup -c rollup.config.js","pre-commit":"lint-staged","fmt":"eslint ./src/** --quiet --fix","prepublishOnly":"npm run build"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/abinavseelan/papers-please.git"},"author":{"name":"Abinav Seelan","url":"abinav.n.seelan@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/abinavseelan/papers-please/issues"},"homepage":"https://github.com/abinavseelan/papers-please#readme","devDependencies":{"@rollup/plugin-typescript":"^8.2.1","@types/micromatch":"^4.0.1","@types/minimist":"^1.2.1","@types/node":"^15.0.1","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","eslint":"^7.25.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","husky":"^6.0.0","jest":"^26.6.3","lint-staged":"^10.5.4","prettier":"^2.2.1","rollup":"^2.46.0","ts-node":"^9.1.1","typescript":"^4.2.4"},"dependencies":{"chalk":"^4.1.1","micromatch":"^4.0.4","minimist":"^1.2.5","ora":"^5.4.0"},"peerDependencies":{"jest":">= 25.2.0"},"lint-staged":{"*.{ts,js}":["echo '🔍   Checking for linting issues [ts, js]'","eslint"]},"gitHead":"5c6dd8dc10570f97a1393fc2493369f06af4da54","_id":"@abinavseelan/papers-please@0.1.0","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-sfJ02mIbC3AM6Cm/BxsIwqO8sHu4VIrNrQaR9eHHOx8q/Y0eQL87cb1EncerojKN1hGIWoGCZdEzxOu+aYiDbA==","shasum":"c4f84f7aec2dd9f08b1b4d79d998574c60565aab","tarball":"https://registry.npmjs.org/@abinavseelan/papers-please/-/papers-please-0.1.0.tgz","fileCount":6,"unpackedSize":267297,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgjQezCRA9TVsSAnZWagAAoFwP/jZ8cRd0PjfwAnxQ34Zz\n2ebU7RRrTj+5fiJIW1/uC8P+yWutUBQE6UANhrrz0W1Q0vZjy1ukgKLNeePP\nauBKJ7OSC3L8b57BHzd8+t+stmBpgqMyKSelAKK+6k5dsiAlA5Ka+TOJNFlL\n4Q0WGCiqqx57DF3LusvMQB81eISwgRHX+ORyfEpgeqcqB0tbkuYySfQLH+14\nL+AE6Igx94FVJMevgZPV359XHT6i4JqtCJTeRr8X1Gvy89LnXiJPeh9n/cyy\npbdTYsCIXmoklAWl3NSpJI8Ws3AvmUzchnHfBccAJU5UR+J0C/UORGkHFu29\nlUpqih4MdGrMz2SbtrAk6G9n+vY4Az4Pg7EbfL54urdJau8fM1/K+PzCcBx0\nNtUVPnDzpvHVfionh+WpO03iaUL/NgNVDejk7RVPgL8Y1ra9nq/ffhKiWicG\n+oMBrkLYVtyOx5PX5kGJ3aiFfxbAgje1CTXiacTEIN/nUglsUVVjCeDvz+X5\n/7AQ3C3Lfk2+SuEnRnGYeJTbdVe2UsscW2048Hqv5c2koZx0tzJLZhw6Or6n\nw06TpjVwKR1+G6dzp7zsfkDa7wAv708CCrBAlQ3w+vwOd68GbGdeIPCjxsCM\novEMgH536hamg1g7298BctQzWRkmcVYGNGriA69SOvEXs1gvhN0qxZQ2H7Zj\npRot\r\n=fd3S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICJIh2OrNoN16Oi2rGH51POHVg1AYPCY8g6h6s4luUchAiA/dMq0EGGirZkKXLv3ZWr6lsm7MSiFx8i2JPI5wYe7Ew=="}]},"_npmUser":{"name":"abinavseelan","email":"abinav.n.seelan@gmail.com"},"directories":{},"maintainers":[{"name":"abinavseelan","email":"abinav.n.seelan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/papers-please_0.1.0_1619855282970_0.9173110639678117"},"_hasShrinkwrap":false},"0.2.0":{"name":"@abinavseelan/papers-please","version":"0.2.0","description":"jest-based test case mandating tool for new code","main":"lib/index.js","bin":{"papers-please":"bin/papers-please"},"keywords":["jest","cli","tests","ci","coverage","tooling"],"scripts":{"prepare":"husky install","local":"ts-node ./src/index.ts","build":"rollup -c rollup.config.js","pre-commit":"lint-staged","fmt":"eslint ./src/** --quiet --fix","prepublishOnly":"npm run build"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/abinavseelan/papers-please.git"},"author":{"name":"Abinav Seelan","url":"abinav.n.seelan@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/abinavseelan/papers-please/issues"},"homepage":"https://github.com/abinavseelan/papers-please#readme","devDependencies":{"@rollup/plugin-typescript":"^8.2.1","@types/micromatch":"^4.0.1","@types/minimist":"^1.2.1","@types/node":"^15.0.1","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","eslint":"^7.25.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","husky":"^6.0.0","jest":"^26.6.3","lint-staged":"^10.5.4","prettier":"^2.2.1","rollup":"^2.46.0","ts-node":"^9.1.1","typescript":"^4.2.4"},"dependencies":{"chalk":"^4.1.1","micromatch":"^4.0.4","minimist":"^1.2.5","ora":"^5.4.0"},"peerDependencies":{"jest":">= 25.2.0"},"lint-staged":{"*.{ts,js}":["echo '🔍   Checking for linting issues [ts, js]'","eslint"]},"gitHead":"9f885cb49589b2e7bfc4af431c00195887a76fcf","_id":"@abinavseelan/papers-please@0.2.0","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-zt1Ct2JGqkUpsG9QydBq695o8WUkF/2oudsEkMCNy8Q9krvCTAurU5eK1lcAwrOzqiSebQxE4HEqqUuLdMEtaw==","shasum":"ab563de633a93871cc4951fd680fbfc7832d846d","tarball":"https://registry.npmjs.org/@abinavseelan/papers-please/-/papers-please-0.2.0.tgz","fileCount":6,"unpackedSize":267903,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgu8LxCRA9TVsSAnZWagAAMS4P/1gZwDA0Xmi2a4eTltjR\nGCABOFEqmIwwSpzkFtXMy0Zs3SmVCgmzWAG8oOdGaZz9uV3B1BvuPAvnC95O\nQ5TyKlestOqsTp5t9QoUYPhNWa7GgVOG+WbjlxwV03TkLXBWmbcGoptcKiR0\n92q5axaZiMYvrgpInBtf2aRzmkiSby41xVJ/9qyXSC5TdyoqY5LeVFrqFwKV\nZjnYKpxb+CLQAFOFfIJ7JlH6tRw9hgkSLnULdzpgSCDuTspKBy6hRmfoVeYq\ni+GZtxxfltHAyoDT11i3lCkPs2kg06OsNDnCzPYRVoWaPOy7itO8cBp6fr9L\nWBoLxb9TOjsnXtBb3/hAe9p3m8lOqyVWiYJw6teoEh7E0Ox8n3deHc099Nq7\nNYIP1/NExGXC3AaVlgzWi2zILHLlKItqOD0z4hJWRJbepw99wVcoyVUsXk4J\nWnt830Y5KJpDAzGY7AJWntt43uq7neSrZVpn7C3U9WyLZXdICVlAb5Jjzn9v\nOcxQ642qa0FY1SbekA9qf120lP5+OPASRJYb7Q4h+9L+BKtVxwnsMQ8I8pX3\n9LVgp0e/6Oe4x+dFSxiJWSYc6Zh/xROIQBCNSJ/VOeRCYAVsl618RzMk+a0K\n8xRARXMqGYpxIoZuK2ANp9GnYxEifBmxrfMa9XXtZvPwdN2xZhETwqbhB1FL\n6xt5\r\n=UWw5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHJoGco2qqNoa1zy/LitlyY+CDEsM9GUY/ugoY/WLr5QIhAP8HsZxGpSLqcJ0fP1Dl/sOGLd00llSMN4IVLTDChWMh"}]},"_npmUser":{"name":"abinavseelan","email":"abinav.n.seelan@gmail.com"},"directories":{},"maintainers":[{"name":"abinavseelan","email":"abinav.n.seelan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/papers-please_0.2.0_1622917873568_0.6372790178918977"},"_hasShrinkwrap":false},"0.2.1-beta.0":{"name":"@abinavseelan/papers-please","version":"0.2.1-beta.0","description":"jest-based test case mandating tool for new code","main":"lib/index.js","bin":{"papers-please":"bin/papers-please"},"keywords":["jest","cli","tests","ci","coverage","tooling"],"scripts":{"prepare":"husky install","local":"ts-node ./src/index.ts","build":"rollup -c rollup.config.js","pre-commit":"lint-staged","fmt":"eslint ./src/** --quiet --fix","prepublishOnly":"npm run build"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/abinavseelan/papers-please.git"},"author":{"name":"Abinav Seelan","url":"abinav.n.seelan@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/abinavseelan/papers-please/issues"},"homepage":"https://github.com/abinavseelan/papers-please#readme","devDependencies":{"@rollup/plugin-typescript":"^8.2.1","@types/micromatch":"^4.0.1","@types/minimist":"^1.2.1","@types/node":"^15.0.1","@typescript-eslint/eslint-plugin":"^4.22.0","@typescript-eslint/parser":"^4.22.0","eslint":"^7.25.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","husky":"^6.0.0","jest":"^26.6.3","lint-staged":"^10.5.4","prettier":"^2.2.1","rollup":"^2.46.0","ts-node":"^9.1.1","typescript":"^4.2.4"},"dependencies":{"chalk":"^4.1.1","micromatch":"^4.0.4","minimist":"^1.2.5","ora":"^5.4.0"},"peerDependencies":{"jest":">= 25.2.0"},"lint-staged":{"*.{ts,js}":["echo '🔍   Checking for linting issues [ts, js]'","eslint"]},"gitHead":"f5e8dcfaff23e2e9628e2d18cf116cb8db36e2c8","_id":"@abinavseelan/papers-please@0.2.1-beta.0","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-1+dg87RQ0ugzzHaBwnnGTMbn2bmhg+E2nIJAzV4VfqZF9sCrSTCwIHCyc5d/oSsXjK8V/pW4uQ7CgFHiPC9/Fg==","shasum":"4bf0771c9968880dbfa8db9d40e1cc8c698c0872","tarball":"https://registry.npmjs.org/@abinavseelan/papers-please/-/papers-please-0.2.1-beta.0.tgz","fileCount":6,"unpackedSize":271579,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCjD5CRA9TVsSAnZWagAAg04P/1VWb5MPl4Pf7f9tXHoz\n2qEEgIrZ8GcyXikCG6rSB8kwHiFl7CqgWUX/axiKFDakWxy/20DCPJB5kPdh\nABVETqnpr8pIsizFqHt0Xxce+Tsh0GYKHQ+C1qj0exS4tI137twal9SN6DKx\nXCa+/wTQ8sagHvgD8kLgCnYFrw5GBTbr/sqJ+FictZp9FDemsR3oO4RgQiOj\niYb6STbEYvzdweUw6+zwZKRHAyqhpBJrKZJX9bN343u1uq5LIUJCGu0iKHft\nP4MGfi9unUlckz1+a496Pau9RiFU1F0UxXVJc9ZpoYnklIJyHbc7UGHrKjjL\nGVoLdtvVSp8mU1CcYAqPOZpfEnSFqG3djj41PMGZIQtTDXqvMm/J2hQ5uYVw\nd8fGWCtcBNN3RxeSFu/zBRZIVLMIefoEn3kEWQFgt7EvjwchzLnEl/AeoOqs\nxIqV6hMjY/8LAGVOaQfS2Mf4ffhTh8VmqrC1ca+7HW+hr7OCG2fgDCjnwNkv\nJ6B1gNIvSJvjJjQFY2nl1voTPGmvLd4/SEHDaAHpuCGdtCHYzJSxGw5uwThU\nrpnJ8Nwlae276/+CjDMekM/WMa+9vyZwDj5u3HSrSnBPbAmt4YPOhPVCJ+ur\nfubzrfqRF7xinJXHVekjfsX/9jf//h4mxA4Tb96OdyE1uc2c1cF9r2/CNpBh\nFkKt\r\n=OaAe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBw3mCAXwFY34RFixre3am7ebPR2I+9aqcdjgq2Kvf65AiEAk4b5mdXxHNGz4FcHTBbnHO1wMLHk5mhWCWxoH1X8hWI="}]},"_npmUser":{"name":"abinavseelan","email":"abinav.n.seelan@gmail.com"},"directories":{},"maintainers":[{"name":"abinavseelan","email":"abinav.n.seelan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/papers-please_0.2.1-beta.0_1628057849806_0.5870183563968501"},"_hasShrinkwrap":false}},"time":{"created":"2021-05-01T07:48:02.922Z","0.1.0":"2021-05-01T07:48:03.124Z","modified":"2022-04-04T10:59:36.993Z","0.2.0":"2021-06-05T18:31:13.922Z","0.2.1-beta.0":"2021-08-04T06:17:29.972Z"},"maintainers":[{"name":"abinavseelan","email":"abinav.n.seelan@gmail.com"}],"description":"jest-based test case mandating tool for new code","homepage":"https://github.com/abinavseelan/papers-please#readme","keywords":["jest","cli","tests","ci","coverage","tooling"],"repository":{"type":"git","url":"git+https://github.com/abinavseelan/papers-please.git"},"author":{"name":"Abinav Seelan","url":"abinav.n.seelan@gmail.com"},"bugs":{"url":"https://github.com/abinavseelan/papers-please/issues"},"license":"MIT","readme":"# papers-please\n<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->\n[![All Contributors](https://img.shields.io/badge/all_contributors-2-orange.svg?style=flat-square)](#contributors-)\n<!-- ALL-CONTRIBUTORS-BADGE:END -->\n\n> jest-based test case mandating tool for new code.\n\n<img width=\"100%\" src=\"https://user-images.githubusercontent.com/6417910/116773983-dae16700-aa76-11eb-811c-dd0f2bfbcb1b.gif\" alt=\"PapersPleaseDemoReel\" />\n\n## Install \n\n```\nnpm install -D papers-please\n```\n\nRequires Node 8+ and [Jest](https://jestjs.io/docs/getting-started) 25.x+\n\n⚠️ For coverage reporting, Jest coverage needs be be collected as `json-summary`.\n\n```\n// In jest.config.js\n\n{\n  coverageReporters: [\"json-summary\"]\n}\n```\n\n## Usage\n\n### CLI\n\n```\nnpx papers-please --trackGlobs=\"<comma separated list of file globs to track>\" --baseBranch=\"<branch to check file diff against>\"\n```\n\nExample\n\n```\nnpx papers-please --trackGlobs=\"**/src/**/*.js,**/client/**/*.js,**/server/**/*.js\" --baseBranch=\"main\"\n```\n\n### As an npm script\n\n```\n// In your package.json\n\n{\n  \"scripts\": {\n    \"validate\": \"npx papers-please --trackGlobs=\"**/src/**/*.js,**/client/**/*.js,**/server/**/*.js\" --baseBranch=\"main\"\"\n  }\n}\n```\n\n### As a git hook\n\n_papers-please_ can be used alongside [husky](https://typicode.github.io/husky/#/) to run validation on git commit and / or git push.\n\n## Options\n\n| Option                       | Type    | Description                                                                                                                                | Default Value                    |\n|------------------------------|---------|--------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------|\n| --baseBranch                 | string  | Base branch to validate your branch against to derive new and modified files                                                               | origin/main                      |\n| --projectRoot                | string  | Root directory for the project. Assume this to be where the .git folder resides                                                            | process.cwd()                    |\n| --coverageFile               | string  | Path to the jest coverage report. **Note** The coverage summary report should be the json summary output                                   | ./coverage/coverage-summary.json |\n| --skipCoverage               | boolean | Skip coverage metrics validation                                                                                                           | false                            |\n| --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. | **/*                             |\n| --branchCoverageThreshold    | number  | Branch coverage threshold for new files (in percentage)                                                                                    | 80                               |\n| --functionCoverageThreshold  | number  | Function coverage threshold for new files (in percentage)                                                                                  | 80                               |\n| --lineCoverageThreshold      | number  | Line coverage threshold for new files (in percentage)                                                                                      | 80                               |\n| --statementCoverageThreshold | number  | Statement coverage threshold for new files (in percentage)                                                                                 | 80                               |\n| --help                       | boolean | Show usage and available options                                                                                                           | false                            |\n| --verbose                    | boolean | Show verbose output for each step                                                                                                          | false                            |\n| --exposeMetrics              | boolean | Exposes coverage metrics into a json file for the modified/added files which matches the glob pattern                                                       | false                            |\n\n## Contributing\n\nWant to fix something, add a new feature or raise an issue? Please read the [contributing guide](https://github.com/abinavseelan/papers-please/blob/main/CONTRIBUTING.md) to get started. :smile:\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n  <tr>\n    <td align=\"center\"><a href=\"https://abinavseelan.com\"><img src=\"https://avatars.githubusercontent.com/u/6417910?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Abinav Seelan</b></sub></a><br /><a href=\"https://github.com/abinavseelan/papers-please/commits?author=abinavseelan\" title=\"Code\">💻</a> <a href=\"https://github.com/abinavseelan/papers-please/commits?author=abinavseelan\" title=\"Documentation\">📖</a> <a href=\"#ideas-abinavseelan\" title=\"Ideas, Planning, & Feedback\">🤔</a></td>\n    <td align=\"center\"><a href=\"https://aditimohanty.com\"><img src=\"https://avatars.githubusercontent.com/u/6426069?v=4?s=100\" width=\"100px;\" alt=\"\"/><br /><sub><b>Aditi Mohanty</b></sub></a><br /><a href=\"https://github.com/abinavseelan/papers-please/pulls?q=is%3Apr+reviewed-by%3Arheaditi\" title=\"Reviewed Pull Requests\">👀</a></td>\n  </tr>\n</table>\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","readmeFilename":"README.md"}