Экосистема
Ядро и пакеты-спутники. Спутник появляется тогда, когда компонент не должен жить в ядре: он тянет тяжёлую зависимость или просто не относится к ядру. У каждого пакета свой цикл выпуска и своя страница.
- 12
- пакетов
- 116
- компонентов
- 276
- публичных подпутей
- 10
- пакетов без runtime-зависимостей
С компонентами8
Сначала ядро, затем спутники со своими компонентами.
granularityЯдро: всё, из чего собирается интерфейс, — кнопки, поля, таблицы, оверлеи. Ноль runtime-зависимостей, и каждый компонент импортируется своим подпутём.granularity-chartsГрафики, нарисованные теми же токенами темы, что и весь интерфейс, в собственном SVG. Берут, когда график должен быть частью интерфейса, а не гостем из библиотеки графиков.granularity-chronoКалендарь, выбор даты и времени — без библиотеки дат под ними. Берут, когда даты часть интерфейса, а сторонний виджет притащил бы свой визуальный язык.granularity-codeКод на странице: просмотр, правка и различия. У просмотра и диффа зависимостей нет вовсе; CodeMirror нужен только тому, кто берёт редактор.granularity-dashboardСетка виджетов: перетаскивание, размеры, брейкпоинты и сохранение раскладки. Берут, когда раскладкой владеет пользователь, а не дизайнер.granularity-editorФорматированный текст как поле дизайн-системы: редактор на TipTap с панелью и состояниями, общими с остальной формой.granularity-forms-schemaФормы из схемы: zod или JSON Schema превращаются в настоящие поля с валидацией и раскладкой. Берут, когда форма — это данные, а не разметка.granularity-mediaРабота с медиа: кадрирование изображений, съёмка с камеры, сканирование кодов, воспроизведение видео — то, ради чего приложение обычно тянет четыре разные библиотеки.
Без компонентов4
Композабл, панель разработчика, тестовые фабрики и резолвер авто-импорта: разметки они не приносят.
granularity-datasourceСостояние списка одним композаблом: сортировка, фильтры, страницы, синхронизация с адресной строкой и запросы без гонок. Компонентов нет — это логика, общая для таблицы и панели фильтров.granularity-devtoolsПанель Vue DevTools: откуда приехало значение пропа, как выглядит стек оверлеев и какие правила дизайн-системы нарушает приложение. Только для разработки.granularity-test-kitКонтрактные тесты, которые должен пройти каждый пакет семейства, — переиспользуемыми фабриками. Нужен тому, кто пишет пакет-спутник, а не приложению.unplugin-granularityРезолвер для unplugin-vue-components: компоненты подтягиваются своим подпутём, и то, чего приложение не использовало, в бандл не попадает.
Здесь ничего не нашлось. Попробуйте поиск по всему сайту — ⌘K.
Что показано и на какой момент
Состав снят с подмодуля, закреплённого на теге ядра v1.1.1. Сейчас все опубликованные версии совпадают с ним.
Почему ядро не разрезано на пакетыЖурналы изменений всех пакетовКак устроен пакет-спутник — руководство библиотеки