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