TODO
's that speak up for themselves via the TypeScript Language Server.
// Will result in your editor showing an error: "It's time to do it!"
// TODO::after_date("2021-04-02"): remove april fools code
// Will result in your editor showing an error:
// "Your package has arrived! now on 4.5.1"
// FIXME::when("typescript", ">4.5.0"): check your types
This plugin requires a project with TypeScript setup.
- Install dependency
npm install --save-dev typescript-todo-or-die-plugin
or
yarn add typescript-todo-or-die-plugin --dev
- Add a plugins section to your tsconfig.json.
{
"compilerOptions": {
"plugins": [
{
"name": "typescript-todo-or-die-plugin",
"options": {
"after_date": {
"warn": "1w"
},
"when": {
"warn": "1p"
}
},
"additionalKeywords": ["FIX", "TODO_OR_DIE"]
}
]
}
}
- Add
TODO
's with conditions to your codebase
Note: If you're using Visual Studio Code, you'll have to run the "TypeScript: Select TypeScript Version" command and choose "Use Workspace Version", or click the version number next to "TypeScript" in the lower-right corner. Otherwise, VS Code will not be able to find your plugin.
-
Follow steps 1 and 2 from "Run as language server plugin"
-
Run in command line:
tod <file|dir|glob...>
- All errors and warnings in the given range of files are outputted to the terminal. When there is at least one error the process will exit with code 1. In the ci the process will exit with code 1 when there is at least one warning.
The following conditions are available to use inside your TODO
comments
Param | Type | Description |
---|---|---|
date | yyyy-mm-dd |
Date after which an error will be shown. |
Show an error if today is after the given date
- warn?: string | boolean (Ex: '1w'/'2d'/'30h'/true)
Show a warning before the given date
Param | Type | Description |
---|---|---|
package | string | Package name to be tracked as defined in the package.json file. |
version | >1.0.0 |
A comparator (> or = ) followed by the version to be matched |
Show an error when version is compared with the current version as defined in the
package.json
file.
- warn?: string | boolean (Ex: '1M'/'2m'/'4p'/true)
Show a warning before the given version matching on M - major versions, m -
minor versions, p - patches. Defaults to 1 patch ahead when warn
option is present.
Param | Type | Description |
---|---|---|
branch_name | string | Git branch, on which an error will be shown |
Show an error if current git branch matches specified one
By default TODO
& FIXME
are valid keywords to use for your todo comments. Additional keywords can be added as shown here:
"plugins": [
{
"name": "typescript-todo-or-die-plugin",
"additionalKeywords": ["FIX", "TODO_OR_DIE"]
}
]
Made with contributors-img.