-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
46 lines (38 loc) · 917 Bytes
/
index.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
36
37
38
39
40
41
42
43
44
45
46
const run = require('./run');
const args = process.argv.slice(2);
const options = args.slice(2);
if (options.length !== 0) {
const opts = getOptions(options);
if (!opts.setAll && opts.repo === '') {
console.warn('Please specify a repository, use --repo=<repo name>');
return;
}
run(args[0], args[1], opts);
} else {
console.log('See \033[91m\033[4mREADME.md\033[0m for more usage');
}
function getOptions(options) {
const opts = {
setDefault: false,
setAll: false,
repo: '',
};
const reg = /--repo=(?<repo>.*)/;
options.forEach((option) => {
switch (option) {
case '--set-default':
opts.setDefault = true;
break;
case '--all':
opts.setAll = true;
break;
default:
const r = option.match(reg);
if (r !== null) {
opts.repo = r.groups.repo;
}
break;
}
});
return opts;
}