-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathcli
More file actions
executable file
·50 lines (47 loc) · 2.1 KB
/
cli
File metadata and controls
executable file
·50 lines (47 loc) · 2.1 KB
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
#!/usr/bin/env node
require('colors')
var run = require('child_process').spawn
, file = require('utilise/file')
, is = require('utilise/is')
, yaml = require('js-yaml').safeLoad
, popper = require('.')
, argv = require('minimist')(process.argv.slice(2))
, port = argv.p || argv.port
, browsers = argv.b || argv.browsers
, tests = argv.t || argv.tests
, help = argv.h || argv.help
, notunnel = argv.n || argv.notunnel
, timeout = argv.l || argv.timeout
, runner = argv.r || argv.runner
, farm = argv.f || argv.farm
, exists = require('fs').existsSync
, script = exists('popper.js')
, config = exists('.popper') ? yaml(file('.popper'))
: exists('popper.yml') ? yaml(file('popper.yml'))
: exists('.popper.yml') ? yaml(file('.popper.yml'))
: {}
if (help) return usage()
if (browsers) config.browsers = is.str(browsers) ? browsers.split(',') : []
if (tests) config.tests = tests
if (port) config.port = port
if (notunnel) config.notunnel = true
if (timeout) config.timeout = timeout
if (runner) config.runner = runner
if (farm) config.farm = farm
return script ? run('sh', ['-c', 'node popper.js'], { stdio: 'inherit' })
: popper(config)
function usage(){
console.error('')
console.error(' usage: popper')
console.error('')
console.error(' options:')
console.error(' -b, --browsers: browser to spawn and run tests on, defaults to none')
console.error(' -t, --test: command to generate test bundle, defaults to "browserify test.js"')
console.error(' -p, --port: port to run on, defaults to 1945')
console.error(' -w, --watch: files to watch for changes, defaults to .')
console.error(' -n, --notunnel: disable opening tunnel, defaults to open')
console.error(' -l, --timeout: maximum time to wait in ci mode for results, defaults to POPPER_TIMEOUT or 20000')
console.error(' -r, --runner: the runner to use, either mocha or tape, defatuls to mocha')
console.error(' -f, --farm: the remote browser farm to spawn browsers in, defaults to browserstack')
process.exit(1)
}