Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
7f2dab091f | |||
dd293875c4 | |||
120eca42ac | |||
fc289616f6 | |||
e7c1c1c45b | |||
f33c759fa8 | |||
1185df362b |
12
README.md
12
README.md
@ -35,7 +35,7 @@ mytool function argument1 argument2 --option1 -o2 option2Value
|
|||||||
* option1 is a longform option you can add (like --message for message)
|
* option1 is a longform option you can add (like --message for message)
|
||||||
* optionValue is the referenced option value (like a commit message)
|
* optionValue is the referenced option value (like a commit message)
|
||||||
|
|
||||||
```typescript
|
```javascript
|
||||||
import {Smartcli} from "smartcli"
|
import {Smartcli} from "smartcli"
|
||||||
mySmartcli = new Smartcli();
|
mySmartcli = new Smartcli();
|
||||||
mySmartcli.standardTask()
|
mySmartcli.standardTask()
|
||||||
@ -47,4 +47,14 @@ mySmartcli.addCommand({commandname: 'install'})
|
|||||||
.then(argvArg => {
|
.then(argvArg => {
|
||||||
// do something if program is called with command "install"
|
// do something if program is called with command "install"
|
||||||
})
|
})
|
||||||
|
|
||||||
|
mySmartcli.addVersion('1.0.0') // -v and --version options will display the specified version in the terminal
|
||||||
|
|
||||||
|
mySmartCli.addHelp({ // is triggered by help command and --help option
|
||||||
|
helpText: 'some help text to print' // the helpText to display
|
||||||
|
})
|
||||||
|
|
||||||
|
mySmartcli.startParse() // starts the evaluation and fullfills or rejects promises.
|
||||||
```
|
```
|
||||||
|
|
||||||
|
[](https://push.rocks)
|
||||||
|
31
dist/smartcli.classes.interaction.d.ts
vendored
31
dist/smartcli.classes.interaction.d.ts
vendored
@ -1,31 +0,0 @@
|
|||||||
/**
|
|
||||||
* allows to specify an user interaction during runtime
|
|
||||||
*/
|
|
||||||
export declare type questionType = 'input' | 'confirm' | 'list' | 'rawlist' | 'expand' | 'checkbox' | 'password' | 'editor';
|
|
||||||
export interface IChoiceObject {
|
|
||||||
name: string;
|
|
||||||
value: any;
|
|
||||||
}
|
|
||||||
export interface IValidateFunction {
|
|
||||||
(any: any): boolean;
|
|
||||||
}
|
|
||||||
export declare class Interaction {
|
|
||||||
constructor();
|
|
||||||
askQuestion(optionsArg: {
|
|
||||||
type: questionType;
|
|
||||||
message: string;
|
|
||||||
default: any;
|
|
||||||
choices: string[] | IChoiceObject[];
|
|
||||||
validate: IValidateFunction;
|
|
||||||
}): void;
|
|
||||||
askQuestionArray: any;
|
|
||||||
}
|
|
||||||
export declare class QuestionTree {
|
|
||||||
constructor(questionString: string, optionsArray: any);
|
|
||||||
}
|
|
||||||
export declare class QuestionTreeNode {
|
|
||||||
constructor();
|
|
||||||
}
|
|
||||||
export declare class QuestionStorage {
|
|
||||||
constructor();
|
|
||||||
}
|
|
35
dist/smartcli.classes.interaction.js
vendored
35
dist/smartcli.classes.interaction.js
vendored
@ -1,35 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
const plugins = require("./smartcli.plugins");
|
|
||||||
class Interaction {
|
|
||||||
constructor() {
|
|
||||||
}
|
|
||||||
askQuestion(optionsArg) {
|
|
||||||
let done = plugins.q.defer();
|
|
||||||
plugins.inquirer.prompt([{
|
|
||||||
type: optionsArg.type,
|
|
||||||
message: optionsArg.message,
|
|
||||||
default: optionsArg.default,
|
|
||||||
choices: optionsArg.choices,
|
|
||||||
validate: optionsArg.validate
|
|
||||||
}]).then(answers => {
|
|
||||||
done.resolve(answers);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
exports.Interaction = Interaction;
|
|
||||||
class QuestionTree {
|
|
||||||
constructor(questionString, optionsArray) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
exports.QuestionTree = QuestionTree;
|
|
||||||
class QuestionTreeNode {
|
|
||||||
constructor() {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
exports.QuestionTreeNode = QuestionTreeNode;
|
|
||||||
class QuestionStorage {
|
|
||||||
constructor() {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
exports.QuestionStorage = QuestionStorage;
|
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRjbGkuY2xhc3Nlcy5pbnRlcmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0Y2xpLmNsYXNzZXMuaW50ZXJhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDhDQUE2QztBQWU3QztJQUNJO0lBQ0EsQ0FBQztJQUVELFdBQVcsQ0FBQyxVQU1YO1FBQ0csSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUM1QixPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNyQixJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7Z0JBQ3JCLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTztnQkFDM0IsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPO2dCQUMzQixPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU87Z0JBQzNCLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUTthQUNoQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTztZQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDekIsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0NBRUo7QUF2QkQsa0NBdUJDO0FBR0Q7SUFFSSxZQUFZLGNBQXNCLEVBQUUsWUFBWTtJQUVoRCxDQUFDO0NBQ0o7QUFMRCxvQ0FLQztBQUVEO0lBQ0k7SUFFQSxDQUFDO0NBQ0o7QUFKRCw0Q0FJQztBQUVEO0lBQ0k7SUFFQSxDQUFDO0NBQ0o7QUFKRCwwQ0FJQyJ9
|
|
2
dist/smartcli.classes.smartcli.js
vendored
2
dist/smartcli.classes.smartcli.js
vendored
@ -92,4 +92,4 @@ class Smartcli {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.Smartcli = Smartcli;
|
exports.Smartcli = Smartcli;
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRjbGkuY2xhc3Nlcy5zbWFydGNsaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0Y2xpLmNsYXNzZXMuc21hcnRjbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHVCQUFzQjtBQUV0Qiw4Q0FBNkM7QUFHN0MsaUJBQWlCO0FBQ2pCLDZCQUE2QjtBQVE3QjtJQVVJO1FBRkEsT0FBTztRQUNQLHVCQUFrQixHQUFHLElBQUksZUFBUyxFQUF5QixDQUFBO1FBRXZELElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQTtRQUN6QixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUM5QixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRLENBQUMsTUFBTSxFQUFDLFFBQVE7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUMsUUFBUSxDQUFDLENBQUE7UUFDNUMsTUFBTSxDQUFBO0lBQ1YsQ0FBQztJQUVEOzs7T0FHRztJQUNILFVBQVUsQ0FBQyxhQUFvQztRQUMzQyxJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFPLENBQUE7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPO2FBQ3BCLElBQUksQ0FBQztZQUNGLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDM0IsQ0FBQztZQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQzFCLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQTtRQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFBO0lBQ3ZCLENBQUM7SUFFRDs7T0FFRztJQUNILHVCQUF1QixDQUFDLGNBQXNCO1FBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLHVCQUF1QjtZQUN2RCxNQUFNLENBQUMsdUJBQXVCLENBQUMsV0FBVyxLQUFLLGNBQWMsQ0FBQTtRQUNqRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUE7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPLENBQUMsVUFFUDtRQUNHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDWixXQUFXLEVBQUUsTUFBTTtTQUN0QixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU87WUFDWCxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDOUMsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVLENBQUMsVUFBa0I7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUE7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUMsU0FBUyxDQUFDLENBQUE7UUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPO2FBQ3BCLElBQUksQ0FBQztZQUNGLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUM3QixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUE7SUFDVixDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZO1FBQ1IsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBTyxDQUFBO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTzthQUNwQixJQUFJLENBQUM7WUFDRixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUMzQixDQUFDO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDMUIsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFBO1FBQ04sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVTtRQUNOLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUMzQixNQUFNLENBQUE7SUFDVixDQUFDO0NBRUo7QUF0R0QsNEJBc0dDIn0=
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRjbGkuY2xhc3Nlcy5zbWFydGNsaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0Y2xpLmNsYXNzZXMuc21hcnRjbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHVCQUFzQjtBQUV0Qiw4Q0FBNkM7QUFFN0MsaUJBQWlCO0FBQ2pCLDZCQUE2QjtBQVE3QjtJQVVJO1FBRkEsT0FBTztRQUNQLHVCQUFrQixHQUFHLElBQUksZUFBUyxFQUF5QixDQUFBO1FBRXZELElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQTtRQUN6QixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUM5QixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRLENBQUMsTUFBTSxFQUFDLFFBQVE7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUMsUUFBUSxDQUFDLENBQUE7UUFDNUMsTUFBTSxDQUFBO0lBQ1YsQ0FBQztJQUVEOzs7T0FHRztJQUNILFVBQVUsQ0FBQyxhQUFvQztRQUMzQyxJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFPLENBQUE7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPO2FBQ3BCLElBQUksQ0FBQztZQUNGLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDM0IsQ0FBQztZQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQzFCLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQTtRQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFBO0lBQ3ZCLENBQUM7SUFFRDs7T0FFRztJQUNILHVCQUF1QixDQUFDLGNBQXNCO1FBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLHVCQUF1QjtZQUN2RCxNQUFNLENBQUMsdUJBQXVCLENBQUMsV0FBVyxLQUFLLGNBQWMsQ0FBQTtRQUNqRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUE7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPLENBQUMsVUFFUDtRQUNHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDWixXQUFXLEVBQUUsTUFBTTtTQUN0QixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU87WUFDWCxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDOUMsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVLENBQUMsVUFBa0I7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUE7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUMsU0FBUyxDQUFDLENBQUE7UUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPO2FBQ3BCLElBQUksQ0FBQztZQUNGLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUM3QixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUE7SUFDVixDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZO1FBQ1IsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBTyxDQUFBO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTzthQUNwQixJQUFJLENBQUM7WUFDRixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUMzQixDQUFDO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDMUIsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFBO1FBQ04sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVTtRQUNOLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUMzQixNQUFNLENBQUE7SUFDVixDQUFDO0NBRUo7QUF0R0QsNEJBc0dDIn0=
|
3
dist/smartcli.plugins.d.ts
vendored
3
dist/smartcli.plugins.d.ts
vendored
@ -1,8 +1,7 @@
|
|||||||
import 'typings-global';
|
import 'typings-global';
|
||||||
import * as yargs from 'yargs';
|
import * as yargs from 'yargs';
|
||||||
import * as beautylog from 'beautylog';
|
import * as beautylog from 'beautylog';
|
||||||
import * as inquirer from 'inquirer';
|
|
||||||
import * as lik from 'lik';
|
import * as lik from 'lik';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import * as smartparam from 'smartparam';
|
import * as smartparam from 'smartparam';
|
||||||
export { yargs, beautylog, cliff, inquirer, lik, path, smartparam };
|
export { yargs, beautylog, lik, path, smartparam };
|
||||||
|
4
dist/smartcli.plugins.js
vendored
4
dist/smartcli.plugins.js
vendored
@ -4,12 +4,10 @@ const yargs = require("yargs");
|
|||||||
exports.yargs = yargs;
|
exports.yargs = yargs;
|
||||||
const beautylog = require("beautylog");
|
const beautylog = require("beautylog");
|
||||||
exports.beautylog = beautylog;
|
exports.beautylog = beautylog;
|
||||||
const inquirer = require("inquirer");
|
|
||||||
exports.inquirer = inquirer;
|
|
||||||
const lik = require("lik");
|
const lik = require("lik");
|
||||||
exports.lik = lik;
|
exports.lik = lik;
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
exports.path = path;
|
exports.path = path;
|
||||||
const smartparam = require("smartparam");
|
const smartparam = require("smartparam");
|
||||||
exports.smartparam = smartparam;
|
exports.smartparam = smartparam;
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRjbGkucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0Y2xpLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDBCQUF3QjtBQUV4QiwrQkFBOEI7QUFRMUIsZ0JBUlEsS0FBSyxDQVFSO0FBUFQsdUNBQXNDO0FBUWxDLG9CQVJRLFNBQVMsQ0FRUjtBQVBiLHFDQUFvQztBQVNoQyxtQkFUUSxRQUFRLENBU1I7QUFSWiwyQkFBMEI7QUFTdEIsY0FUUSxHQUFHLENBU1I7QUFSUCw2QkFBNEI7QUFTeEIsZUFUUSxJQUFJLENBU1I7QUFSUix5Q0FBd0M7QUFTcEMscUJBVFEsVUFBVSxDQVNSIn0=
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRjbGkucGx1Z2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0Y2xpLnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDBCQUF3QjtBQUV4QiwrQkFBOEI7QUFPMUIsc0JBQUs7QUFOVCx1Q0FBc0M7QUFPbEMsOEJBQVM7QUFOYiwyQkFBMEI7QUFPdEIsa0JBQUc7QUFOUCw2QkFBNEI7QUFPeEIsb0JBQUk7QUFOUix5Q0FBd0M7QUFPcEMsZ0NBQVUifQ==
|
11
package.json
11
package.json
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "smartcli",
|
"name": "smartcli",
|
||||||
"version": "1.0.11",
|
"version": "1.0.14",
|
||||||
"description": "nodejs wrapper for CLI related tasks",
|
"description": "nodejs wrapper for CLI related tasks",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"typings": "dist/index.d.ts",
|
"typings": "dist/index.d.ts",
|
||||||
@ -28,18 +28,17 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://gitlab.com/pushrocks/smartcli",
|
"homepage": "https://gitlab.com/pushrocks/smartcli",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/inquirer": "0.x.x",
|
|
||||||
"@types/q": "0.x.x",
|
"@types/q": "0.x.x",
|
||||||
"@types/yargs": "0.x.x",
|
"@types/yargs": "6.x.x",
|
||||||
"beautylog": "^5.0.23",
|
"beautylog": "^6.0.0",
|
||||||
"inquirer": "^1.2.2",
|
|
||||||
"lik": "^1.0.24",
|
"lik": "^1.0.24",
|
||||||
"q": "^1.4.1",
|
"q": "^1.4.1",
|
||||||
"smartparam": "0.1.1",
|
"smartparam": "0.1.1",
|
||||||
"typings-global": "^1.0.14",
|
"typings-global": "^1.0.14",
|
||||||
"yargs": "^6.0.0"
|
"yargs": "^6.4.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@types/should": "^8.1.30",
|
||||||
"npmts-g": "^5.2.8",
|
"npmts-g": "^5.2.8",
|
||||||
"should": "^11.1.1",
|
"should": "^11.1.1",
|
||||||
"typings-test": "^1.0.3"
|
"typings-test": "^1.0.3"
|
||||||
|
2
test/test.d.ts
vendored
2
test/test.d.ts
vendored
@ -1 +1 @@
|
|||||||
import "typings-test";
|
import 'typings-test';
|
||||||
|
29
test/test.js
29
test/test.js
@ -1,36 +1,35 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
require("typings-test");
|
require("typings-test");
|
||||||
const smartcli = require("../dist/index");
|
const smartcli = require("../dist/index");
|
||||||
let beautylog = require("beautylog");
|
const should = require("should");
|
||||||
let should = require("should");
|
describe('smartcli.Smartcli class', function () {
|
||||||
describe("smartcli.Smartcli class", function () {
|
|
||||||
let smartCliTestObject;
|
let smartCliTestObject;
|
||||||
describe("new Smartcli()", function () {
|
describe('new Smartcli()', function () {
|
||||||
it("should create a new Smartcli", function () {
|
it('should create a new Smartcli', function () {
|
||||||
smartCliTestObject = new smartcli.Smartcli();
|
smartCliTestObject = new smartcli.Smartcli();
|
||||||
smartCliTestObject.should.be.instanceof(smartcli.Smartcli);
|
should(smartCliTestObject).be.instanceof(smartcli.Smartcli);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
describe(".addCommand", function () {
|
describe('.addCommand', function () {
|
||||||
it("should add an command", function () {
|
it('should add an command', function () {
|
||||||
smartCliTestObject.addCommand({
|
smartCliTestObject.addCommand({
|
||||||
commandName: "awesome"
|
commandName: 'awesome'
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
describe(".standardTask", function () {
|
describe('.standardTask', function () {
|
||||||
it("should start parsing a standardTask", function (done) {
|
it('should start parsing a standardTask', function (done) {
|
||||||
smartCliTestObject.standardTask()
|
smartCliTestObject.standardTask()
|
||||||
.then(() => {
|
.then(() => {
|
||||||
console.log("this is the standard Task!");
|
console.log('this is the standard Task!');
|
||||||
});
|
});
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
describe(".startParse", function () {
|
describe('.startParse', function () {
|
||||||
it("should start parsing the CLI input", function () {
|
it('should start parsing the CLI input', function () {
|
||||||
smartCliTestObject.startParse();
|
smartCliTestObject.startParse();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHdCQUFzQjtBQUV0QiwwQ0FBMkM7QUFDM0MsSUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3JDLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUUvQixRQUFRLENBQUMseUJBQXlCLEVBQUM7SUFDL0IsSUFBSSxrQkFBb0MsQ0FBQztJQUN6QyxRQUFRLENBQUMsZ0JBQWdCLEVBQUM7UUFDdEIsRUFBRSxDQUFDLDhCQUE4QixFQUFDO1lBQzlCLGtCQUFrQixHQUFHLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ0gsUUFBUSxDQUFDLGFBQWEsRUFBQztRQUNuQixFQUFFLENBQUMsdUJBQXVCLEVBQUM7WUFDdkIsa0JBQWtCLENBQUMsVUFBVSxDQUFDO2dCQUMxQixXQUFXLEVBQUMsU0FBUzthQUN4QixDQUFDLENBQUM7UUFFUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ0gsUUFBUSxDQUFDLGVBQWUsRUFBQztRQUNyQixFQUFFLENBQUMscUNBQXFDLEVBQUMsVUFBUyxJQUFJO1lBQ2xELGtCQUFrQixDQUFDLFlBQVksRUFBRTtpQkFDNUIsSUFBSSxDQUFDO2dCQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQztZQUM5QyxDQUFDLENBQUMsQ0FBQztZQUNQLElBQUksRUFBRSxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDLENBQUMsQ0FBQTtJQUNGLFFBQVEsQ0FBQyxhQUFhLEVBQUM7UUFDbkIsRUFBRSxDQUFDLG9DQUFvQyxFQUFDO1lBQ3BDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUMsQ0FBQyJ9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHdCQUFxQjtBQUVyQiwwQ0FBMEM7QUFDMUMsaUNBQWdDO0FBRWhDLFFBQVEsQ0FBQyx5QkFBeUIsRUFBQztJQUMvQixJQUFJLGtCQUFxQyxDQUFBO0lBQ3pDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBQztRQUN0QixFQUFFLENBQUMsOEJBQThCLEVBQUM7WUFDOUIsa0JBQWtCLEdBQUcsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUE7WUFDNUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDL0QsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDLENBQUMsQ0FBQTtJQUNGLFFBQVEsQ0FBQyxhQUFhLEVBQUM7UUFDbkIsRUFBRSxDQUFDLHVCQUF1QixFQUFDO1lBQ3ZCLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztnQkFDMUIsV0FBVyxFQUFFLFNBQVM7YUFDekIsQ0FBQyxDQUFBO1FBQ04sQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDLENBQUMsQ0FBQTtJQUNGLFFBQVEsQ0FBQyxlQUFlLEVBQUM7UUFDckIsRUFBRSxDQUFDLHFDQUFxQyxFQUFDLFVBQVMsSUFBSTtZQUNsRCxrQkFBa0IsQ0FBQyxZQUFZLEVBQUU7aUJBQzVCLElBQUksQ0FBQztnQkFDRixPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUE7WUFDN0MsQ0FBQyxDQUFDLENBQUE7WUFDTixJQUFJLEVBQUUsQ0FBQTtRQUNWLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUFDLENBQUE7SUFDRixRQUFRLENBQUMsYUFBYSxFQUFDO1FBQ25CLEVBQUUsQ0FBQyxvQ0FBb0MsRUFBQztZQUNwQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUNuQyxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFDLENBQUEifQ==
|
54
test/test.ts
54
test/test.ts
@ -1,37 +1,35 @@
|
|||||||
import "typings-test";
|
import 'typings-test'
|
||||||
|
|
||||||
import smartcli = require("../dist/index");
|
import smartcli = require('../dist/index')
|
||||||
let beautylog = require("beautylog");
|
import * as should from 'should'
|
||||||
let should = require("should");
|
|
||||||
|
|
||||||
describe("smartcli.Smartcli class",function(){
|
describe('smartcli.Smartcli class',function(){
|
||||||
let smartCliTestObject:smartcli.Smartcli;
|
let smartCliTestObject: smartcli.Smartcli
|
||||||
describe("new Smartcli()",function(){
|
describe('new Smartcli()',function(){
|
||||||
it("should create a new Smartcli",function(){
|
it('should create a new Smartcli',function(){
|
||||||
smartCliTestObject = new smartcli.Smartcli();
|
smartCliTestObject = new smartcli.Smartcli()
|
||||||
smartCliTestObject.should.be.instanceof(smartcli.Smartcli);
|
should(smartCliTestObject).be.instanceof(smartcli.Smartcli)
|
||||||
});
|
})
|
||||||
});
|
})
|
||||||
describe(".addCommand",function(){
|
describe('.addCommand',function(){
|
||||||
it("should add an command",function(){
|
it('should add an command',function(){
|
||||||
smartCliTestObject.addCommand({
|
smartCliTestObject.addCommand({
|
||||||
commandName:"awesome"
|
commandName: 'awesome'
|
||||||
});
|
})
|
||||||
|
})
|
||||||
});
|
})
|
||||||
});
|
describe('.standardTask',function(){
|
||||||
describe(".standardTask",function(){
|
it('should start parsing a standardTask',function(done){
|
||||||
it("should start parsing a standardTask",function(done){
|
|
||||||
smartCliTestObject.standardTask()
|
smartCliTestObject.standardTask()
|
||||||
.then(() => {
|
.then(() => {
|
||||||
console.log("this is the standard Task!");
|
console.log('this is the standard Task!')
|
||||||
});
|
})
|
||||||
done();
|
done()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
describe(".startParse",function(){
|
describe('.startParse',function(){
|
||||||
it("should start parsing the CLI input",function(){
|
it('should start parsing the CLI input',function(){
|
||||||
smartCliTestObject.startParse();
|
smartCliTestObject.startParse()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
});
|
})
|
||||||
|
@ -1,59 +0,0 @@
|
|||||||
import * as plugins from './smartcli.plugins'
|
|
||||||
|
|
||||||
/**
|
|
||||||
* allows to specify an user interaction during runtime
|
|
||||||
*/
|
|
||||||
|
|
||||||
export type questionType = 'input' | 'confirm' | 'list' | 'rawlist' | 'expand' | 'checkbox' | 'password' | 'editor'
|
|
||||||
export interface IChoiceObject {
|
|
||||||
name: string
|
|
||||||
value: any
|
|
||||||
}
|
|
||||||
export interface IValidateFunction {
|
|
||||||
(any): boolean
|
|
||||||
}
|
|
||||||
|
|
||||||
export class Interaction {
|
|
||||||
constructor() {
|
|
||||||
}
|
|
||||||
|
|
||||||
askQuestion(optionsArg: {
|
|
||||||
type: questionType,
|
|
||||||
message: string
|
|
||||||
default: any
|
|
||||||
choices: string[] | IChoiceObject[]
|
|
||||||
validate: IValidateFunction
|
|
||||||
}) {
|
|
||||||
let done = plugins.q.defer()
|
|
||||||
plugins.inquirer.prompt([{
|
|
||||||
type: optionsArg.type,
|
|
||||||
message: optionsArg.message,
|
|
||||||
default: optionsArg.default,
|
|
||||||
choices: optionsArg.choices,
|
|
||||||
validate: optionsArg.validate
|
|
||||||
}]).then(answers => {
|
|
||||||
done.resolve(answers)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
askQuestionArray
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
export class QuestionTree {
|
|
||||||
|
|
||||||
constructor(questionString: string, optionsArray) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export class QuestionTreeNode {
|
|
||||||
constructor() {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export class QuestionStorage {
|
|
||||||
constructor() {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,7 +1,6 @@
|
|||||||
import * as q from 'q'
|
import * as q from 'q'
|
||||||
|
|
||||||
import * as plugins from './smartcli.plugins'
|
import * as plugins from './smartcli.plugins'
|
||||||
import * as interaction from './smartcli.classes.interaction'
|
|
||||||
|
|
||||||
// import classes
|
// import classes
|
||||||
import {Objectmap} from 'lik'
|
import {Objectmap} from 'lik'
|
||||||
|
@ -2,7 +2,6 @@ import 'typings-global';
|
|||||||
|
|
||||||
import * as yargs from 'yargs'
|
import * as yargs from 'yargs'
|
||||||
import * as beautylog from 'beautylog'
|
import * as beautylog from 'beautylog'
|
||||||
import * as inquirer from 'inquirer'
|
|
||||||
import * as lik from 'lik'
|
import * as lik from 'lik'
|
||||||
import * as path from 'path'
|
import * as path from 'path'
|
||||||
import * as smartparam from 'smartparam'
|
import * as smartparam from 'smartparam'
|
||||||
@ -10,8 +9,6 @@ import * as smartparam from 'smartparam'
|
|||||||
export {
|
export {
|
||||||
yargs,
|
yargs,
|
||||||
beautylog,
|
beautylog,
|
||||||
cliff,
|
|
||||||
inquirer,
|
|
||||||
lik,
|
lik,
|
||||||
path,
|
path,
|
||||||
smartparam
|
smartparam
|
||||||
|
Reference in New Issue
Block a user