1.6 KiB
Structure
Проект использует FSD-направление импортов: app -> pages -> features -> entities -> shared.
app- providers и routes; общий визуальный фундамент принадлежит shared/theme.pages- страницы маршрутов.features- пользовательские сценарии, включая authentication.entities- доменные модели и их UI/API.shared- переиспользуемый код без доменной логики: API, i18n и UI.
Каждый слайс предоставляет наружу только public API через index.ts; внутренние файлы соседний слой не импортирует напрямую.
Для cross-slice imports используйте alias @/ и public API, например @/entities/portfolio. Vite и TypeScript используют одинаковый alias.
shared/theme/index.ts экспортирует единую Mantine theme, семантические color
roles и CSSVariablesResolver и подключает базовые styles. App и Storybook
подключают свои MantineProvider к этому public API. Scales принимаются из Mantine,
локальные domain styles остаются у владельцев. shared/ui предоставляет
StateView и LoadingSkeleton; их каталог не включает route-aware AppShell.
Подробнее: дизайн-система.