<%= add_documentation_reference(config, “// github.com/shakacode/react_on_rails_demo_ssr_hmr/blob/master/config/webpack/webpackConfig.js”) %>

const clientWebpackConfig = require(‘./clientWebpackConfig’); const serverWebpackConfig = require(‘./serverWebpackConfig’);

const webpackConfig = (envSpecific) => {

const clientConfig = clientWebpackConfig();
const serverConfig = serverWebpackConfig();

if (envSpecific) {
  envSpecific(clientConfig, serverConfig);
}

let result;
// For HMR, need to separate the the client and server webpack configurations
if (process.env.WEBPACK_SERVE || process.env.CLIENT_BUNDLE_ONLY) {
  // eslint-disable-next-line no-console
  console.log('[React on Rails] Creating only the client bundles.');
  result = clientConfig;
} else if (process.env.SERVER_BUNDLE_ONLY) {
  // eslint-disable-next-line no-console
  console.log('[React on Rails] Creating only the server bundle.');
  result = serverConfig;
} else {
  // default is the standard client and server build
  // eslint-disable-next-line no-console
  console.log('[React on Rails] Creating both client and server bundles.');
  result = [clientConfig, serverConfig];
}

// To debug, uncomment next line and inspect "result"
// debugger
return result;

};

module.exports = webpackConfig;