Skip to content

Releases: core-ds/arui-scripts

arui-scripts@23.0.1

09 Jun 11:18
3fa89d4

Choose a tag to compare

Patch Changes

  • #513 fb3dcef Thanks @evK608! - Исправление конфликта runtime-чанков между основной сборкой и отдельной WMF-сборкой при использовании modules.options.useSeparateBuild

arui-scripts@23.0.0

26 May 15:00
061f905

Choose a tag to compare

Major Changes

  • #507 ed3c42b Thanks @heymdall-legal! - SWC больше не использует loose режим по умолчанию. Это меняет то, как именно собирается код.

    Что это означает:

    Если вы не делали вещей, противоречащих спеке - все должно остаться как прежде. Если же нет - вам придется модифицировать ваш код.
    Не-loose режим генерирует немного больше кода: 3% в несжатом виде, 0.3% для gzip/brotli.

    Если ошибки проявляются в коде, который вы не можете контролировать:

    1. Сообщите об этом в чате arui-scripts
    2. Используйте оверрайды, чтобы включить loose режим.

    Краткое описание того, что меняется в не-loose режиме:

    • Приватные поля классов (#private) теперь будут создаваться через WeakMap и их действительно невозможно будет прочитать снаружи.
    • Публичные поля классов (class Foo { x = 1 }) теперь создаются через Object.defineProperty, а не простым присваиванием this.x = 1. Это корректно по спецификации, но медленнее.
    • Компилятор больше не предполагает, что суперкласс статичен — добавляются рантаймовые проверки на случай, если цепочка прототипов меняется через setPrototypeOf.
    • Операторы ?. и ?? теперь корректно обрабатывают document.all: вместо == null используется строгая проверка === null || === undefined.
    • Геттеры свойств могут иметь побочные эффекты, поэтому компилятор кеширует промежуточный результат во временную переменную, чтобы не вызывать геттер дважды.
    • При rest-деструктуризации символьные ключи тоже копируются в rest. Используется полный хелпер objectWithoutProperties.
    • Object spread ({ ...obj }) теперь клонирует дескрипторы свойств через Object.defineProperty вместо Object.assign. Медленнее, но точнее воспроизводит оригинальные дескрипторы.
    • Компилятор явно задаёт .name у функциональных выражений через Object.defineProperty, как того требует спецификация.
    • Компилятор корректно имитирует .length функции с учётом параметров по умолчанию — через обращение к arguments.
    • Шаблонные строки используют .concat() вместо +, что корректно учитывает возможное переопределение Symbol.toPrimitive на объекте.
    • Объект тегового шаблона замораживается через Object.freeze, как требует спецификация.
    • В каждый конструктор класса добавляется проверка _classCallCheck, которая выбрасывает ошибку при вызове класса без new.
    • Методы добавляются на прототип через Object.defineProperty с enumerable: false, что соответствует спецификации.
    • super() компилируется через Reflect.construct вместо .call(), что позволяет корректно наследоваться от нативных классов (Array, Error и т.п.).
    • Итерируемые объекты обходятся через полный итераторный протокол (Symbol.iterator), а не прямой индексный доступ. Корректно работает с Set, Map, генераторами и любыми кастомными итерируемыми.

    Подробности можно прочитать в документации swc и babel

arui-scripts@22.4.0

15 May 14:02
f8b3f26

Choose a tag to compare

Minor Changes

@alfalab/scripts-modules@1.9.2

15 May 14:52
b26acd8

Choose a tag to compare

Patch Changes

  • #502 60a8287 Thanks @heymdall-legal! - Исправлен баг, который мог ломать default модули, если они не используют default экспорт

arui-scripts@22.3.0

14 May 07:41
ec197ce

Choose a tag to compare

Minor Changes

  • #498 807e9a8 Thanks @qrik116! - Добавлена настройка nodeExternals для настройки webpack-node-externals в конфигурации сервера

arui-scripts@22.2.0

12 May 16:58
e4e8d0e

Choose a tag to compare

Minor Changes

  • #493 800b5db Thanks @dmitrbrvsk! - добавлен рееэкспорт patchMainWebpackConfigForModules для публичного api, для исправления ошибки ERR_PACKAGE_PATH_NOT_EXPORTED в проектах. если нужна функция patchMainWebpackConfigForModules, то используйте import { patchMainWebpackConfigForModules } from 'arui-scripts'

arui-scripts@22.1.1

12 May 16:50
49285fb

Choose a tag to compare

Patch Changes

  • #495 3a00087 Thanks @dmitrbrvsk! - удален неиспользуемый импорт get-port в файле run-client-dev-server.ts

arui-scripts-docker@15.2.3

12 May 15:33
15e6bfb

Choose a tag to compare

Patch Changes

  • #492 44e3c41 Thanks @dmitrbrvsk! - исправление сборки docker образа с alpine v3.23: добавлен CFLAGS для игнорирования предупреждения GCC 15 при сборке nginx

arui-scripts-docker@15.2.2

12 May 08:05
830b4ad

Choose a tag to compare

Patch Changes

  • #486 efab87d Thanks @dmitrbrvsk! - обновление версии alpine, добавляем openssl libcrypto3 libssl3

arui-scripts@22.1.0

08 May 15:02
9ea9f73

Choose a tag to compare

Minor Changes

  • #426 48ff487 Thanks @dmitrbrvsk! - добавлена возможность запускать тесты c помощью vitest