first version with basic funtionality
This commit is contained in:
		
							
								
								
									
										16
									
								
								dist/smartcli.classes.smartcli.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								dist/smartcli.classes.smartcli.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										34
									
								
								test/test.js
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								test/test.js
									
									
									
									
									
								
							@@ -1,7 +1,37 @@
 | 
				
			|||||||
"use strict";
 | 
					"use strict";
 | 
				
			||||||
require("typings-test");
 | 
					require("typings-test");
 | 
				
			||||||
var smartcli = require("../dist/index.js");
 | 
					var smartcli = require("../dist/index");
 | 
				
			||||||
var beautylog = require("beautylog");
 | 
					var beautylog = require("beautylog");
 | 
				
			||||||
var should = require("should");
 | 
					var should = require("should");
 | 
				
			||||||
 | 
					describe("smartcli.Smartcli class", function () {
 | 
				
			||||||
 | 
					    var smartCliTestObject;
 | 
				
			||||||
 | 
					    describe("new Smartcli()", function () {
 | 
				
			||||||
 | 
					        it("should create a new Smartcli", function () {
 | 
				
			||||||
 | 
					            smartCliTestObject = new smartcli.Smartcli();
 | 
				
			||||||
 | 
					            smartCliTestObject.should.be.instanceof(smartcli.Smartcli);
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					    describe(".addCommand", function () {
 | 
				
			||||||
 | 
					        it("should add an command", function () {
 | 
				
			||||||
 | 
					            smartCliTestObject.addCommand({
 | 
				
			||||||
 | 
					                commandName: "awesome"
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					    describe(".standardTask", function () {
 | 
				
			||||||
 | 
					        it("should start parsing a standardTask", function (done) {
 | 
				
			||||||
 | 
					            smartCliTestObject.standardTask()
 | 
				
			||||||
 | 
					                .then(function () {
 | 
				
			||||||
 | 
					                console.log("this is the standard Task!");
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					            done();
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					    describe(".startParse", function () {
 | 
				
			||||||
 | 
					        it("should start parsing the CLI input", function () {
 | 
				
			||||||
 | 
					            smartCliTestObject.startParse();
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sY0FBYyxDQUFDLENBQUE7QUFFdEIsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDM0MsSUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3JDLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyIsImZpbGUiOiJ0ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy10ZXN0XCI7XG5cbmxldCBzbWFydGNsaSA9IHJlcXVpcmUoXCIuLi9kaXN0L2luZGV4LmpzXCIpO1xubGV0IGJlYXV0eWxvZyA9IHJlcXVpcmUoXCJiZWF1dHlsb2dcIik7XG5sZXQgc2hvdWxkID0gcmVxdWlyZShcInNob3VsZFwiKTtcblxuXG4iXX0=
 | 
					//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sY0FBYyxDQUFDLENBQUE7QUFFdEIsSUFBTyxRQUFRLFdBQVcsZUFBZSxDQUFDLENBQUM7QUFDM0MsSUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3JDLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUUvQixRQUFRLENBQUMseUJBQXlCLEVBQUM7SUFDL0IsSUFBSSxrQkFBb0MsQ0FBQztJQUN6QyxRQUFRLENBQUMsZ0JBQWdCLEVBQUM7UUFDdEIsRUFBRSxDQUFDLDhCQUE4QixFQUFDO1lBQzlCLGtCQUFrQixHQUFHLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ0gsUUFBUSxDQUFDLGFBQWEsRUFBQztRQUNuQixFQUFFLENBQUMsdUJBQXVCLEVBQUM7WUFDdkIsa0JBQWtCLENBQUMsVUFBVSxDQUFDO2dCQUMxQixXQUFXLEVBQUMsU0FBUzthQUN4QixDQUFDLENBQUM7UUFFUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ0gsUUFBUSxDQUFDLGVBQWUsRUFBQztRQUNyQixFQUFFLENBQUMscUNBQXFDLEVBQUMsVUFBUyxJQUFJO1lBQ2xELGtCQUFrQixDQUFDLFlBQVksRUFBRTtpQkFDNUIsSUFBSSxDQUFDO2dCQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQztZQUM5QyxDQUFDLENBQUMsQ0FBQztZQUNQLElBQUksRUFBRSxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDLENBQUMsQ0FBQTtJQUNGLFFBQVEsQ0FBQyxhQUFhLEVBQUM7UUFDbkIsRUFBRSxDQUFDLG9DQUFvQyxFQUFDO1lBQ3BDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJ0ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy10ZXN0XCI7XG5cbmltcG9ydCBzbWFydGNsaSA9IHJlcXVpcmUoXCIuLi9kaXN0L2luZGV4XCIpO1xubGV0IGJlYXV0eWxvZyA9IHJlcXVpcmUoXCJiZWF1dHlsb2dcIik7XG5sZXQgc2hvdWxkID0gcmVxdWlyZShcInNob3VsZFwiKTtcblxuZGVzY3JpYmUoXCJzbWFydGNsaS5TbWFydGNsaSBjbGFzc1wiLGZ1bmN0aW9uKCl7XG4gICAgbGV0IHNtYXJ0Q2xpVGVzdE9iamVjdDpzbWFydGNsaS5TbWFydGNsaTtcbiAgICBkZXNjcmliZShcIm5ldyBTbWFydGNsaSgpXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgaXQoXCJzaG91bGQgY3JlYXRlIGEgbmV3IFNtYXJ0Y2xpXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIHNtYXJ0Q2xpVGVzdE9iamVjdCA9IG5ldyBzbWFydGNsaS5TbWFydGNsaSgpO1xuICAgICAgICAgICAgc21hcnRDbGlUZXN0T2JqZWN0LnNob3VsZC5iZS5pbnN0YW5jZW9mKHNtYXJ0Y2xpLlNtYXJ0Y2xpKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgZGVzY3JpYmUoXCIuYWRkQ29tbWFuZFwiLGZ1bmN0aW9uKCl7XG4gICAgICAgIGl0KFwic2hvdWxkIGFkZCBhbiBjb21tYW5kXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIHNtYXJ0Q2xpVGVzdE9iamVjdC5hZGRDb21tYW5kKHtcbiAgICAgICAgICAgICAgICBjb21tYW5kTmFtZTpcImF3ZXNvbWVcIlxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgZGVzY3JpYmUoXCIuc3RhbmRhcmRUYXNrXCIsZnVuY3Rpb24oKXtcbiAgICAgICAgaXQoXCJzaG91bGQgc3RhcnQgcGFyc2luZyBhIHN0YW5kYXJkVGFza1wiLGZ1bmN0aW9uKGRvbmUpe1xuICAgICAgICAgICAgc21hcnRDbGlUZXN0T2JqZWN0LnN0YW5kYXJkVGFzaygpXG4gICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcInRoaXMgaXMgdGhlIHN0YW5kYXJkIFRhc2shXCIpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICB9KVxuICAgIH0pXG4gICAgZGVzY3JpYmUoXCIuc3RhcnRQYXJzZVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgIGl0KFwic2hvdWxkIHN0YXJ0IHBhcnNpbmcgdGhlIENMSSBpbnB1dFwiLGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICBzbWFydENsaVRlc3RPYmplY3Quc3RhcnRQYXJzZSgpO1xuICAgICAgICB9KVxuICAgIH0pXG59KTtcbiJdfQ==
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										32
									
								
								test/test.ts
									
									
									
									
									
								
							
							
						
						
									
										32
									
								
								test/test.ts
									
									
									
									
									
								
							@@ -1,7 +1,37 @@
 | 
				
			|||||||
import "typings-test";
 | 
					import "typings-test";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
let smartcli = require("../dist/index.js");
 | 
					import smartcli = require("../dist/index");
 | 
				
			||||||
let beautylog = require("beautylog");
 | 
					let beautylog = require("beautylog");
 | 
				
			||||||
let should = require("should");
 | 
					let should = require("should");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					describe("smartcli.Smartcli class",function(){
 | 
				
			||||||
 | 
					    let smartCliTestObject:smartcli.Smartcli;
 | 
				
			||||||
 | 
					    describe("new Smartcli()",function(){
 | 
				
			||||||
 | 
					        it("should create a new Smartcli",function(){
 | 
				
			||||||
 | 
					            smartCliTestObject = new smartcli.Smartcli();
 | 
				
			||||||
 | 
					            smartCliTestObject.should.be.instanceof(smartcli.Smartcli);
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					    describe(".addCommand",function(){
 | 
				
			||||||
 | 
					        it("should add an command",function(){
 | 
				
			||||||
 | 
					            smartCliTestObject.addCommand({
 | 
				
			||||||
 | 
					                commandName:"awesome"
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					    describe(".standardTask",function(){
 | 
				
			||||||
 | 
					        it("should start parsing a standardTask",function(done){
 | 
				
			||||||
 | 
					            smartCliTestObject.standardTask()
 | 
				
			||||||
 | 
					                .then(() => {
 | 
				
			||||||
 | 
					                    console.log("this is the standard Task!");
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
 | 
					            done();
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					    describe(".startParse",function(){
 | 
				
			||||||
 | 
					        it("should start parsing the CLI input",function(){
 | 
				
			||||||
 | 
					            smartCliTestObject.startParse();
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,7 +20,7 @@ export class Smartcli {
 | 
				
			|||||||
    };
 | 
					    };
 | 
				
			||||||
    addCommand(definitionArg:{commandName:string}){
 | 
					    addCommand(definitionArg:{commandName:string}){
 | 
				
			||||||
        let done = plugins.q.defer();
 | 
					        let done = plugins.q.defer();
 | 
				
			||||||
        this.parseStarted
 | 
					        this.parseStarted.promise
 | 
				
			||||||
            .then(() => {
 | 
					            .then(() => {
 | 
				
			||||||
                if (this.argv._.indexOf(definitionArg.commandName) == 0) {
 | 
					                if (this.argv._.indexOf(definitionArg.commandName) == 0) {
 | 
				
			||||||
                    done.resolve();
 | 
					                    done.resolve();
 | 
				
			||||||
@@ -35,16 +35,19 @@ export class Smartcli {
 | 
				
			|||||||
    };
 | 
					    };
 | 
				
			||||||
    addVersion(versionArg:string){
 | 
					    addVersion(versionArg:string){
 | 
				
			||||||
        this.version = versionArg;
 | 
					        this.version = versionArg;
 | 
				
			||||||
        this.parseStarted
 | 
					        this.addAlias("v","version");
 | 
				
			||||||
 | 
					        this.parseStarted.promise
 | 
				
			||||||
            .then(() => {
 | 
					            .then(() => {
 | 
				
			||||||
 | 
					                if(this.argv.v){
 | 
				
			||||||
 | 
					                    console.log(this.version);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
            })
 | 
					            })
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    standardTask(){
 | 
					    standardTask(){
 | 
				
			||||||
        let done = plugins.q.defer();
 | 
					        let done = plugins.q.defer();
 | 
				
			||||||
        this.parseStarted
 | 
					        this.parseStarted.promise
 | 
				
			||||||
            .then(() => {
 | 
					            .then(() => {
 | 
				
			||||||
                if(plugins.argv._.length == 0 || this.commands.length == 0){
 | 
					                if(this.argv._.length == 0 || !this.argv.v){
 | 
				
			||||||
                    done.resolve();
 | 
					                    done.resolve();
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
                    done.reject();
 | 
					                    done.reject();
 | 
				
			||||||
@@ -53,6 +56,7 @@ export class Smartcli {
 | 
				
			|||||||
        return done.promise;
 | 
					        return done.promise;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    startParse(){
 | 
					    startParse(){
 | 
				
			||||||
 | 
					        this.argv = this.argv.argv;
 | 
				
			||||||
        this.parseStarted.resolve();
 | 
					        this.parseStarted.resolve();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user