dshster / ntl

Npm Task List: Interactive cli menu to list/run npm tasks

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ntl

NPM version Build Status License Join the chat at https://gitter.im/ipipeto/Lobby

Npm Task List

Interactive cli menu to list and run npm tasks.

demo gif

An iPipeTo workflow


Install

$ npm install -g ntl

OR

just run it at once using npx:

npx ntl

Usage

cd to a folder containing a package.json files that has configured scripts, then:

ntl

You can also specify a project folder containing a package.json file:

ntl ./my-node-project

Exclude scripts

Example package.json:

{
  "scripts": {
    "test": "jest --coverage",
    "test:watch": "jest --coverage --watchAll",
    "coveralls": "jest --coverage --coverageReporters=text-lcov | coveralls",
    "tasks": "ntl --exclude coverall tasks"
  }
}

You can define a list of scripts to be excluded from the interactive menu:

$ ntl --exclude coverall tasks
✔  Npm Task List - v3.0.0
? Select a task to run: (Use arrow keys)
❯ test
  test:watch
  coveralls

You can also use a wildcard character to exclude multiple scripts with one string:

$ ntl --exclude "test*"
✔  Npm Task List - v3.0.0
? Select a task to run: (Use arrow keys)
❯ coveralls
  tasks

Using task descriptions

You can define descriptions for your tasks in your package.json file by defining a ntl section, e.g:

{
  "ntl": {
    "descriptions": {
      "build": "Builds the project",
      "coverage": "Run test outputing code coverage",
      "test": "Run project's tests"
    }
  }
}

These descriptions will be shown anytime you run ntl using the option: ntl -d


More info

cli options can also be invoked as their shorter alias:

  • -a -> --all
  • -m -> --multiple
  • -s -> --size
  • -i -> --info
  • -d -> --descriptions
  • -e -> --exclude
  • -h -> --help
  • -v -> --version

Here is what the help page looks like:

ntl --help

Usage:
  ntl [<path>]

Options:
  -a, --all                Includes pre and post scripts on the list   [boolean]
  -A, --autocomplete       Starts in autocomplete mode                 [boolean]
  -D, --debug              Prints to stderr any internal error         [boolean]
  -d, --descriptions       Displays the descriptions of each script    [boolean]
  -e, --exclude            Excludes specific scripts                     [array]
  -o, --descriptions-only  Limits output to scripts with a description [boolean]
  -h, --help               Shows this help message                     [boolean]
  -i, --info               Displays the contents of each script        [boolean]
  -m, --multiple           Allows the selection of multiple items      [boolean]
  -s, --size               Amount of lines to display at once           [number]
  -v, --version            Show version number                         [boolean]

Visit https://github.com/ruyadorno/ntl for more info

License

MIT © 2018 Ruy Adorno

About

Npm Task List: Interactive cli menu to list/run npm tasks

License:MIT License


Languages

Language:JavaScript 100.0%