Skip to content

Commit

Permalink
Fall back to esbuild for css minify (#26445)
Browse files Browse the repository at this point in the history
Fixes #26439.

The minification result is not ideal with esbuild, but it's better than
failing competely.

Co-authored-by: Giteabot <teabot@gitea.io>
  • Loading branch information
silverwind and GiteaBot committed Aug 11, 2023
1 parent 88479e0 commit a838901
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions webpack.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import webpack from 'webpack';
import {fileURLToPath} from 'node:url';
import {readFileSync} from 'node:fs';
import {env} from 'node:process';
import {LightningCssMinifyPlugin} from 'lightningcss-loader';

const {EsbuildPlugin} = EsBuildLoader;
const {SourceMapDevToolPlugin, DefinePlugin} = webpack;
Expand Down Expand Up @@ -52,6 +51,12 @@ const filterCssImport = (url, ...args) => {
return true;
};

// in case lightningcss fails to load, fall back to esbuild for css minify
let LightningCssMinifyPlugin;
try {
({LightningCssMinifyPlugin} = await import('lightningcss-loader'));
} catch {}

/** @type {import("webpack").Configuration} */
export default {
mode: isProduction ? 'production' : 'development',
Expand Down Expand Up @@ -97,10 +102,10 @@ export default {
new EsbuildPlugin({
target: 'es2015',
minify: true,
css: false,
css: !LightningCssMinifyPlugin,
legalComments: 'none',
}),
new LightningCssMinifyPlugin(),
LightningCssMinifyPlugin && new LightningCssMinifyPlugin(),
],
splitChunks: {
chunks: 'async',
Expand Down

0 comments on commit a838901

Please sign in to comment.