arui-scripts 18.0.0 → 18.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/.eslintrc.js +2 -0
- package/.turbo/turbo-lint.log +25 -102
- package/.turbo/turbo-test.log +7 -4
- package/CHANGELOG.md +23 -0
- package/build/commands/changelog/index.js +22 -27
- package/build/commands/start/print-compiler-output.js +1 -1
- package/build/commands/start-prod/index.js +1 -1
- package/build/commands/util/client-assets-sizes.js +2 -3
- package/build/commands/util/docker-build.js +6 -7
- package/build/commands/util/run-client-dev-server.js +1 -2
- package/build/commands/util/run-compilers.js +1 -2
- package/build/commands/util/run-server-watch-compiler.js +2 -3
- package/build/commands/util/tsc.js +1 -2
- package/build/commands/util/yarn.js +3 -4
- package/build/configs/app-configs/calculate-dependent-config.d.ts +1 -75
- package/build/configs/app-configs/calculate-dependent-config.js +3 -4
- package/build/configs/app-configs/get-defaults.js +5 -4
- package/build/configs/app-configs/read-config-file.js +2 -3
- package/build/configs/app-configs/types.d.ts +8 -0
- package/build/configs/app-configs/update-with-config-file.js +1 -2
- package/build/configs/app-configs/update-with-env.js +1 -2
- package/build/configs/app-configs/update-with-package.js +1 -2
- package/build/configs/app-configs/update-with-presets.js +2 -3
- package/build/configs/app-configs/validate-settings-keys.js +1 -2
- package/build/configs/app-configs/warn-about-deprecations.js +4 -3
- package/build/configs/client-env-config/add-env-to-html-template.js +1 -2
- package/build/configs/client-env-config/get-env-config.js +2 -3
- package/build/configs/jest/index.d.ts +3 -3
- package/build/configs/jest/settings.d.ts +11 -11
- package/build/configs/jest/settings.js +29 -13
- package/build/configs/modules.js +6 -6
- package/build/configs/postcss.config.js +2 -2
- package/build/configs/process-assets-plugin-output.js +1 -2
- package/build/configs/swc.d.ts +4 -0
- package/build/configs/swc.js +35 -0
- package/build/configs/util/apply-overrides.d.ts +5 -0
- package/build/configs/util/find-loader.js +1 -2
- package/build/configs/util/find-plugin.d.ts +0 -1
- package/build/configs/util/find-plugin.js +1 -2
- package/build/configs/util/get-polyfills.d.ts +0 -1
- package/build/configs/util/get-polyfills.js +1 -2
- package/build/configs/util/get-webpack-cache-dependencies.js +1 -2
- package/build/configs/util/resolve.js +2 -3
- package/build/configs/webpack.client.d.ts +2 -2
- package/build/configs/webpack.client.js +84 -61
- package/build/configs/webpack.server.d.ts +1 -1
- package/build/configs/webpack.server.js +70 -46
- package/build/plugins/arui-runtime/arui-runtime-module.js +1 -1
- package/build/plugins/arui-runtime/index.js +2 -2
- package/build/templates/dockerfile.template.js +1 -1
- package/build/tsconfig-local.tsbuildinfo +1 -1
- package/docs/overrides.md +3 -0
- package/docs/settings.md +27 -0
- package/package.json +15 -10
package/docs/overrides.md
CHANGED
|
@@ -72,6 +72,9 @@ export default overrides;
|
|
|
72
72
|
- `start.sh` - шаблон entrypoint докер контейнера. Базовый шаблон [тут](../src/templates/start.template.ts).
|
|
73
73
|
- `serverExternalsExemptions` - список модулей, которые не будут добавлены в список внешних зависимостей сервера. [Подробнее](caveats.md#node-externals).
|
|
74
74
|
- `html` - шаблон для htmlWebpackPlugin, будет использоваться только в режиме [`clientOnly`](./settings.md#clientonly).
|
|
75
|
+
- `swc-client` - конфигурация `swc` для клиентского кода. Ключи: `swc`, `swcClient`.
|
|
76
|
+
- `swc-server` - конфигурация `swc` для серверного кода. Ключи: `swc`, `swcServer`.
|
|
77
|
+
- `swc-jest` - конфигурация `swc` для тестов. Ключи: `swc`, `swcJest`.
|
|
75
78
|
|
|
76
79
|
Для некоторых конфигураций определены несколько ключей, они будут применяться в том порядке, в котором они приведены в этом файле.
|
|
77
80
|
|
package/docs/settings.md
CHANGED
|
@@ -197,6 +197,8 @@ const settings = {
|
|
|
197
197
|
- `/^thrift-services\/proptypes/`
|
|
198
198
|
|
|
199
199
|
#### useTscLoader
|
|
200
|
+
**Deprecated** Используйте настройку [codeLoader](#codeloader)
|
|
201
|
+
|
|
200
202
|
Использовать ts-loader вместо babel-loader для обработки ts файлов. **Не рекомендуется к использованию**.
|
|
201
203
|
|
|
202
204
|
babel-loader является предпочтительным инструментом сборки, его стоят заменять только если в вашем проекте используется неподдерживаемый им синтаксис:
|
|
@@ -208,15 +210,40 @@ babel-loader является предпочтительным инструме
|
|
|
208
210
|
|
|
209
211
|
Рекомендуется обновить код проекта до поддерживаемого синтаксиса и использовать babel-loader.
|
|
210
212
|
|
|
213
|
+
#### codeLoader
|
|
214
|
+
Позволяет выбрать какой инструмент использовать для обработки js и ts кода приложения. По умолчанию `babel`.
|
|
215
|
+
|
|
216
|
+
Возможные значения:
|
|
217
|
+
- `babel` - для всего кода будет использоваться `babel-loader`;
|
|
218
|
+
- `tsc` - для ts кода будет использоваться `ts-loader`, для всего остального - `babel-loader`;
|
|
219
|
+
- `swc` - для всего кода будет использоваться `swc-loader`.
|
|
220
|
+
|
|
221
|
+
`swc` является предпочтительным режимом, дефолты не меняются для сохранения обратной совместимости.
|
|
222
|
+
Использование swc позволяет значительно ускорить сборку (до 2 раз на больших проектах), но не будет создавать полностью идентичный с babel код.
|
|
223
|
+
Итоговый бандл может получиться немного больше, чем при использовании babel, но разница полностью компенсируется при использовании сжатия.
|
|
224
|
+
|
|
211
225
|
#### webpack4Compatibility
|
|
226
|
+
**Deprecated** Эта настройка будет удалена в будущих версиях скриптов
|
|
227
|
+
|
|
212
228
|
Включить ли режим совместимости с webpack 4. По умолчанию `false`. Подробнее можно почитать в этом [issue](https://github.com/webpack/webpack/issues/14580).
|
|
213
229
|
|
|
214
230
|
#### installServerSourceMaps
|
|
215
231
|
Добавлять ли в серверную сборку пакет source-map-support. По умолчанию `false`.
|
|
216
232
|
|
|
217
233
|
#### jestUseTsJest
|
|
234
|
+
**Deprecated** Используйте настройку [jestCodeTransformer](#jestcodetransformer)
|
|
235
|
+
|
|
218
236
|
Позволяет использовать `ts-jest` вместо `babel-jest` для обработки `ts` файлов при запуске тестов. По умолчанию `false`.
|
|
219
237
|
|
|
238
|
+
#### jestCodeTransformer
|
|
239
|
+
Позволяет выбрать какой инструмент использовать для обработки js и ts кода приложения при запуске тестов. По умолчанию `babel`.
|
|
240
|
+
|
|
241
|
+
Возможные значения:
|
|
242
|
+
- `babel` - для всего кода будет использоваться `babel-jest`;
|
|
243
|
+
- `tsc` - для ts кода будет использоваться `ts-jest`, для всего остального - `babel-jest`;
|
|
244
|
+
- `swc` - для всего кода будет использоваться `@swc/jest`.
|
|
245
|
+
Swc более строго следует спецификациям и [не дает возможности](https://github.com/swc-project/swc/issues/5059) делать `spyOn` для экспортов из esm модулей.
|
|
246
|
+
|
|
220
247
|
#### collectCoverage
|
|
221
248
|
Добавлять ли инструменты для сборки coverage при сборке. По умолчанию определяется по env переменным - будет выставлено в `true` если `NODE_ENV = 'cypress'` или `USE_ISTANBUL = 'enabled'`.
|
|
222
249
|
Сбор coverage не будет работать при использовании `useTscLoader=true`.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "arui-scripts",
|
|
3
|
-
"version": "18.
|
|
3
|
+
"version": "18.1.0",
|
|
4
4
|
"main": "./build/index.js",
|
|
5
5
|
"typings": "./build/index.d.ts",
|
|
6
6
|
"license": "MPL-2.0",
|
|
@@ -38,11 +38,13 @@
|
|
|
38
38
|
"@babel/runtime": "^7.23.8",
|
|
39
39
|
"@csstools/postcss-global-data": "^2.0.1",
|
|
40
40
|
"@pmmmwh/react-refresh-webpack-plugin": "0.5.11",
|
|
41
|
+
"@swc/core": "^1.7.35",
|
|
42
|
+
"@swc/jest": "^0.2.36",
|
|
41
43
|
"assets-webpack-plugin": "7.1.1",
|
|
42
44
|
"autoprefixer": "^10.3.16",
|
|
43
45
|
"babel-core": "^7.0.0-bridge.0",
|
|
44
46
|
"babel-jest": "28.1.3",
|
|
45
|
-
"babel-loader": "9.1
|
|
47
|
+
"babel-loader": "9.2.1",
|
|
46
48
|
"babel-plugin-istanbul": "^7.0.0",
|
|
47
49
|
"babel-plugin-transform-react-remove-prop-types": "0.4.24",
|
|
48
50
|
"case-sensitive-paths-webpack-plugin": "2.4.0",
|
|
@@ -96,16 +98,18 @@
|
|
|
96
98
|
"shelljs": "0.8.5",
|
|
97
99
|
"strip-ansi": "6.0.1",
|
|
98
100
|
"style-loader": "3.3.3",
|
|
101
|
+
"swc-loader": "^0.2.6",
|
|
102
|
+
"swc-plugin-coverage-instrument": "^0.0.24",
|
|
99
103
|
"tar": "6.2.1",
|
|
100
104
|
"terser-webpack-plugin": "5.3.9",
|
|
101
105
|
"ts-jest": "28.0.8",
|
|
102
106
|
"ts-loader": "9.4.4",
|
|
103
107
|
"ts-node": "9.1.1",
|
|
104
108
|
"tsconfig-paths-webpack-plugin": "3.5.1",
|
|
105
|
-
"webpack": "^5.
|
|
106
|
-
"webpack-bundle-analyzer": "4.
|
|
109
|
+
"webpack": "^5.95.0",
|
|
110
|
+
"webpack-bundle-analyzer": "4.10.2",
|
|
107
111
|
"webpack-deduplication-plugin": "^0.0.8",
|
|
108
|
-
"webpack-dev-server": "4.15.
|
|
112
|
+
"webpack-dev-server": "4.15.2",
|
|
109
113
|
"webpack-manifest-plugin": "3.2.0",
|
|
110
114
|
"webpack-node-externals": "3.0.0"
|
|
111
115
|
},
|
|
@@ -122,17 +126,17 @@
|
|
|
122
126
|
"@types/shelljs": "^0.8.12",
|
|
123
127
|
"@types/start-server-webpack-plugin": "2.2.2",
|
|
124
128
|
"@types/tar": "^4.0.5",
|
|
125
|
-
"@types/webpack": "^5.28.
|
|
126
|
-
"@types/webpack-bundle-analyzer": "4.
|
|
129
|
+
"@types/webpack": "^5.28.5",
|
|
130
|
+
"@types/webpack-bundle-analyzer": "4.7.0",
|
|
127
131
|
"@types/webpack-dev-server": "^4.7.1",
|
|
128
132
|
"@types/webpack-manifest-plugin": "3.0.5",
|
|
129
133
|
"@types/webpack-node-externals": "^3.0.0",
|
|
130
134
|
"eslint": "^8.20.0",
|
|
131
|
-
"eslint-config-custom": "
|
|
135
|
+
"eslint-config-custom": "workspace:*",
|
|
132
136
|
"prettier": "^2.7.1",
|
|
133
137
|
"stylelint": "^14.9.1",
|
|
134
138
|
"type-fest": "2.19.0",
|
|
135
|
-
"typescript": "
|
|
139
|
+
"typescript": "5.6.3"
|
|
136
140
|
},
|
|
137
141
|
"optionalDependencies": {
|
|
138
142
|
"brotli-size": "^4.0.0"
|
|
@@ -147,7 +151,8 @@
|
|
|
147
151
|
"lint:scripts": "eslint \"**/*.{js,jsx,ts,tsx}\" --ext .js,.jsx,.ts,.tsx",
|
|
148
152
|
"lint": "yarn lint:css && yarn lint:scripts",
|
|
149
153
|
"lint:fix": "yarn lint:css --fix && yarn lint:scripts --fix",
|
|
150
|
-
"format": "prettier --write $INIT_CWD/{config,src}/**/*.{ts,tsx,js,jsx,css}"
|
|
154
|
+
"format": "prettier --write $INIT_CWD/{config,src}/**/*.{ts,tsx,js,jsx,css}",
|
|
155
|
+
"audit": "yarn npm audit --severity high --environment production"
|
|
151
156
|
},
|
|
152
157
|
"peerDependencies": {
|
|
153
158
|
"imagemin-gifsicle": "^7.0.0",
|