2.2.0 ā€¢ Published 3 years ago

technical-debt-cli v2.2.0

Weekly downloads
1
License
MIT
Repository
-
Last release
3 years ago

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.

Screen record

Why?

Install

$ npm install technical-debt-cli

Usage

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: 3

Options

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 test

How 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.