A library for easily creating observable CLI tasks with support for commands, arguments, and options.
Go to file
2016-06-10 04:13:23 +02:00
dist first version with basic funtionality 2016-06-10 04:13:23 +02:00
test first version with basic funtionality 2016-06-10 04:13:23 +02:00
ts first version with basic funtionality 2016-06-10 04:13:23 +02:00
.gitignore work in progress 2016-03-18 17:08:26 +00:00
.gitlab-ci.yml add gitlab ci 2016-06-09 14:02:21 +02:00
LICENSE Initial commit 2015-10-04 23:06:36 +02:00
npmts.json update dependencies 2016-05-23 04:09:06 +02:00
package.json Start restructuring to use a smarter Smartcli class that handles command evaluation for you 2016-06-10 03:10:21 +02:00
README.md Update README 2016-05-12 03:33:23 +02:00

smartcli

nodejs wrapper for CLI related tasks. TypeScript ready.

Status

Build Status Dependency Status bitHound Overall Score bitHound Code

Install the package

npm install smartcli --save

Usage

this plugin tries to establish some logic in which CLI tools work.

take the following commandline input:

mytool function argument1 argument2 --option1 option1Value --option2 option2Value
  • 'mytool' obviously is the tool (like git)
  • function is the main thing the tool shall do (like commit)
  • option is an option you can add (like -m for message)
  • optionValue is the referenced option value (like a commit message)

The inner organization of smartcli

smartcli exposes three major groups of functions:

  • check functions
    • are grouped in smartcli.checks object
  • get functions
    • are grouped in smartcli.get object
  • async interaction functions
    • are grouped in smartcli.interaction object

Methods

The examples are written in TypeScript

import * as smartcli from  "smartcli"

/* -------------- Check Functions -------------------*/
smartcli.check.command("jazz"); // check  for a special command.
smartcli.check.commandPresence() // check if any command is specified
smartcli.check.commandArguemnt("myargument",1) // checks if a special argument is given, second argument is level
smartcli.check.commandArguemntPresence // checks of any Argument is present
smartcli.check.option("someoption") // checks for a specific option
smartcli.check.optionPresence() // checks if any option is specified
smartcli.get.option('myoption'); //