arui-scripts 22.3.0 → 23.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.
@@ -1,22 +1,22 @@
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/configs/app-configs/__tests__/update-with-presets.tests.ts (24.047 s)
5
- PASS src/plugins/postcss-global-variables/utils/__tests__/add-global-variable.tests.ts (24.402 s)
4
+ PASS src/plugins/postcss-global-variables/utils/__tests__/add-global-variable.tests.ts (23.435 s)
5
+ PASS src/configs/app-configs/__tests__/update-with-presets.tests.ts (23.475 s)
6
6
  PASS src/configs/util/__tests__/create-watch-ignore-regex.tests.ts
7
- PASS src/configs/app-configs/__tests__/update-with-env.tests.ts
8
7
  PASS src/configs/util/__tests__/apply-overrides.tests.ts
8
+ PASS src/configs/app-configs/__tests__/update-with-env.tests.ts
9
9
  PASS src/configs/app-configs/__tests__/update-with-package.tests.ts
10
10
  PASS src/configs/util/__tests__/get-polyfills.tests.ts
11
- PASS src/configs/util/__tests__/compress-with-dcb.test.ts
12
11
  PASS src/plugins/postcss-global-variables/utils/__tests__/parse-variables.tests.ts
12
+ PASS src/configs/util/__tests__/compress-with-dcb.test.ts
13
13
  PASS src/plugins/postcss-global-variables/utils/__tests__/get-media-query-name.tests.ts
14
14
  PASS src/configs/app-configs/__tests__/validate-settings-keys.tests.ts
15
- PASS src/configs/util/__tests__/find-plugin.tests.ts (34.198 s)
15
+ PASS src/configs/util/__tests__/find-plugin.tests.ts (33.335 s)
16
16
  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.
17
17
 
18
18
  Test Suites: 12 passed, 12 total
19
19
  Tests: 30 passed, 30 total
20
20
  Snapshots: 0 total
21
- Time: 35.991 s
21
+ Time: 35.323 s
22
22
  Ran all test suites.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,47 @@
1
1
  # arui-scripts
2
2
 
