{"id":18774184,"url":"https://github.com/leny/grunt-todo","last_synced_at":"2025-04-13T09:21:11.989Z","repository":{"id":12825637,"uuid":"15500894","full_name":"leny/grunt-todo","owner":"leny","description":"Find TODO, FIXME \u0026 NOTE in project files...","archived":false,"fork":false,"pushed_at":"2021-04-28T21:51:35.000Z","size":53,"stargazers_count":24,"open_issues_count":3,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-27T00:54:56.079Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leny.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-MIT","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-12-28T23:58:03.000Z","updated_at":"2023-06-19T00:33:07.000Z","dependencies_parsed_at":"2022-09-07T22:20:57.450Z","dependency_job_id":null,"html_url":"https://github.com/leny/grunt-todo","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leny%2Fgrunt-todo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leny%2Fgrunt-todo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leny%2Fgrunt-todo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leny%2Fgrunt-todo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leny","download_url":"https://codeload.github.com/leny/grunt-todo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248487732,"owners_count":21112188,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T19:37:41.051Z","updated_at":"2025-04-13T09:21:11.965Z","avatar_url":"https://github.com/leny.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# grunt-todo\n\n![NPM version](http://img.shields.io/npm/v/grunt-todo.svg) ![Dependency Status](https://david-dm.org/leny/grunt-todo.svg) ![Downloads counter](http://img.shields.io/npm/dm/grunt-todo.svg)\n\n\u003e Find TODO, FIXME and NOTE inside project files.\n\n* * *\n\n## Getting Started\n\nThis plugin requires Grunt `~0.4`\n\nIf you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:\n\n```shell\nnpm install grunt-todo --save-dev\n```\n\nOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:\n\n```js\ngrunt.loadNpmTasks('grunt-todo');\n```\n\n## The \"todo\" task\n\n### Overview\n\nIn your project's Gruntfile, add a section named `todo` to the data object passed into `grunt.initConfig()`.\n\n```js\ngrunt.initConfig({\n  todo: {\n    options: {\n      // Task-specific options go here.\n    },\n    your_target: {\n      // Target-specific file lists and/or options go here.\n    },\n  },\n});\n```\n\n### Options\n\n#### options.marks\n\nType: `Array`  \nDefault value:  \n```js\n{\n  name: \"FIX\",\n  pattern: /FIXME/,\n  color: \"red\"\n},\n{\n  name: \"TODO\",\n  pattern: /TODO/,\n  color: \"yellow\"\n},\n{\n  name: \"NOTE\",\n  pattern: /NOTE/,\n  color: \"blue\"\n}\n```\n\nAn Array of objects representing the marks to find inside the files.  \n`pattern` can be a string or a `RegExp`.\n`color` is a color-name string allowed by [chalk](https://npmjs.org/package/chalk). If the color is not one of these, *grunt-todo* will use **cyan**.\n\n#### options.file\n\nType: `String` (file path)  \nDefault value: `false`\n\nA file path to log the founded marks, in *markdown* format.  \nIf `false` is given, the file will not be written.\n\n#### options.githubBoxes\n\nType: `Boolean`  \nDefault value: `false`\n\nWhen logging the found marks to a file, add a [github flavoured markdown](https://github.com/blog/1825-task-lists-in-all-markdown-documents) checkbox for each mark.\n\n#### options.title\n\nType: `String`  \nDefault value: `Grunt TODO`\n\nWhen logging the founded marks to file, use this as title of the markdown document.\n\n#### options.colophon\n\nType: `Boolean`  \nDefault value: `false`\n\nWhen logging the found marks to file, use colophon and timestamp as footer of the markdown document.\n\n#### options.usePackage\n\nType: `Boolean`  \nDefault value: `false`\n\nWhen enabled, if you launch your grunt-todo task from a folder containing a `package.json` file (like 99% of use cases), grunt-todo will use some of the package's informations to make the report file a little more informative (use project's name as title, show version and description, links to the homepage…).\n\n#### options.logOutput\n\nType: `Boolean`  \nDefault value: `true`\n\nYou can disable the task to output the marks on the console by setting this to `false`.\n\n### Usage Examples\n\n#### Default Options\n\nIn this example, the default options are used to shows the *TODO*, *FIXME* and *NOTE* marks founded in the given files.\n\n```js\ngrunt.initConfig({\n  todo: {\n    options: {},\n    src: [\n      'test/*'\n    ],\n  },\n});\n```\n\n#### Custom Options\n\nIn this example, custom options are used to shows the *TODO* and *BURP* marks founded in the given files, and write the results on a file named `report.md`\n\n```js\ngrunt.initConfig({\n  todo: {\n    options: {\n      marks: [\n        {\n          pattern: \"BURP\",\n          color: \"pink\"\n        },\n        {\n          name: \"TODO\",\n          pattern: /TODO/,\n          color: \"yellow\"\n        }\n      ],\n      file: \"report.md\",\n      githubBoxes: true,\n      colophon: true,\n      usePackage: true\n    },\n    src: [\n      'test/*'\n    ]\n  }\n});\n```\n\n## Contributing\n\nIn lieu of a formal styleguide, take care to maintain the existing coding style.  \nLint and test your code using [Grunt](http://gruntjs.com/).\n\n### Contributors\n\n* [brutalhonesty](https://github.com/brutalhonesty)\n* [zachwolf](https://github.com/zachwolf)\n* [edwellbrook](https://github.com/edwellbrook)\n* [furzeface](https://github.com/furzeface)\n* [mstrutt](https://github.com/mstrutt)\n\nMany thanks to them. :)\n\n## Release History\n\n* **2015/02/28** : v0.5.0\n* **2014/08/07** : v0.4.0\n* **2014/07/15** : v0.3.1\n* **2014/05/15** : v0.3.0\n* **2014/04/28** : v0.2.3\n* **2014/04/27** : v0.2.2\n* **2014/04/27** : v0.2.1\n* **2014/03/14** : v0.2.0\n* **2014/01/26** : v0.1.2\n* **2014/01/26** : v0.1.1\n* **2013/12/29** : v0.1.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleny%2Fgrunt-todo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleny%2Fgrunt-todo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleny%2Fgrunt-todo/lists"}