arui-scripts 23.0.2 → 23.1.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.
Files changed (37) hide show
  1. package/.turbo/turbo-test.log +5 -5
  2. package/CHANGELOG.md +6 -0
  3. package/build/commands/build/client.js +6 -6
  4. package/build/commands/build/server.js +2 -2
  5. package/build/commands/bundle-analyze/index.js +4 -4
  6. package/build/commands/start/client.js +2 -2
  7. package/build/commands/start/index.js +1 -1
  8. package/build/commands/start/server.js +2 -2
  9. package/build/commands/start-prod/client.js +2 -2
  10. package/build/commands/start-prod/index.js +1 -1
  11. package/build/commands/start-prod/server.js +2 -2
  12. package/build/configs/app-configs/get-defaults.js +1 -1
  13. package/build/configs/app-configs/types.d.ts +3 -1
  14. package/build/configs/app-configs/warn-about-deprecations.js +5 -0
  15. package/build/configs/modules.d.ts +3 -1
  16. package/build/configs/modules.js +5 -3
  17. package/build/configs/{webpack.client.dev.js → rspack.client.dev.js} +3 -3
  18. package/build/configs/{webpack.client.js → rspack.client.js} +4 -4
  19. package/build/configs/{webpack.client.prod.js → rspack.client.prod.js} +3 -3
  20. package/build/configs/{webpack.server.dev.js → rspack.server.dev.js} +2 -2
  21. package/build/configs/{webpack.server.prod.js → rspack.server.prod.js} +2 -2
  22. package/build/configs/util/apply-overrides.d.ts +53 -23
  23. package/build/configs/util/apply-overrides.js +38 -2
  24. package/build/configs/util/find-plugin.d.ts +2 -2
  25. package/build/index.d.ts +1 -1
  26. package/build/index.js +2 -1
  27. package/build/plugins/reload-server-plugin.d.ts +1 -1
  28. package/build/plugins/watch-missing-node-modules-plugin.d.ts +1 -1
  29. package/package.json +1 -7
  30. package/tsconfig-local.tsbuildinfo +1 -1
  31. /package/build/configs/{webpack.client.d.ts → rspack.client.d.ts} +0 -0
  32. /package/build/configs/{webpack.client.dev.d.ts → rspack.client.dev.d.ts} +0 -0
  33. /package/build/configs/{webpack.client.prod.d.ts → rspack.client.prod.d.ts} +0 -0
  34. /package/build/configs/{webpack.server.d.ts → rspack.server.d.ts} +0 -0
  35. /package/build/configs/{webpack.server.dev.d.ts → rspack.server.dev.d.ts} +0 -0
  36. /package/build/configs/{webpack.server.js → rspack.server.js} +0 -0
  37. /package/build/configs/{webpack.server.prod.d.ts → rspack.server.prod.d.ts} +0 -0
@@ -1,23 +1,23 @@
1
1
  ts-jest[versions] (WARN) Version 6.0.2 of typescript installed has not been tested with ts-jest. If you're experiencing issues, consider using a supported version (>=4.3.0 <6.0.0-0). Please do not report issues in ts-jest if you are using unsupported versions.
2
2
  ts-jest[versions] (WARN) Version 6.0.2 of typescript installed has not been tested with ts-jest. If you're experiencing issues, consider using a supported version (>=4.3.0 <6.0.0-0). Please do not report issues in ts-jest if you are using unsupported versions.
3
3
  ts-jest[versions] (WARN) Version 6.0.2 of typescript installed has not been tested with ts-jest. If you're experiencing issues, consider using a supported version (>=4.3.0 <6.0.0-0). Please do not report issues in ts-jest if you are using unsupported versions.
4
- PASS src/plugins/postcss-global-variables/utils/__tests__/add-global-variable.tests.ts (23.47 s)
4
+ PASS src/configs/app-configs/__tests__/update-with-presets.tests.ts (23.818 s)
5
5
  PASS src/configs/util/__tests__/create-watch-ignore-regex.tests.ts
6
6
  PASS src/configs/util/__tests__/apply-overrides.tests.ts
7
- PASS src/configs/app-configs/__tests__/update-with-presets.tests.ts (24.053 s)
8
7
  PASS src/configs/app-configs/__tests__/update-with-env.tests.ts
8
+ PASS src/plugins/postcss-global-variables/utils/__tests__/add-global-variable.tests.ts (24.667 s)
9
9
  PASS src/configs/app-configs/__tests__/update-with-package.tests.ts
10
10
  PASS src/configs/util/__tests__/compress-with-dcb.test.ts
11
11
  PASS src/configs/util/__tests__/get-polyfills.tests.ts
12
12
  PASS src/plugins/postcss-global-variables/utils/__tests__/parse-variables.tests.ts
13
13
  PASS src/plugins/postcss-global-variables/utils/__tests__/get-media-query-name.tests.ts
14
14
  PASS src/configs/app-configs/__tests__/validate-settings-keys.tests.ts
15
- PASS src/configs/__tests__/webpack-client-modules.tests.ts (16.896 s)
16
- PASS src/configs/util/__tests__/find-plugin.tests.ts (41.681 s)
15
+ PASS src/configs/__tests__/webpack-client-modules.tests.ts (15.828 s)
16
+ PASS src/configs/util/__tests__/find-plugin.tests.ts (41.64 s)
17
17
  A worker process has failed to exit gracefully and has been force exited. This is likely caused by tests leaking due to improper teardown. Try running with --detectOpenHandles to find leaks. Active timers can also cause this, ensure that .unref() was called on them.
