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.
- package/CHANGELOG.md +340 -341
- package/README.md +9 -6
- package/build/bin/index.js +0 -0
- package/build/commands/docker-build/index.js +2 -1
- package/build/commands/docker-build-compiled/index.js +2 -1
- package/build/commands/util/docker-build.d.ts +3 -2
- package/build/commands/util/docker-build.js +4 -1
- package/build/configs/app-configs/get-defaults.js +2 -0
- package/build/configs/app-configs/types.d.ts +1 -0
- package/build/tsconfig-local.tsbuildinfo +1 -1
- package/package.json +7 -10
- package/release.config.js +1 -1
- package/build/commands/docker-build-fast/index.d.ts +0 -1
- package/build/commands/docker-build-fast/index.js +0 -90
- package/build/commands/start-vite/client.d.ts +0 -1
- package/build/commands/start-vite/client.js +0 -73
- package/build/commands/start-vite/index.d.ts +0 -1
- package/build/commands/start-vite/index.js +0 -25
- package/build/commands/util/localhost-certs.d.ts +0 -2
- package/build/commands/util/localhost-certs.js +0 -50
- package/build/commands/util/start-http2-proxy-server.d.ts +0 -7
- package/build/commands/util/start-http2-proxy-server.js +0 -40
- package/build/commands/util/vite-proxy-utils.d.ts +0 -64
- package/build/commands/util/vite-proxy-utils.js +0 -100
- package/build/configs/util/try-resolve.d.ts +0 -1
- package/build/configs/util/try-resolve.js +0 -12
- package/build/configs/vite.config.d.ts +0 -1
- package/build/configs/vite.config.js +0 -63
- package/build/configs/vite.html-template.d.ts +0 -1
- package/build/configs/vite.html-template.js +0 -16
- package/build/configs/webpack.dll.dev.d.ts +0 -3
- package/build/configs/webpack.dll.dev.js +0 -91
- package/build/templates/dockerfile-fast.template.d.ts +0 -2
- 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://
|
|
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](
|
|
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` код.
|
package/build/bin/index.js
CHANGED
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
9
|
+
startScriptTemplate: string;
|
|
10
10
|
pathToTempDir: string;
|
|
11
11
|
allowLocalDockerfile: boolean;
|
|
12
|
+
allowLocalStartScript: boolean;
|
|
12
13
|
};
|
|
13
|
-
export declare function prepareFilesForDocker({ dockerfileTemplate, nginxConfTemplate,
|
|
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,
|
|
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,
|