/* eslint comma-dangle: [“error”,
{"functions": "never", "arrays": "only-multiline", "objects":
“only-multiline”} ] */
const webpack = require('webpack'); const path = require('path');
const devBuild = process.env.NODE_ENV !== 'production'; const nodeEnv = devBuild ? 'development' : 'production';
const config = {
entry: [ 'es5-shim/es5-shim', 'es5-shim/es5-sham', 'babel-polyfill', './app/registration', ], output: { filename: 'webpack-bundle.js', path: '../app/assets/webpack', }, resolve: { extensions: ['', '.js', '.jsx'], alias: { react: path.resolve('./node_modules/react'), 'react-dom': path.resolve('./node_modules/react-dom'), }, }, plugins: [ new webpack.DefinePlugin({ 'process.env': { NODE_ENV: JSON.stringify(nodeEnv), }, }), ], module: { loaders: [ { test: require.resolve('react'), loader: 'imports?shim=es5-shim/es5-shim&sham=es5-shim/es5-sham', }, { test: /\.jsx?$/, loader: 'babel-loader', exclude: /node_modules/, }, ], },
};
module.exports = config;
if (devBuild) {
console.log('Webpack dev build for Rails'); // eslint-disable-line no-console module.exports.devtool = 'eval-source-map';
} else {
config.plugins.push( new webpack.optimize.DedupePlugin() ); console.log('Webpack production build for Rails'); // eslint-disable-line no-console
}