From 4457e1e534f92f0ada0c2976c286bd962d727020 Mon Sep 17 00:00:00 2001 From: Sean Larkin Date: Wed, 6 Jul 2016 13:07:18 -0500 Subject: [PATCH] Removed ngAppResolve() which had process.cwd() instead of project.root from tests. --- addon/ng2/models/webpack-build-test.ts | 175 +++++++++++++------------ addon/ng2/tasks/test.js | 16 ++- 2 files changed, 100 insertions(+), 91 deletions(-) diff --git a/addon/ng2/models/webpack-build-test.ts b/addon/ng2/models/webpack-build-test.ts index 0b33acdd1253..b31f2dc69983 100644 --- a/addon/ng2/models/webpack-build-test.ts +++ b/addon/ng2/models/webpack-build-test.ts @@ -1,92 +1,93 @@ import * as webpack from 'webpack'; -import {ngAppResolve} from './webpack-build-utils'; const path = require('path'); -export const webpackTestConfig = { - devtool: 'inline-source-map', - context: path.resolve(__dirname, './'), - resolve: { - extensions: ['', '.ts', '.js'], - root: ngAppResolve('./src') - }, - entry: { - test: ngAppResolve('./src/test.ts') - }, - output: { - path: './dist.test', - filename: '[name].bundle.js' - }, - module: { - preLoaders: [ - { - test: /\.ts$/, - loader: 'tslint-loader', - exclude: [ - ngAppResolve('node_modules') - ] - }, - { - test: /\.js$/, - loader: 'source-map-loader', - exclude: [ - ngAppResolve('node_modules/rxjs'), - ngAppResolve('node_modules/@angular') - ] - } - ], - loaders: [ - { - test: /\.ts$/, - loaders: [ - { - loader: 'awesome-typescript-loader', - query: { - useWebpackText: true, - tsconfig: ngAppResolve('./src/tsconfig.json'), - // resolveGlobs: false, - module: "commonjs", - target: "es5", - lib: ['es6', 'dom'], - useForkChecker: true, - removeComments: true +export const getWebpackTestConfig = function(projectRoot: string) { + return { + devtool: 'inline-source-map', + context: path.resolve(__dirname, './'), + resolve: { + extensions: ['', '.ts', '.js'], + root: path.resolve(projectRoot, './src') + }, + entry: { + test: path.resolve(projectRoot, './src/test.ts') + }, + output: { + path: './dist.test', + filename: '[name].bundle.js' + }, + module: { + preLoaders: [ + { + test: /\.ts$/, + loader: 'tslint-loader', + exclude: [ + path.resolve(projectRoot, 'node_modules') + ] + }, + { + test: /\.js$/, + loader: 'source-map-loader', + exclude: [ + path.resolve(projectRoot, 'node_modules/rxjs'), + path.resolve(projectRoot, 'node_modules/@angular') + ] + } + ], + loaders: [ + { + test: /\.ts$/, + loaders: [ + { + loader: 'awesome-typescript-loader', + query: { + useWebpackText: true, + tsconfig: path.resolve(projectRoot, './src/tsconfig.json'), + // resolveGlobs: false, + module: "commonjs", + target: "es5", + lib: ['es6', 'dom'], + useForkChecker: true, + removeComments: true + } + }, + { + loader: 'angular2-template-loader' } - }, - { - loader: 'angular2-template-loader' - } - ], - exclude: [/\.e2e\.ts$/] - }, - { test: /\.json$/, loader: 'json-loader'}, - { test: /\.css$/, loaders: ['raw-loader', 'postcss-loader'] }, - { test: /\.styl$/, loaders: ['raw-loader', 'postcss-loader', 'stylus-loader'] }, - { test: /\.less$/, loaders: ['raw-loader', 'postcss-loader', 'less-loader'] }, - { test: /\.scss$/, loaders: ['raw-loader', 'postcss-loader', 'sass-loader'] }, - { test: /\.(jpg|png)$/, loader: 'url-loader?limit=128000'}, - { test: /\.html$/, loader: 'raw-loader', exclude: [ngAppResolve('src/index.html')] } - ], - postLoaders: [ - { - test: /\.(js|ts)$/, loader: 'istanbul-instrumenter-loader', - exclude: [ - /\.(e2e|spec)\.ts$/, - /node_modules/ - ] - } - ] - }, - tslint: { - emitErrors: false, - failOnHint: false, - resourcePath: 'src' - }, - node: { - global: 'window', - process: false, - crypto: 'empty', - module: false, - clearImmediate: false, - setImmediate: false - } -}; + ], + exclude: [/\.e2e\.ts$/] + }, + { test: /\.json$/, loader: 'json-loader'}, + { test: /\.css$/, loaders: ['raw-loader', 'postcss-loader'] }, + { test: /\.styl$/, loaders: ['raw-loader', 'postcss-loader', 'stylus-loader'] }, + { test: /\.less$/, loaders: ['raw-loader', 'postcss-loader', 'less-loader'] }, + { test: /\.scss$/, loaders: ['raw-loader', 'postcss-loader', 'sass-loader'] }, + { test: /\.(jpg|png)$/, loader: 'url-loader?limit=128000'}, + { test: /\.html$/, loader: 'raw-loader', exclude: [path.resolve(projectRoot, 'src/index.html')] } + ], + postLoaders: [ + { + test: /\.(js|ts)$/, loader: 'istanbul-instrumenter-loader', + exclude: [ + /\.(e2e|spec)\.ts$/, + /node_modules/ + ] + } + ] + }, + tslint: { + emitErrors: false, + failOnHint: false, + resourcePath: 'src' + }, + node: { + global: 'window', + process: false, + crypto: 'empty', + module: false, + clearImmediate: false, + setImmediate: false + } + }; +} diff --git a/addon/ng2/tasks/test.js b/addon/ng2/tasks/test.js index 14f3a8f9095b..79fec18489ca 100644 --- a/addon/ng2/tasks/test.js +++ b/addon/ng2/tasks/test.js @@ -5,7 +5,7 @@ var Promise = require('ember-cli/lib/ext/promise'); var Task = require('ember-cli/lib/models/task'); var path = require('path'); var ngAppResolve = require('../models').ngAppResolve; -var webpackTestConfig = require('../models').webpackTestConfig; +var webpackTestConfig = require('../models/webpack-build-test').getWebpackTestConfig; var displayOptions = require('../models/webpack-build-utils').webpackOutputOptions; // require dependencies within the target project @@ -39,10 +39,18 @@ module.exports = Task.extend({ // Single test entry file. Will run the test.ts bundle and track it. options.files = [{ pattern: './src/test.ts', watched: false }]; options.preprocessors = { './src/test.ts': ['coverage','webpack','sourcemap'] }; - options.webpack = webpackTestConfig; + options.webpack = webpackTestConfig(projectRoot); options.webpackMiddleware = { - noInfo: true, // Hide webpack output because its noisy - stats: displayOptions // Also prevent chunk and module display output, cleaner look. + noInfo: true, // Hide webpack output because its noisy. + stats: { // Also prevent chunk and module display output, cleaner look. Only emit errors. + assets: false, + colors: true, + version: false, + hash: false, + timings: false, + chunks: false, + chunkModules: false + } }; // Convert browsers from a string to an array