Новый релиз добавляет восемь новых возможностей — от умного джиттера в retry до WebSocket-стадий и офлайн-очереди — и показывает их не в README, а на живом CI/CD-дашборде и торговом терминале. Заодно закрыта дюжина гонок в конкурентном коде и наведён порядок в структуре src/. Обратной несовместимости нет.
vue-storage-kit больше не завязан на Vue — под капотом появилось общее реактивное ядро, на котором теперь работает и React-хук. А вместе с этим — HMAC-подпись данных, undo/redo с историей значений, троттлинг записи и автоматическое восстановление после переполнения квоты хранилища.
Новая версия @macrulez/vue-form-schema приносит сразу семь крупных возможностей: автовывод TypeScript-типов из Zod/Yup/Valibot, официальный Nuxt-модуль, три новые UI-темы, поддержку OpenAPI, маппинг серверных ошибок, плагин для Vue DevTools и дискриминированные схемы.
В версии 1.1.0 vue-image-kit дорос с «удобного компонента для картинок» до полноценного стека: авто-детект 8 CDN, self-hosted сервер ресайза на замену CDN, Nuxt-модуль с реальным Nitro-роутом, инкрементальная сборка CLI и ещё десяток менее заметных, но полезных вещей. Ниже — подробный разбор того, что попало в релиз и почему сделано именно так.
В vue-worker-kit 0.2.0 добавился useSharedWorker() — один воркер на все вкладки одного источника вместо своего на каждую, плюс потоковые результаты, кэширование, ретраи с задержкой и прогрев воркера заранее. Разбираю каждую фичу с примерами, механикой под капотом, честными историями про баги, найденные уже на финальном ревью, и тремя сценариями использования пакета.
Свежая версия 0.3.0 подружила vue-error-boundary-kit с реальной экосистемой Vue: Nuxt-модуль, интеграции с TanStack Query и vue-router, адаптер под OpenTelemetry, <AsyncBoundary> на базе Suspense, retry с backoff, breadcrumbs и публичные тестовые утилиты — и честный разбор того, от чего пришлось отказаться.
async/await не выносит вычисления на другой поток — тяжёлая сортировка или фильтрация внутри computed всё равно морозит интерфейс, просто более рваными кусками. Написал vue-worker-kit — Composition API поверх Web Worker с типами, выведенными прямо из файла воркера, пулом с настоящим ускорением на нескольких ядрах и реактивным useWorkerComputed(), без единой ручной дженерик-аннотации.
У React error boundaries — стандартный паттерн уже восемь лет. У Vue 3 есть только низкоуровневый onErrorCaptured, вокруг которого каждый проект заново собирает fallback-UI, retry и репортинг в Sentry. Написал vue-error-boundary-kit — готовый компонент с retry, дедупом ошибок и адаптерами под пять систем репортинга.
Мажорный релиз 2.0.0: rate limiter и circuit breaker научились работать в кластере через общий backend (например, Redis), запросы можно трассировать по W3C Trace Context, а мутирующие запросы — безопасно ретраить с помощью idempotency-ключей. Заодно поймал и починил баг, из-за которого пакет вообще не грузился нативным Node ESM.
Самое большое обновление vue-virtual-scroller-kit с момента первого релиза: выбор строк по клику и Shift+click, асинхронный поиск в VirtualSelect, полное управление колонками таблицы, горизонтальные списки, отслеживание видимости через IntersectionObserver, кастомный скроллбар, RTL из коробки, а также motion blur, sticky-заголовки групп и ещё несколько фич поменьше. В посте — подробный разбор каждой с примерами и три сценария из реальных проектов.
Рассказываю, зачем я написал отдельное desktop-приложение для управления своей линейкой npm-пакетов, как оно устроено экран за экраном — от дашборда до встроенного npm audit.
Добавил в admin-панель модуль «API Сервисы» — каталог всех эндпоинтов проекта с возможностью сразу выполнить запрос и посмотреть ответ, без Postman и сторонних коллекций. Сами эндпоинты теперь редактируются через интерфейс, а не правкой кода.
В Docker-платформе появился механизм размещения веб-приложений — сборка из git-репозитория, привязка домена и управление всем жизненным циклом из браузера. Для администрирования создан модуль «Приложения».
Инструмент для конвертации CSS-единиц в реальном времени: от простого перевода px в rem до пакетной обработки целых SCSS-файлов с гибкими настройками под любой проект.
Продолжение поста про мою headless-палитру команд (Cmd/Ctrl + K) для Vue 3. Во втором заходе пакет оброс вторичными действиями в стиле Raycast, префиксными режимами, боковой панелью предпросмотра, мультивыбором, frecency-ранжированием и ещё дюжиной вещей — плюс десяток выловленных по дороге багов.