Merge upstream 2.0ish #165

This commit is contained in:
kibigo!
2017-10-11 10:43:10 -07:00
322 changed files with 8478 additions and 2587 deletions

View File

@ -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,
},
});

View File

@ -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',

View 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'),
},
};
}

View File

@ -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,