diff --git a/src/index.js b/src/index.js index b9a88d0b..c27da884 100644 --- a/src/index.js +++ b/src/index.js @@ -477,10 +477,15 @@ class MiniCssExtractPlugin { MODULE_TYPE, 'mini-css', `${webpack.RuntimeGlobals.require}.miniCssF`, - (referencedChunk) => - referencedChunk.canBeInitial() + (referencedChunk) => { + if (!referencedChunk.contentHash[MODULE_TYPE]) { + return false; + } + + return referencedChunk.canBeInitial() ? this.options.filename - : this.options.chunkFilename, + : this.options.chunkFilename; + }, true ) ); diff --git a/test/cases/hmr/expected/webpack-5/main.js b/test/cases/hmr/expected/webpack-5/main.js index 3cc77dda..83afefff 100644 --- a/test/cases/hmr/expected/webpack-5/main.js +++ b/test/cases/hmr/expected/webpack-5/main.js @@ -358,7 +358,7 @@ module.exports = function (urlString) { /******/ // This function allow to reference all chunks /******/ __webpack_require__.miniCssF = (chunkId) => { /******/ // return url for filenames based on template -/******/ return "" + "main" + ".css"; +/******/ return undefined; /******/ }; /******/ })(); /******/ diff --git a/test/cases/hmr/webpack.config.js b/test/cases/hmr/webpack.config.js index f21d6bb8..c64ce9ea 100644 --- a/test/cases/hmr/webpack.config.js +++ b/test/cases/hmr/webpack.config.js @@ -4,6 +4,7 @@ import Self from '../../../src'; module.exports = { entry: './index.css', + mode: 'development', module: { rules: [ { diff --git a/test/cases/insert-function/expected/webpack-5/main.js b/test/cases/insert-function/expected/webpack-5/main.js index e273ce62..f0ab3061 100644 --- a/test/cases/insert-function/expected/webpack-5/main.js +++ b/test/cases/insert-function/expected/webpack-5/main.js @@ -54,10 +54,8 @@ /******/ (() => { /******/ // This function allow to reference all chunks /******/ __webpack_require__.miniCssF = (chunkId) => { -/******/ // return url for filenames not based on template -/******/ if (chunkId === 1) return "1.css"; /******/ // return url for filenames based on template -/******/ return "" + "main" + ".css"; +/******/ return "" + chunkId + ".css"; /******/ }; /******/ })(); /******/ diff --git a/test/cases/insert-string/expected/webpack-5/main.js b/test/cases/insert-string/expected/webpack-5/main.js index 21fd7a79..581022c8 100644 --- a/test/cases/insert-string/expected/webpack-5/main.js +++ b/test/cases/insert-string/expected/webpack-5/main.js @@ -54,10 +54,8 @@ /******/ (() => { /******/ // This function allow to reference all chunks /******/ __webpack_require__.miniCssF = (chunkId) => { -/******/ // return url for filenames not based on template -/******/ if (chunkId === 1) return "1.css"; /******/ // return url for filenames based on template -/******/ return "" + "main" + ".css"; +/******/ return "" + chunkId + ".css"; /******/ }; /******/ })(); /******/ diff --git a/test/cases/insert-undefined/expected/webpack-5/main.js b/test/cases/insert-undefined/expected/webpack-5/main.js index 2d7ef200..ffd6d783 100644 --- a/test/cases/insert-undefined/expected/webpack-5/main.js +++ b/test/cases/insert-undefined/expected/webpack-5/main.js @@ -54,10 +54,8 @@ /******/ (() => { /******/ // This function allow to reference all chunks /******/ __webpack_require__.miniCssF = (chunkId) => { -/******/ // return url for filenames not based on template -/******/ if (chunkId === 1) return "1.css"; /******/ // return url for filenames based on template -/******/ return "" + "main" + ".css"; +/******/ return "" + chunkId + ".css"; /******/ }; /******/ })(); /******/ diff --git a/test/cases/runtime/expected/webpack-5/runtime~main.js b/test/cases/runtime/expected/webpack-5/runtime~main.js index 13ea0c61..181c1360 100644 --- a/test/cases/runtime/expected/webpack-5/runtime~main.js +++ b/test/cases/runtime/expected/webpack-5/runtime~main.js @@ -101,7 +101,7 @@ /******/ // This function allow to reference all chunks /******/ __webpack_require__.miniCssF = (chunkId) => { /******/ // return url for filenames based on template -/******/ return "" + ({"0":"main","1":"runtime~main"}[chunkId] || chunkId) + "." + {"0":"a7263f8f763dcf4051bc"}[chunkId] + ".css"; +/******/ return "" + "main" + "." + "a7263f8f763dcf4051bc" + ".css"; /******/ }; /******/ })(); /******/