Рассказываю, зачем я написал отдельное desktop-приложение для управления своей линейкой npm-пакетов, как оно устроено экран за экраном — от дашборда до встроенного npm audit.
Добавил в admin-панель модуль «API Сервисы» — каталог всех эндпоинтов проекта с возможностью сразу выполнить запрос и посмотреть ответ, без Postman и сторонних коллекций. Сами эндпоинты теперь редактируются через интерфейс, а не правкой кода.
В Docker-платформе появился механизм размещения веб-приложений — сборка из git-репозитория, привязка домена и управление всем жизненным циклом из браузера. Для администрирования создан модуль «Приложения».
Инструмент для конвертации CSS-единиц в реальном времени: от простого перевода px в rem до пакетной обработки целых SCSS-файлов с гибкими настройками под любой проект.
Продолжение поста про мою headless-палитру команд (Cmd/Ctrl + K) для Vue 3. Во втором заходе пакет оброс вторичными действиями в стиле Raycast, префиксными режимами, боковой панелью предпросмотра, мультивыбором, frecency-ранжированием и ещё дюжиной вещей — плюс десяток выловленных по дороге багов.
Один пакет закрывает всё что нужно для работы с изображениями: ленивая загрузка через IntersectionObserver, пять видов плейсхолдеров (ThumbHash / BlurHash / LQIP / dominant color / shimmer), focal point, WebP/AVIF, srcset с width- и density-дескрипторами, art direction, retry с backoff, CDN-адаптеры для 12 провайдеров, build-time импорты через Vite-плагин, кодирование плейсхолдеров прямо в браузере, CLI для обработки на сборке, Nuxt-модуль. Ноль runtime-зависимостей, tree-shakeable.
Пакет уведомлений для Vue 3 с Promise API, приоритетной очередью, undo-таймером и Sonner-style stack mode. 9 KB gzip, одна peer-зависимость.
Лёгкая библиотека FSM для Vue 3 — декларативные состояния, параллельные регионы, визарды и реактивный API в 4 KB. Без Pinia, без XState, одна peer-зависимость.
Пакет, который закрывает всё что нужно для работы с localStorage, sessionStorage, IndexedDB и cookies во Vue 3 — TTL, AES-GCM шифрование, схема-миграции, кросс-вкладочная синхронизация и Pinia-персист, без единой лишней зависимости.
@macrulez/vue-command-palette — готовый Command+K интерфейс для Vue 3 с fuzzy-поиском, группами, вложенными палитрами, историей команд и полной поддержкой тем. Единственная peer-зависимость — Vue 3.
Написал пакет для виртуализации списков, таблиц, сеток и деревьев во Vue 3 с динамической высотой строк, группировкой, drag-to-reorder и полной поддержкой SSR — без внешних зависимостей.
Написал пакет, который избавляет от бойлерплейта при работе с формами во Vue 3: описываешь поля в виде массива объектов — получаешь готовую валидацию, маскирование, условное отображение и автоматический рендеринг.
Добавил полноценный веб-терминал в admin-панель — интерактивная bash-сессия прямо в браузере, до пяти вкладок одновременно, история и избранное с поиском, состояние сохраняется при переключении между разделами.
В admin-панель добавил полноценный файловый менеджер — браузер файловой системы с редактором кода на CodeMirror 6, подсветкой синтаксиса, просмотром изображений, операциями копирования и переноса, загрузкой папок целиком через drag-and-drop и групповыми действиями над несколькими файлами.
Добавил три новых раздела в admin-панель: интерактивный браузер базы данных с возможностью редактировать записи прямо из интерфейса и выполнять произвольные SQL-запросы, расширенный раздел «Система» с информацией о процессе, cron-задачами и управлением сервером, и полноценный модуль управления учётными записями администраторов с хранением в PostgreSQL.