@iconicompany/ui
v0.5.0
Published
Бренд платформы iconicompany: токены, оболочка кабинета, оболочка сайта, реестр модулей
Readme
@iconicompany/ui
Бренд платформы iconicompany: оболочка кабинета, реестр модулей, токены бренда. Публикуется в npm
и подключается КАЖДЫМ модулем платформы — лендингом (/), админкой (/iadmin), подбором
(/imatching). Ради этого он и существует: скопированная оболочка у каждого своя и расходится
молча, а обновление пакета видно в bun.lock.
Каталог называется packages/ui, как последний сегмент имени пакета — конвенция организации
(@icomponents/react лежит в packages/react).
Что отдаёт
| подпуть | что |
|---|---|
| @iconicompany/ui/nav | реестр PLATFORM_MODULES, отбор по ролям проектов, подсветка активного модуля и раздела |
| @iconicompany/ui/dashboard-shell | DashboardShell — сайдбар, шапка, слоты модуля |
| @iconicompany/ui/brand.css | токены бренда + блок [data-brand="iconicompany"] |
Подключение в модуле — см. комментарий в начале src/brand.css. Кратко: @source на
node_modules обязателен, автодетект Tailwind туда не заходит.
Как выпускается
Только через GitHub Actions. Локальный npm publish не сработает: право публиковать выдано
паре «репозиторий + имя файла воркфлоу» (npm trusted publisher, OIDC), а не человеку с токеном.
Секрета NPM_TOKEN в репозитории нет и заводить его не нужно.
bun run release:ui -- minor # ui-v0.1.0 → ui-v0.2.0
bun run release:ui # patch
bun run release:ui -- --dry-run # какая версия получится, ничего не создаётсяСкрипт ставит тег ui-v* и создаёт GitHub Release; публикацию делает
.github/workflows/publish-ui.yml, срабатывающий на пуш этого тега. Версию в package.json
проставляет ВОРКФЛОУ из тега — руками её не правят, иначе она живёт в двух местах и однажды
разойдётся.
Префикс тега свой, не общий v*: тем же репозиторием деплоится лендинг, и публикация пакета не
должна ехать с каждой выкаткой сайта — иначе версия пакета отвечает на вопрос «когда выкатили
сайт», а не «что изменилось в оболочке».
Что сломается, если переименовать файл воркфлоу
Доверие npm привязано к .github/workflows/publish-ui.yml по имени. Переименуете файл —
публикация начнёт получать отказ в авторизации, и по сообщению причина не читается. Меняете имя —
меняйте и в настройках пакета на npmjs.com.
