arui-scripts 14.0.0 → 14.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 (34) hide show
  1. package/CHANGELOG.md +340 -341
  2. package/README.md +9 -6
  3. package/build/bin/index.js +0 -0
  4. package/build/commands/docker-build/index.js +2 -1
  5. package/build/commands/docker-build-compiled/index.js +2 -1
  6. package/build/commands/util/docker-build.d.ts +3 -2
  7. package/build/commands/util/docker-build.js +4 -1
  8. package/build/configs/app-configs/get-defaults.js +2 -0
  9. package/build/configs/app-configs/types.d.ts +1 -0
  10. package/build/tsconfig-local.tsbuildinfo +1 -1
  11. package/package.json +7 -10
  12. package/release.config.js +1 -1
  13. package/build/commands/docker-build-fast/index.d.ts +0 -1
  14. package/build/commands/docker-build-fast/index.js +0 -90
  15. package/build/commands/start-vite/client.d.ts +0 -1
  16. package/build/commands/start-vite/client.js +0 -73
  17. package/build/commands/start-vite/index.d.ts +0 -1
  18. package/build/commands/start-vite/index.js +0 -25
  19. package/build/commands/util/localhost-certs.d.ts +0 -2
  20. package/build/commands/util/localhost-certs.js +0 -50
  21. package/build/commands/util/start-http2-proxy-server.d.ts +0 -7
  22. package/build/commands/util/start-http2-proxy-server.js +0 -40
  23. package/build/commands/util/vite-proxy-utils.d.ts +0 -64
  24. package/build/commands/util/vite-proxy-utils.js +0 -100
  25. package/build/configs/util/try-resolve.d.ts +0 -1
  26. package/build/configs/util/try-resolve.js +0 -12
  27. package/build/configs/vite.config.d.ts +0 -1
  28. package/build/configs/vite.config.js +0 -63
  29. package/build/configs/vite.html-template.d.ts +0 -1
  30. package/build/configs/vite.html-template.js +0 -16
  31. package/build/configs/webpack.dll.dev.d.ts +0 -3
  32. package/build/configs/webpack.dll.dev.js +0 -91
  33. package/build/templates/dockerfile-fast.template.d.ts +0 -2
  34. package/build/templates/dockerfile-fast.template.js +0 -32
package/README.md CHANGED
@@ -1,10 +1,7 @@
1
1
  ARUI-scripts
2
2
  ===
3
3
 
4
- Приложение на нашем стеке без какой либо конфигурации билдеров.
5
-
6
- Во многом пакет аналогичен `react-scripts` из `create-react-app`, разница заключается
7
- в немного отличающихся настройках для `babel`, поддержки `ts` и возможности работы с серверным кодом.
4
+ Простой и гибкий инструмент для одновременной сборки клиентской и серверной части react-приложений.
8
5
 
9
6
  Использование
10
7
  ===
