index.js 1.38 KB
#!/usr/bin/env node
var colors = require('colors');
var url = require("openurl");
var requireGlob = require('require-glob');


var tool={
	task:function(TASKS){
		if(TASKS==null) return;
		for (var i = 0; i < TASKS.length; i++) {
		    var task = TASKS[i];
		    if (task.summary) {
		      var name = '   ' + task.name + '  ';
		      var dots = '';
		      while ((name + dots).length < 20) {
		        dots += '.';
		      }
		      process.stderr.write(name.green.bold + dots.grey + '  ' + task.summary.bold + (task.state?'('+task.state+')':'')+'\n');
		    }
		  }
	},
	logo:function(){
		console.log("  ____   ____ ___  _____ __  ______");
		console.log(" /    \\_/ __ \\\\  \\/  /  |  \\/  ___/");
		console.log("|   |  \\  ___/ >    <|  |  /\___ \\ "); 
		console.log("|___|  /\\___  >__/\\_ \\____//____  >");
		console.log("     \\/     \\/      \\/          \\/ ");
		console.log("version: 0.1".red);
		console.log("=========================================".green);
		console.log("");
	}

}
    

var option = process.argv[2];
requireGlob("./modules/*.js").then(function (modules) {

	if(option==null){
		tool.logo();

		//caricamento dinamico dei task
		var task=[];   	
		for(i in modules){
			var summary = modules[i].info;
				summary.name=i;
			task.push(summary);	
			}
		tool.task(task);		
		}

	//execute
	for(var item in modules)
		if(option===item)
			modules[item].execute(process,tool);

})