1 | #!/usr/bin/env node
|
2 |
|
3 | require('exit-code');
|
4 |
|
5 | var fs = require('fs');
|
6 | var path = require('path');
|
7 | var minimist = require('minimist');
|
8 |
|
9 | var argv = minimist(process.argv.slice(2), {
|
10 | alias: {
|
11 | n: 'node',
|
12 | b: 'browser',
|
13 | r: 'report',
|
14 | h: 'help',
|
15 | v: 'version'
|
16 | }
|
17 | });
|
18 |
|
19 | if (argv.help) {
|
20 | logHelp();
|
21 | } else if (argv.version) {
|
22 | logVersion();
|
23 | } else if (argv.node || argv.browser) {
|
24 | var unitest = require('../');
|
25 | var output = unitest({
|
26 | node: argv.node,
|
27 | browser: argv.browser,
|
28 | report: ensureArray(argv.report)
|
29 | }, function (exitCode) {
|
30 | process.exitCode = exitCode;
|
31 | });
|
32 | output.pipe(process.stdout);
|
33 | } else {
|
34 | logHelp();
|
35 | process.exitCode = 1;
|
36 | }
|
37 |
|
38 | function ensureArray(arg) {
|
39 | return (arg && typeof arg === 'string') ? [arg] : arg;
|
40 | }
|
41 |
|
42 | function logHelp() {
|
43 | fs.createReadStream(path.join(__dirname, 'usage.txt'))
|
44 | .pipe(process.stdout);
|
45 | }
|
46 |
|
47 | function logVersion() {
|
48 | var pkg = require('../package.json');
|
49 | console.log(pkg.version);
|
50 | }
|