diff --git a/lib/utils/webpack.config.js b/lib/utils/webpack.config.js index 50f2d9c8f5acb..b453b145109c3 100644 --- a/lib/utils/webpack.config.js +++ b/lib/utils/webpack.config.js @@ -5,6 +5,7 @@ import Config from 'webpack-configurator' const debug = require('debug')('gatsby:webpack-config') import path from 'path' import _ from 'lodash' +import invariant from 'invariant' import babelConfig from './babel-config' @@ -380,7 +381,14 @@ module.exports = (program, directory, stage, webpackPort = 1500, routes = []) => }) if (modifyWebpackConfig) { - return modifyWebpackConfig(module(config), stage) + const modifiedWebpackConfig = modifyWebpackConfig(module(config), stage) + invariant(_.isObject(modifiedWebpackConfig), + ` + You must return an object when modifying the Webpack config. + Returned: ${modifiedWebpackConfig} + stage: ${stage} + `) + return modifiedWebpackConfig } else { return module(config) }