diff --git a/lib/config-generator.js b/lib/config-generator.js index b316be9d..e49440e5 100644 --- a/lib/config-generator.js +++ b/lib/config-generator.js @@ -221,6 +221,14 @@ class ConfigGenerator { } buildRulesConfig() { + const applyRuleConfigurationCallback = (name, defaultRules) => { + if (!(name in this.webpackConfig.loaderConfigurationCallbacks)) { + throw new Error(`Loader "${name}" is not configurable. Valid loaders are "${Object.keys(this.webpackConfig.loaderConfigurationCallbacks).join('", "')}".`); + } + + return applyOptionsCallback(this.webpackConfig.loaderConfigurationCallbacks[name], defaultRules); + }; + let rules = [ { // match .js and .jsx @@ -357,7 +365,7 @@ class ConfigGenerator { } if (this.webpackConfig.useEslintLoader) { - rules.push(applyOptionsCallback(this.webpackConfig.loaderConfigurationCallbacks['eslint'], { + rules.push(applyRuleConfigurationCallback('eslint', { test: /\.jsx?$/, loader: 'eslint-loader', exclude: /node_modules/,