@@ -78,7 +75,7 @@ npm install arui-scripts --save-dev
78
75
  - `devSourceMaps` - какой вид source-map использовать в режиме разработки. По умолчанию `eval`. Эта настройка может сильно влиять на время сборки. Подробнее можно почитать [здесь](https://webpack.js.org/configuration/devtool/).
79
76
  **Внимание**. При использовании любых source-map на основании `eval` webpack-dev-server будет модифицировать заголовок `Content-Security-Policy` (при наличии) и добавлять в него `unsafe-eval`. [Подробнее тут](#dev-csp).
80
77
  - `useTscLoader` - использовать ts-loader вместо babel-loader для обработки ts файлов. У babel-loader есть [ряд ограничений](https://blogs.msdn.microsoft.com/typescript/2018/08/27/typescript-and-babel-7/). По умолчанию `false`.
81
- - `componentsTheme` - путь к css файлу с темой для [core-components](https://alfa-laboratory.github.io/core-components). Используется для настройки [postcss-custom-properties](https://github.com/postcss/postcss-custom-properties#importfrom).
78
+ - `componentsTheme` - путь к css файлу с темой для [core-components](https://github.com/core-ds/core-components). Используется для настройки [postcss-custom-properties](https://github.com/postcss/postcss-custom-properties#importfrom).
82
79
  - `keepCssVars` - отключает `postcss-custom-properties`, css переменные будут оставаться в бандле.
83
80
  - `removeDevDependenciesDuringDockerBuild` - отключает удаление devDependencies из node_modules при сборке докер образа. Используется когда вам не нужно удалять devDependencies, т.к. в своём Dockerfile вы не переносите node_modules в докер-контейнер
84
81
 
@@ -294,7 +291,7 @@ docker
294
291
 
295
292
  Команда `arui-scripts docker-build` запускает компиляцию продакшн версии и сборку докер образа.
296
293
 
297
- Образ основан на [alpine-node-nginx](https://github.com/alfa-laboratory/arui-scripts/blob/master/packages/alpine-node-nginx/).
294
+ Образ основан на [alpine-node-nginx](../alpine-node-nginx).
298
295
 
299
296
  Имя контейнера определяется как `{configs.dockerRegistry}/{name}:{version}`. Переменные `name` и `version` по умолчанию берутся из package.json,
300
297
  но вы так же можете переопределить их из командной строки, например
@@ -320,6 +317,12 @@ docker run -p 8080:8080 container-name:version ./start.sh
320
317
 
321
318
  `Dockerfile` в корне проекта имеет приоритет над overrides.
322
319
 
320
+ Чтобы переопределить скрипт запуска, воспользуйтесь механизмом [overrides](#тонкая-настройка)
321
+ или создайте в корневой директории проекта `start.sh` файл содержащий необходимый набор инструкций.
322
+ Пример [start.sh](src/templates/start.template.ts).
323
+
324
+ `start.sh` в корне проекта имеет приоритет над overrides.
325
+
323
326
  docker compiled
324
327
  ---
325
328
  Команда `arui-scripts docker-build:compiled` во многом аналогична `docker-build`, но вместо сборки проекта использует уже скомпилированный в папку `.build` код.
File without changes
@@ -30,8 +30,9 @@ const yarn_1 = require("../util/yarn");
30
30
  pathToTempDir,
31
31
  dockerfileTemplate: dockerfile_template_1.default,
32
32
  nginxConfTemplate: nginx_conf_template_1.default,
33
- startScript: start_template_1.default,
33
+ startScriptTemplate: start_template_1.default,
34
34
  allowLocalDockerfile: true,
35
+ allowLocalStartScript: true,
35
36
  });
36
37
  yield fs_extra_1.default.remove(app_configs_1.default.buildPath);
37
38
  console.timeEnd('Setting up time');
@@ -28,8 +28,9 @@ const docker_build_1 = require("../util/docker-build");
28
28
  pathToTempDir,
29
29
  dockerfileTemplate: dockerfile_compiled_template_1.default,
30
30
  nginxConfTemplate: nginx_conf_template_1.default,
31
- startScript: start_template_1.default,
31
+ startScriptTemplate: start_template_1.default,
32
32
  allowLocalDockerfile: false,
33
+ allowLocalStartScript: false,
33
34
  });
34
35
  yield (0, exec_1.default)('echo "node_modules" >> .dockerignore');
35
36
  yield (0, exec_1.default)(`docker build -f "./${tempDirName}/Dockerfile" \\
@@ -6,9 +6,10 @@ export declare function getBuildParamsFromArgs(): {
6
6
  type PrepareFilesForDockerParams = {
7
7
  dockerfileTemplate: string;
8
8
  nginxConfTemplate: string;
9
- startScript: string;
9
+ startScriptTemplate: string;
10
10
  pathToTempDir: string;
11
11
  allowLocalDockerfile: boolean;
12
+ allowLocalStartScript: boolean;
12
13
  };
13
- export declare function prepareFilesForDocker({ dockerfileTemplate, nginxConfTemplate, startScript, pathToTempDir, allowLocalDockerfile, }: PrepareFilesForDockerParams): Promise<void>;
14
+ export declare function prepareFilesForDocker({ dockerfileTemplate, nginxConfTemplate, startScriptTemplate, pathToTempDir, allowLocalDockerfile, allowLocalStartScript }: PrepareFilesForDockerParams): Promise<void>;
14
15
  export {};
@@ -49,7 +49,7 @@ function getBuildParamsFromArgs() {
49
49
  };
50
50
  }
51
51
  exports.getBuildParamsFromArgs = getBuildParamsFromArgs;
52
- function prepareFilesForDocker({ dockerfileTemplate, nginxConfTemplate, startScript, pathToTempDir, allowLocalDockerfile, }) {
52
+ function prepareFilesForDocker({ dockerfileTemplate, nginxConfTemplate, startScriptTemplate, pathToTempDir, allowLocalDockerfile, allowLocalStartScript }) {
53
53
  return __awaiter(this, void 0, void 0, function* () {
54
54
  yield fs_extra_1.default.emptyDir(pathToTempDir);
55
55
  const nginxConf = app_configs_1.default.localNginxConf
@@ -58,6 +58,9 @@ function prepareFilesForDocker({ dockerfileTemplate, nginxConfTemplate, startScr
58
58
  const dockerfile = app_configs_1.default.localDockerfile && allowLocalDockerfile
59
59
  ? yield fs_extra_1.default.readFile(app_configs_1.default.localDockerfile, 'utf8')
60
60
  : dockerfileTemplate;
61
+ const startScript = app_configs_1.default.localStartScript && allowLocalStartScript
62
+ ? yield fs_extra_1.default.readFile(app_configs_1.default.localStartScript, 'utf8')
63
+ : startScriptTemplate;
61
64
  yield Promise.all([
62
65
  fs_extra_1.default.writeFile(path_1.default.join(pathToTempDir, 'Dockerfile'), dockerfile, 'utf8'),
63
66
  fs_extra_1.default.writeFile(path_1.default.join(pathToTempDir, 'nginx.conf'), nginxConf, 'utf8'),
@@ -21,6 +21,7 @@ function getDefaults() {
21
21
  const overridesPath = (0, resolve_1.tryResolve)(path_1.default.join(CWD, 'arui-scripts.overrides'));
22
22
  const nginxConfFilePath = path_1.default.join(CWD, 'nginx.conf');
23
23
  const dockerfileFilePath = path_1.default.join(CWD, 'Dockerfile');
24
+ const startScriptFilePath = path_1.default.join(CWD, 'start.sh');
24
25
  return {
25
26
  appPackage,
26
27
  name: appPackage.name,
@@ -50,6 +51,7 @@ function getDefaults() {
50
51
  tsconfig: fs_1.default.existsSync(projectTsConfigPath) ? projectTsConfigPath : null,
51
52
  localNginxConf: fs_1.default.existsSync(nginxConfFilePath) ? nginxConfFilePath : null,
52
53
  localDockerfile: fs_1.default.existsSync(dockerfileFilePath) ? dockerfileFilePath : null,
54
+ localStartScript: fs_1.default.existsSync(startScriptFilePath) ? startScriptFilePath : null,
53
55
  devSourceMaps: 'eval',
54
56
  useTscLoader: false,
55
57
  useServerHMR: false,
@@ -23,6 +23,7 @@ export type AppConfigs = {
23
23
  tsconfig: string | null;
24
24
  localNginxConf: string | null;
25
25
  localDockerfile: string | null;
26
+ localStartScript: string | null;
26
27
  devSourceMaps: string;
27
28
  useTscLoader: boolean;
28
29
  useServerHMR: boolean;