arui-scripts 23.8.0 → 23.8.2

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 (47) hide show
  1. package/.turbo/turbo-test.log +7 -7
  2. package/CHANGELOG.md +52 -0
  3. package/build/commands/archive-build/index.js +2 -67
  4. package/build/commands/build/build-wrapper.d.ts +1 -1
  5. package/build/commands/build/build-wrapper.js +2 -2
  6. package/build/commands/build/index.js +1 -1
  7. package/build/commands/build/server.js +1 -1
  8. package/build/commands/docker-build/index.js +2 -60
  9. package/build/commands/docker-build-compiled/index.js +2 -41
  10. package/build/commands/util/artifacts-config.d.ts +25 -0
  11. package/build/commands/util/artifacts-config.js +120 -0
  12. package/build/commands/util/artifacts-deprecations.d.ts +9 -0
  13. package/build/commands/util/artifacts-deprecations.js +66 -0
  14. package/build/commands/util/arui-scripts-artifacts.d.ts +16 -0
  15. package/build/commands/util/arui-scripts-artifacts.js +29 -0
  16. package/build/commands/util/docker-build.d.ts +20 -8
  17. package/build/commands/util/docker-build.js +50 -101
  18. package/build/commands/util/exec.d.ts +1 -1
  19. package/build/commands/util/exec.js +4 -16
  20. package/build/commands/util/run-artifacts-cli.d.ts +7 -0
  21. package/build/commands/util/run-artifacts-cli.js +60 -0
  22. package/build/commands/util/yarn.d.ts +7 -2
  23. package/build/commands/util/yarn.js +15 -69
  24. package/build/configs/app-configs/get-defaults.js +13 -11
  25. package/build/configs/app-configs/types.d.ts +22 -15
  26. package/build/configs/app-configs/validate-settings-keys.d.ts +4 -1
  27. package/build/configs/app-configs/validate-settings-keys.js +5 -2
  28. package/build/configs/rspack.client.js +1 -1
  29. package/build/configs/util/apply-overrides.d.ts +10 -0
  30. package/build/configs/util/apply-overrides.js +8 -0
  31. package/build/index.d.ts +13 -0
  32. package/build/index.js +25 -1
  33. package/docs/artifact.md +7 -3
  34. package/docs/overrides.md +14 -8
  35. package/docs/settings.md +10 -0
  36. package/package.json +5 -4
  37. package/tsconfig-local.tsbuildinfo +1 -1
  38. package/build/templates/base-nginx.conf.template.d.ts +0 -1
  39. package/build/templates/base-nginx.conf.template.js +0 -59
  40. package/build/templates/dockerfile-compiled.template.d.ts +0 -1
  41. package/build/templates/dockerfile-compiled.template.js +0 -56
  42. package/build/templates/dockerfile.template.d.ts +0 -1
  43. package/build/templates/dockerfile.template.js +0 -47
  44. package/build/templates/nginx.conf.template.d.ts +0 -1
  45. package/build/templates/nginx.conf.template.js +0 -50
  46. package/build/templates/start.template.d.ts +0 -1
  47. package/build/templates/start.template.js +0 -69
package/build/index.d.ts CHANGED
@@ -1,6 +1,19 @@
1
1
  export type { OverrideFile } from './configs/util/apply-overrides';
2
2
  export type { AppConfigs, CompatModuleConfig, PackageSettings } from './configs/app-configs/types';
3
+ /**
4
+ * Утилиты сборки docker-образа, привязанные к глобальному конфигу arui-scripts.
5
+ * @deprecated Используйте `@alfalab/arui-scripts-artifacts` — там те же функции принимают явный конфиг.
6
+ * В следующей мажорной версии эти реэкспорты будут удалены.
7
+ */
3
8
  export { prepareFilesForDocker } from './commands/util/docker-build';
4
9
  export { getBuildParamsFromArgs } from './commands/util/docker-build';
5
10
  export { getDockerBuildCommand } from './commands/util/docker-build';
