@gravity-ui/app-builder 0.24.1-beta.1 → 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
|
|
@@ -95,22 +95,9 @@ async function buildDevServer(config) {
|
|
|
95
95
|
}));
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
|
-
// Rspack multicompiler dont work with lazy compilation.
|
|
99
|
-
// Pass a single config to avoid multicompiler when SSR disabled.
|
|
100
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
101
|
-
const compiler = bundler === 'rspack'
|
|
102
|
-
? (0, core_1.rspack)(isSsr ? rspackConfigs : rspackConfigs[0])
|
|
103
|
-
: (0, webpack_1.default)(webpackConfigs);
|
|
104
98
|
const staticFolder = path.resolve(paths_1.default.appDist, 'public');
|
|
105
99
|
const options = {
|
|
106
100
|
static: staticFolder,
|
|
107
|
-
setupMiddlewares(middlewares) {
|
|
108
|
-
if (config.client.lazyCompilation && bundler === 'rspack') {
|
|
109
|
-
const lazyCompilationMiddleware = core_1.rspack.experiments.lazyCompilationMiddleware(compiler, rspackConfigs[0]?.experiments?.lazyCompilation);
|
|
110
|
-
return [lazyCompilationMiddleware, ...middlewares];
|
|
111
|
-
}
|
|
112
|
-
return middlewares;
|
|
113
|
-
},
|
|
114
101
|
devMiddleware: {
|
|
115
102
|
publicPath,
|
|
116
103
|
stats: 'errors-warnings',
|
|
@@ -185,9 +172,14 @@ async function buildDevServer(config) {
|
|
|
185
172
|
options.proxy = proxy;
|
|
186
173
|
let server;
|
|
187
174
|
if (bundler === 'rspack') {
|
|
175
|
+
// Rspack multicompiler dont work with lazy compilation.
|
|
176
|
+
// Pass a single config to avoid multicompiler when SSR disabled.
|
|
177
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
178
|
+
const compiler = (0, core_1.rspack)(isSsr ? rspackConfigs : rspackConfigs[0]);
|
|
188
179
|
server = new dev_server_1.RspackDevServer(options, compiler);
|
|
189
180
|
}
|
|
190
181
|
else {
|
|
182
|
+
const compiler = (0, webpack_1.default)(webpackConfigs);
|
|
191
183
|
server = new webpack_dev_server_1.default(options, compiler);
|
|
192
184
|
}
|
|
193
185
|
try {
|
|
@@ -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';
|
|
@@ -288,14 +288,26 @@ function configureRspackExperiments(options) {
|
|
|
288
288
|
return undefined;
|
|
289
289
|
}
|
|
290
290
|
let lazyCompilation;
|
|
291
|
+
let port;
|
|
291
292
|
if (config.lazyCompilation) {
|
|
293
|
+
if (typeof config.lazyCompilation === 'object') {
|
|
294
|
+
port = config.lazyCompilation.port;
|
|
295
|
+
}
|
|
292
296
|
lazyCompilation = {
|
|
293
297
|
// Lazy compilation works without problems only with lazy imports
|
|
294
298
|
// See https://github.com/web-infra-dev/rspack/issues/8503
|
|
295
299
|
entries: false,
|
|
296
300
|
imports: true,
|
|
297
|
-
|
|
298
|
-
|
|
301
|
+
backend: {
|
|
302
|
+
client: require.resolve('./lazy-client.js'),
|
|
303
|
+
...(port
|
|
304
|
+
? {
|
|
305
|
+
listen: {
|
|
306
|
+
port,
|
|
307
|
+
},
|
|
308
|
+
}
|
|
309
|
+
: {}),
|
|
310
|
+
},
|
|
299
311
|
test(module) {
|
|
300
312
|
// make sure that lazy-client.js won't be lazy compiled)
|
|
301
313
|
return !module.nameForCondition()?.endsWith('lazy-client.js');
|
|
@@ -1143,7 +1155,18 @@ function configureRspackOptimization(helperOptions) {
|
|
|
1143
1155
|
}
|
|
1144
1156
|
let cssMinimizer;
|
|
1145
1157
|
if (config.transformCssWithLightningCss) {
|
|
1146
|
-
|
|
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);
|
|
1147
1170
|
}
|
|
1148
1171
|
else {
|
|
1149
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.
|
|
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",
|
|
@@ -70,11 +70,11 @@
|
|
|
70
70
|
"@babel/runtime": "^7.26.0",
|
|
71
71
|
"@okikio/sharedworker": "^1.0.7",
|
|
72
72
|
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.15",
|
|
73
|
-
"@rsdoctor/rspack-plugin": "^
|
|
74
|
-
"@rsdoctor/webpack-plugin": "^
|
|
75
|
-
"@rspack/core": "1.
|
|
76
|
-
"@rspack/dev-server": "^1.
|
|
77
|
-
"@rspack/plugin-react-refresh": "^1.
|
|
73
|
+
"@rsdoctor/rspack-plugin": "^0.4.13",
|
|
74
|
+
"@rsdoctor/webpack-plugin": "^0.4.13",
|
|
75
|
+
"@rspack/core": "1.2.8",
|
|
76
|
+
"@rspack/dev-server": "^1.0.10",
|
|
77
|
+
"@rspack/plugin-react-refresh": "^1.0.1",
|
|
78
78
|
"@statoscope/webpack-plugin": "^5.29.0",
|
|
79
79
|
"@statoscope/stats": "^5.28.1",
|
|
80
80
|
"@statoscope/stats-extension-compressed": "^5.28.1",
|