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 ;
85
96// require dependencies within the target project
107function 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 ) ;
1310 return require ( path . join ( root , 'node_modules' , moduleName , main ) ) ;
1411}
1512
16- module . exports = Task . extend ( {
13+ module . exports = Task . extend ( {
1714 run : function ( options ) {
18- var projectRoot = this . project . root ;
15+ const projectRoot = this . project . root ;
1916 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` ;
2320
2421 options . plugins = [
2522 require ( 'karma-webpack' ) ,
@@ -33,10 +30,10 @@ module.exports = Task.extend({
3330
3431 // Abstract the webpack concepts from the local karma config.
3532 // Add those details here.
36-
33+
3734 // 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' ] } ;
4037 options . webpack = webpackTestConfig ( projectRoot ) ;
4138 options . webpackMiddleware = {
4239 noInfo : true , // Hide webpack output because its noisy.
@@ -60,7 +57,7 @@ module.exports = Task.extend({
6057 options . configFile = karmaConfig ;
6158
6259 // :shipit:
63- var karmaServer = new karma . Server ( options , resolve ) ;
60+ const karmaServer = new karma . Server ( options , resolve ) ;
6461 karmaServer . start ( ) ;
6562 } ) ;
6663 }
0 commit comments