11
+ /**
12
+ * Опции сборки docker-образа, собранные из конфига arui-scripts. Точка входа для тех, кто хочет
13
+ * собрать образ через `@alfalab/arui-scripts-artifacts`, но переиспользовать настройки arui-scripts.
14
+ * @deprecated Слой обратной совместимости: в следующей мажорной версии настройки сборки артефактов
15
+ * будут жить только в конфиге `arui-scripts-artifacts.ts`.
16
+ */
17
+ export { getArtifactsOptions, getResolvedArtifactsConfig } from './commands/util/artifacts-config';
18
+ export { buildDockerImage, getBuildParams, renderBaseNginxConf, renderDockerfile, renderDockerfileCompiled, renderTemplates, renderNginxConf, renderStartScript, resolveArtifactsConfig, type ArtifactsOptions, type ArtifactTemplateOverrides, type ArtifactTemplates, type ResolvedArtifactsConfig, } from '@alfalab/arui-scripts-artifacts';
6
19
  export { patchMainRspackConfigForModules, patchMainWebpackConfigForModules, } from './configs/modules';
package/build/index.js CHANGED
@@ -1,12 +1,36 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.patchMainWebpackConfigForModules = exports.patchMainRspackConfigForModules = exports.getDockerBuildCommand = exports.getBuildParamsFromArgs = exports.prepareFilesForDocker = void 0;
3
+ exports.patchMainWebpackConfigForModules = exports.patchMainRspackConfigForModules = exports.resolveArtifactsConfig = exports.renderStartScript = exports.renderNginxConf = exports.renderTemplates = exports.renderDockerfileCompiled = exports.renderDockerfile = exports.renderBaseNginxConf = exports.getBuildParams = exports.buildDockerImage = exports.getResolvedArtifactsConfig = exports.getArtifactsOptions = exports.getDockerBuildCommand = exports.getBuildParamsFromArgs = exports.prepareFilesForDocker = void 0;
4
+ /**
5
+ * Утилиты сборки docker-образа, привязанные к глобальному конфигу arui-scripts.
6
+ * @deprecated Используйте `@alfalab/arui-scripts-artifacts` — там те же функции принимают явный конфиг.
7
+ * В следующей мажорной версии эти реэкспорты будут удалены.
8
+ */
4
9
  var docker_build_1 = require("./commands/util/docker-build");
5
10
  Object.defineProperty(exports, "prepareFilesForDocker", { enumerable: true, get: function () { return docker_build_1.prepareFilesForDocker; } });
6
11
  var docker_build_2 = require("./commands/util/docker-build");
7
12
  Object.defineProperty(exports, "getBuildParamsFromArgs", { enumerable: true, get: function () { return docker_build_2.getBuildParamsFromArgs; } });
8
13
  var docker_build_3 = require("./commands/util/docker-build");
9
14
  Object.defineProperty(exports, "getDockerBuildCommand", { enumerable: true, get: function () { return docker_build_3.getDockerBuildCommand; } });
