arui-scripts 16.1.0 → 17.0.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/docs/caveats.md CHANGED
@@ -28,3 +28,14 @@ webpack и перезапустить сборку. Кеши хранятся в
28
28
  ```
29
29
  rm -rf ./node_modules/.cache
30
30
  ```
31
+
32
+ ## Использование NODE_ENV
33
+ arui-scripts в билд режиме ВСЕГДА будет ставить `NODE_ENV=production` для того, чтобы удалить из сборки дев код.
34
+
35
+ Переменную `process.env.NODE_ENV` используют многие библиотеки для того, чтобы показывать дополнительные варнинги,
36
+ добавлять дополнительные проверки, измерять производительность и так далее. Например `StrictMode` в react при NODE_ENV,
37
+ отличном от `produciton` будет делать дополнительные рендеры ваших компонентов, вызывать `useEffect` по два раза и [другие вещи](https://react.dev/reference/react/StrictMode).
38
+
39
+ Ваш интеграционный стенд и прод должны иметь ОДИНАКОВЫЙ код, который ведет себя схожим образом в одних и тех же ситуациях.
40
+ Если вы хотите делать различия между двумя разными стендами - используйте свою env переменную.
41
+ Договоритесь о том, как она должна называться. Это может быть что угодно другое кроме `NODE_ENV` - `ENV_NAME`, `ALFA_ENV`, ...
package/docs/settings.md CHANGED
@@ -193,7 +193,16 @@ const settings = {
193
193
  - `/^thrift-services\/proptypes/`
194
194
 
195
195
  #### useTscLoader
196
- Использовать ts-loader вместо babel-loader для обработки ts файлов. У babel-loader есть [ряд ограничений](https://devblogs.microsoft.com/typescript/typescript-and-babel-7/). По умолчанию `false`.
196
+ Использовать ts-loader вместо babel-loader для обработки ts файлов. **Не рекомендуется к использованию**.
197
+
198
+ babel-loader является предпочтительным инструментом сборки, его стоят заменять только если в вашем проекте используется неподдерживаемый им синтаксис:
199
+
200
+ - namespaces
201
+ - Кастинг типов через `<Type>value`
202
+ - enum merging
203
+ - legacy import/export (`import = require('module')`, `export = foo`)
204
+
205
+ Рекомендуется обновить код проекта до поддерживаемого синтаксиса и использовать babel-loader.
197
206
 
198
207
  #### webpack4Compatibility
199
208
  Включить ли режим совместимости с webpack 4. По умолчанию `false`. Подробнее можно почитать в этом [issue](https://github.com/webpack/webpack/issues/14580).
@@ -240,5 +249,10 @@ const settings = {
240
249
  Позволяет настроить работу с `compat` модулями. По умолчанию `{}`. Подробнее в разделе [модули](modules.md).
241
250
 
242
251
  #### disableDevWebpackTypecheck
243
- Позволяет настроить проверку типов для клиентского кода и серверный код в режиме разработки.
244
- Если `true`, то для проверки типов используется `tsc --watch --noEmit --project tsconfig.json --skipLibCheck`, вместо `ForkTsCheckerWebpackPlugin`. По умолчанию `false`.
252
+ Выключает проверку типов вебпаком во время разработки.
253
+ Вместо этого будет запускаться отдельный процесс `tsc`, который будет выдавать сообщения об ошибках в типах только в консоль.
254
+
255
+ По умолчанию `true`.
256
+
257
+ #### jestUseTsJest
258
+ Позволяет использовать `ts-jest` вместо `babel-jest` для обработки `ts` файлов при запуске тестов. По умолчанию `false`.
package/jest-preset.js CHANGED
@@ -1,19 +1,5 @@
1
- module.exports = {
2
- testRegex: 'src/.*(test|spec|/__test__/|/__tests__/).*\\.(jsx?|tsx?)$',
3
- moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'],
4
- collectCoverageFrom: [
5
- 'src/**/*.{js,jsx,ts,tsx}'
6
- ],
7
- testURL: 'http://localhost',
8
- transform: {
9
- '^.+\\.jsx?$': require.resolve('./build/configs/jest/babel-transform'),
10
- '^.+\\.tsx?$': require.resolve('ts-jest'),
11
- '^(?!.*\\.(js|jsx|ts|tsx|css|json)$)': require.resolve('./build/configs/jest/file-transform')
12
- },
13
- moduleNameMapper: {
14
- '\\.css$': require.resolve('./build/configs/jest/css-mock')
15
- },
16
- snapshotSerializers: [
17
- require.resolve('jest-snapshot-serializer-class-name-to-string')
18
- ]
19
- }
1
+ /* eslint-disable @typescript-eslint/no-var-requires */
2
+
3
+ const settings = require('./build/configs/jest/settings').default;
4
+
5
+ module.exports = settings;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arui-scripts",
3
- "version": "16.1.0",
3
+ "version": "17.0.0",
4
4
  "main": "./build/index.js",
5
5
  "typings": "./build/index.d.ts",
6
6
  "license": "MPL-2.0",
@@ -94,7 +94,7 @@
94
94
  "shelljs": "0.8.5",
95
95
  "strip-ansi": "6.0.1",
96
96
  "style-loader": "3.3.3",
97
- "tar": "4.4.19",
97
+ "tar": "6.2.1",
98
98
  "terser-webpack-plugin": "5.3.9",
99
99
  "ts-jest": "28.0.8",
100
100
  "ts-loader": "9.4.4",