arui-scripts 23.2.0 → 23.3.1
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 +15 -0
- package/build/commands/bundle-analyze/index.js +2 -0
- package/build/configs/app-configs/get-defaults.js +1 -0
- package/build/configs/app-configs/types.d.ts +1 -0
- package/build/configs/jest/settings.d.ts +1 -0
- package/build/configs/jest/settings.js +18 -0
- package/docs/settings.md +22 -0
- package/package.json +2 -2
- package/tsconfig-local.tsbuildinfo +1 -1
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
ts-jest[versions] (WARN) Version 6.0.2 of typescript installed has not been tested with ts-jest. If you're experiencing issues, consider using a supported version (>=4.3.0 <6.0.0-0). Please do not report issues in ts-jest if you are using unsupported versions.
|
|
2
2
|
ts-jest[versions] (WARN) Version 6.0.2 of typescript installed has not been tested with ts-jest. If you're experiencing issues, consider using a supported version (>=4.3.0 <6.0.0-0). Please do not report issues in ts-jest if you are using unsupported versions.
|
|
3
3
|
ts-jest[versions] (WARN) Version 6.0.2 of typescript installed has not been tested with ts-jest. If you're experiencing issues, consider using a supported version (>=4.3.0 <6.0.0-0). Please do not report issues in ts-jest if you are using unsupported versions.
|
|
4
|
-
PASS src/bin/__tests__/create-cli.tests.ts (33.
|
|
5
|
-
PASS src/plugins/postcss-global-variables/utils/__tests__/add-global-variable.tests.ts (33.348 s)
|
|
6
|
-
PASS src/configs/util/__tests__/create-watch-ignore-regex.tests.ts
|
|
4
|
+
PASS src/bin/__tests__/create-cli.tests.ts (33.253 s)
|
|
7
5
|
PASS src/configs/app-configs/__tests__/update-with-presets.tests.ts
|
|
8
|
-
PASS src/configs/
|
|
6
|
+
PASS src/configs/util/__tests__/create-watch-ignore-regex.tests.ts
|
|
9
7
|
PASS src/configs/util/__tests__/apply-overrides.tests.ts
|
|
8
|
+
PASS src/plugins/postcss-global-variables/utils/__tests__/add-global-variable.tests.ts (33.909 s)
|
|
9
|
+
PASS src/configs/app-configs/__tests__/update-with-env.tests.ts
|
|
10
10
|
PASS src/configs/app-configs/__tests__/update-with-package.tests.ts
|
|
11
11
|
PASS src/configs/util/__tests__/compress-with-dcb.test.ts
|
|
12
12
|
PASS src/configs/util/__tests__/get-polyfills.tests.ts
|
|
13
13
|
PASS src/plugins/postcss-global-variables/utils/__tests__/parse-variables.tests.ts
|
|
14
14
|
PASS src/plugins/postcss-global-variables/utils/__tests__/get-media-query-name.tests.ts
|
|
15
15
|
PASS src/configs/app-configs/__tests__/validate-settings-keys.tests.ts
|
|
16
|
-
PASS src/configs/__tests__/webpack-client-modules.tests.ts (
|
|
17
|
-
PASS src/configs/util/__tests__/find-plugin.tests.ts (
|
|
16
|
+
PASS src/configs/__tests__/webpack-client-modules.tests.ts (10.197 s)
|
|
17
|
+
PASS src/configs/util/__tests__/find-plugin.tests.ts (44.432 s)
|
|
18
18
|
A worker process has failed to exit gracefully and has been force exited. This is likely caused by tests leaking due to improper teardown. Try running with --detectOpenHandles to find leaks. Active timers can also cause this, ensure that .unref() was called on them.
|
|
19
19
|
|
|
20
20
|
Test Suites: 14 passed, 14 total
|
|
21
21
|
Tests: 37 passed, 37 total
|
|
22
22
|
Snapshots: 0 total
|
|
23
|
-
Time:
|
|
23
|
+
Time: 46.176 s
|
|
24
24
|
Ran all test suites.
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# arui-scripts
|
|
2
2
|
|
|
3
|
+
## 23.3.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#563](https://github.com/core-ds/arui-scripts/pull/563) [`6d9bf3b`](https://github.com/core-ds/arui-scripts/commit/6d9bf3b9077025827179b8fe094fb905e2687e40) Thanks [@heymdall-legal](https://github.com/heymdall-legal)! - Исправлен запуск команды bundle-analyze с параметрами по умолчанию
|
|
8
|
+
|
|
9
|
+
## 23.3.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [#561](https://github.com/core-ds/arui-scripts/pull/561) [`98a2da5`](https://github.com/core-ds/arui-scripts/commit/98a2da587e1f0bc1d9b053cf509d96379b2e9af2) Thanks [@heymdall-legal](https://github.com/heymdall-legal)! - Добавлена настройка `jestTransformNodeModules` — список пакетов из `node_modules`, которые нужно прогонять
|
|
14
|
+
через трансформер при запуске тестов. Нужна для зависимостей, публикующихся только в формате ESM: рантайм jest
|
|
15
|
+
работает в CommonJS, а его нативный ESM-режим до сих пор требует `--experimental-vm-modules`.
|
|
16
|
+
По умолчанию `[]`, поведение не меняется.
|
|
17
|
+
|
|
3
18
|
## 23.2.0
|
|
4
19
|
|
|
5
20
|
### Minor Changes
|
|
@@ -14,6 +14,7 @@ const core_1 = require("@rspack/core");
|
|
|
14
14
|
const webpack_bundle_analyzer_1 = require("webpack-bundle-analyzer");
|
|
15
15
|
const app_configs_1 = require("../../configs/app-configs");
|
|
16
16
|
const rspack_client_prod_1 = require("../../configs/rspack.client.prod");
|
|
17
|
+
const load_browserslist_1 = require("../util/load-browserslist");
|
|
17
18
|
const make_tmp_dir_1 = require("../util/make-tmp-dir");
|
|
18
19
|
// В rspack по умолчанию больше не включаются эти поля, но для webpack-bundle-analyzer они нужны
|
|
19
20
|
// https://rspack.rs/guide/migration/rspack_1.x#changed-default-parameters-of-statstojson
|
|
@@ -27,6 +28,7 @@ const bundleAnalyzerStatsOptions = {
|
|
|
27
28
|
modules: true,
|
|
28
29
|
};
|
|
29
30
|
(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
31
|
+
(0, load_browserslist_1.loadBrowserslist)();
|
|
30
32
|
console.log('Starting bundle analysis...');
|
|
31
33
|
const clientWebpackConfigs = Array.isArray(rspack_client_prod_1.webpackClientConfig)
|
|
32
34
|
? rspack_client_prod_1.webpackClientConfig
|
|
@@ -58,6 +58,7 @@ function getDefaultAppConfig() {
|
|
|
58
58
|
installServerSourceMaps: false,
|
|
59
59
|
disableDevRspackTypecheck: true,
|
|
60
60
|
jestCodeTransformer: 'swc',
|
|
61
|
+
jestTransformNodeModules: [],
|
|
61
62
|
collectCoverage: process.env.NODE_ENV === 'cypress' || process.env.USE_ISTANBUL === 'enabled',
|
|
62
63
|
// image processing
|
|
63
64
|
dataUrlMaxSize: 1536,
|
|
@@ -48,6 +48,7 @@ export type AppConfigs = {
|
|
|
48
48
|
/** @deprecated используйте `disableDevRspackTypecheck` */
|
|
49
49
|
disableDevWebpackTypecheck?: boolean;
|
|
50
50
|
jestCodeTransformer: 'babel' | 'tsc' | 'swc';
|
|
51
|
+
jestTransformNodeModules: string[];
|
|
51
52
|
collectCoverage: boolean;
|
|
52
53
|
dataUrlMaxSize?: number;
|
|
53
54
|
imageMinimizer?: {
|
|
@@ -9,6 +9,9 @@ const { pathsToModuleNameMapper } = require('ts-jest');
|
|
|
9
9
|
const { parseConfigFileTextToJson } = require('typescript');
|
|
10
10
|
const { swcJestConfig } = require('../swc');
|
|
11
11
|
const { configs } = require('../app-configs');
|
|
12
|
+
// Значения по умолчанию из самого jest, см. https://jestjs.io/docs/configuration#transformignorepatterns-arraystring
|
|
13
|
+
const PNP_TRANSFORM_IGNORE_PATTERN = '\\.pnp\\.[^\\\\/]+$';
|
|
14
|
+
const DEFAULT_TRANSFORM_IGNORE_PATTERNS = ['/node_modules/', PNP_TRANSFORM_IGNORE_PATTERN];
|
|
12
15
|
module.exports = {
|
|
13
16
|
testRegex: 'src/.*(((/__test__/|/__tests__/).*)|(test|spec|tests)).(jsx?|tsx?)$',
|
|
14
17
|
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'],
|
|
@@ -22,6 +25,7 @@ module.exports = {
|
|
|
22
25
|
'^.+\\.tsx?$': getTsTransformer(),
|
|
23
26
|
'^(?!.*\\.(js|jsx|ts|tsx|css|json)$)': require.resolve('./file-transform'),
|
|
24
27
|
},
|
|
28
|
+
transformIgnorePatterns: getTransformIgnorePatterns(),
|
|
25
29
|
moduleNameMapper: Object.assign({
|
|
26
30
|
// replace all css files with simple empty exports
|
|
27
31
|
'\\.css$': require.resolve('./css-mock') }, pathsToModuleNameMapper(getPathMapping(), { prefix: '<rootDir>/' })),
|
|
@@ -56,3 +60,17 @@ function getJsTransformer() {
|
|
|
56
60
|
}
|
|
57
61
|
return require.resolve('./babel-transform');
|
|
58
62
|
}
|
|
63
|
+
function getTransformIgnorePatterns() {
|
|
64
|
+
const packages = configs.jestTransformNodeModules;
|
|
65
|
+
if (!packages || packages.length === 0) {
|
|
66
|
+
return DEFAULT_TRANSFORM_IGNORE_PATTERNS;
|
|
67
|
+
}
|
|
68
|
+
const list = packages.map((name) => name.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')).join('|');
|
|
69
|
+
// Игнорируем всё в node_modules, кроме путей, содержащих /node_modules/<пакет>/.
|
|
70
|
+
// Вхождение ищется в любом месте пути, чтобы работали вложенные установки
|
|
71
|
+
// вида node_modules/foo/node_modules/uuid.
|
|
72
|
+
return [
|
|
73
|
+
`^(?!.*[\\\\/]node_modules[\\\\/](?:${list})[\\\\/]).*[\\\\/]node_modules[\\\\/]`,
|
|
74
|
+
PNP_TRANSFORM_IGNORE_PATTERN,
|
|
75
|
+
];
|
|
76
|
+
}
|
package/docs/settings.md
CHANGED
|
@@ -271,6 +271,28 @@ const packageSettings = {
|
|
|
271
271
|
- `swc` - для всего кода будет использоваться `@swc/jest`.
|
|
272
272
|
Swc более строго следует спецификациям и [не дает возможности](https://github.com/swc-project/swc/issues/5059) делать `spyOn` для экспортов из esm модулей.
|
|
273
273
|
|
|
274
|
+
#### jestTransformNodeModules
|
|
275
|
+
Список пакетов из `node_modules`, которые нужно прогонять через трансформер при запуске тестов. По умолчанию `[]`.
|
|
276
|
+
|
|
277
|
+
```js
|
|
278
|
+
module.exports = {
|
|
279
|
+
jestTransformNodeModules: ['uuid', '@scope/some-package'],
|
|
280
|
+
};
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
Нужно для пакетов, которые публикуются только в формате ESM (`"type": "module"` без CommonJS сборки).
|
|
284
|
+
По умолчанию jest не трансформирует ничего внутри `node_modules`, а его рантайм — CommonJS: он оборачивает
|
|
285
|
+
файл в `function(module, exports, require, ...)` и выполняет его, поэтому на ESM-коде падает с
|
|
286
|
+
`SyntaxError: Unexpected token 'export'`. Собственный `require(esm)` из Node тут не помогает — jest его не использует,
|
|
287
|
+
а нативный ESM-режим самого jest до сих пор требует запуска ноды с `--experimental-vm-modules`.
|
|
288
|
+
|
|
289
|
+
Настройка добавляет перечисленные пакеты в исключения `transformIgnorePatterns`, так что их код будет обработан
|
|
290
|
+
тем же трансформером, который выбран в [jestCodeTransformer](#jestcodetransformer). Вложенные установки
|
|
291
|
+
(`node_modules/foo/node_modules/uuid`) тоже учитываются.
|
|
292
|
+
|
|
293
|
+
Если нужно что-то более тонкое, `transformIgnorePatterns` по-прежнему можно задать напрямую — через ключ `jest`
|
|
294
|
+
в `package.json` или через `jest.config.js`, настройки приложения имеют приоритет над пресетом.
|
|
295
|
+
|
|
274
296
|
#### collectCoverage
|
|
275
297
|
Добавлять ли инструменты для сборки coverage при сборке. По умолчанию определяется по env переменным - будет выставлено в `true` если `NODE_ENV = 'cypress'` или `USE_ISTANBUL = 'enabled'`.
|
|
276
298
|
Сбор coverage не будет работать при использовании `codeLoader=tsc`.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "arui-scripts",
|
|
3
|
-
"version": "23.
|
|
3
|
+
"version": "23.3.1",
|
|
4
4
|
"main": "./build/index.js",
|
|
5
5
|
"typings": "./build/index.d.ts",
|
|
6
6
|
"exports": {
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
"style-loader": "3.3.3",
|
|
117
117
|
"swc-loader": "^0.2.6",
|
|
118
118
|
"swc-plugin-coverage-instrument": "0.0.32",
|
|
119
|
-
"tar": "7.5.
|
|
119
|
+
"tar": "7.5.21",
|
|
120
120
|
"terser-webpack-plugin": "5.3.14",
|
|
121
121
|
"ts-checker-rspack-plugin": "^1.3.0",
|
|
122
122
|
"ts-jest": "29.1.0",
|