diff --git a/.webpack/css.js b/.webpack/css.js index 001d0dfc..311290cc 100644 --- a/.webpack/css.js +++ b/.webpack/css.js @@ -1,5 +1,8 @@ +import {env} from 'node:process'; +import CssMinimizerPlugin from 'css-minimizer-webpack-plugin'; import MiniCssExtractPlugin from 'mini-css-extract-plugin'; +const isDev = env.NODE_ENV === 'development'; const clean = (a) => a.filter(Boolean); const plugins = clean([ @@ -22,8 +25,21 @@ const rules = [{ }]; export default { + mode: isDev ? 'development' : 'production', plugins, module: { rules, }, + optimization: { + minimize: !isDev, + minimizer: [ + new CssMinimizerPlugin({ + minimizerOptions: { + preset: ['default', { + svgo: false, + }], + }, + }), + ], + }, }; diff --git a/package.json b/package.json index c35e9b1a..88274ff6 100644 --- a/package.json +++ b/package.json @@ -170,6 +170,7 @@ "clean-css-loader": "^4.2.1", "codegen.macro": "^4.0.0", "css-loader": "^7.1.2", + "css-minimizer-webpack-plugin": "^7.0.4", "css-modules-require-hook": "^4.2.3", "cssnano-preset-default": "^7.0.10", "domtokenlist-shim": "^1.2.0",