18
18
 
19
19
  Test Suites: 13 passed, 13 total
20
20
  Tests: 31 passed, 31 total
21
21
  Snapshots: 0 total
22
- Time: 43.483 s
22
+ Time: 43.267 s
23
23
  Ran all test suites.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # arui-scripts
2
2
 
3
+ ## 23.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#537](https://github.com/core-ds/arui-scripts/pull/537) [`a1666b0`](https://github.com/core-ds/arui-scripts/commit/a1666b047e991acd2147dfd22197e31785be8fbf) Thanks [@dmitrbrvsk](https://github.com/dmitrbrvsk)! - переименование webpack-ключей оверрайдов в rspack с обратной совместимостью
8
+
3
9
  ## 23.0.2
4
10
 
5
11
  ### Patch Changes
@@ -13,17 +13,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const chalk_1 = __importDefault(require("chalk"));
16
- const build_wrapper_1 = __importDefault(require("./build-wrapper"));
16
+ const rspack_client_prod_1 = require("../../configs/rspack.client.prod");
17
17
  const client_assets_sizes_1 = require("../util/client-assets-sizes");
18
- const webpack_client_prod_1 = require("../../configs/webpack.client.prod");
19
18
  const load_browserslist_1 = require("../util/load-browserslist");
20
19
  const print_build_error_1 = require("../util/print-build-error");
20
+ const build_wrapper_1 = __importDefault(require("./build-wrapper"));
21
21
  (0, load_browserslist_1.loadBrowserslist)();
22
22
  console.log(chalk_1.default.magenta('Building client...'));
