index.js
3.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#!/usr/bin/env node
var colors = require('colors');
var url = require("openurl");
var requireGlob = require('require-glob');
mainDir = __dirname;
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];
if(option==null){
tool.logo();
}
var taskMacro=[];
var task=[];
requireGlob("./macro/*.js").then(function (macromodule) {
if(option==null){
console.log("==============".green+" MACROFUNCTIONS ".yellow+"===============".green);
//caricamento dinamico dei task
for(i in macromodule){
var summary = macromodule[i].info;
summary.name=i;
taskMacro.push(summary);
}
tool.task(taskMacro);
}
//execute
for(var item in macromodule)
if(option===item)
macromodule[item].execute(process,tool);
})
requireGlob("./modules/*.js").then(function (modules) {
if(option==null){
console.log("==============".green+" MICROFUNCTIONS ".yellow+"===============".green);
//caricamento dinamico dei task
//var task=[];
for(i in modules){
var summary = modules[i].info;
summary.name=i;
task.push(summary);
}
tool.task(task);
}else{
var log4js = require('log4js');
log4js.configure({
appenders: [
{ type: 'console',
category: 'trace',
maxLogSize: 20480
},
{ type: 'file',
filename: "logs/debug.log", // specify the path where u want logs folder error.log
category: 'debug',
maxLogSize: 20480,
backups: 10
},
{ type: "file",
filename: "logs/info.log", // specify the path where u want logs folder info.log
category: 'info',
maxLogSize: 20480,
backups: 10
},
{ type: 'file',
filename: "logs/warn.log", // specify the path where u want logs folder error.log
category: 'warn',
maxLogSize: 20480,
backups: 10
},
{ type: "file",
filename: "logs/error.log", // specify the path where u want logs folder info.log
category: 'error',
maxLogSize: 20480,
backups: 10
},
{ type: 'file',
filename: "logs/fatal.log", // specify the path where u want logs folder debug.log
category: 'fatal',
maxLogSize: 20480,
backups: 10
}
]});
var loggertrace = log4js.getLogger('trace');
var loggerdebug = log4js.getLogger('debug');
var loggerinfo = log4js.getLogger('info');
var loggerwarn = log4js.getLogger('warn');
var loggererror = log4js.getLogger('error');
var loggerfatal = log4js.getLogger('fatal');
console.log = function(message){
loggertrace.info(message);
}
}
//execute
for(var item in modules)
if(option===item)
modules[item].execute(process,tool);
})