2.8 KiB
Frontend Shared Boundary Cleanup
Дата: 2026-06-23 Статус: выполнено
Контекст
FSD-миграция уже убрала большую часть legacy-imports, но после крупного рефакторинга обычно остаются
тонкие границы, которые сложно заметить без отдельного аудита: слишком широкий shared public API,
дублирующие экспортные точки, и отдельные cross-layer или cross-entity dependencies, которые формально
работают, но ухудшают архитектурную ясность.
Эта фича нужна, чтобы сузить shared/public surface и убрать архитектурные серые зоны без изменения поведения экранов.
Цель
Сделать frontend layer boundaries более явными: shared должен экспортировать только truly shared поверхность, а доменные сущности и виджеты должны общаться через свои public entrypoints.
Требования
1. Сузить shared public API
apps/frontend/src/shared/api должен содержать только то, что действительно используется как shared
инфраструктура. Доменная поверхность должна быть разнесена по своим entity API/entrypoints.
2. Устранить boundary ambiguity
Любые архитектурно сомнительные cross-entity или cross-widget зависимости должны либо быть убраны, либо явно перенесены на public barrel entrypoints.
3. Сохранить runtime behavior
Изменения должны быть ограничены реорганизацией импортов и export boundaries. Бизнес-логика и UI поведение не меняются.
4. Зафиксировать public API правила
Фича должна завершиться с понятным описанием того, что считается public API каждого frontend слоя.
Ограничения
- Не выполнять UI redesign.
- Не менять backend contracts.
- Не переписывать feature logic вне boundary cleanup.
Критерии приемки
- Shared API surface стал уже и понятнее, чем до фичи.
- Cross-layer / cross-entity зависимости используют public barrels или удалены.
- Описание public API слоёв frontend обновлено в docs.
- Поведение UI и API-контракты не изменились.