1
1
'use strict' ;
2
- var path = require ( 'path' ) ;
3
- var updateNotifier = require ( 'update-notifier' ) ;
4
- var figures = require ( 'figures' ) ;
5
- var arrify = require ( 'arrify' ) ;
6
- var meow = require ( 'meow' ) ;
7
- var Promise = require ( 'bluebird' ) ;
8
- var pkgConf = require ( 'pkg-conf' ) ;
9
- var isCi = require ( 'is-ci' ) ;
10
- var hasFlag = require ( 'has-flag' ) ;
11
- var Api = require ( '../api' ) ;
12
- var colors = require ( './colors' ) ;
13
- var verboseReporter = require ( './reporters/verbose' ) ;
14
- var miniReporter = require ( './reporters/mini' ) ;
15
- var tapReporter = require ( './reporters/tap' ) ;
16
- var Logger = require ( './logger' ) ;
17
- var Watcher = require ( './watcher' ) ;
18
- var babelConfig = require ( './babel-config' ) ;
2
+ const path = require ( 'path' ) ;
3
+ const updateNotifier = require ( 'update-notifier' ) ;
4
+ const figures = require ( 'figures' ) ;
5
+ const arrify = require ( 'arrify' ) ;
6
+ const meow = require ( 'meow' ) ;
7
+ const Promise = require ( 'bluebird' ) ;
8
+ const pkgConf = require ( 'pkg-conf' ) ;
9
+ const isCi = require ( 'is-ci' ) ;
10
+ const hasFlag = require ( 'has-flag' ) ;
11
+ const Api = require ( '../api' ) ;
12
+ const colors = require ( './colors' ) ;
13
+ const verboseReporter = require ( './reporters/verbose' ) ;
14
+ const miniReporter = require ( './reporters/mini' ) ;
15
+ const tapReporter = require ( './reporters/tap' ) ;
16
+ const Logger = require ( './logger' ) ;
17
+ const Watcher = require ( './watcher' ) ;
18
+ const babelConfig = require ( './babel-config' ) ;
19
19
20
20
// Bluebird specific
21
21
Promise . longStackTraces ( ) ;
22
22
23
- exports . run = function ( ) {
24
- var conf = pkgConf . sync ( 'ava' ) ;
25
-
26
- var filepath = pkgConf . filepath ( conf ) ;
27
- var pkgDir = filepath === null ? process . cwd ( ) : path . dirname ( filepath ) ;
28
-
29
- var cli = meow ( [
30
- ' Usage' ,
31
- ' ava [<file|directory|glob> ...]' ,
32
- '' ,
33
- ' Options' ,
34
- ' --init Add AVA to your project' ,
35
- ' --fail-fast Stop after first test failure' ,
36
- ' --serial, -s Run tests serially' ,
37
- ' --tap, -t Generate TAP output' ,
38
- ' --verbose, -v Enable verbose output' ,
39
- ' --no-cache Disable the transpiler cache' ,
40
- ' --no-power-assert Disable Power Assert' ,
41
- ' --match, -m Only run tests with matching title (Can be repeated)' ,
42
- ' --watch, -w Re-run tests when tests and source files change' ,
43
- ' --source, -S Pattern to match source files so tests can be re-run (Can be repeated)' ,
44
- ' --timeout, -T Set global timeout' ,
45
- ' --concurrency, -c Maximum number of test files running at the same time (EXPERIMENTAL)' ,
46
- ' --update-snapshots, -u Update snapshots' ,
47
- '' ,
48
- ' Examples' ,
49
- ' ava' ,
50
- ' ava test.js test2.js' ,
51
- ' ava test-*.js' ,
52
- ' ava test' ,
53
- ' ava --init' ,
54
- ' ava --init foo.js' ,
55
- '' ,
56
- ' Default patterns when no arguments:' ,
57
- ' test.js test-*.js test/**/*.js **/__tests__/**/*.js **/*.test.js'
58
- ] , {
23
+ exports . run = ( ) => {
24
+ const conf = pkgConf . sync ( 'ava' ) ;
25
+
26
+ const filepath = pkgConf . filepath ( conf ) ;
27
+ const pkgDir = filepath === null ? process . cwd ( ) : path . dirname ( filepath ) ;
28
+
29
+ const cli = meow ( `
30
+ Usage
31
+ ava [<file|directory|glob> ...]
32
+
33
+ Options
34
+ --init Add AVA to your project
35
+ --fail-fast Stop after first test failure
36
+ --serial, -s Run tests serially
37
+ --tap, -t Generate TAP output
38
+ --verbose, -v Enable verbose output
39
+ --no-cache Disable the transpiler cache
40
+ --no-power-assert Disable Power Assert
41
+ --match, -m Only run tests with matching title (Can be repeated)
42
+ --watch, -w Re-run tests when tests and source files change
43
+ --source, -S Pattern to match source files so tests can be re-run (Can be repeated)
44
+ --timeout, -T Set global timeout
45
+ --concurrency, -c Maximum number of test files running at the same time (EXPERIMENTAL)
46
+ --update-snapshots, -u Update snapshots
47
+
48
+ Examples
49
+ ava
50
+ ava test.js test2.js
51
+ ava test-*.js
52
+ ava test
53
+ ava --init
54
+ ava --init foo.js
55
+
56
+ Default patterns when no arguments:
57
+ test.js test-*.js test/**/*.js **/__tests__/**/*.js **/*.test.js'
58
+ ` , {
59
59
string : [
60
60
'_' ,
61
61
'timeout' ,
@@ -103,7 +103,7 @@ exports.run = function () {
103
103
throw new Error ( colors . error ( figures . cross ) + ' The --require and -r flags are deprecated. Requirements should be configured in package.json - see documentation.' ) ;
104
104
}
105
105
106
- var api = new Api ( {
106
+ const api = new Api ( {
107
107
failFast : cli . flags . failFast ,
108
108
serial : cli . flags . serial ,
109
109
require : arrify ( conf . require ) ,
@@ -113,13 +113,13 @@ exports.run = function () {
113
113
match : arrify ( cli . flags . match ) ,
114
114
babelConfig : babelConfig . validate ( conf . babel ) ,
115
115
resolveTestsFrom : cli . input . length === 0 ? pkgDir : process . cwd ( ) ,
116
- pkgDir : pkgDir ,
116
+ pkgDir,
117
117
timeout : cli . flags . timeout ,
118
118
concurrency : cli . flags . concurrency ? parseInt ( cli . flags . concurrency , 10 ) : 0 ,
119
119
updateSnapshots : cli . flags . updateSnapshots
120
120
} ) ;
121
121
122
- var reporter ;
122
+ let reporter ;
123
123
124
124
if ( cli . flags . tap && ! cli . flags . watch ) {
125
125
reporter = tapReporter ( ) ;
@@ -130,11 +130,11 @@ exports.run = function () {
130
130
}
131
131
132
132
reporter . api = api ;
133
- var logger = new Logger ( reporter ) ;
133
+ const logger = new Logger ( reporter ) ;
134
134
135
135
logger . start ( ) ;
136
136
137
- api . on ( 'test-run' , function ( runStatus ) {
137
+ api . on ( 'test-run' , runStatus => {
138
138
reporter . api = runStatus ;
139
139
runStatus . on ( 'test' , logger . test ) ;
140
140
runStatus . on ( 'error' , logger . unhandledError ) ;
@@ -143,32 +143,32 @@ exports.run = function () {
143
143
runStatus . on ( 'stderr' , logger . stderr ) ;
144
144
} ) ;
145
145
146
- var files = cli . input . length ? cli . input : arrify ( conf . files ) ;
146
+ const files = cli . input . length ? cli . input : arrify ( conf . files ) ;
147
147
148
148
if ( cli . flags . watch ) {
149
149
try {
150
- var watcher = new Watcher ( logger , api , files , arrify ( cli . flags . source ) ) ;
150
+ const watcher = new Watcher ( logger , api , files , arrify ( cli . flags . source ) ) ;
151
151
watcher . observeStdin ( process . stdin ) ;
152
152
} catch ( err ) {
153
153
if ( err . name === 'AvaError' ) {
154
154
// An AvaError may be thrown if chokidar is not installed. Log it nicely.
155
- console . error ( ' ' + colors . error ( figures . cross ) + ' ' + err . message ) ;
155
+ console . error ( ` ${ colors . error ( figures . cross ) } ${ err . message } ` ) ;
156
156
logger . exit ( 1 ) ;
157
157
} else {
158
- // Rethrow so it becomes an uncaught exception.
158
+ // Rethrow so it becomes an uncaught exception
159
159
throw err ;
160
160
}
161
161
}
162
162
} else {
163
163
api . run ( files )
164
- . then ( function ( runStatus ) {
164
+ . then ( runStatus => {
165
165
logger . finish ( runStatus ) ;
166
166
logger . exit ( runStatus . failCount > 0 || runStatus . rejectionCount > 0 || runStatus . exceptionCount > 0 ? 1 : 0 ) ;
167
167
} )
168
- . catch ( function ( err ) {
168
+ . catch ( err => {
169
169
// Don't swallow exceptions. Note that any expected error should already
170
170
// have been logged.
171
- setImmediate ( function ( ) {
171
+ setImmediate ( ( ) => {
172
172
throw err ;
173
173
} ) ;
174
174
} ) ;
0 commit comments