fixme-to-issue

    1.0.5 • Public • Published

    fixme-to-issue

    Automagically turn your code annotations (like TODO or FIXME ) to github / gitlab issues. This repository is a fork of the excellent fixme repository + adding github support.

    Installation

    npm install -g fixme-to-issue
    

    Usage

    There are two ways to use fixme-to-issue:

    • Options can be retrieved from configuration file:
      • Create a .fixme-to-issue file at the root of your folder
      • Then simply fixme-to-issue
    • Options can be passed in CLI
    fixme-to-issue [options]
    

    Config file

    Include a .fixme-to-issue in the root folder of your project and update the configuration:

    {
      "max_line_length": 1000, // number of max characters a line (default: 1000)
      "ignore_hidden": false, // ignore hidden files (default: false)
      "use_git_ignore": true, ignore patterns from your .gitignore file. This parameter accepts the path for the .gitIgnore file (default: false | no .gitignore is read
      "ignored_directories": ["bin"], Path patterns to exclude (default: include all files and directories)
      "encoding": "utf8", file encoding to be scanned (default: utf8)
      "github": {
        "username": "USERNAME", // github username with push rights to the current repository
        "password": "PASSWORD" // github password
      },
      "prefix": "[Issue Bot]", // Prefix to use when creating issues
      "annotations": [{ // List of annotations
        "name": "NOTE",
        "label": "notes",
        "color": "green"
      },
      {
        "name": "FIXME",
        "label": "fixme",
        "color": "red"
      },
      {
        "name": "TODO",
        "label": "todos",
        "color": "magenta"
      },
      {
        "name": "BUG",
        "label": "bug",
        "color": "white.bgRed"
      },
      {
        "name": "OPTIMIZE",
        "label": "enhancements",
        "color": "blue"
      },
      {
        "name": "HACK",
        "label": "need help",
        "color": "yellow"
      },
      {
        "name": "XXX",
        "label": "need help",
        "color": "black.bgYellow"
      },
      {
        "name": "CUSTOM",
        "label": ["my custom github label", "amazing", "hard"],
        "color": "grey"
      }]
    }
    

    CLI Options

    -h, --help               output usage information
    -V, --version            output the version number
    -s, --source [dir]       root directory to be included only for checks (default: current working directory)
    -x, --patterns [dir]     Path patterns to exclude (default: include all files and directories)
    -e, --encoding [type]    file encoding to be scanned (default: utf8)
    -i, --include [dir]      Path patterns to include only (default: include all files and directories). Note that include patterns will overwrite any exclude patterns
    -l, --line-length <n>    number of max characters a line (default: 1000)
    -h, --ignore-hidden <n>  ignore hidden files (default: false)
    -g, --git-ignore <n>     ignore patterns from your .gitignore file. This paramter accepts the path for the .gitIgnore file (default: false | no .gitignore is read
    -u, --github_username    github username with push rights to the current repository
    -p, --github_password    github password
    -a, --annotations[array] array of annotations
    -r, --prefix             Prefix to use when creating issues
    

    Custom Annotations

    You can create your own custom annotations by adding them to the .fixme-to-issue file, you need to add an object containting:

    • name: name of the custom annotation, and then the program will look for this "annotation name" in your code
    • label: the issues will be created and use this github label, it can be a string or an array of labels
    • color: The color in the console output, it has to be a chalk color

    Example:

    {
      "name": "CUSTOM",
      "label": "custom github label",
      "color": "green"
    }
    

    Install

    npm i fixme-to-issue

    DownloadsWeekly Downloads

    2

    Version

    1.0.5

    License

    MIT

    Last publish

    Collaborators

    • aymen.mouelhi