Skip to content

Commit a838901

Browse files
silverwindGiteaBot
andauthored
Fall back to esbuild for css minify (#26445)
Fixes #26439. The minification result is not ideal with esbuild, but it's better than failing competely. Co-authored-by: Giteabot <[email protected]>
1 parent 88479e0 commit a838901

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

webpack.config.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import webpack from 'webpack';
1111
import {fileURLToPath} from 'node:url';
1212
import {readFileSync} from 'node:fs';
1313
import {env} from 'node:process';
14-
import {LightningCssMinifyPlugin} from 'lightningcss-loader';
1514

1615
const {EsbuildPlugin} = EsBuildLoader;
1716
const {SourceMapDevToolPlugin, DefinePlugin} = webpack;
@@ -52,6 +51,12 @@ const filterCssImport = (url, ...args) => {
5251
return true;
5352
};
5453

54+
// in case lightningcss fails to load, fall back to esbuild for css minify
55+
let LightningCssMinifyPlugin;
56+
try {
57+
({LightningCssMinifyPlugin} = await import('lightningcss-loader'));
58+
} catch {}
59+
5560
/** @type {import("webpack").Configuration} */
5661
export default {
5762
mode: isProduction ? 'production' : 'development',
@@ -97,10 +102,10 @@ export default {
97102
new EsbuildPlugin({
98103
target: 'es2015',
99104
minify: true,
100-
css: false,
105+
css: !LightningCssMinifyPlugin,
101106
legalComments: 'none',
102107
}),
103-
new LightningCssMinifyPlugin(),
108+
LightningCssMinifyPlugin && new LightningCssMinifyPlugin(),
104109
],
105110
splitChunks: {
106111
chunks: 'async',

0 commit comments

Comments
 (0)