TODOPlugin
The TODOPlugin is a webpack plugin designed to search for TODO comments in specified files and directories of your project, and generate a JSON file containing information about these TODO items. It provides flexibility to customize the search criteria based on custom patterns and directory paths.
Features
- Search for TODO comments in specified files and directories.
- Customize search criteria with custom TODO patterns.
- Generate a JSON file containing information about TODO items found.
Installation
You can install the TODOPlugin via npm:
npm install webpack-todo-plugin --save-dev
Usage
To use the TODOPlugin in your webpack configuration, follow these steps:
- Import the plugin into your webpack configuration file:
const TODOPlugin = require('webpack-todo-plugin');
- Add the plugin to the
plugins
array in your webpack configuration, passing any necessary options:
module.exports = {
plugins: [
new TODOPlugin({
directory: 'src',
customPatterns: ['FIXME', 'HACK'],
}),
],
};
- Run webpack to trigger the plugin and generate the JSON file containing TODO items:
npx webpack
- View the generated
todo.json
file in the specified output directory to see the detected TODO items.
CLI Command
You can also use the webpack-todo show command to display the TODO items directly from the command line. Make sure to run this command after running webpack to generate the todo.json file.
npx webpack-todo show
Options
The TODOPlugin supports the following options:
directory
(String, required): The directory path to search for TODO comments. Default 'src'.customPatterns
(Array, required): Custom patterns to match for TODO comments. Default 'TODO', 'FIXME'.
Example
Here's an example webpack configuration using the TODOPlugin:
const path = require('path');
const TODOPlugin = require('webpack-todo-plugin');
module.exports = {
mode: 'development',
entry: './src/index.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js',
},
plugins: [
new TODOPlugin({
directory: 'src',
customPatterns: ['TODO', 'FIXME'],
}),
],
};
License
This project is licensed under the MIT License.
Acknowledgements
The TODOPlugin is built using webpack.