forked from ai/check-dts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
bin.js
executable file
·48 lines (41 loc) · 1009 Bytes
/
bin.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
#!/usr/bin/env node
let { red, yellow } = require('colorette')
let ciJobNumber = require('ci-job-number')
if (ciJobNumber() !== 1) {
process.stdout.write(
yellow('check-tds runs only on first CI job, to save CI resources\n')
)
process.exit()
}
let showVersion = require('./show-version')
let showHelp = require('./show-help')
let check = require('./check')
function error (message) {
process.stderr.write(red(message) + '\n')
}
function print (...lines) {
process.stdout.write(lines.join('\n') + '\n')
}
async function run () {
let arg = process.argv[2]
if (arg === '--version') {
showVersion(print)
} else if (arg === '--help') {
showHelp(print)
} else if (!arg) {
let result = await check(process.stdout, process.cwd(), print)
if (!result) process.exit(1)
} else {
error(`Unknown argument ${arg}\n`)
showHelp(print)
process.exit(1)
}
}
run().catch(e => {
if (e.own) {
error(e.message)
} else {
error(e.stack)
}
process.exit(1)
})