/ytl

Yarn Task List: Interactive cli menu to list/run npm tasks with yarn

Primary LanguageJavaScriptMIT LicenseMIT

Yarn

Task List

NPM version Build Status License

Yarn Task List

Interactive cli menu to list and run npm tasks with yarn.

Note: Fork of ntl and work in progress. Documentation etc. might not be accurate or up to date (demo gif for example ).

demo gif

An iPipeTo workflow


Install

$ npm install -g ytl

OR

just run it at once using npx:

npx ytl

Usage

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

ytl

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

ytl ./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": "ytl --exclude coverall tasks"
  }
}

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

$ ytl --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:

$ ytl --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 ytl section, e.g:

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

These descriptions will be shown anytime you run ytl using the option: ytl -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:

ytl --help

Usage:
  ytl [<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/Muldoser/ytl for more info

License

MIT © 2018 Ruy Adorno