Reduce assets precompilation time by about 20%

Bundle most common webpack chunks into a “common” pack,
in a way similar to what upstream does.
This commit is contained in:
Thibaut Girka 2018-07-28 16:42:13 +02:00 committed by ThibG
parent d3783b864c
commit 7317b7b231
1 changed files with 16 additions and 10 deletions

View File

@ -44,13 +44,16 @@ function reducePacks (data, into = {}) {
return into;
}
const entries = Object.assign(
{ locales: resolve('app', 'javascript', 'locales') },
localePacks,
reducePacks(core),
Object.keys(flavours).reduce((map, entry) => reducePacks(flavours[entry], map), {})
);
module.exports = {
entry: Object.assign(
{ locales: resolve('app', 'javascript', 'locales') },
localePacks,
reducePacks(core),
Object.keys(flavours).reduce((map, entry) => reducePacks(flavours[entry], map), {})
),
entry: entries,
output: {
filename: '[name].js',
@ -67,11 +70,14 @@ module.exports = {
cacheGroups: {
default: false,
vendors: false,
locales: {
name: 'locales',
chunks: 'all',
minChunks: Infinity,
common: {
name: 'common',
chunks (chunk) {
return !(chunk.name in entries);
},
minChunks: 2,
minSize: 0,
test: /^(?!.*[\\\/]node_modules[\\\/]react-intl[\\\/]).+$/,
},
},
},