grunt-todo

Find TODO, FIXME and NOTE inside project files

grunt-todo

Find TODO, FIXME and NOTE inside project files.


This plugin requires Grunt ~0.4

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-todo --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-todo');

In your project's Gruntfile, add a section named todo to the data object passed into grunt.initConfig().

grunt.initConfig({
  todo: {
    options: {
      // Task-specific options go here. 
    },
    your_target: {
      // Target-specific file lists and/or options go here. 
    },
  },
});

Type: Array
Default value:

{
  name: "FIX",
  pattern: /FIXME/,
  color: "red"
},
{
  name: "TODO",
  pattern: /TODO/,
  color: "yellow"
},
{
  name: "NOTE",
  pattern: /NOTE/,
  color: "blue"
}

An Array of objects representing the marks to find inside the files.
pattern can be a string or a RegExp. color is a color-name string allowed by chalk. If the color is not one of these, grunt-todo will use cyan.

Type: String (file path)
Default value: false

A file path to log the founded marks, in markdown format.
If false is given, the file will not be written.

Type: Boolean
Default value: false

When logging the found marks to a file, add a github flavoured markdown checkbox for each mark.

Type: String
Default value: Grunt TODO

When logging the founded marks to file, use this as title of the markdown document.

Type: Boolean
Default value: false

When logging the found marks to file, use colophon and timestamp as footer of the markdown document.

Type: Boolean
Default value: false

When 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…).

In this example, the default options are used to shows the TODO, FIXME and NOTE marks founded in the given files.

grunt.initConfig({
  todo: {
    options: {},
    src: [
      'test/*'
    ],
  },
});

In 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

grunt.initConfig({
  todo: {
    options: {
      marks: [
        {
          pattern: "BURP",
          color: "pink"
        },
        {
          name: "TODO",
          pattern: /TODO/,
          color: "yellow"
        }
      ],
      file: "report.md",
      githubBoxes: true,
      colophon: true,
      usePackage: true
    },
    src: [
      'test/*'
    ]
  }
});

In lieu of a formal styleguide, take care to maintain the existing coding style.
Lint and test your code using Grunt.

Many thanks to them. :)

  • 2014/08/07 : v0.4.0
  • 2014/07/15 : v0.3.1
  • 2014/05/15 : v0.3.0
  • 2014/04/28 : v0.2.3
  • 2014/04/27 : v0.2.2
  • 2014/04/27 : v0.2.1
  • 2014/03/14 : v0.2.0
  • 2014/01/26 : v0.1.2
  • 2014/01/26 : v0.1.1
  • 2013/12/29 : v0.1.0