1
1
/* eslint no-var: 0, no-unused-vars: 0 */
2
2
var path = require ( 'path' ) ;
3
3
var webpack = require ( 'webpack' ) ;
4
+ var runCoverage = process . env . COVERAGE === 'true' ;
5
+
6
+ var coverageLoaders = [ ] ;
7
+ var coverageReporters = [ ] ;
8
+
9
+ console . log ( 'process.env.COVERAGE' , process . env . COVERAGE ) ;
10
+
11
+ if ( runCoverage ) {
12
+ coverageLoaders . push ( {
13
+ test : / \. j s $ / ,
14
+ include : path . resolve ( 'src/' ) ,
15
+ loader : 'isparta'
16
+ } ) ;
17
+ coverageReporters . push ( 'coverage' ) ;
18
+ }
4
19
5
20
module . exports = function karmaConfig ( config ) {
6
21
config . set ( {
7
- browsers : [ 'Chrome' ] ,
22
+ browsers : [ 'Chrome' ] ,
8
23
singleRun : true ,
9
- // autoWatch: true,
10
- frameworks : [ 'mocha' ] ,
11
- files : [ './test.js' ] ,
24
+ frameworks : [ 'mocha' ] ,
25
+ files : [ './test.js' ] ,
12
26
preprocessors : {
13
- './test.js' : [ 'webpack' , 'sourcemap' ]
27
+ './test.js' : [ 'webpack' , 'sourcemap' ]
14
28
} ,
15
- reporters : [ 'mocha' ] ,
29
+ reporters : [ 'mocha' ] . concat ( coverageReporters ) ,
16
30
webpack : {
17
31
devtool : 'inline-source-map' ,
18
32
resolve : {
@@ -25,8 +39,12 @@ module.exports = function karmaConfig(config) {
25
39
test : / \. j s $ / ,
26
40
loader : 'babel' ,
27
41
exclude : / ( n o d e _ m o d u l e s ) /
28
- } ]
42
+ } ] . concat ( coverageLoaders )
29
43
}
44
+ } ,
45
+ coverageReporter : {
46
+ type : 'html' ,
47
+ dir : 'coverage/'
30
48
}
31
49
} ) ;
32
50
} ;
0 commit comments