diff --git a/CHANGELOG.md b/CHANGELOG.md index 84831237..af554f8f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [2.9.2](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v2.9.1...v2.9.2) (2024-11-01) + + +### Bug Fixes + +* prefetch and preload runtime generation ([#1116](https://github.com/webpack-contrib/mini-css-extract-plugin/issues/1116)) ([58c6b74](https://github.com/webpack-contrib/mini-css-extract-plugin/commit/58c6b7422aedfd3fc4d5f3553b196da40eae1f4b)) + ### [2.9.1](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v2.9.0...v2.9.1) (2024-08-19) diff --git a/package-lock.json b/package-lock.json index 58daef93..e6cdb38a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mini-css-extract-plugin", - "version": "2.9.1", + "version": "2.9.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mini-css-extract-plugin", - "version": "2.9.1", + "version": "2.9.2", "license": "MIT", "dependencies": { "schema-utils": "^4.0.0", diff --git a/package.json b/package.json index ef5701b2..983a8ca0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mini-css-extract-plugin", - "version": "2.9.1", + "version": "2.9.2", "description": "extracts CSS into separate files", "license": "MIT", "repository": "webpack-contrib/mini-css-extract-plugin", diff --git a/src/index.js b/src/index.js index 7fc94b01..b7caa4bb 100644 --- a/src/index.js +++ b/src/index.js @@ -1123,7 +1123,7 @@ class MiniCssExtractPlugin { ]) : "// no hmr", "", - withPrefetch && hasCssMatcher !== false + withPrefetch && withLoading && hasCssMatcher !== false ? `${ RuntimeGlobals.prefetchChunkHandlers }.miniCss = ${runtimeTemplate.basicFunction("chunkId", [ @@ -1159,7 +1159,7 @@ class MiniCssExtractPlugin { ])};` : "// no prefetching", "", - withPreload && hasCssMatcher !== false + withPreload && withLoading && hasCssMatcher !== false ? `${ RuntimeGlobals.preloadChunkHandlers }.miniCss = ${runtimeTemplate.basicFunction("chunkId", [ diff --git a/test/cases/prefetch-preload-hmr/a.css b/test/cases/prefetch-preload-hmr/a.css new file mode 100644 index 00000000..5451a331 --- /dev/null +++ b/test/cases/prefetch-preload-hmr/a.css @@ -0,0 +1,3 @@ +.a { + color: red; +} diff --git a/test/cases/prefetch-preload-hmr/b.js b/test/cases/prefetch-preload-hmr/b.js new file mode 100644 index 00000000..e69de29b diff --git a/test/cases/prefetch-preload-hmr/expected/main.css b/test/cases/prefetch-preload-hmr/expected/main.css new file mode 100644 index 00000000..98f445d8 --- /dev/null +++ b/test/cases/prefetch-preload-hmr/expected/main.css @@ -0,0 +1,4 @@ +.a { + color: red; +} + diff --git a/test/cases/prefetch-preload-hmr/index.js b/test/cases/prefetch-preload-hmr/index.js new file mode 100644 index 00000000..e615a5ec --- /dev/null +++ b/test/cases/prefetch-preload-hmr/index.js @@ -0,0 +1,3 @@ +import "./a.css"; + +import(/* webpackPrefetch: true */ "./b"); diff --git a/test/cases/prefetch-preload-hmr/webpack.config.js b/test/cases/prefetch-preload-hmr/webpack.config.js new file mode 100644 index 00000000..d07a9495 --- /dev/null +++ b/test/cases/prefetch-preload-hmr/webpack.config.js @@ -0,0 +1,21 @@ +import webpack from "webpack"; + +import Self from "../../../src"; + +module.exports = { + entry: "./index.js", + module: { + rules: [ + { + test: /\.css$/, + use: [Self.loader, "css-loader"], + }, + ], + }, + plugins: [ + new Self({ + filename: "[name].css", + }), + new webpack.HotModuleReplacementPlugin(), + ], +};