technical-debt-cli v2.2.0
Technical debit cli
Print your ToDo as an alfabetical ordered list in the terminal in order to manage better your technical debt. technical-debt-cli looks for language-todo comments in your code and prints them. Useful to watch your technical debt and remember how big is it.

Why?
- Wikipedia - technical debt
- Medium article - How to manage a technical debt
- Agile article - How to manage a technical debt
Install
$ npm install technical-debt-cliUsage
Import as JavasScript module
import TodoCli from 'technical-debt-cli';
// On startup a server file
TodoCli.init(options);Output
The list will be printed in the terminal when code run.
Pro tip!: Write a comment starting with
[number]to order them by priority
ā List of your technical debt:
================================
[1] Lorem ipsum dolor sit amet, consectetur adipisicing elit.
[2] Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
[3] Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.
--------------------
Total: 3Options
const options = {
target: [glob-options],
ignore: ['readme.md', 'index.js', 'node_modules'],
verbose: <Boolean>,
re: RegEx
};option.target
Array of strings - (Required) - Any Glob pattern rule
option.ignore
ignore instance - Could be a String, an array of Strings, or an instance of node-ignore. String values must contain the glob pattern to be ignored. The package also read the .gitignore file in order to not to read ignores files by your repo. It is a bypass of ignore ignore option.
option.verbose
Boolean - In verbose mode, the program prints a list of target files.
option.re
Regular Expresion - Regular expression to use on matches. It is only one regular expression for all possible matches. Value by default is /(?:<%|<#|<!--|\/\*|\/\/|#|'|--|%|=begin|\{\-|\(\*|\{{2}!|@\*)\s?@?todo:\s?(.*?)(?:%>|#>|\-\->|\*\/|\n|=end|\-\}|\*\)|\{{2}|\*@)/gmi. This regular expression captures the comment text inside the following comments syntax
<!-- TODO: Capture 0 -->
<% TODO: Capture 1 %>
@* TODO: Capture 1 *@
<# TODO: Capture 2 #>
// Todo: Capture 3
# Todo: Capture 4
/* TODO: Capture 5 */
' TODO: Capture 6
-- TODO: Capture 7
% TODO: Capture 8
=begin Todo: Capture 9 =end
{- Todo: Capture 10 -}
(* Todo: Capture 11 *)
{{! Todo: Capture 12 }}
<!-- @todo: Capture 0 -->
<% @todo: Capture 1 %>
<# @todo: Capture 2 #>
// @todo: Capture 3
@* @todo: Capture 1 *@
# @todo: Capture 4
/* @todo: Capture 5 */
' @todo: Capture 6
-- @todo: Capture 7
% @todo: Capture 8
=begin @todo: Capture 9 =end
{- @todo: Capture 10 -}
(* @todo: Capture 11 *)
{{! @todo: Capture 12 }}Support languages
Euphoria Haskell SQL Ada AppleScript Eiffel Lua VHDL SGML PureScript ActionScript C C++ C# D F# Go Java JavaScript Kotlin Delphi Objective-C PHP Rust Scala SASS Swift Xojo Bourne shell and other UNIX shells Cobra Perl Python Ruby Seed7 Windows PowerShell PHP R Make Maple Elixir Nim TeX Prolog MATLAB Erlang S-Lang Visual Prolog ActionScript AutoHotkey C C++ C# D,Go Java JavaScript kotlin Objective-C PHP PL/I Prolog Rexx Rust Scala SAS SASS SQL Swift Visual Prolog CSS Razor
Editors
Test
$ npm run testHow to collaborate
We use GitHub Flow as branching model. Open a branch from master and push to review it. Pro Tip! Check the .todo file to know what contribuite to.