{"_id":"@caldwell619/todo-checker","name":"@caldwell619/todo-checker","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@caldwell619/todo-checker","version":"0.0.1","main":"dist/index.js","bin":{"todo-checker":"bin/index.js"},"license":"MIT","scripts":{"demo":"ts-node demo/index.ts","format":"prettier --write .","lint":"eslint ./ --ext .ts","type-check":"tsc --noEmit","build":"ts-node esbuild.config.ts","publish:version":"sh scripts/publish.sh"},"repository":{"type":"git","url":"https://github.com/christopher-caldwell/todo-checker"},"dependencies":{"clipanion":"^4.0.0-rc.2","comment-parser":"^1.4.0","dayjs":"^1.11.9","fs-extra":"^11.1.1","typanion":"^3.14.0"},"devDependencies":{"@actions/core":"^1.10.1","@types/cli-progress":"^3.11.2","@types/fs-extra":"^11.0.1","@types/jest":"^29.5.4","@types/node":"^20.6.0","@typescript-eslint/eslint-plugin":"^6.7.0","@typescript-eslint/parser":"^6.7.0","esbuild":"^0.19.3","eslint":"^8.49.0","eslint-plugin-prettier":"^5.0.0","glob":"^10.3.4","jest":"^29.7.0","prettier":"^2.0.5","standard-version":"^9.1.1","ts-jest":"^29.1.1","ts-node":"^10.9.1","tsconfig-paths":"^4.2.0","typescript":"^5.2.2"},"description":"CLI for tacking the status of your outstanding TODO comments.","_id":"@caldwell619/todo-checker@0.0.1","dist":{"shasum":"f2979bb31b08c335218a9905d5e0b5e78c61c9b3","integrity":"sha512-o6YuHU2wSPWNTXuok14hmAsK7fcKa7or2pOwN1DRhdOAJ7T0mnnesWNPZXL0qhXOl24VCf8L1edrIiWO0fuSTQ==","tarball":"https://registry.npmjs.org/@caldwell619/todo-checker/-/todo-checker-0.0.1.tgz","fileCount":46,"unpackedSize":27327,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGA57uGdgCuPcuReSoN4vrVOHW9WImBZMrO63de4a1SwAiEAzQGd2jhMdJx9g3GpayYU4BE2cqfgpsLSwEcuUX7QHbE="}]},"_npmUser":{"name":"caldwell619","email":"caldwell8814@gmail.com"},"directories":{},"maintainers":[{"name":"caldwell619","email":"caldwell8814@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/todo-checker_0.0.1_1694968328609_0.5741900718091322"},"_hasShrinkwrap":false}},"time":{"created":"2023-09-17T16:32:08.486Z","0.0.1":"2023-09-17T16:32:08.835Z","modified":"2023-09-17T16:32:09.118Z"},"maintainers":[{"name":"caldwell619","email":"caldwell8814@gmail.com"}],"description":"CLI for tacking the status of your outstanding TODO comments.","repository":{"type":"git","url":"https://github.com/christopher-caldwell/todo-checker"},"license":"MIT","readme":"# TODO Checker\n\nCLI for tacking the status of your outstanding TODO comments.\n\nTook the of inspiration from [Shopify's smart todo](https://github.com/Shopify/smart_todo), but this is language agnostic (geared towards JS).\n\n<p align=\"center\">\n  <h4/>\n  <img src=\"https://img.shields.io/npm/v/@caldwell619/todo-checker\">\n  <img src=\"https://img.shields.io/bundlephobia/min/@caldwell619/todo-checker\">\n  <img src=\"https://img.shields.io/github/last-commit/christopher-caldwell/todo-checker\">\n  <img src=\"https://img.shields.io/npm/types/@caldwell619/todo-checker\">\n</p>\n\n## Demo\n\n## Install\n\n```bash\nyarn add @caldwell619/todo-checker\n# or\nnpm install --save @caldwell619/todo-checker\n```\n\n## Usage\n\nThis tool is available in 3 forms.\n\n### Code DIY\n\n```ts\nimport { check } from '@caldwell619/todo-checker'\n\nconst result = await check({\n  pathToSource: './demo/example-source',\n})\n```\n\n### CLI\n\n<details><summary>Full List of Arguments</summary>\n\n**None** of the arguments are required. They all have default values.\n\n| Name                           | Description                                                                            |             Default              |\n| ------------------------------ | -------------------------------------------------------------------------------------- | :------------------------------: |\n| `--pathToSource` - `-ps`       | Relative path to directory to check                                                    |               `.`                |\n| `--glob` - `-g`                | Glob Expression to check if a file should be checked                                   |               `**`               |\n| `--ignorePatterns` - `-ign`    | File patterns checker will ignore. Provide array like string, parsable by `JSON.parse` | `['node_modules/**', '.git/**']` |\n| `--cutoffDate` - `-cod`        | Cutoff date for a todo passing. Defaults to todays date                                |               Now                |\n| `--logLevel` - `-ll`           | Log level of conversion                                                                |             `quiet`              |\n| `--maxNumberOfOverdue` - `-mo` | Maximum number of overdue todos you consider successful                                |               `0`                |\n| `--allowMalformedTodo` - `-al` | Allow a non-standard todo to be present and still pass                                 |             `false`              |\n\n</details>\n\n```shell\nnpx @caldwell619/todo-checker \\\n  -ps ./demo/example-source\n```\n\n### GitHub Action\n\nThis tool is also available as a GH action\n\n<details><summary>Full List of Arguments</summary>\n\n**None** of the arguments are required. They all have default values.\n\n| Name                      | Description                                                                            |             Default              |\n| ------------------------- | -------------------------------------------------------------------------------------- | :------------------------------: |\n| `path-to-source`          | Relative path to directory to check                                                    |               `.`                |\n| `glob`                    | Glob Expression to check if a file should be checked                                   |               `**`               |\n| `ignore-patterns`         | File patterns checker will ignore. Provide array like string, parsable by `JSON.parse` | `['node_modules/**', '.git/**']` |\n| `cutoff-date`             | Cutoff date for a todo passing. Defaults to todays date                                |               Now                |\n| `log-level`               | Log level of conversion                                                                |             `quiet`              |\n| `max-overdue` - `-mo`     | Maximum number of overdue todos you consider successful                                |               `0`                |\n| `allow-malformed` - `-al` | Allow a non-standard todo to be present and still pass                                 |             `false`              |\n\n</details>\n\n```yml\njobs:\n  todo-check:\n    runs-on: ubuntu-latest\n    name: Check the validity of my TODOs\n    steps:\n      - name: Check me\n        id: checker\n        uses: christopher-caldwell/todo-checker\n        with:\n          # All of the values shown below are the defaults. None are required\n          path-to-source: '.'\n          file-glob: '**'\n          ignore-patterns: '[\"node_modules\", \".git\"]'\n          cutoff-date: '2023-10-11'\n          log-level: 'quiet'\n          max-overdue: 0\n          allow-malformed: false\n        outputs:\n          num-passed:\n            description: 'Number of files with TODOs that passed'\n          num-failed:\n            description: 'Number of files with TODOs that failed'\n          num-files-checked:\n            description: 'Number of files in total checked'\n      # Use the output from the `hello` step\n      - name: Show the total number of files passed\n        run: echo \"Number of files that passed ${{ steps.checker.outputs.num-passed }}\"\n      - name: Show the total number of files failed\n        run: echo \"Number of files that failed ${{ steps.checker.outputs.num-failed }}\"\n      - name: Show the total number of files checked\n        run: echo \"Number of files that failed ${{ steps.checker.outputs.num-files-checked }}\"\n```\n\n## License\n\nMIT © [christopher-caldwell](https://github.com/christopher-caldwell)\n","readmeFilename":"README.md"}