15
+ /**
16
+ * Опции сборки docker-образа, собранные из конфига arui-scripts. Точка входа для тех, кто хочет
17
+ * собрать образ через `@alfalab/arui-scripts-artifacts`, но переиспользовать настройки arui-scripts.
18
+ * @deprecated Слой обратной совместимости: в следующей мажорной версии настройки сборки артефактов
19
+ * будут жить только в конфиге `arui-scripts-artifacts.ts`.
20
+ */
21
+ var artifacts_config_1 = require("./commands/util/artifacts-config");
22
+ Object.defineProperty(exports, "getArtifactsOptions", { enumerable: true, get: function () { return artifacts_config_1.getArtifactsOptions; } });
23
+ Object.defineProperty(exports, "getResolvedArtifactsConfig", { enumerable: true, get: function () { return artifacts_config_1.getResolvedArtifactsConfig; } });
24
+ var arui_scripts_artifacts_1 = require("@alfalab/arui-scripts-artifacts");
25
+ Object.defineProperty(exports, "buildDockerImage", { enumerable: true, get: function () { return arui_scripts_artifacts_1.buildDockerImage; } });
26
+ Object.defineProperty(exports, "getBuildParams", { enumerable: true, get: function () { return arui_scripts_artifacts_1.getBuildParams; } });
27
+ Object.defineProperty(exports, "renderBaseNginxConf", { enumerable: true, get: function () { return arui_scripts_artifacts_1.renderBaseNginxConf; } });
28
+ Object.defineProperty(exports, "renderDockerfile", { enumerable: true, get: function () { return arui_scripts_artifacts_1.renderDockerfile; } });
29
+ Object.defineProperty(exports, "renderDockerfileCompiled", { enumerable: true, get: function () { return arui_scripts_artifacts_1.renderDockerfileCompiled; } });
30
+ Object.defineProperty(exports, "renderTemplates", { enumerable: true, get: function () { return arui_scripts_artifacts_1.renderTemplates; } });
31
+ Object.defineProperty(exports, "renderNginxConf", { enumerable: true, get: function () { return arui_scripts_artifacts_1.renderNginxConf; } });
32
+ Object.defineProperty(exports, "renderStartScript", { enumerable: true, get: function () { return arui_scripts_artifacts_1.renderStartScript; } });
33
+ Object.defineProperty(exports, "resolveArtifactsConfig", { enumerable: true, get: function () { return arui_scripts_artifacts_1.resolveArtifactsConfig; } });
10
34
  var modules_1 = require("./configs/modules");
11
35
  Object.defineProperty(exports, "patchMainRspackConfigForModules", { enumerable: true, get: function () { return modules_1.patchMainRspackConfigForModules; } });
12
36
  Object.defineProperty(exports, "patchMainWebpackConfigForModules", { enumerable: true, get: function () { return modules_1.patchMainWebpackConfigForModules; } });
package/docs/artifact.md CHANGED
@@ -1,6 +1,10 @@
1
1
  Настройки сборки артефакта
2
2
  ===
3
3
 
4
+ > ⚠️ Сборка артефактов живет в отдельном пакете [@alfalab/arui-scripts-artifacts](../../arui-scripts-artifacts/README.md).
5
+ > Настройки и оверрайды артефакта в конфиге arui-scripts объявлены устаревшими и будут удалены в
6
+ > следующей мажорной версии — новые проекты настраивают сборку через `arui-scripts-artifacts.ts`.
7
+
4
8
  ## docker
5
9
 
6
10
  По-умолчанию, базовым образом для сборки артефакта является [alpine-node-nginx](../../alpine-node-nginx).
@@ -9,13 +13,13 @@
9
13
 
