Экосистема

Ядро и пакеты-спутники. Спутник появляется тогда, когда компонент не должен жить в ядре: он тянет тяжёлую зависимость или просто не относится к ядру. У каждого пакета свой цикл выпуска и своя страница.

12
пакетов
108
компонентов
253
публичных подпути
11
пакетов без runtime-зависимостей

Пакеты с компонентами

  • @feugene/granularity

    Ядро: всё, из чего собирается интерфейс, — кнопки, поля, таблицы, оверлеи. Ноль runtime-зависимостей, и каждый компонент импортируется своим подпутём.

    версия 0.41.077 компонентов136 подпутейноль зависимостей

  • @feugene/granularity-charts

    Графики, нарисованные теми же токенами темы, что и весь интерфейс, в собственном SVG. Берут, когда график должен быть частью интерфейса, а не гостем из библиотеки графиков.

    версия 0.11.010 компонентов21 подпутьноль зависимостей

  • @feugene/granularity-chrono

    Календарь, выбор даты и времени — без библиотеки дат под ними. Берут, когда даты часть интерфейса, а сторонний виджет притащил бы свой визуальный язык.

    версия 0.10.07 компонентов15 подпутейноль зависимостей

  • @feugene/granularity-code

    Код на странице: просмотр, правка и различия. У просмотра и диффа зависимостей нет вовсе; CodeMirror нужен только тому, кто берёт редактор.

    версия 0.1.03 компонента12 подпутейноль зависимостей

  • @feugene/granularity-dashboard

    Сетка виджетов: перетаскивание, размеры, брейкпоинты и сохранение раскладки. Берут, когда раскладкой владеет пользователь, а не дизайнер.

    версия 0.6.05 компонентов15 подпутейноль зависимостей

  • @feugene/granularity-editor

    Форматированный текст как поле дизайн-системы: редактор на TipTap с панелью и состояниями, общими с остальной формой.

    версия 0.3.11 компонент9 подпутейноль зависимостей

  • @feugene/granularity-forms-schema

    Формы из схемы: zod или JSON Schema превращаются в настоящие поля с валидацией и раскладкой. Берут, когда форма — это данные, а не разметка.

    версия 0.4.01 компонент21 подпутьноль зависимостей

  • @feugene/granularity-media

    Работа с медиа: кадрирование изображений, съёмка с камеры, сканирование кодов, воспроизведение видео — то, ради чего приложение обычно тянет четыре разные библиотеки.

    версия 0.7.14 компонента11 подпутейноль зависимостей

Пакеты без компонентов

Композабл, панель разработчика, тестовые фабрики и резолвер авто-импорта. Компонентов у них нет, и это не изъян: разметки они не приносят.

  • @feugene/granularity-datasource

    Состояние списка одним композаблом: сортировка, фильтры, страницы, синхронизация с адресной строкой и запросы без гонок. Компонентов нет — это логика, общая для таблицы и панели фильтров.

    версия 0.1.23 подпутиноль зависимостей

  • @feugene/granularity-devtools

    Панель Vue DevTools: откуда приехало значение пропа, как выглядит стек оверлеев и какие правила дизайн-системы нарушает приложение. Только для разработки.

    версия 0.3.22 подпути2 runtime-зависимости

  • @feugene/granularity-test-kit

    Контрактные тесты, которые должен пройти каждый пакет семейства, — переиспользуемыми фабриками. Нужен тому, кто пишет пакет-спутник, а не приложению.

    версия 0.8.16 подпутейноль зависимостей

  • @feugene/unplugin-granularity

    Резолвер для unplugin-vue-components: компоненты подтягиваются своим подпутём, и то, чего приложение не использовало, в бандл не попадает.

    версия 0.7.12 подпутиноль зависимостей

Что показано и на какой момент

Состав снят с подмодуля, закреплённого на теге ядра v0.41.0. Спутники выпускаются своим темпом, поэтому в npm версия может быть свежее — если это так, вторая версия показана рядом.