-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild-cmd.js
35 lines (31 loc) · 986 Bytes
/
build-cmd.js
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
var fs = require('fs');
var path = require('path');
var modules = {};
var args = [];
var cmd = '';
var install = false;
var toInst = [];
var params = { path : process.argv[2] };
process.argv.slice(3).forEach(function (arg) {
if(arg == '-i') {
install = true;
} else if(arg.indexOf(':') > -1) {
var mod = arg.split(':');
modules[mod[0] || mod[1]] = mod[1] || mode[0];
} else {
args.push(arg);
}
});
if(install && Object.keys(modules).length) {
cmd = 'npm install ' + Object.keys(modules).map(function (mod) {
return modules[mod];
}).join(' ') + ' && ';
}
cmd = cmd + 'node -r ' + path.join(__dirname, './n0de.js') + ' ' + args.join(' ');
params.modules = modules;
fs.writeFile(path.join(__dirname, './cmd'), cmd,function (err) {
if (err) throw err;
fs.writeFile(path.join(__dirname, './params.json'), JSON.stringify(params), function (err) {
if (err) throw err;
})
});