From b2a24e433c61cabcaf54484e86d5cc7c447575ff Mon Sep 17 00:00:00 2001 From: Abner Oliveira Date: Mon, 22 Aug 2016 06:41:51 -0300 Subject: [PATCH 1/5] =?UTF-8?q?added=20debug=20argument=20to=20(node:23405?= =?UTF-8?q?)=20fs:=20re-evaluating=20native=20module=20sources=20is=20not?= =?UTF-8?q?=20supported.=20If=20you=20are=20using=20the=20graceful-fs=20mo?= =?UTF-8?q?dule,=20please=20update=20it=20to=20a=20more=20recent=20version?= =?UTF-8?q?.=20=1B[2K=1B[1G=1B[=3F25h=1B[2K=1B[1G=1B[=3F25hYou=20have=20to?= =?UTF-8?q?=20be=20inside=20an=20angular-cli=20project=20in=20order=20to?= =?UTF-8?q?=20use=20the=20test=20command..=20This=20argument=20when=20pass?= =?UTF-8?q?ed=20disable=20instrumentation=20and=20coverage,=20allowing=20t?= =?UTF-8?q?o=20debug=20the=20source=20code=20when=20running=20tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- addon/ng2/blueprints/ng2/files/config/karma.conf.js | 2 +- addon/ng2/commands/test.ts | 1 + addon/ng2/models/webpack-build-test.js | 6 +++--- plugins/karma.js | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/addon/ng2/blueprints/ng2/files/config/karma.conf.js b/addon/ng2/blueprints/ng2/files/config/karma.conf.js index e5ab25543993..beaf8e13adc2 100644 --- a/addon/ng2/blueprints/ng2/files/config/karma.conf.js +++ b/addon/ng2/blueprints/ng2/files/config/karma.conf.js @@ -31,7 +31,7 @@ module.exports = function (config) { } }, angularCliConfig: './angular-cli.json', - reporters: ['progress', 'karma-remap-istanbul'], + reporters: config.debug ? ['progress'] : ['progress', 'karma-remap-istanbul'], port: 9876, colors: true, logLevel: config.LOG_INFO, diff --git a/addon/ng2/commands/test.ts b/addon/ng2/commands/test.ts index 5d62c7ba486f..6e2e91d4dcc2 100644 --- a/addon/ng2/commands/test.ts +++ b/addon/ng2/commands/test.ts @@ -5,6 +5,7 @@ import * as TestTask from '../tasks/test'; module.exports = TestCommand.extend({ availableOptions: [ { name: 'watch', type: Boolean, default: true, aliases: ['w'] }, + { name: 'debug', type: Boolean, default: false, aliases: ['d'] }, { name: 'browsers', type: String }, { name: 'colors', type: Boolean }, { name: 'log-level', type: String }, diff --git a/addon/ng2/models/webpack-build-test.js b/addon/ng2/models/webpack-build-test.js index 38e04f1fd43e..bfce1e91455d 100644 --- a/addon/ng2/models/webpack-build-test.js +++ b/addon/ng2/models/webpack-build-test.js @@ -3,8 +3,8 @@ const path = require('path'); const webpack = require('webpack'); -const getWebpackTestConfig = function(projectRoot, appConfig) { - +const getWebpackTestConfig = function(projectRoot, appConfig, debug=false) { + const appRoot = path.resolve(projectRoot, appConfig.root); return { @@ -66,7 +66,7 @@ const getWebpackTestConfig = function(projectRoot, appConfig) { { test: /\.(jpg|png)$/, loader: 'url-loader?limit=128000' }, { test: /\.html$/, loader: 'raw-loader', exclude: [path.resolve(appRoot, appConfig.index)] } ], - postLoaders: [ + postLoaders: debug ? [] : [ { test: /\.(js|ts)$/, loader: 'sourcemap-istanbul-instrumenter-loader', exclude: [ diff --git a/plugins/karma.js b/plugins/karma.js index 70758bc56e60..50e692eae221 100644 --- a/plugins/karma.js +++ b/plugins/karma.js @@ -9,7 +9,7 @@ const init = (config) => { const appConfig = angularCliConfig.apps[0]; // add webpack config - config.webpack = getWebpackTestConfig(config.basePath, appConfig); + config.webpack = getWebpackTestConfig(config.basePath, appConfig, config.debug); config.webpackMiddleware = { noInfo: true, // Hide webpack output because its noisy. stats: { // Also prevent chunk and module display output, cleaner look. Only emit errors. From fda89edb001f1a556e1c32362af0b2465ec59a7a Mon Sep 17 00:00:00 2001 From: Abner Oliveira Date: Mon, 22 Aug 2016 06:50:25 -0300 Subject: [PATCH 2/5] added debug argument to ng test task. This argument when passed disable instrumentation and coverage, allowing to debug the source code when running tests --- addon/ng2/blueprints/ng2/files/karma.conf.js | 2 +- addon/ng2/commands/test.ts | 1 + addon/ng2/models/webpack-build-test.js | 4 ++-- plugins/karma.js | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/addon/ng2/blueprints/ng2/files/karma.conf.js b/addon/ng2/blueprints/ng2/files/karma.conf.js index 2076fb21eb8d..de1861602455 100644 --- a/addon/ng2/blueprints/ng2/files/karma.conf.js +++ b/addon/ng2/blueprints/ng2/files/karma.conf.js @@ -31,7 +31,7 @@ module.exports = function (config) { } }, angularCliConfig: './angular-cli.json', - reporters: ['progress', 'karma-remap-istanbul'], + reporters: config.debug ? ['progress'] : ['progress', 'karma-remap-istanbul'], port: 9876, colors: true, logLevel: config.LOG_INFO, diff --git a/addon/ng2/commands/test.ts b/addon/ng2/commands/test.ts index 5d62c7ba486f..6e2e91d4dcc2 100644 --- a/addon/ng2/commands/test.ts +++ b/addon/ng2/commands/test.ts @@ -5,6 +5,7 @@ import * as TestTask from '../tasks/test'; module.exports = TestCommand.extend({ availableOptions: [ { name: 'watch', type: Boolean, default: true, aliases: ['w'] }, + { name: 'debug', type: Boolean, default: false, aliases: ['d'] }, { name: 'browsers', type: String }, { name: 'colors', type: Boolean }, { name: 'log-level', type: String }, diff --git a/addon/ng2/models/webpack-build-test.js b/addon/ng2/models/webpack-build-test.js index 38e04f1fd43e..b1daaf8f41cb 100644 --- a/addon/ng2/models/webpack-build-test.js +++ b/addon/ng2/models/webpack-build-test.js @@ -3,7 +3,7 @@ const path = require('path'); const webpack = require('webpack'); -const getWebpackTestConfig = function(projectRoot, appConfig) { +const getWebpackTestConfig = function(projectRoot, appConfig, debug=false) { const appRoot = path.resolve(projectRoot, appConfig.root); @@ -66,7 +66,7 @@ const getWebpackTestConfig = function(projectRoot, appConfig) { { test: /\.(jpg|png)$/, loader: 'url-loader?limit=128000' }, { test: /\.html$/, loader: 'raw-loader', exclude: [path.resolve(appRoot, appConfig.index)] } ], - postLoaders: [ + postLoaders: debug ? [] : [ { test: /\.(js|ts)$/, loader: 'sourcemap-istanbul-instrumenter-loader', exclude: [ diff --git a/plugins/karma.js b/plugins/karma.js index 70758bc56e60..50e692eae221 100644 --- a/plugins/karma.js +++ b/plugins/karma.js @@ -9,7 +9,7 @@ const init = (config) => { const appConfig = angularCliConfig.apps[0]; // add webpack config - config.webpack = getWebpackTestConfig(config.basePath, appConfig); + config.webpack = getWebpackTestConfig(config.basePath, appConfig, config.debug); config.webpackMiddleware = { noInfo: true, // Hide webpack output because its noisy. stats: { // Also prevent chunk and module display output, cleaner look. Only emit errors. From 58ac230b3b21b8fc8ec6af9ed91c8155fb3eea6c Mon Sep 17 00:00:00 2001 From: Abner Oliveira Date: Mon, 22 Aug 2016 06:41:51 -0300 Subject: [PATCH 3/5] added debug argument to test task. This argument when passed disable instrumentation and coverage, allowing to debug the source code when running tests --- addon/ng2/blueprints/ng2/files/config/karma.conf.js | 2 +- addon/ng2/commands/test.ts | 1 + addon/ng2/models/webpack-build-test.js | 6 +++--- plugins/karma.js | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/addon/ng2/blueprints/ng2/files/config/karma.conf.js b/addon/ng2/blueprints/ng2/files/config/karma.conf.js index e5ab25543993..beaf8e13adc2 100644 --- a/addon/ng2/blueprints/ng2/files/config/karma.conf.js +++ b/addon/ng2/blueprints/ng2/files/config/karma.conf.js @@ -31,7 +31,7 @@ module.exports = function (config) { } }, angularCliConfig: './angular-cli.json', - reporters: ['progress', 'karma-remap-istanbul'], + reporters: config.debug ? ['progress'] : ['progress', 'karma-remap-istanbul'], port: 9876, colors: true, logLevel: config.LOG_INFO, diff --git a/addon/ng2/commands/test.ts b/addon/ng2/commands/test.ts index 5d62c7ba486f..6e2e91d4dcc2 100644 --- a/addon/ng2/commands/test.ts +++ b/addon/ng2/commands/test.ts @@ -5,6 +5,7 @@ import * as TestTask from '../tasks/test'; module.exports = TestCommand.extend({ availableOptions: [ { name: 'watch', type: Boolean, default: true, aliases: ['w'] }, + { name: 'debug', type: Boolean, default: false, aliases: ['d'] }, { name: 'browsers', type: String }, { name: 'colors', type: Boolean }, { name: 'log-level', type: String }, diff --git a/addon/ng2/models/webpack-build-test.js b/addon/ng2/models/webpack-build-test.js index 38e04f1fd43e..bfce1e91455d 100644 --- a/addon/ng2/models/webpack-build-test.js +++ b/addon/ng2/models/webpack-build-test.js @@ -3,8 +3,8 @@ const path = require('path'); const webpack = require('webpack'); -const getWebpackTestConfig = function(projectRoot, appConfig) { - +const getWebpackTestConfig = function(projectRoot, appConfig, debug=false) { + const appRoot = path.resolve(projectRoot, appConfig.root); return { @@ -66,7 +66,7 @@ const getWebpackTestConfig = function(projectRoot, appConfig) { { test: /\.(jpg|png)$/, loader: 'url-loader?limit=128000' }, { test: /\.html$/, loader: 'raw-loader', exclude: [path.resolve(appRoot, appConfig.index)] } ], - postLoaders: [ + postLoaders: debug ? [] : [ { test: /\.(js|ts)$/, loader: 'sourcemap-istanbul-instrumenter-loader', exclude: [ diff --git a/plugins/karma.js b/plugins/karma.js index 70758bc56e60..50e692eae221 100644 --- a/plugins/karma.js +++ b/plugins/karma.js @@ -9,7 +9,7 @@ const init = (config) => { const appConfig = angularCliConfig.apps[0]; // add webpack config - config.webpack = getWebpackTestConfig(config.basePath, appConfig); + config.webpack = getWebpackTestConfig(config.basePath, appConfig, config.debug); config.webpackMiddleware = { noInfo: true, // Hide webpack output because its noisy. stats: { // Also prevent chunk and module display output, cleaner look. Only emit errors. From ad82f9a138f0e7f557ca7f89b08cb1bf979641ac Mon Sep 17 00:00:00 2001 From: Abner Oliveira Date: Mon, 22 Aug 2016 17:43:13 -0300 Subject: [PATCH 4/5] fixed debug default value --- addon/ng2/models/webpack-build-test.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addon/ng2/models/webpack-build-test.js b/addon/ng2/models/webpack-build-test.js index bfce1e91455d..40f00557c3fc 100644 --- a/addon/ng2/models/webpack-build-test.js +++ b/addon/ng2/models/webpack-build-test.js @@ -3,9 +3,10 @@ const path = require('path'); const webpack = require('webpack'); -const getWebpackTestConfig = function(projectRoot, appConfig, debug=false) { +const getWebpackTestConfig = function(projectRoot, appConfig, debug) { const appRoot = path.resolve(projectRoot, appConfig.root); + var debug = typeof debug !== 'undefined' ? debug : false; return { devtool: 'inline-source-map', From 327defb05f847be4cd2e4efdbf09435a795f3c35 Mon Sep 17 00:00:00 2001 From: Abner Oliveira Date: Thu, 22 Sep 2016 06:17:48 -0300 Subject: [PATCH 5/5] remove repeated line --- packages/angular-cli/plugins/karma.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/angular-cli/plugins/karma.js b/packages/angular-cli/plugins/karma.js index d60d18e1ac33..23c6cb594bcd 100644 --- a/packages/angular-cli/plugins/karma.js +++ b/packages/angular-cli/plugins/karma.js @@ -25,7 +25,6 @@ const init = (config) => { chunkModules: false } }; - config.webpack = Object.assign(webpackConfig, config.webpack); config.webpackMiddleware = Object.assign(webpackMiddlewareConfig, config.webpackMiddleware); // replace the angular-cli preprocessor with webpack+sourcemap