Merge upstream 2.0ish #165
This commit is contained in:
@ -4,6 +4,17 @@ const merge = require('webpack-merge');
|
||||
const sharedConfig = require('./shared.js');
|
||||
const { settings, output } = require('./configuration.js');
|
||||
|
||||
const watchOptions = {
|
||||
ignored: /node_modules/,
|
||||
};
|
||||
|
||||
if (process.env.VAGRANT) {
|
||||
// If we are in Vagrant, we can't rely on inotify to update us with changed
|
||||
// files, so we must poll instead. Here, we poll every second to see if
|
||||
// anything has changed.
|
||||
watchOptions.poll = 1000;
|
||||
}
|
||||
|
||||
module.exports = merge(sharedConfig, {
|
||||
devtool: 'cheap-module-eval-source-map',
|
||||
|
||||
@ -26,8 +37,6 @@ module.exports = merge(sharedConfig, {
|
||||
headers: { 'Access-Control-Allow-Origin': '*' },
|
||||
historyApiFallback: true,
|
||||
disableHostCheck: true,
|
||||
watchOptions: {
|
||||
ignored: /node_modules/,
|
||||
},
|
||||
watchOptions: watchOptions,
|
||||
},
|
||||
});
|
||||
|
@ -4,11 +4,7 @@ const env = process.env.NODE_ENV || 'development';
|
||||
|
||||
module.exports = {
|
||||
test: /\.js$/,
|
||||
// include react-intl because transform-react-remove-prop-types needs to apply to it
|
||||
exclude: {
|
||||
test: /node_modules/,
|
||||
exclude: /react-intl[\/\\](?!locale-data)/,
|
||||
},
|
||||
exclude: /node_modules/,
|
||||
loader: 'babel-loader',
|
||||
options: {
|
||||
forceEnv: process.env.NODE_ENV || 'development',
|
||||
|
21
config/webpack/loaders/babel_external.js
Normal file
21
config/webpack/loaders/babel_external.js
Normal file
@ -0,0 +1,21 @@
|
||||
const { resolve } = require('path');
|
||||
|
||||
const env = process.env.NODE_ENV || 'development';
|
||||
|
||||
if (env === 'development') {
|
||||
module.exports = {};
|
||||
} else {
|
||||
// babel options to apply only to external libraries, e.g. remove-prop-types
|
||||
module.exports = {
|
||||
test: /\.js$/,
|
||||
include: /node_modules/,
|
||||
loader: 'babel-loader',
|
||||
options: {
|
||||
babelrc: false,
|
||||
plugins: [
|
||||
'transform-react-remove-prop-types',
|
||||
],
|
||||
cacheDirectory: env === 'development' ? false : resolve(__dirname, '..', '..', '..', 'tmp', 'cache', 'babel-loader-external'),
|
||||
},
|
||||
};
|
||||
}
|
@ -50,6 +50,13 @@ module.exports = {
|
||||
|
||||
plugins: [
|
||||
new webpack.EnvironmentPlugin(JSON.parse(JSON.stringify(env))),
|
||||
new webpack.NormalModuleReplacementPlugin(
|
||||
/^history\//, (resource) => {
|
||||
// temporary fix for https://github.com/ReactTraining/react-router/issues/5576
|
||||
// to reduce bundle size
|
||||
resource.request = resource.request.replace(/^history/, 'history/es');
|
||||
}
|
||||
),
|
||||
new ExtractTextPlugin({
|
||||
filename: env.NODE_ENV === 'production' ? '[name]-[hash].css' : '[name].css',
|
||||
allChunks: true,
|
||||
|
Reference in New Issue
Block a user