Skip to content

Commit 24d64f9

Browse files
JSMikeMichael Cebrian
authored andcommitted
fix(karma): set defaults for karma.conf.js
The karma plugin is currently overwriting configuration set in karma.conf.js instead of merging existing values. This fix will set defaults but not overwrite existing configuration.
1 parent 440d767 commit 24d64f9

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

plugins/karma.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@ const init = (config) => {
77
if (!config.angularCliConfig) throw new Error('Missing \'angularCliConfig\' entry in Karma config');
88
const angularCliConfig = require(path.join(config.basePath, config.angularCliConfig));
99
const appConfig = angularCliConfig.apps[0];
10-
11-
// add webpack config
12-
config.webpack = getWebpackTestConfig(config.basePath, appConfig);
13-
config.webpackMiddleware = {
10+
const webpackMiddlewareConfig = {
1411
noInfo: true, // Hide webpack output because its noisy.
1512
stats: { // Also prevent chunk and module display output, cleaner look. Only emit errors.
1613
assets: false,
@@ -23,6 +20,10 @@ const init = (config) => {
2320
}
2421
};
2522

23+
// add webpack config
24+
config.webpack = Object.assign(getWebpackTestConfig(config.basePath, appConfig), config.webpack);
25+
config.webpackMiddleware = Object.assign(webpackMiddlewareConfig, config.webpackMiddleware);
26+
2627
// replace the angular-cli preprocessor with webpack+sourcemap
2728
Object.keys(config.preprocessors)
2829
.filter((file) => config.preprocessors[file].indexOf('angular-cli') !== -1)
@@ -40,4 +41,4 @@ preprocessor.$inject = []
4041
module.exports = Object.assign({
4142
'framework:angular-cli': ['factory', init],
4243
'preprocessor:angular-cli': ['factory', preprocessor]
43-
}, require('karma-webpack'), require('karma-sourcemap-loader'));
44+
}, require('karma-webpack'), require('karma-sourcemap-loader'));

0 commit comments

Comments
 (0)