/
ncm-cli.js
executable file
·62 lines (53 loc) · 1.26 KB
/
ncm-cli.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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/usr/bin/env node
'use strict'
process.on('unhandledRejection', function (err) {
console.error(err)
process.exit(1)
})
const parseArgs = require('minimist')
const commands = {
config: require('../commands/config'),
help: require('../commands/help'),
orgs: require('../commands/orgs'),
whitelist: require('../commands/whitelist'),
signin: require('../commands/signin'),
signout: require('../commands/signout'),
report: require('../commands/report'),
details: require('../commands/details'),
watch: require('../commands/watch')
}
async function main () {
const argv = parseArgs(process.argv.slice(2), {
alias: {
dir: 'd',
github: 'g',
google: 'G',
compliance: 'c',
security: 's',
help: 'h',
json: 'j',
long: 'l',
output: 'o',
org: 'O',
report: 'r',
version: 'v'
}
})
let [ command = 'help', ...subargs ] = argv._
if (!Object.keys(commands).includes(command)) {
command = 'help'
}
if (argv.version) {
const { version } = require('../package.json')
console.log(version)
return
}
await commands[command](argv, ...subargs)
}
// invoke main
if (require.main === module) {
main().catch(err => {
console.error(err)
process.exitCode = 1
})
}