@ibdop/platform-kit
v1.2.1
Published
Platform Kit - переиспользуемые хуки и компоненты для MF IngoBank DevOps Platform
Maintainers
Readme
Platform Kit
Единый пакет для микрофронтендов IngoBank DevOps Platform
Установка
npm install @ibdop/platform-kit --registry https://repo.dev.ingobank.ru/artifactory/api/npm/npm-local/Или настройте registry для scoped package
npm config set @ibdop:registry https://repo.dev.ingobank.ru/artifactory/api/npm/npm-local/
npm install @ibdop/platform-kitPeer Dependencies
npm install react "^18.0.0"
npm install react-dom "^18.0.0"
npm install axios "^1.0.0"Быстрый старт
import { ErrorBoundary, useShellAuth, createApiClient } from '@ibdop/platform-kit'
export function App() {
const auth = useShellAuth()
const api = createApiClient()
return (
<ErrorBoundary mfeName="@ibdop/mf-example">
<Dashboard auth={auth} />
</ErrorBoundary>
)
}Что внутри
| Модуль | Назначение | Содержимое |
|--------|------------|------------|
| Hooks | React хуки для работы с shell и платформой | useShellAuth - аутентификация из shelluseInfoData - информация о версии MFuseV1Config - V1 конфигурацияuseApi - HTTP запросы с обработкой ошибокusePermissions - проверка прав доступаuseFeatures - feature toggles пользователяuseFeatureAdmin - управление фичами (admin) |
| Components | React компоненты для MF | ErrorBoundary - перехват ошибок с отправкой в shellVersionInfo - отображение версии MFNotificationProvider - система уведомлений |
| Services | Сервисы для работы с API и логированием | createApiClient - HTTP клиент на axiosget/post/put/del - методы APIcreateMfLogger - логгер для MF |
| Utils | Утилиты для работы с именем MF и auth | getMfeName/requireMfeName - получение имени MFgetShellAuth/getAccessToken - прямой доступ к authisAuthenticated/redirectToLogin/logout - auth утилиты |
Роли и claims
usePermissions() и связанные auth-утилиты читают роли пользователя из всех поддерживаемых claims shell-профиля:
realm_rolesrolesrealm_access.roles
Роли объединяются без дублей, поэтому микрофронты остаются совместимыми и со старым профилем shell, и с prod-токенами Keycloak.
Назначение Platform Kit
Platform Kit — это единый набор инструментов для всех микрофронтендов (MF) платформы IngoBank DevOps:
- 🔐 Единая аутентификация — все MF получают auth из shell через
useShellAuth - 📊 Информация о версиях — централизованное отображение версий MF
- 🚦 Feature Toggles — управление функциями без деплоя
- 🛡️ Error Boundaries — перехват ошибок с отправкой в shell
- 📡 HTTP клиент — единый API с обработкой ошибок и прокси
- 🔔 Уведомления — кросс-MF система нотификаций
- 📝 Логирование — структурированные логи для отладки
- 🧵 Trace propagation — автоматическое добавление
traceparentдля/api/*и/svc/*запросов черезcreateApiClient
Документация
docs/USAGE.md- Подключение и использованиеdocs/BUILD_AND_PUBLISH.md- Сборка и публикацияPUBLISH_GUIDE.md- Руководство по публикацииCHANGELOG.md- История измененийPLAN.md- План разработки
Публикация
Автоматическая публикация через GitLab CI/CD:
# Обновление версии и создание тега
npm version patch # или minor/major
# Push тега - CI/CD автоматически опубликует пакет
git push origin main --tagsМиграция
Было
import { useShellAuth } from './hooks/useShellAuth'
import ErrorBoundary from './components/ErrorBoundary'Стало
import { useShellAuth, ErrorBoundary } from '@ibdop/platform-kit'CI/CD
- Pipeline: GitLab CI/CD
- Сборка: Docker (node-builder:24.13.0-r1)
- Registry: Artifactory NPM (
repo.dev.ingobank.ru) - Триггер: Git теги
v*.*.*
Лицензия
MIT © IngoBank DevOps Team