3
+ ## 23.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - [#507](https://github.com/core-ds/arui-scripts/pull/507) [`ed3c42b`](https://github.com/core-ds/arui-scripts/commit/ed3c42b75644b626fbfeb40fb6944160a33f84b1) Thanks [@heymdall-legal](https://github.com/heymdall-legal)! - SWC больше не использует loose режим по умолчанию. Это меняет то, как именно собирается код.
8
+
9
+ ### Что это означает:
10
+
11
+ Если вы не делали вещей, противоречащих спеке - все должно остаться как прежде. Если же нет - вам придется модифицировать ваш код.
12
+ Не-loose режим генерирует немного больше кода: 3% в несжатом виде, 0.3% для gzip/brotli.
13
+
14
+ Если ошибки проявляются в коде, который вы не можете контролировать:
15
+
16
+ 1. Сообщите об этом в чате arui-scripts
17
+ 2. Используйте оверрайды, чтобы включить loose режим.
18
+
19
+ ### Краткое описание того, что меняется в не-loose режиме:
20
+
21
+ - Приватные поля классов (`#private`) теперь будут создаваться через `WeakMap` и их действительно невозможно будет прочитать снаружи.
22
+ - Публичные поля классов (`class Foo { x = 1 }`) теперь создаются через `Object.defineProperty`, а не простым присваиванием `this.x = 1`. Это корректно по спецификации, но медленнее.
23
+ - Компилятор больше не предполагает, что суперкласс статичен — добавляются рантаймовые проверки на случай, если цепочка прототипов меняется через `setPrototypeOf`.
24
+ - Операторы `?.` и `??` теперь корректно обрабатывают `document.all`: вместо `== null` используется строгая проверка `=== null || === undefined`.
25
+ - Геттеры свойств могут иметь побочные эффекты, поэтому компилятор кеширует промежуточный результат во временную переменную, чтобы не вызывать геттер дважды.
26
+ - При rest-деструктуризации символьные ключи тоже копируются в `rest`. Используется полный хелпер `objectWithoutProperties`.
27
+ - Object spread (`{ ...obj }`) теперь клонирует дескрипторы свойств через `Object.defineProperty` вместо `Object.assign`. Медленнее, но точнее воспроизводит оригинальные дескрипторы.
28
+ - Компилятор явно задаёт `.name` у функциональных выражений через `Object.defineProperty`, как того требует спецификация.
29
+ - Компилятор корректно имитирует `.length` функции с учётом параметров по умолчанию — через обращение к `arguments`.
30
+ - Шаблонные строки используют `.concat()` вместо `+`, что корректно учитывает возможное переопределение `Symbol.toPrimitive` на объекте.
31
+ - Объект тегового шаблона замораживается через `Object.freeze`, как требует спецификация.
32
+ - В каждый конструктор класса добавляется проверка `_classCallCheck`, которая выбрасывает ошибку при вызове класса без `new`.
33
+ - Методы добавляются на прототип через `Object.defineProperty` с `enumerable: false`, что соответствует спецификации.
34
+ - `super()` компилируется через `Reflect.construct` вместо `.call()`, что позволяет корректно наследоваться от нативных классов (`Array`, `Error` и т.п.).
35
+ - Итерируемые объекты обходятся через полный итераторный протокол (`Symbol.iterator`), а не прямой индексный доступ. Корректно работает с `Set`, `Map`, генераторами и любыми кастомными итерируемыми.
36
+
37
+ Подробности можно прочитать в документации [swc](https://swc.rs/docs/configuration/compilation#jscloose) и [babel](https://babeljs.io/docs/assumptions)
38
+
39
+ ## 22.4.0
40
+
41
+ ### Minor Changes
42
+
43
+ - [#500](https://github.com/core-ds/arui-scripts/pull/500) [`c8662df`](https://github.com/core-ds/arui-scripts/commit/c8662df4ad59ee602069679ad80b8445513263ac) Thanks [@dmitrbrvsk](https://github.com/dmitrbrvsk)! - добавлен экспорт типа CompatModuleConfig
44
+
3
45
  ## 22.3.0
4
46
 
5
47
  ### Minor Changes
@@ -11,7 +11,7 @@ const swcConfig = {
11
11
  tsx: true,
12
12
  decorators: true,
13
13
  },
14
- loose: true,
14
+ loose: false,
15
15
  transform: {
16
16
  legacyDecorator: true,
17
17
  react: {
@@ -124,7 +124,7 @@ function getMinimizeConfig(mode) {
124
124
  * @param configName Имя конфигурации, если не указано, то используется имя по умолчанию
125
125
  */
126
126
  // eslint-disable-next-line complexity
127
- const createSingleClientWebpackConfig = (mode, entry, configName) => (Object.assign(Object.assign({}, (configName ? { name: configName } : {})), { target: 'web', mode: mode === 'dev' ? 'development' : 'production', devtool: mode === 'dev' ? app_configs_1.configs.devSourceMaps : 'source-map', entry: (0, get_entry_1.getEntry)(entry, getSingleEntry, mode),
127
+ const createSingleClientWebpackConfig = (mode, entry, configName) => (Object.assign(Object.assign({}, (configName ? { name: configName } : {})), { target: 'browserslist', mode: mode === 'dev' ? 'development' : 'production', devtool: mode === 'dev' ? app_configs_1.configs.devSourceMaps : 'source-map', entry: (0, get_entry_1.getEntry)(entry, getSingleEntry, mode),
128
128
  // in production mode we need to fail on first error
129
129
  bail: mode === 'prod', context: app_configs_1.configs.cwd, experiments: {
130
130
  css: false,
package/build/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export type { OverrideFile } from './configs/util/apply-overrides';
2
- export type { AppConfigs, PackageSettings } from './configs/app-configs/types';
2
+ export type { AppConfigs, CompatModuleConfig, PackageSettings } from './configs/app-configs/types';
3
3
  export { prepareFilesForDocker } from './commands/util/docker-build';
4
4
  export { getBuildParamsFromArgs } from './commands/util/docker-build';
5
5
  export { getDockerBuildCommand } from './commands/util/docker-build';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arui-scripts",
3
- "version": "22.3.0",
3
+ "version": "23.0.0",
4
4
  "main": "./build/index.js",
5
5
  "typings": "./build/index.d.ts",
6
6
  "exports": {