arui-scripts 23.8.1 → 23.9.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/.turbo/turbo-test.log +7 -7
- package/CHANGELOG.md +52 -0
- package/build/commands/archive-build/index.js +2 -67
- package/build/commands/build/build-wrapper.d.ts +1 -1
- package/build/commands/build/build-wrapper.js +2 -2
- package/build/commands/build/index.js +1 -1
- package/build/commands/build/server.js +1 -1
- package/build/commands/docker-build/index.js +2 -60
- package/build/commands/docker-build-compiled/index.js +2 -41
- package/build/commands/util/artifacts-config.d.ts +25 -0
- package/build/commands/util/artifacts-config.js +120 -0
- package/build/commands/util/artifacts-deprecations.d.ts +9 -0
- package/build/commands/util/artifacts-deprecations.js +66 -0
- package/build/commands/util/arui-scripts-artifacts.d.ts +16 -0
- package/build/commands/util/arui-scripts-artifacts.js +29 -0
- package/build/commands/util/docker-build.d.ts +20 -8
- package/build/commands/util/docker-build.js +50 -101
- package/build/commands/util/exec.d.ts +1 -1
- package/build/commands/util/exec.js +4 -16
- package/build/commands/util/run-artifacts-cli.d.ts +7 -0
- package/build/commands/util/run-artifacts-cli.js +60 -0
- package/build/commands/util/yarn.d.ts +7 -2
- package/build/commands/util/yarn.js +15 -69
- package/build/configs/app-configs/get-defaults.js +13 -11
- package/build/configs/app-configs/types.d.ts +22 -15
- package/build/configs/app-configs/validate-settings-keys.d.ts +4 -1
- package/build/configs/app-configs/validate-settings-keys.js +5 -2
- package/build/configs/util/apply-overrides.d.ts +10 -0
- package/build/configs/util/apply-overrides.js +8 -0
- package/build/index.d.ts +13 -0
- package/build/index.js +25 -1
- package/docs/artifact.md +7 -3
- package/docs/overrides.md +14 -8
- package/docs/settings.md +10 -0
- package/package.json +11 -10
- package/tsconfig-local.tsbuildinfo +1 -1
- package/build/templates/base-nginx.conf.template.d.ts +0 -1
- package/build/templates/base-nginx.conf.template.js +0 -59
- package/build/templates/dockerfile-compiled.template.d.ts +0 -1
- package/build/templates/dockerfile-compiled.template.js +0 -56
- package/build/templates/dockerfile.template.d.ts +0 -1
- package/build/templates/dockerfile.template.js +0 -47
- package/build/templates/nginx.conf.template.d.ts +0 -1
- package/build/templates/nginx.conf.template.js +0 -50
- package/build/templates/start.template.d.ts +0 -1
- package/build/templates/start.template.js +0 -69
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/
|
|
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` на уровне проекта со своими роутами. Пример конфига [тут](
|
|
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
|
-
Базовый шаблон [тут](
|
|
67
|
+
- `Dockerfile` - :warning: устарел, см. врезку ниже. Докерфайл, который будет использоваться для сборки контейнера.
|
|
68
|
+
Базовый шаблон [тут](../../arui-scripts-artifacts/src/docker/templates/dockerfile.template.ts).
|
|
69
69
|
[`Dockerfile` в корне проекта](#docker) имеет приоритет над overrides.
|
|
70
|
-
- `DockerfileCompiled` -
|
|
71
|
-
- `nginx` -
|
|
72
|
-
Базовый шаблон [тут](
|
|
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` -
|
|
75
|
-
Базовый шаблон аналогичный тому, который добавлется в базовый образ [тут](
|
|
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` -
|
|
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.
|
|
3
|
+
"version": "23.9.0",
|
|
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",
|
|
@@ -45,12 +46,12 @@
|
|
|
45
46
|
"@babel/runtime": "^7.29.7",
|
|
46
47
|
"@module-federation/runtime-tools": "^2.0.0",
|
|
47
48
|
"@pmmmwh/react-refresh-webpack-plugin": "0.6.2",
|
|
48
|
-
"@rsdoctor/rspack-plugin": "1.
|
|
49
|
-
"@rspack/cli": "2.
|
|
50
|
-
"@rspack/core": "2.
|
|
51
|
-
"@rspack/dev-server": "2.
|
|
52
|
-
"@rspack/plugin-react-refresh": "2.0.
|
|
53
|
-
"@swc/core": "1.
|
|
49
|
+
"@rsdoctor/rspack-plugin": "1.6.4",
|
|
50
|
+
"@rspack/cli": "2.2.5",
|
|
51
|
+
"@rspack/core": "2.2.5",
|
|
52
|
+
"@rspack/dev-server": "2.2.1",
|
|
53
|
+
"@rspack/plugin-react-refresh": "2.0.2",
|
|
54
|
+
"@swc/core": "1.16.2",
|
|
54
55
|
"@swc/jest": "0.2.39",
|
|
55
56
|
"assets-webpack-plugin": "7.1.1",
|
|
56
57
|
"autoprefixer": "^10.3.16",
|
|
@@ -107,7 +108,7 @@
|
|
|
107
108
|
"react-refresh": "0.19.0",
|
|
108
109
|
"react-refresh-typescript": "2.0.12",
|
|
109
110
|
"rimraf": "^2.7.1",
|
|
110
|
-
"rspack-manifest-plugin": "5.2.
|
|
111
|
+
"rspack-manifest-plugin": "5.2.2",
|
|
111
112
|
"run-script-webpack-plugin": "0.0.11",
|
|
112
113
|
"semver": "^7.5.4",
|
|
113
114
|
"serialize-javascript": "^7.0.5",
|
|
@@ -115,10 +116,10 @@
|
|
|
115
116
|
"strip-ansi": "6.0.1",
|
|
116
117
|
"style-loader": "3.3.3",
|
|
117
118
|
"swc-loader": "^0.2.6",
|
|
118
|
-
"swc-plugin-coverage-instrument": "0.0.
|
|
119
|
+
"swc-plugin-coverage-instrument": "0.0.33",
|
|
119
120
|
"tar": "7.5.21",
|
|
120
121
|
"terser-webpack-plugin": "5.3.14",
|
|
121
|
-
"ts-checker-rspack-plugin": "^1.
|
|
122
|
+
"ts-checker-rspack-plugin": "^1.6.1",
|
|
122
123
|
"ts-jest": "29.1.0",
|
|
123
124
|
"ts-loader": "9.4.4",
|
|
124
125
|
"ts-node": "10.9.2",
|