10
14
  Вы также можете переопределить полностью процесс сборки docker-образа используя механизм [overrides](#тонкая-настройка)
11
15
  или создав в корневой директории проекта `Dockerfile` содержащий необходимый набор инструкций.
12
- Пример [Dockerfile](src/templates/dockerfile.template.ts).
16
+ Пример [Dockerfile](../../arui-scripts-artifacts/src/docker/templates/dockerfile.template.ts).
13
17
 
14
18
  `Dockerfile` в корне проекта имеет приоритет над overrides.
15
19
 
16
20
  Чтобы переопределить скрипт запуска, воспользуйтесь механизмом [overrides](#тонкая-настройка)
17
21
  или создайте в корневой директории проекта `start.sh` файл содержащий необходимый набор инструкций.
18
- Пример [start.sh](src/templates/start.template.ts).
22
+ Пример [start.sh](../../arui-scripts-artifacts/src/start-script/start.template.ts).
19
23
 
20
24
  `start.sh` в корне проекта имеет приоритет над overrides.
21
25
 
@@ -23,7 +27,7 @@
23
27
  ## Концигурация nginx
24
28
  Несмотря на то, что nginx имеет готовый конфиг с роутингом, иногда возникает необходимость добавлять свои роуты.
25
29
  Вы можете использовать механизм [overrides](overrides.md).
26
- Так же вы можете создать `nginx.conf` на уровне проекта со своими роутами. Пример конфига [тут](../src/templates/nginx.conf.template.ts).
30
+ Так же вы можете создать `nginx.conf` на уровне проекта со своими роутами. Пример конфига [тут](../../arui-scripts-artifacts/src/nginx/templates/nginx.conf.template.ts).
27
31
  Файл nginx.conf имеет приоритет над оверрайдами.
28
32
 
29
33
  ### Использование env переменных в nginx.conf
package/docs/overrides.md CHANGED
@@ -64,17 +64,17 @@ export default overrides;
64
64
  Альтернативно вы можете использовать любые методы передачи списка браузеров, поддерживаемые пакетом browserslist.
65
65
  Ключи: `browsers`, `supportingBrowsers`
66
66
  - `supportingNode` - список поддерживаемых версий nodejs в формате [browserslist](https://github.com/browserslist/browserslist).
67
- - `Dockerfile` - докерфайл, который будет использоваться для сборки контейнера.
68
- Базовый шаблон [тут](../src/templates/dockerfile.template.ts).
67
+ - `Dockerfile` - :warning: устарел, см. врезку ниже. Докерфайл, который будет использоваться для сборки контейнера.
68
+ Базовый шаблон [тут](../../arui-scripts-artifacts/src/docker/templates/dockerfile.template.ts).
69
69
  [`Dockerfile` в корне проекта](#docker) имеет приоритет над overrides.
70
- - `DockerfileCompiled` - докерфайл, который будет использоваться для сборки контейнера при использовании команды `arui-scripts docker-build:compiled`
71
- - `nginx` - шаблон конфигурации для nginx внутри контейнера.
72
- Базовый шаблон [тут](../src/templates/nginx.conf.template.ts).
70
+ - `DockerfileCompiled` - :warning: устарел. Докерфайл, который будет использоваться для сборки контейнера при использовании команды `arui-scripts docker-build:compiled`
71
+ - `nginx` - :warning: устарел. Шаблон конфигурации для nginx внутри контейнера.
72
+ Базовый шаблон [тут](../../arui-scripts-artifacts/src/nginx/templates/nginx.conf.template.ts).
73
73
  [Файл `nginx.conf`](nginx.md) в корне имеет приоритет над оверрайдами.
74
- - `nginxConf` - шаблон базовой конфигурации для nginx внутри контейнера
75
- Базовый шаблон аналогичный тому, который добавлется в базовый образ [тут](../src/templates/base-nginx.conf.template.ts).
74
+ - `nginxConf` - :warning: устарел. Шаблон базовой конфигурации для nginx внутри контейнера
75
+ Базовый шаблон аналогичный тому, который добавлется в базовый образ [тут](../../arui-scripts-artifacts/src/nginx/templates/base-nginx.conf.template.ts).
76
76
  [Файл `base-nginx.conf`](base-nginx.md) в корне имеет приоритет над оверрайдами.
77
- - `start.sh` - шаблон entrypoint докер контейнера. Базовый шаблон [тут](../src/templates/start.template.ts).
77
+ - `start.sh` - :warning: устарел. Шаблон entrypoint докер контейнера. Базовый шаблон [тут](../../arui-scripts-artifacts/src/start-script/start.template.ts).
78
78
  - `serverExternalsExemptions` - список модулей, которые не будут добавлены в список внешних зависимостей сервера. [Подробнее](caveats.md#node-externals).
79
79
  - `html` - шаблон для htmlWebpackPlugin, будет использоваться только в режиме [`clientOnly`](./settings.md#clientonly).
80
80
  - `swc-client` - конфигурация `swc` для клиентского кода. Ключи: `swc`, `swcClient`.
@@ -83,6 +83,12 @@ export default overrides;
83
83
 
84
84
  Для некоторых конфигураций определены несколько ключей, они будут применяться в том порядке, в котором они приведены в этом файле.
85
85
 
86
+ > ⚠️ Оверрайды файлов артефакта поставки (`Dockerfile`, `DockerfileCompiled`, `nginx`, `nginxConf`,
87
+ > `start.sh`) объявлены устаревшими и будут удалены в следующей мажорной версии arui-scripts.
88
+ > Переносите их в секцию `overrides` конфига `arui-scripts-artifacts.ts`
89
+ > ([таблица соответствия](../../arui-scripts-artifacts/docs/migration.md)).
90
+ > Команды сборки предупреждают о таких оверрайдах в консоли.
91
+
86
92
  ### Создание дополнительных конфигураций для webpack
87
93
  На некоторых проектах может потребоваться создать дополнительные конфигурации для webpack. Например, для создания
88
94
  service worker'а (или любых других кейсов). Для этого можно использовать функцию-хелпер `createSingleWebpackConfig`:
package/docs/settings.md CHANGED
@@ -132,6 +132,9 @@ export default settings;
132
132
  #### additionalBuildPath
133
133
  Массив путей, которые попадут в архив при использовании [команды archive-build](./commands.md#archive-build). По умолчанию `['config']`.
134
134
 
135
+ :warning: Настройка устарела, см. [настройки сборки артефактов](#настройки-сборки-артефактов).
136
+ Замена — `archive.additionalPaths` в конфиге `arui-scripts-artifacts.ts`.
137
+
135
138
  #### statsOutputFilename
136
139
  Имя [stats-файла](https://webpack.js.org/api/stats/), которое будет использоваться в [bundle-analyze команде](./commands.md#bundle-analyze). По умолчанию `stats.json`
137
140
 
@@ -166,6 +169,13 @@ const settings = {
166
169
 
167
170
  ### Настройки сборки артефактов
168
171
 
172
+ > ⚠️ **Объявлены устаревшими.** Эти настройки arui-scripts просто транслирует в
173
+ > [@alfalab/arui-scripts-artifacts](../../arui-scripts-artifacts/README.md), где и живут их значения по
174
+ > умолчанию. В следующей мажорной версии arui-scripts они будут удалены — переносите их в конфиг
175
+ > `arui-scripts-artifacts.ts` в корне проекта (таблица соответствия — в
176
+ > [документации пакета](../../arui-scripts-artifacts/docs/migration.md)).
177
+ > Команды сборки предупреждают о таких настройках в консоли.
178
+
169
179
  #### dockerRegistry
170
180
  Адрес используемого docker registry, по умолчанию `''`, то есть используется публичный registry
171
181
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arui-scripts",
3
- "version": "23.8.0",
3
+ "version": "23.8.2",
4
4
  "main": "./build/index.js",
5
5
  "typings": "./build/index.d.ts",
6
6
  "exports": {
@@ -21,6 +21,7 @@
21
21
  "homepage": "https://github.com/core-ds/arui-scripts#readme",
22
22
  "bin": "./build/bin/index.js",
23
23
  "dependencies": {
24
+ "@alfalab/arui-scripts-artifacts": "^1.0.0",
24
25
  "@alfalab/postcss-custom-properties": "^9.1.2",
25
26
  "@babel/core": "7.29.7",
26
27
  "@babel/plugin-proposal-decorators": "^7.29.7",
@@ -104,8 +105,8 @@
104
105
  "postcss-remove-root": "^0.0.2",
105
106
  "postcss-strip-units": "^2.0.0",
106
107
  "postcss-url": "^10.0.0",
107
- "react-refresh": "0.10.0",
108
- "react-refresh-typescript": "2.0.2",
108
+ "react-refresh": "0.19.0",
109
+ "react-refresh-typescript": "2.0.12",
109
110
  "rimraf": "^2.7.1",
110
111
  "rspack-manifest-plugin": "5.2.1",
111
112
  "run-script-webpack-plugin": "0.0.11",
@@ -123,7 +124,7 @@
123
124
  "ts-loader": "9.4.4",
124
125
  "ts-node": "10.9.2",
125
126
  "vite-tsconfig-paths": "^6.1.1",
126
- "vitest": "^4.1.5",
127
+ "vitest": "^4.1.11",
127
128
  "webpack-bundle-analyzer": "4.10.2",
128
129
  "webpack-deduplication-plugin": "^0.0.8",
129
130
  "webpack-node-externals": "3.0.0"