2015-10-04 23:21:10 +02:00
|
|
|
# smartcli
|
2016-05-12 03:27:45 +02:00
|
|
|
nodejs wrapper for CLI related tasks. TypeScript ready.
|
2015-10-04 23:21:10 +02:00
|
|
|
|
2016-04-05 01:22:11 +02:00
|
|
|
## Status
|
2015-10-04 23:21:10 +02:00
|
|
|
[](https://travis-ci.org/pushrocks/smartcli)
|
2016-04-05 01:22:11 +02:00
|
|
|
[](https://david-dm.org/pushrocks/smartcli)
|
|
|
|
[](https://www.bithound.io/github/pushrocks/smartcli)
|
|
|
|
[](https://www.bithound.io/github/pushrocks/smartcli)
|
2015-10-04 23:21:10 +02:00
|
|
|
|
2015-11-09 04:02:46 +01:00
|
|
|
## Install the package
|
2016-04-05 01:22:11 +02:00
|
|
|
npm install smartcli --save
|
2015-10-14 21:14:20 +02:00
|
|
|
|
2015-11-09 04:02:46 +01:00
|
|
|
## Usage
|
2015-11-05 21:43:34 +01:00
|
|
|
|
|
|
|
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)
|
|
|
|
|
2015-11-09 04:02:46 +01:00
|
|
|
|
|
|
|
### 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
|
|
|
|
|
2016-05-12 03:27:45 +02:00
|
|
|
|
|
|
|
### Methods
|
|
|
|
The examples are written in TypeScript
|
|
|
|
```typescript
|
|
|
|
import * as smartcli from "smartcli"
|
2015-10-04 23:21:10 +02:00
|
|
|
|
2015-11-09 04:02:46 +01:00
|
|
|
/* -------------- Check Functions -------------------*/
|
2016-05-12 03:27:45 +02:00
|
|
|
smartcli.check.command("jazz"); // check for a special command.
|
|
|
|
smartcli.check.commandPresence() // check if any command is specified
|
2016-05-12 03:33:23 +02:00
|
|
|
smartcli.check.commandArguemnt("myargument",1) // checks if a special argument is given, second argument is level
|
2016-05-12 03:27:45 +02:00
|
|
|
smartcli.check.commandArguemntPresence // checks of any Argument is present
|
2016-05-12 03:33:23 +02:00
|
|
|
smartcli.check.option("someoption") // checks for a specific option
|
|
|
|
smartcli.check.optionPresence() // checks if any option is specified
|
2016-05-12 03:27:45 +02:00
|
|
|
smartcli.get.option('myoption'); //
|
2015-10-14 21:16:42 +02:00
|
|
|
```
|
2015-10-14 21:09:26 +02:00
|
|
|
|