"express": "4.18.2",
"webpack": "5.90.3",
"webpack-dev-middleware": "7.0.0",
"webpack-hot-middleware": "2.26.1",
"webpack-manifest-plugin": "5.0.0"
{
name: '<build-name>',
mode: 'development',
devtool,
context: __dirname,
entry: [`webpack-hot-middleware/client?name=<build-name>&path=${publicPath}__webpack_hmr`],
output: {
chunkFilename: '[name].[contenthash].js',
filename: '[name].[contenthash].js',
path: path.resolve(__dirname, 'dist', 'browser'),
publicPath
},
optimization: {
splitChunks: {
chunks: 'all'
}
},
module: {
rules: [
{
test: /\.(css)$/,
use: [
MiniCssExtractPlugin.loader,
{
loader: 'css-loader',
options: {
importLoaders: 1, // https://webpack.js.org/loaders/css-loader/#importloaders
modules: {
localIdentName: '[hash:8]'
}
}
}
]
}
]
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new HtmlWebpackPlugin({
filename: 'index.html',
inject: false,
template: path.resolve(__dirname, 'src', 'targets', 'browser', 'index-browser.html')
}),
new MiniCssExtractPlugin({
chunkFilename: '[name].[contenthash].css',
filename: '[name].[contenthash].css'
})
]
}
webpackDevMiddleware(compiler, { serverSideRender: true })
webpackHotMiddleware(compiler, { path: `/dist/__webpack_hmr` })
Minimal configuration provided above for now...
System:
OS: macOS 14.3.1
CPU: (10) arm64 Apple M1 Pro
Memory: 1.03 GB / 32.00 GB
Binaries:
Node: 18.19.0 - ~/.nvm/versions/node/v18.19.0/bin/node
Yarn: 1.22.18 - /opt/homebrew/bin/yarn
npm: 10.2.3 - ~/.nvm/versions/node/v18.19.0/bin/npm
Browsers:
Edge: 122.0.2365.92
Safari: 17.3.1
Packages:
babel-loader: 9.1.3 => 9.1.3
copy-webpack-plugin: 12.0.2 => 12.0.2
css-loader: 6.8.1 => 6.8.1
html-webpack-plugin: 5.5.4 => 5.5.4
style-loader: 3.3.3 => 3.3.3
webpack: 5.90.3 => 5.90.3
webpack-cli: 5.1.4 => 5.1.4
webpack-hot-middleware: 2.26.1 => 2.26.1
webpack-manifest-plugin: 5.0.0 => 5.0.0
Global Packages:
webpack: 5.90.3
Bug report
CSS with [contenthash] not refreshing with HMR, webpack-dev-middleware
1. We see our stylesheet loaded in the document with the expected CSS.
2. We make an update to our CSS. We change the
paddingfrom50to75px.3. We see a request in the network tab for the CSS update. However, the contents is stale. It has the old value of
50px.4. We refresh the page using the refresh button and see the updated value of
75px.Package Versions
Webpack Config (relevant parts)
Middleware Config
Actual Behavior
paddingfrom50to75px.50px.75px.Expected Behavior
How Do We Reproduce?
Minimal configuration provided above for now...
Please paste the results of
npx webpack-cli infohere, and mention other relevant information