From 2827b7461cabc9a1e281a39b80a27f858f6cbb47 Mon Sep 17 00:00:00 2001 From: Kyle Mathews Date: Sat, 28 May 2016 18:01:09 -0700 Subject: [PATCH] Add invariant for value returned when user modifies the Webpack config Fixes #269 --- lib/utils/webpack.config.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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) }