From 94ad03385b3ff55fa8e9c6434bde1d2bcb90ef73 Mon Sep 17 00:00:00 2001 From: Tobias Koppers Date: Sat, 19 Feb 2022 23:26:54 +0100 Subject: [PATCH] remove commons chunk config (#34445) This removes the config for the `commons` chunk. I think the idea was that modules are that in all pages are put into a `commons` chunk, but that breaks when next/dynamic comes into play, which also creates chunks. So the `totalPages` condition is broken and could lead to too many modules placed into the commons chunk. Example: 2 pages, each has one next/dynamic. Both on demand chunks include module A. page 1 includes module B and next/dynamic on page 2 includes module B. A and B are placed into commons. commonjs chunk is loaded in page 1 and both next/dynamic. Page 1 would load module A even while it doesn't need it. ## Bug - [ ] Related issues linked using `fixes #number` - [ ] Integration tests added - [ ] Errors have helpful link attached, see `contributing.md` ## Feature - [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR. - [ ] Related issues linked using `fixes #number` - [ ] Integration tests added - [ ] Documentation added - [ ] Telemetry added. In case of a feature if it's used or not. - [ ] Errors have helpful link attached, see `contributing.md` ## Documentation / Examples - [ ] Make sure the linting passes by running `yarn lint` --- packages/next/build/webpack-config.ts | 5 ----- test/.stats-app/stats-config.js | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/packages/next/build/webpack-config.ts b/packages/next/build/webpack-config.ts index d54d3c9f8c2bd23..f030cf3139e4337 100644 --- a/packages/next/build/webpack-config.ts +++ b/packages/next/build/webpack-config.ts @@ -791,11 +791,6 @@ export default async function getBaseWebpackConfig( minChunks: 1, reuseExistingChunk: true, }, - commons: { - name: 'commons', - minChunks: totalPages, - priority: 20, - }, middleware: { chunks: (chunk: webpack.compilation.Chunk) => chunk.name?.match(MIDDLEWARE_ROUTE), diff --git a/test/.stats-app/stats-config.js b/test/.stats-app/stats-config.js index 82741d746daad4b..7996360ebeb5040 100644 --- a/test/.stats-app/stats-config.js +++ b/test/.stats-app/stats-config.js @@ -9,7 +9,7 @@ const imagePageData = fs.readFileSync( const clientGlobs = [ { - name: 'Client Bundles (main, webpack, commons)', + name: 'Client Bundles (main, webpack)', globs: [ '.next/static/runtime/+(main|webpack)-*', '.next/static/chunks/!(polyfills*)',