-
-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathbin.js
executable file
·40 lines (33 loc) · 797 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
#!/usr/bin/env node
'use strict'
const differ = require('ansi-diff-stream')
const render = require('render-ci-matrix')()
const resolve = require('path').resolve
const fs = require('fs')
const Watch = require('.')
const diff = differ()
diff.pipe(process.stdout)
const dir = resolve(process.argv[2] || '.')
try {
fs.statSync(dir)
} catch (err) {
console.error('Usage: travis-watch [DIRECTORY]')
process.exit(1)
}
try {
fs.statSync(`${dir}/.travis.yml`)
} catch (err) {
console.error('Travis not set up. Skipping...')
process.exit(0)
}
const watch = new Watch(dir)
watch.start()
watch.on('finish', () => {
diff.reset()
diff.write(render(watch.state))
process.exit(!watch.state.success)
})
setInterval(() => {
diff.reset() // FIXME
diff.write(render(watch.state))
}, 100)