@gravity-ui/app-builder 0.25.0 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -249,6 +249,7 @@ With this `{rootDir}/src/ui/tsconfig.json`:
249
249
  - `locale`: (`string[]=['ru']`) — list of `moment.js` or `day.js` locales to include, e.g. `['de', 'es']`. Locale `En` is always present.
250
250
  - `safari10` (`boolean`) — Enables `safari10` terser's option. [Terser options](https://github.com/terser/terser#minify-options)
251
251
  - `transformCssWithLightningCss` (`boolean`) — use [Lighting CSS](https://lightningcss.dev) to transform and minimize css instead of PostCSS and cssnano
252
+ - `lightningCssMinimizerOptions` (`(options: LightningCssMinimizerRspackPluginOptions) => LightningCssMinimizerRspackPluginOptions`) - modify or return a custom [LightningCssMinimizerRspackPlugin](https://rspack.dev/plugins/rspack/lightning-css-minimizer-rspack-plugin)
252
253
  - `terser` (`(options: TerserOptions) => TerserOptions`) - modify or return a custom [Terser options](https://github.com/terser/terser#minify-options).
253
254
 
254
255
  ##### Monaco editor support
@@ -3,7 +3,7 @@ import type { EditorFeature } from 'monaco-editor-webpack-plugin/out/features';
3
3
  import type { IFeatureDefinition } from 'monaco-editor-webpack-plugin/out/types';
4
4
  import type { Options as MomentTzOptions } from 'moment-timezone-data-webpack-plugin';
5
5
  import type { Configuration, DefinePlugin, FileCacheOptions, MemoryCacheOptions } from 'webpack';
6
- import type { Configuration as RspackConfiguration, SwcJsMinimizerRspackPluginOptions } from '@rspack/core';
6
+ import type { LightningCssMinimizerRspackPluginOptions, Configuration as RspackConfiguration, SwcJsMinimizerRspackPluginOptions } from '@rspack/core';
7
7
  import type * as Babel from '@babel/core';
8
8
  import type * as Swc from '@swc/core';
9
9
  import type { ServerConfiguration } from 'webpack-dev-server';
@@ -239,6 +239,8 @@ export interface ClientConfig {
239
239
  * Available with rspack bundler.
240
240
  */
241
241
  swcMinimizerOptions?: (options: SwcJsMinimizerRspackPluginOptions) => SwcJsMinimizerRspackPluginOptions;
242
+ /** Modify or return a custom [LightningCssMinimizerRspackPlugin](https://rspack.dev/plugins/rspack/lightning-css-minimizer-rspack-plugin) */
243
+ lightningCssMinimizerOptions?: (options: LightningCssMinimizerRspackPluginOptions) => LightningCssMinimizerRspackPluginOptions;
242
244
  ssr?: {
243
245
  noExternal?: string | RegExp | (string | RegExp)[] | true;
244
246
  moduleType?: 'commonjs' | 'esm';
@@ -1155,7 +1155,18 @@ function configureRspackOptimization(helperOptions) {
1155
1155
  }
1156
1156
  let cssMinimizer;
1157
1157
  if (config.transformCssWithLightningCss) {
1158
- cssMinimizer = new core_1.rspack.LightningCssMinimizerRspackPlugin();
1158
+ let lightningCssMinifyOptions = {
1159
+ minimizerOptions: {
1160
+ exclude: {
1161
+ langSelectorList: true,
1162
+ },
1163
+ },
1164
+ };
1165
+ const { lightningCssMinimizerOptions } = config;
1166
+ if (typeof lightningCssMinimizerOptions === 'function') {
1167
+ lightningCssMinifyOptions = lightningCssMinimizerOptions(lightningCssMinifyOptions);
1168
+ }
1169
+ cssMinimizer = new core_1.rspack.LightningCssMinimizerRspackPlugin(lightningCssMinifyOptions);
1159
1170
  }
1160
1171
  else {
1161
1172
  const CssMinimizerPlugin = require('css-minimizer-webpack-plugin');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/app-builder",
3
- "version": "0.25.0",
3
+ "version": "0.26.0",
4
4
  "description": "Develop and build your React client-server projects, powered by typescript and webpack",
5
5
  "license": "MIT",
6
6
  "type": "commonjs",