You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
С v1.3.0 пакет @vkontakte/icons перешёл на использование системы спрайтов для рендера иконок. Это превентивно оптимизировало случаи, когда одна иконка могла использовать несколько раз на странице.
Но с увеличением количества иконок в репозитории, обнаружилась обратная сторона этого решения – рендер спрайта занимает больше времени, чем если бы иконка рендерилась самостоятельно без спрайта.
Скриншоты до и после
Помимо скорости рендера, нет поддержки SSR (#123), т.к. спрайт собирается только на клиенте. Это приводит к проблеме с морганием иконок во время первого рендера.
Видео
origin.movslow.mov
В связи с этим в v3 пакета @vkontakte/icons-sprite будет удалена реализация спрайтов. Соотвественно, @vkontakte/icons с v3 будет рендерится без спрайта, что на клиенте, что на сервере.
Удаление CommonJS
Сейчас бандл @vkontakte/icons и @vkontakte/icons-sprite собирается и в CommonJS, и в ESM.
На 2024 год многие сборщики, библиотеки и браузеры уже умеют в поддержку ESM. В экосистеме VK пакет @vkontakte/vkui с v7.0.0 полностью перешёл на модули.
Поэтому начиная c v3 бандлы @vkontakte/icons и @vkontakte/icons-sprite также будут переведены на ESM. Для этого в package.json пакетов появятся поля "type": "module" и "exports".
Обновление поддержки React
Удалена поддержка React 16 и React 17, добавлена поддержка React 19
The text was updated successfully, but these errors were encountered:
BREAKING CHANGE
Отказ от системы спрайтов
С v1.3.0 пакет
@vkontakte/icons
перешёл на использование системы спрайтов для рендера иконок. Это превентивно оптимизировало случаи, когда одна иконка могла использовать несколько раз на странице.Но с увеличением количества иконок в репозитории, обнаружилась обратная сторона этого решения – рендер спрайта занимает больше времени, чем если бы иконка рендерилась самостоятельно без спрайта.
Скриншоты до и после
Помимо скорости рендера, нет поддержки SSR (#123), т.к. спрайт собирается только на клиенте. Это приводит к проблеме с морганием иконок во время первого рендера.
Видео
origin.mov
slow.mov
В связи с этим в v3 пакета
@vkontakte/icons-sprite
будет удалена реализация спрайтов. Соотвественно,@vkontakte/icons
с v3 будет рендерится без спрайта, что на клиенте, что на сервере.Удаление CommonJS
Сейчас бандл
@vkontakte/icons
и@vkontakte/icons-sprite
собирается и в CommonJS, и в ESM.На 2024 год многие сборщики, библиотеки и браузеры уже умеют в поддержку ESM. В экосистеме VK пакет
@vkontakte/vkui
с v7.0.0 полностью перешёл на модули.Поэтому начиная c v3 бандлы
@vkontakte/icons
и@vkontakte/icons-sprite
также будут переведены на ESM. Для этого вpackage.json
пакетов появятся поля"type": "module"
и"exports"
.Обновление поддержки React
Удалена поддержка React 16 и React 17, добавлена поддержка React 19
The text was updated successfully, but these errors were encountered: