Update webpack & remove clean plugin usage

This commit is contained in:
Sonny Bakker 2026-01-31 10:53:50 +01:00
parent e40d69d5ff
commit 6a2a75dade
3 changed files with 321 additions and 444 deletions

748
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -37,7 +37,6 @@
"@babel/runtime": "^7.12.13", "@babel/runtime": "^7.12.13",
"babel-jest": "^29.7.0", "babel-jest": "^29.7.0",
"babel-loader": "^8.2.2", "babel-loader": "^8.2.2",
"clean-webpack-plugin": "^3.0.0",
"css-loader": "^7.1.2", "css-loader": "^7.1.2",
"fetch-mock": "^8.3.2", "fetch-mock": "^8.3.2",
"jest": "^29.7.0", "jest": "^29.7.0",

View file

@ -1,7 +1,8 @@
import { resolve } from 'path'; import { resolve } from 'path';
import { CleanWebpackPlugin } from 'clean-webpack-plugin';
import MiniCssExtractPlugin from 'mini-css-extract-plugin'; import MiniCssExtractPlugin from 'mini-css-extract-plugin';
const exlcudeCleanFiles = ['favicon.png'];
export default { export default {
resolve: { extensions: ['.js', '.scss'] }, resolve: { extensions: ['.js', '.scss'] },
entry: { entry: {
@ -10,6 +11,11 @@ export default {
output: { output: {
path: resolve(__dirname, 'src', 'newsreader', 'static'), path: resolve(__dirname, 'src', 'newsreader', 'static'),
filename: 'js/[name].bundle.js', filename: 'js/[name].bundle.js',
clean: {
keep: filename => {
return exlcudeCleanFiles.find(excludedFile => filename.endsWith(excludedFile));
},
},
}, },
module: { module: {
rules: [ rules: [
@ -42,11 +48,5 @@ export default {
}, },
], ],
}, },
plugins: [ plugins: [new MiniCssExtractPlugin({ filename: 'css/main.css' })],
new MiniCssExtractPlugin({ filename: 'css/main.css' }),
new CleanWebpackPlugin({
cleanOnceBeforeBuildPatterns: ['js', 'css', 'fonts'],
cleanAfterEveryBuildPatterns: ['!fonts/**'],
}),
],
}; };