1
- /* jshint node: true */
2
- 'use strict' ;
3
-
4
- var Promise = require ( 'ember-cli/lib/ext/promise' ) ;
5
- var Task = require ( 'ember-cli/lib/models/task' ) ;
6
- var path = require ( 'path' ) ;
7
- var webpackTestConfig = require ( '../models/webpack-build-test' ) . getWebpackTestConfig ;
1
+ const Promise = require ( 'ember-cli/lib/ext/promise' ) ;
2
+ const Task = require ( 'ember-cli/lib/models/task' ) ;
3
+ const path = require ( 'path' ) ;
4
+ const webpackTestConfig = require ( '../models/webpack-build-test' ) . getWebpackTestConfig ;
8
5
9
6
// require dependencies within the target project
10
7
function requireDependency ( root , moduleName ) {
11
- var packageJson = require ( path . join ( root , 'node_modules' , moduleName , 'package.json' ) ) ;
12
- var main = path . normalize ( packageJson . main ) ;
8
+ const packageJson = require ( path . join ( root , 'node_modules' , moduleName , 'package.json' ) ) ;
9
+ const main = path . normalize ( packageJson . main ) ;
13
10
return require ( path . join ( root , 'node_modules' , moduleName , main ) ) ;
14
11
}
15
12
16
- module . exports = Task . extend ( {
13
+ module . exports = Task . extend ( {
17
14
run : function ( options ) {
18
- var projectRoot = this . project . root ;
15
+ const projectRoot = this . project . root ;
19
16
return new Promise ( ( resolve ) => {
20
-
21
- var karma = requireDependency ( projectRoot , ' karma' ) ;
22
- var karmaConfig = path . join ( projectRoot , this . project . ngConfig . test . karma . config ) ;
17
+ const karma = requireDependency ( projectRoot , 'karma' ) ;
18
+ const karmaConfig = path . join ( projectRoot , this . project . ngConfig . test . karma . config ) ;
19
+ const testFile = `./ ${ this . project . ngConfig . defaults . sourceDir } / test.ts` ;
23
20
24
21
options . plugins = [
25
22
require ( 'karma-webpack' ) ,
@@ -33,10 +30,10 @@ module.exports = Task.extend({
33
30
34
31
// Abstract the webpack concepts from the local karma config.
35
32
// Add those details here.
36
-
33
+
37
34
// Single test entry file. Will run the test.ts bundle and track it.
38
- options . files = [ { pattern : './src/test.ts' , watched : false } ] ;
39
- options . preprocessors = { './src/test.ts' : [ 'webpack' , 'sourcemap' ] } ;
35
+ options . files = [ { pattern : testFile , watched : false } ] ;
36
+ options . preprocessors = { [ testFile ] : [ 'webpack' , 'sourcemap' ] } ;
40
37
options . webpack = webpackTestConfig ( projectRoot ) ;
41
38
options . webpackMiddleware = {
42
39
noInfo : true , // Hide webpack output because its noisy.
@@ -60,7 +57,7 @@ module.exports = Task.extend({
60
57
options . configFile = karmaConfig ;
61
58
62
59
// :shipit:
63
- var karmaServer = new karma . Server ( options , resolve ) ;
60
+ const karmaServer = new karma . Server ( options , resolve ) ;
64
61
karmaServer . start ( ) ;
65
62
} ) ;
66
63
}
0 commit comments