23
23
  function main() {
24
24
  return __awaiter(this, void 0, void 0, function* () {
25
25
  try {
26
- const { stats, warnings } = yield (0, build_wrapper_1.default)(webpack_client_prod_1.webpackClientConfig);
26
+ const { stats, warnings } = yield (0, build_wrapper_1.default)(rspack_client_prod_1.webpackClientConfig);
27
27
  if (warnings.length) {
28
28
  console.log(chalk_1.default.yellow('Client compiled with warnings.\n'));
29
29
  console.log(warnings.join('\n\n'));
@@ -37,11 +37,11 @@ function main() {
37
37
  console.log(chalk_1.default.bold(`Sizes for "${webpackConfig.name || 'main'}"`));
38
38
  (0, client_assets_sizes_1.printAssetsSizes)(stats);
39
39
  }
40
- if (Array.isArray(webpack_client_prod_1.webpackClientConfig)) {
41
- webpack_client_prod_1.webpackClientConfig.forEach((conf, index) => printOutputSizes(conf, stats.stats[index]));
40
+ if (Array.isArray(rspack_client_prod_1.webpackClientConfig)) {
41
+ rspack_client_prod_1.webpackClientConfig.forEach((conf, index) => printOutputSizes(conf, stats.stats[index]));
42
42
  }
43
43
  else {
44
- printOutputSizes(webpack_client_prod_1.webpackClientConfig, stats);
44
+ printOutputSizes(rspack_client_prod_1.webpackClientConfig, stats);
45
45
  }
46
46
  }
47
47
  catch (err) {
@@ -5,12 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const chalk_1 = __importDefault(require("chalk"));
7
7
  const build_wrapper_1 = __importDefault(require("./build-wrapper"));
8
- const webpack_server_prod_1 = require("../../configs/webpack.server.prod");
8
+ const rspack_server_prod_1 = require("../../configs/rspack.server.prod");
9
9
  const supporting_node_1 = require("../../configs/supporting-node");
10
10
  const print_build_error_1 = require("../util/print-build-error");
11
11
  process.env.BROWSERSLIST = supporting_node_1.supportingNode.join(',');
12
12
  console.log(chalk_1.default.magenta('Building server...'));
13
- (0, build_wrapper_1.default)(webpack_server_prod_1.webpackServerConfig)
13
+ (0, build_wrapper_1.default)(rspack_server_prod_1.webpackServerConfig)
14
14
  .then(({ warnings }) => {
15
15
  if (warnings.length) {
16
16
  console.log(chalk_1.default.yellow('Server compiled with warnings.\n'));
@@ -13,7 +13,7 @@ const rspack_plugin_1 = require("@rsdoctor/rspack-plugin");
13
13
  const core_1 = require("@rspack/core");
14
14
  const webpack_bundle_analyzer_1 = require("webpack-bundle-analyzer");
15
15
  const app_configs_1 = require("../../configs/app-configs");
16
- const webpack_client_prod_1 = require("../../configs/webpack.client.prod");
16
+ const rspack_client_prod_1 = require("../../configs/rspack.client.prod");
17
17
  const make_tmp_dir_1 = require("../util/make-tmp-dir");
18
18
  // В rspack по умолчанию больше не включаются эти поля, но для webpack-bundle-analyzer они нужны
19
19
  // https://rspack.rs/guide/migration/rspack_1.x#changed-default-parameters-of-statstojson
@@ -28,9 +28,9 @@ const bundleAnalyzerStatsOptions = {
28
28
  };
29
29
  (() => __awaiter(void 0, void 0, void 0, function* () {
30
30
  console.log('Starting bundle analysis...');
31
- const clientWebpackConfigs = Array.isArray(webpack_client_prod_1.webpackClientConfig)
32
- ? webpack_client_prod_1.webpackClientConfig
33
- : [webpack_client_prod_1.webpackClientConfig];
31
+ const clientWebpackConfigs = Array.isArray(rspack_client_prod_1.webpackClientConfig)
32
+ ? rspack_client_prod_1.webpackClientConfig
33
+ : [rspack_client_prod_1.webpackClientConfig];
34
34
  /* eslint-disable no-param-reassign */
35
35
  const promises = clientWebpackConfigs.map((webpackConfig, i) => __awaiter(void 0, void 0, void 0, function* () {
36
36
  const tmpDir = yield (0, make_tmp_dir_1.makeTmpDir)(i.toString());
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const webpack_client_dev_1 = require("../../configs/webpack.client.dev");
3
+ const rspack_client_dev_1 = require("../../configs/rspack.client.dev");
4
4
  const load_browserslist_1 = require("../util/load-browserslist");
5
5
  const run_client_dev_server_1 = require("../util/run-client-dev-server");
6
6
  (0, load_browserslist_1.loadBrowserslist)();
7
- (0, run_client_dev_server_1.runClientDevServer)(webpack_client_dev_1.config);
7
+ (0, run_client_dev_server_1.runClientDevServer)(rspack_client_dev_1.config);
@@ -7,7 +7,7 @@ const compilersCommands = [require.resolve('./client')];
7
7
  if (!app_configs_1.configs.clientOnly) {
8
8
  compilersCommands.push(require.resolve('./server'));
9
9
  }
10
- if (app_configs_1.configs.tsconfig && app_configs_1.configs.disableDevWebpackTypecheck) {
10
+ if (app_configs_1.configs.tsconfig && app_configs_1.configs.disableDevRspackTypecheck) {
11
11
  compilersCommands.push((0, tsc_1.getTscWatchCommand)(app_configs_1.configs.tsconfig));
12
12
  }
13
13
  (0, run_compilers_1.runCompilers)(compilersCommands);
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const rspack_server_dev_1 = require("../../configs/rspack.server.dev");
3
4
  const supporting_node_1 = require("../../configs/supporting-node");
4
- const webpack_server_dev_1 = require("../../configs/webpack.server.dev");
5
5
  const run_server_watch_compiler_1 = require("../util/run-server-watch-compiler");
6
6
  process.env.BROWSERSLIST = supporting_node_1.supportingNode.join(',');
7
- (0, run_server_watch_compiler_1.runServerWatchCompiler)(webpack_server_dev_1.webpackServerConfig);
7
+ (0, run_server_watch_compiler_1.runServerWatchCompiler)(rspack_server_dev_1.webpackServerConfig);
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const webpack_client_prod_1 = require("../../configs/webpack.client.prod");
3
+ const rspack_client_prod_1 = require("../../configs/rspack.client.prod");
4
4
  const load_browserslist_1 = require("../util/load-browserslist");
5
5
  const run_client_dev_server_1 = require("../util/run-client-dev-server");
6
6
  (0, load_browserslist_1.loadBrowserslist)();
7
- (0, run_client_dev_server_1.runClientDevServer)(webpack_client_prod_1.webpackClientConfig);
7
+ (0, run_client_dev_server_1.runClientDevServer)(rspack_client_prod_1.webpackClientConfig);
@@ -7,7 +7,7 @@ const compilersCommands = [require.resolve('./client')];
7
7
  if (!app_configs_1.configs.clientOnly) {
8
8
  compilersCommands.push(require.resolve('./server'));
9
9
  }
10
- if (app_configs_1.configs.tsconfig && app_configs_1.configs.disableDevWebpackTypecheck) {
10
+ if (app_configs_1.configs.tsconfig && app_configs_1.configs.disableDevRspackTypecheck) {
11
11
  compilersCommands.push((0, tsc_1.getTscWatchCommand)(app_configs_1.configs.tsconfig));
12
12
  }
13
13
  (0, run_compilers_1.runCompilers)(compilersCommands);
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const rspack_server_prod_1 = require("../../configs/rspack.server.prod");
3
4
  const supporting_node_1 = require("../../configs/supporting-node");
4
- const webpack_server_prod_1 = require("../../configs/webpack.server.prod");
5
5
  const run_server_watch_compiler_1 = require("../util/run-server-watch-compiler");
6
6
  process.env.BROWSERSLIST = supporting_node_1.supportingNode.join(',');
7
- (0, run_server_watch_compiler_1.runServerWatchCompiler)(webpack_server_prod_1.webpackServerConfig);
7
+ (0, run_server_watch_compiler_1.runServerWatchCompiler)(rspack_server_prod_1.webpackServerConfig);
@@ -56,7 +56,7 @@ function getDefaultAppConfig() {
56
56
  codeLoader: 'swc',
57
57
  experimentalReactCompiler: 'disabled',
58
58
  installServerSourceMaps: false,
59
- disableDevWebpackTypecheck: true,
59
+ disableDevRspackTypecheck: true,
60
60
  jestCodeTransformer: 'swc',
61
61
  collectCoverage: process.env.NODE_ENV === 'cypress' || process.env.USE_ISTANBUL === 'enabled',
62
62
  // image processing
@@ -44,7 +44,9 @@ export type AppConfigs = {
44
44
  codeLoader: 'babel' | 'tsc' | 'swc';
45
45
  experimentalReactCompiler: 'disabled' | ReactCompilerOptions;
46
46
  installServerSourceMaps: boolean;
47
- disableDevWebpackTypecheck: boolean;
47
+ disableDevRspackTypecheck: boolean;
48
+ /** @deprecated используйте `disableDevRspackTypecheck` */
49
+ disableDevWebpackTypecheck?: boolean;
48
50
  jestCodeTransformer: 'babel' | 'tsc' | 'swc';
49
51
  collectCoverage: boolean;
50
52
  dataUrlMaxSize?: number;
@@ -7,6 +7,11 @@ function warnAboutDeprecations(config) {
7
7
  // eslint-disable-next-line no-param-reassign
8
8
  config.proxy = convertObjectProxyConfigurationToArray(config.proxy);
9
9
  }
10
+ if (config.disableDevWebpackTypecheck !== undefined) {
11
+ console.warn('Настройка `disableDevWebpackTypecheck` устарела, используйте `disableDevRspackTypecheck`. ', 'Поддержка `disableDevWebpackTypecheck` будет скоро удалена.');
12
+ // eslint-disable-next-line no-param-reassign
13
+ config.disableDevRspackTypecheck = config.disableDevWebpackTypecheck;
14
+ }
10
15
  }
11
16
  function convertObjectProxyConfigurationToArray(proxyConfiguration) {
12
17
  const arrayProxy = [];
@@ -3,7 +3,9 @@ import { type CompatModuleConfig } from './app-configs/types';
3
3
  export declare function haveExposedDefaultModules(): Record<string, string> | undefined;
4
4
  export declare const MODULES_ENTRY_NAME = "remoteEntry.js";
5
5
  export declare const MODULES_SEPARATE_BUILD_NAME = "wmf";
6
- export declare function patchMainWebpackConfigForModules(webpackConf: rspack.Configuration, mode: 'consumer' | 'provider' | 'both'): rspack.RspackOptions;
6
+ export declare function patchMainRspackConfigForModules(webpackConf: rspack.Configuration, mode: 'consumer' | 'provider' | 'both'): rspack.RspackOptions;
7
+ /** @deprecated используйте `patchMainRspackConfigForModules` */
8
+ export declare const patchMainWebpackConfigForModules: typeof patchMainRspackConfigForModules;
7
9
  export declare function getCssPrefixForModule(module: CompatModuleConfig): string | undefined;
8
10
  export declare function getExposeLoadersFormCompatModules(): {
9
11
  test: string;
@@ -33,9 +33,9 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.MODULES_SEPARATE_BUILD_NAME = exports.MODULES_ENTRY_NAME = void 0;
36
+ exports.patchMainWebpackConfigForModules = exports.MODULES_SEPARATE_BUILD_NAME = exports.MODULES_ENTRY_NAME = void 0;
37
37
  exports.haveExposedDefaultModules = haveExposedDefaultModules;
38
- exports.patchMainWebpackConfigForModules = patchMainWebpackConfigForModules;
38
+ exports.patchMainRspackConfigForModules = patchMainRspackConfigForModules;
39
39
  exports.getCssPrefixForModule = getCssPrefixForModule;
40
40
  exports.getExposeLoadersFormCompatModules = getExposeLoadersFormCompatModules;
41
41
  exports.patchWebpackConfigForCompat = patchWebpackConfigForCompat;
@@ -57,7 +57,7 @@ function getModuleFederationContainerName() {
57
57
  function getSeparateBuildRuntimeName() {
58
58
  return `${getModuleFederationContainerName().replace(/\W/g, '_')}_${exports.MODULES_SEPARATE_BUILD_NAME}`;
59
59
  }
60
- function patchMainWebpackConfigForModules(webpackConf, mode) {
60
+ function patchMainRspackConfigForModules(webpackConf, mode) {
61
61
  var _a, _b;
62
62
  /* eslint-disable no-param-reassign */
63
63
  const isConsumer = mode === 'consumer' || mode === 'both';
@@ -104,6 +104,8 @@ function patchMainWebpackConfigForModules(webpackConf, mode) {
104
104
  return webpackConf;
105
105
  /* eslint-enable no-param-reassign */
106
106
  }
107
+ /** @deprecated используйте `patchMainRspackConfigForModules` */
108
+ exports.patchMainWebpackConfigForModules = patchMainRspackConfigForModules;
107
109
  function getCssPrefixForModule(module) {
108
110
  if (module.cssPrefix) {
109
111
  return module.cssPrefix;
@@ -4,9 +4,9 @@ exports.config = void 0;
4
4
  const apply_overrides_1 = require("./util/apply-overrides");
5
5
  const find_loader_1 = require("./util/find-loader");
6
6
  const find_plugin_1 = require("./util/find-plugin");
7
- const webpack_client_1 = require("./webpack.client");
8
- exports.config = (0, apply_overrides_1.applyOverrides)(['webpack', 'webpackClient', 'webpackDev', 'webpackClientDev'], (0, webpack_client_1.createClientWebpackConfig)('dev'), {
9
- createSingleClientWebpackConfig: webpack_client_1.createSingleClientWebpackConfig.bind(null, 'dev'),
7
+ const rspack_client_1 = require("./rspack.client");
8
+ exports.config = (0, apply_overrides_1.applyOverrides)(['rspack', 'rspackClient', 'rspackDev', 'rspackClientDev'], (0, rspack_client_1.createClientWebpackConfig)('dev'), {
9
+ createSingleClientWebpackConfig: rspack_client_1.createSingleClientWebpackConfig.bind(null, 'dev'),
10
10
  findLoader: find_loader_1.findLoader,
11
11
  findPlugin: (0, find_plugin_1.createFindPluginFunction)(),
12
12
  });
@@ -294,7 +294,7 @@ const createSingleClientWebpackConfig = (mode, entry, configName) => (Object.ass
294
294
  insert: (0, arui_runtime_1.getInsertCssRuntimeMethod)(),
295
295
  };
296
296
  })()),
297
- (mode === 'prod' || !app_configs_1.configs.disableDevWebpackTypecheck) &&
297
+ (mode === 'prod' || !app_configs_1.configs.disableDevRspackTypecheck) &&
298
298
  app_configs_1.configs.tsconfig !== null &&
299
299
  app_configs_1.configs.codeLoader !== 'tsc' &&
300
300
  new ts_checker_rspack_plugin_1.TsCheckerRspackPlugin(),
@@ -381,11 +381,11 @@ const createClientWebpackConfig = (mode) => {
381
381
  var _a, _b, _c;
382
382
  const baseWebpackConfig = [(0, exports.createSingleClientWebpackConfig)(mode, app_configs_1.configs.clientEntry)];
383
383
  if ((_b = (_a = app_configs_1.configs.modules) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.useSeparateBuild) {
384
- baseWebpackConfig[0] = (0, modules_1.patchMainWebpackConfigForModules)(baseWebpackConfig[0], 'consumer');
385
- baseWebpackConfig.push((0, modules_1.patchMainWebpackConfigForModules)((0, exports.createSingleClientWebpackConfig)(mode, {}, modules_1.MODULES_SEPARATE_BUILD_NAME), 'provider'));
384
+ baseWebpackConfig[0] = (0, modules_1.patchMainRspackConfigForModules)(baseWebpackConfig[0], 'consumer');
385
+ baseWebpackConfig.push((0, modules_1.patchMainRspackConfigForModules)((0, exports.createSingleClientWebpackConfig)(mode, {}, modules_1.MODULES_SEPARATE_BUILD_NAME), 'provider'));
386
386
  }
387
387
  else {
388
- baseWebpackConfig[0] = (0, modules_1.patchMainWebpackConfigForModules)(baseWebpackConfig[0], 'both');
388
+ baseWebpackConfig[0] = (0, modules_1.patchMainRspackConfigForModules)(baseWebpackConfig[0], 'both');
389
389
  }
390
390
  const exposedCompatModules = (_c = app_configs_1.configs.compatModules) === null || _c === void 0 ? void 0 : _c.exposes;
391
391
  if (!exposedCompatModules || Object.keys(exposedCompatModules).length === 0) {
@@ -4,9 +4,9 @@ exports.webpackClientConfig = void 0;
4
4
  const apply_overrides_1 = require("./util/apply-overrides");
5
5
  const find_loader_1 = require("./util/find-loader");
6
6
  const find_plugin_1 = require("./util/find-plugin");
7
- const webpack_client_1 = require("./webpack.client");
8
- exports.webpackClientConfig = (0, apply_overrides_1.applyOverrides)(['webpack', 'webpackClient', 'webpackProd', 'webpackClientProd'], (0, webpack_client_1.createClientWebpackConfig)('prod'), {
9
- createSingleClientWebpackConfig: webpack_client_1.createSingleClientWebpackConfig.bind(null, 'prod'),
7
+ const rspack_client_1 = require("./rspack.client");
8
+ exports.webpackClientConfig = (0, apply_overrides_1.applyOverrides)(['rspack', 'rspackClient', 'rspackProd', 'rspackClientProd'], (0, rspack_client_1.createClientWebpackConfig)('prod'), {
9
+ createSingleClientWebpackConfig: rspack_client_1.createSingleClientWebpackConfig.bind(null, 'prod'),
10
10
  findLoader: find_loader_1.findLoader,
11
11
  findPlugin: (0, find_plugin_1.createFindPluginFunction)(),
12
12
  });
@@ -4,5 +4,5 @@ exports.webpackServerConfig = void 0;
4
4
  const apply_overrides_1 = require("./util/apply-overrides");
5
5
  const find_loader_1 = require("./util/find-loader");
6
6
  const find_plugin_1 = require("./util/find-plugin");
7
- const webpack_server_1 = require("./webpack.server");
8
- exports.webpackServerConfig = (0, apply_overrides_1.applyOverrides)(['webpack', 'webpackServer', 'webpackDev', 'webpackServerDev'], (0, webpack_server_1.createServerConfig)('dev'), { findLoader: find_loader_1.findLoader, findPlugin: (0, find_plugin_1.createFindPluginFunction)() });
7
+ const rspack_server_1 = require("./rspack.server");
8
+ exports.webpackServerConfig = (0, apply_overrides_1.applyOverrides)(['rspack', 'rspackServer', 'rspackDev', 'rspackServerDev'], (0, rspack_server_1.createServerConfig)('dev'), { findLoader: find_loader_1.findLoader, findPlugin: (0, find_plugin_1.createFindPluginFunction)() });
@@ -4,5 +4,5 @@ exports.webpackServerConfig = void 0;
4
4
  const apply_overrides_1 = require("./util/apply-overrides");
5
5
  const find_loader_1 = require("./util/find-loader");
6
6
  const find_plugin_1 = require("./util/find-plugin");
7
- const webpack_server_1 = require("./webpack.server");
8
- exports.webpackServerConfig = (0, apply_overrides_1.applyOverrides)(['webpack', 'webpackServer', 'webpackProd', 'webpackServerProd'], (0, webpack_server_1.createServerConfig)('prod'), { findLoader: find_loader_1.findLoader, findPlugin: (0, find_plugin_1.createFindPluginFunction)() });
7
+ const rspack_server_1 = require("./rspack.server");
8
+ exports.webpackServerConfig = (0, apply_overrides_1.applyOverrides)(['rspack', 'rspackServer', 'rspackProd', 'rspackServerProd'], (0, rspack_server_1.createServerConfig)('prod'), { findLoader: find_loader_1.findLoader, findPlugin: (0, find_plugin_1.createFindPluginFunction)() });
@@ -2,19 +2,19 @@ import type * as rspack from '@rspack/core';
2
2
  import { type Configuration as RspackDevServerConfiguration } from '@rspack/dev-server';
3
3
  import { type Options as SwcOptions } from '@swc/core';
4
4
  import { type AppContextWithConfigs } from '../app-configs/types';
5
- import { type createSingleClientWebpackConfig } from '../webpack.client';
5
+ import { type createSingleClientWebpackConfig } from '../rspack.client';
6
6
  import { type findLoader } from './find-loader';
7
7
  import { type createFindPluginFunction } from './find-plugin';
8
8
  type Overrides = {
9
- webpack: rspack.Configuration | rspack.Configuration[];
10
- webpackClient: rspack.Configuration | rspack.Configuration[];
11
- webpackDev: rspack.Configuration | rspack.Configuration[];
12
- webpackClientDev: rspack.Configuration | rspack.Configuration[];
13
- webpackServer: rspack.Configuration;
14
- webpackServerDev: rspack.Configuration;
15
- webpackProd: rspack.Configuration;
16
- webpackClientProd: rspack.Configuration | rspack.Configuration[];
17
- webpackServerProd: rspack.Configuration;
9
+ rspack: rspack.Configuration | rspack.Configuration[];
10
+ rspackClient: rspack.Configuration | rspack.Configuration[];
11
+ rspackDev: rspack.Configuration | rspack.Configuration[];
12
+ rspackClientDev: rspack.Configuration | rspack.Configuration[];
13
+ rspackServer: rspack.Configuration;
14
+ rspackServerDev: rspack.Configuration;
15
+ rspackProd: rspack.Configuration;
16
+ rspackClientProd: rspack.Configuration | rspack.Configuration[];
17
+ rspackServerProd: rspack.Configuration;
18
18
  devServer: RspackDevServerConfiguration;
19
19
  stats: rspack.RspackOptionsNormalized['stats'];
20
20
  babel: any;
@@ -37,14 +37,26 @@ type Overrides = {
37
37
  serverExternalsExemptions: Array<string | RegExp>;
38
38
  html: string;
39
39
  };
40
+ declare const DEPRECATED_OVERRIDE_KEYS: {
41
+ readonly webpack: "rspack";
42
+ readonly webpackClient: "rspackClient";
43
+ readonly webpackDev: "rspackDev";
44
+ readonly webpackClientDev: "rspackClientDev";
45
+ readonly webpackServer: "rspackServer";
46
+ readonly webpackServerDev: "rspackServerDev";
47
+ readonly webpackProd: "rspackProd";
48
+ readonly webpackClientProd: "rspackClientProd";
49
+ readonly webpackServerProd: "rspackServerProd";
50
+ };
51
+ type DeprecatedOverrideKey = keyof typeof DEPRECATED_OVERRIDE_KEYS;
40
52
  type OmitFirstArg<F> = F extends (x: any, ...args: infer P) => infer R ? (...args: P) => R : never;
41
53
  type BoundCreateSingleClientWebpackConfig = OmitFirstArg<typeof createSingleClientWebpackConfig>;
42
- type ClientWebpackAdditionalArgs = {
54
+ type ClientRspackAdditionalArgs = {
43
55
  createSingleClientWebpackConfig: BoundCreateSingleClientWebpackConfig;
44
56
  findLoader: typeof findLoader;
45
57
  findPlugin: ReturnType<typeof createFindPluginFunction<'client'>>;
46
58
  };
47
- type ServerWebpackAdditionalArgs = {
59
+ type ServerRspackAdditionalArgs = {
48
60
  findLoader: typeof findLoader;
49
61
  findPlugin: ReturnType<typeof createFindPluginFunction<'server'>>;
50
62
  };
@@ -52,20 +64,38 @@ type ServerWebpackAdditionalArgs = {
52
64
  * Дополнительные аргументы, которые будут переданы в функцию оверрайда
53
65
  */
54
66
  type OverridesAdditionalArgs = {
55
- webpack: ClientWebpackAdditionalArgs;
56
- webpackClient: ClientWebpackAdditionalArgs;
57
- webpackDev: ClientWebpackAdditionalArgs;
58
- webpackClientDev: ClientWebpackAdditionalArgs;
59
- webpackProd: ClientWebpackAdditionalArgs;
60
- webpackClientProd: ClientWebpackAdditionalArgs;
61
- webpackServer: ServerWebpackAdditionalArgs;
62
- webpackServerDev: ServerWebpackAdditionalArgs;
63
- webpackServerProd: ServerWebpackAdditionalArgs;
67
+ rspack: ClientRspackAdditionalArgs;
68
+ rspackClient: ClientRspackAdditionalArgs;
69
+ rspackDev: ClientRspackAdditionalArgs;
70
+ rspackClientDev: ClientRspackAdditionalArgs;
71
+ rspackProd: ClientRspackAdditionalArgs;
72
+ rspackClientProd: ClientRspackAdditionalArgs;
73
+ rspackServer: ServerRspackAdditionalArgs;
74
+ rspackServerDev: ServerRspackAdditionalArgs;
75
+ rspackServerProd: ServerRspackAdditionalArgs;
76
+ /** @deprecated используйте rspack */
77
+ webpack: ClientRspackAdditionalArgs;
78
+ /** @deprecated используйте rspackClient */
79
+ webpackClient: ClientRspackAdditionalArgs;
80
+ /** @deprecated используйте rspackDev */
81
+ webpackDev: ClientRspackAdditionalArgs;
82
+ /** @deprecated используйте rspackClientDev */
83
+ webpackClientDev: ClientRspackAdditionalArgs;
84
+ /** @deprecated используйте rspackProd */
85
+ webpackProd: ClientRspackAdditionalArgs;
86
+ /** @deprecated используйте rspackClientProd */
87
+ webpackClientProd: ClientRspackAdditionalArgs;
88
+ /** @deprecated используйте rspackServer */
89
+ webpackServer: ServerRspackAdditionalArgs;
90
+ /** @deprecated используйте rspackServerDev */
91
+ webpackServerDev: ServerRspackAdditionalArgs;
92
+ /** @deprecated используйте rspackServerProd */
93
+ webpackServerProd: ServerRspackAdditionalArgs;
64
94
  };
65
- type OverrideFunction<K extends keyof Overrides, AdditionalArgs = K extends keyof OverridesAdditionalArgs ? OverridesAdditionalArgs[K] : undefined> = (config: Overrides[K], appConfig: AppContextWithConfigs, additionalArgs: AdditionalArgs) => Overrides[K];
95
+ type OverrideFunction<K extends keyof Overrides> = (config: Overrides[K], appConfig: AppContextWithConfigs, additionalArgs: K extends keyof OverridesAdditionalArgs ? OverridesAdditionalArgs[K] : undefined) => Overrides[K];
66
96
  export type OverrideFile = {
67
97
  [K in keyof Overrides]?: OverrideFunction<K>;
68
- };
98
+ } & Partial<Record<DeprecatedOverrideKey, OverrideFunction<'rspack'>>>;
69
99
  /**
70
100
  *
71
101
  * @param {String|String[]} overridesKey Ключи оверрайда
@@ -2,6 +2,40 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.applyOverrides = applyOverrides;
4
4
  const app_configs_1 = require("../app-configs");
5
+ // Маппинг устаревших webpack-ключей оверрайдов на актуальные ключи для rspack
6
+ // Поддержка webpack-ключей будет скоро удалена.
7
+ const DEPRECATED_OVERRIDE_KEYS = {
8
+ webpack: 'rspack',
9
+ webpackClient: 'rspackClient',
10
+ webpackDev: 'rspackDev',
11
+ webpackClientDev: 'rspackClientDev',
12
+ webpackServer: 'rspackServer',
13
+ webpackServerDev: 'rspackServerDev',
14
+ webpackProd: 'rspackProd',
15
+ webpackClientProd: 'rspackClientProd',
16
+ webpackServerProd: 'rspackServerProd',
17
+ };
18
+ /**
19
+ * Переносит устаревшие webpack-ключи оверрайдов на актуальные rspack-ключи и
20
+ * предупреждает о необходимости миграции. Если заданы оба ключа — приоритет у
21
+ * нового, устаревший игнорируется.
22
+ */
23
+ function normalizeDeprecatedOverrideKeys(override) {
24
+ const result = Object.assign({}, override);
25
+ Object.keys(DEPRECATED_OVERRIDE_KEYS).forEach((deprecatedKey) => {
26
+ if (!Object.prototype.hasOwnProperty.call(result, deprecatedKey)) {
27
+ return;
28
+ }
29
+ const newKey = DEPRECATED_OVERRIDE_KEYS[deprecatedKey];
30
+ console.warn(`[arui-scripts] Ключ оверрайда "${deprecatedKey}" устарел, используйте "${newKey}". ` +
31
+ `Поддержка "${deprecatedKey}" будет скоре удалена.`);
32
+ if (!Object.prototype.hasOwnProperty.call(result, newKey)) {
33
+ result[newKey] = result[deprecatedKey];
34
+ }
35
+ delete result[deprecatedKey];
36
+ });
37
+ return result;
38
+ }
5
39
  let overrides = [];
6
40
  overrides = app_configs_1.configs.overridesPath.map((path) => {
7
41
  try {
@@ -10,9 +44,9 @@ overrides = app_configs_1.configs.overridesPath.map((path) => {
10
44
  // eslint-disable-next-line no-underscore-dangle
11
45
  if (requireResult.__esModule) {
12
46
  // ts-node импортирует esModules, из них надо вытягивать default именно так
13
- return requireResult.default;
47
+ return normalizeDeprecatedOverrideKeys(requireResult.default);
14
48
  }
15
- return requireResult;
49
+ return normalizeDeprecatedOverrideKeys(requireResult);
16
50
  }
17
51
  catch (e) {
18
52
  console.error(`Unable to process override file "${path}"`);
@@ -40,6 +74,8 @@ function applyOverrides(overridesKey, config, args) {
40
74
  throw new TypeError(`Override ${key} must be a function`);
41
75
  }
42
76
  // eslint-disable-next-line no-param-reassign
77
+ // @ts-expect-error Union type conflict between rspack and deprecated webpack keys - resolved at runtime
78
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any,no-param-reassign
43
79
  config = overrideFn(config, app_configs_1.configs, args);
44
80
  }
45
81
  });
@@ -5,10 +5,10 @@ import type AssetsPlugin from 'assets-webpack-plugin';
5
5
  import type CaseSensitivePathsPlugin from 'case-sensitive-paths-webpack-plugin';
6
6
  import type CompressionPlugin from 'compression-webpack-plugin';
7
7
  import type MiniCssExtractPlugin from 'mini-css-extract-plugin';
8
+ import { type RspackManifestPlugin } from 'rspack-manifest-plugin';
8
9
  import { type RunScriptWebpackPlugin } from 'run-script-webpack-plugin';
9
10
  import { type TsCheckerRspackPluginOptions } from 'ts-checker-rspack-plugin/lib/plugin-options';
10
11
  import { type WebpackDeduplicationPlugin } from 'webpack-deduplication-plugin';
11
- import { type WebpackManifestPlugin } from 'webpack-manifest-plugin';
12
12
  type PluginsListClient = {
13
13
  AssetsWebpackPlugin: {
14
14
  options: AssetsPlugin.Options;
@@ -45,7 +45,7 @@ type PluginsListClient = {
45
45
  };
46
46
  };
47
47
  WebpackManifestPlugin: {
48
- options: ConstructorParameters<typeof WebpackManifestPlugin>[number];
48
+ options: ConstructorParameters<typeof RspackManifestPlugin>[number];
49
49
  };
50
50
  CompressionPlugin: {
51
51
  options: ConstructorParameters<typeof CompressionPlugin>[number];
package/build/index.d.ts CHANGED
@@ -3,4 +3,4 @@ export type { AppConfigs, CompatModuleConfig, PackageSettings } from './configs/
3
3
  export { prepareFilesForDocker } from './commands/util/docker-build';
4
4
  export { getBuildParamsFromArgs } from './commands/util/docker-build';
5
5
  export { getDockerBuildCommand } from './commands/util/docker-build';
6
- export { patchMainWebpackConfigForModules } from './configs/modules';
6
+ export { patchMainRspackConfigForModules, patchMainWebpackConfigForModules, } from './configs/modules';
package/build/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.patchMainWebpackConfigForModules = exports.getDockerBuildCommand = exports.getBuildParamsFromArgs = exports.prepareFilesForDocker = void 0;
3
+ exports.patchMainWebpackConfigForModules = exports.patchMainRspackConfigForModules = exports.getDockerBuildCommand = exports.getBuildParamsFromArgs = exports.prepareFilesForDocker = void 0;
4
4
  var docker_build_1 = require("./commands/util/docker-build");
5
5
  Object.defineProperty(exports, "prepareFilesForDocker", { enumerable: true, get: function () { return docker_build_1.prepareFilesForDocker; } });
6
6
  var docker_build_2 = require("./commands/util/docker-build");
@@ -8,4 +8,5 @@ Object.defineProperty(exports, "getBuildParamsFromArgs", { enumerable: true, get
8
8
  var docker_build_3 = require("./commands/util/docker-build");
9
9
  Object.defineProperty(exports, "getDockerBuildCommand", { enumerable: true, get: function () { return docker_build_3.getDockerBuildCommand; } });
10
10
  var modules_1 = require("./configs/modules");
11
+ Object.defineProperty(exports, "patchMainRspackConfigForModules", { enumerable: true, get: function () { return modules_1.patchMainRspackConfigForModules; } });
11
12
  Object.defineProperty(exports, "patchMainWebpackConfigForModules", { enumerable: true, get: function () { return modules_1.patchMainWebpackConfigForModules; } });
@@ -1,5 +1,5 @@
1
1
  import { type Worker } from 'cluster';
2
- import { type Compiler } from 'webpack';
2
+ import { type Compiler } from '@rspack/core';
3
3
  export declare class ReloadServerPlugin {
4
4
  workers: Worker[];
5
5
  done: null | (() => void);
@@ -1,4 +1,4 @@
1
- import { type Compiler } from 'webpack';
1
+ import { type Compiler } from '@rspack/core';
2
2
  export declare class WatchMissingNodeModulesPlugin {
3
3
  nodeModulesPath: string;
4
4
  constructor(nodeModulesPath: string);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arui-scripts",
3
- "version": "23.0.2",
3
+ "version": "23.1.0",
4
4
  "main": "./build/index.js",
5
5
  "typings": "./build/index.d.ts",
6
6
  "exports": {
@@ -83,7 +83,6 @@
83
83
  "mini-css-extract-plugin": "2.7.6",
84
84
  "mini-svg-data-uri": "^1.4.4",
85
85
  "null-loader": "0.1.1",
86
- "pnp-webpack-plugin": "1.7.0",
87
86
  "postcss": "^8.5.10",
88
87
  "postcss-calc": "^9.0.0",
89
88
  "postcss-color-function": "^4.0.0",
@@ -126,7 +125,6 @@
126
125
  "vitest": "^4.1.5",
127
126
  "webpack-bundle-analyzer": "4.10.2",
128
127
  "webpack-deduplication-plugin": "^0.0.8",
129
- "webpack-manifest-plugin": "3.2.0",
130
128
  "webpack-node-externals": "3.0.0"
131
129
  },
132
130
  "devDependencies": {
@@ -141,12 +139,8 @@
141
139
  "@types/semver": "^7.5.0",
142
140
  "@types/serialize-javascript": "^5.0.4",
143
141
  "@types/shelljs": "^0.8.12",
144
- "@types/start-server-webpack-plugin": "2.2.2",
145
142
  "@types/tar": "^4.0.5",
146
- "@types/webpack": "^5.28.5",
147
143
  "@types/webpack-bundle-analyzer": "4.7.0",
148
- "@types/webpack-dev-server": "4.7.2",
149
- "@types/webpack-manifest-plugin": "3.0.5",
150
144
  "@types/webpack-node-externals": "^3.0.0",
151
145
  "babel-plugin-transform-import-meta": "^2.3.3",
152
146
  "type-fest": "2.19.0",