Skip to content

Commit 0dc0c9a

Browse files
krutilovberezinant
authored andcommitted
ktl-1711 feat: style bundle optimization (#3905)
1 parent d8a7631 commit 0dc0c9a

File tree

3 files changed

+81
-56
lines changed

3 files changed

+81
-56
lines changed

dokka-subprojects/plugin-base-frontend/package-lock.json

+42-52
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dokka-subprojects/plugin-base-frontend/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"create-component": "node --experimental-modules create-component.mjs",
1111
"start:ui-kit": "webpack serve --config ./webpack.config-ui-kit.js --env minify=true",
1212
"build:ui-kit:watch": "webpack --config ./webpack.config-ui-kit.js --env watch=true --env minify=true",
13-
"build:ui-kit": "npm run build:ui-kit:minified && npm run build:ui-kit:unminified",
13+
"build:ui-kit": "npm run build:ui-kit:unminified && npm run build:ui-kit:minified",
1414
"build:ui-kit:minified": "webpack --config ./webpack.config-ui-kit.js --env minify=true",
1515
"build:ui-kit:unminified": "webpack --config ./webpack.config-ui-kit.js --env minify=false",
1616
"build": "webpack --mode=production --devtool source-map",

dokka-subprojects/plugin-base-frontend/webpack.config-ui-kit.js

+38-3
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
55
const path = require('path');
66
const WebpackShellPluginNext = require('webpack-shell-plugin-next');
7+
const CssMinimizerPlugin = require('css-minimizer-webpack-plugin');
78

89
module.exports = (env, args) => {
910
const isMinify = env.minify === 'true';
@@ -55,9 +56,6 @@ module.exports = (env, args) => {
5556
plugins: [
5657
[
5758
'cssnano',
58-
{
59-
preset: ['default', { discardComments: { removeAll: true } }],
60-
},
6159
],
6260
],
6361
},
@@ -73,6 +71,21 @@ module.exports = (env, args) => {
7371
},
7472
},
7573
},
74+
{
75+
loader: 'postcss-loader',
76+
options: {
77+
postcssOptions: {
78+
plugins: [
79+
[
80+
'cssnano',
81+
{
82+
preset: ['default', { discardComments: { removeAll: true } }],
83+
},
84+
],
85+
],
86+
},
87+
},
88+
},
7689
'sass-loader',
7790
],
7891
},
@@ -94,6 +107,28 @@ module.exports = (env, args) => {
94107
},
95108
],
96109
},
110+
optimization: {
111+
minimize: isMinify,
112+
minimizer: [
113+
'...', // Extends existing minimizers
114+
new CssMinimizerPlugin({
115+
minimizerOptions: {
116+
preset: [
117+
'default',
118+
{
119+
discardComments: { removeAll: true },
120+
normalizeWhitespace: isMinify,
121+
plugins: [
122+
[
123+
'cssnano',
124+
],
125+
]
126+
},
127+
],
128+
},
129+
}),
130+
],
131+
},
97132
plugins: [
98133
new MiniCssExtractPlugin({
99134
filename: isMinify ? 'ui-kit.min.css' : 'ui-kit.css',

0 commit comments

Comments
 (0)