Когда ui-kit живёт в своём репозитории и выходит пакетом, его компоненты объявлены в одном месте, а вызываются во многих. Сам репозиторий ui-kit не скажет, какую часть продукта заденет изменение. Продуктовые репозитории скажут.
Условный пример: Button объявлен в репозитории acme-ui и импортируется из @acme/ui в acme-web и acme-admin. В этом примере сам acme-ui никогда не вызывает Button: все вызовы — в двух продуктовых репозиториях.
Что даёт продуктовый репозиторий
Продуктовый репозиторий даёт применения: какие компоненты вызываются, где и как часто. По ним считается охват. Вместе с серьёзностью охват решает, какие расхождения идут первыми. Без продуктовых репозиториев компонент может выглядеть неиспользуемым, хотя продукт вызывает его из другого репозитория.
Как FISYCO их читает
Команда добавляет продуктовые репозитории в настройках дизайн-системы, и они читаются после каждой индексации дизайн-системы. У каждого видно состояние и коммит последней индексации или причину, по которой чтение не удалось.
Из них собираются только применения. Импорты узнаются по имени пакета ui-kit (поле name в package.json), которое берётся из ближайшего package.json в папке ui-kit или выше. На GitHub установка приложения FISYCO должна включать каждый такой репозиторий.
Если ui-kit и продукт лежат в одном репозитории, добавлять продуктовый репозиторий не нужно. Индексация читает папку ui-kit и ещё до 600 файлов .tsx и .jsx.
Смотрите также
- Подключение дизайн-системы из кода: как добавить продуктовые репозитории.
- Охват
- Расхождение дизайн-системы