3.1 KiB
Frontend Workflow
Frontend требует Node 22. В frontend/ чистая установка и полный локальный quality gate выполняются так:
nvm use --silent
npm ci
npm run verify
verify проверяет OpenAPI drift, TypeScript, Biome, один coverage-backed запуск Vitest, Knip,
FSD dependency rules, runtime graph stories и отдельные сборки приложения и
Storybook. Он работает без backend. Coverage
остаётся anti-regression constraint; правила выбора тестов зафиксированы в
engineering governance.
Изолированные примеры реальных компонентов и композиций запускаются в Storybook
через npm run dev:catalog. npm run build:catalog создаёт storybook-static/,
а npm run preview:catalog обслуживает эту статическую сборку. Структура каталога,
работа с Docs, Controls и Actions, доступность и ограничения описаны в
UI-каталоге Storybook.
Для UI задачи используйте каталог как reference существующего решения. Ожидаемые экраны, states и interactions определите по задаче. Storybook показывает реализацию; визуальное соответствие и доступность проверяются отдельно от сборки. SDD-пакет для этого не обязателен.
Backend остаётся источником OpenAPI. После изменения опубликованного
backend-контракта разработчик обновляет в frontend/ committed snapshot
src/shared/api/spec/openapi.json копированием backend OpenAPI document, затем
запускает:
npm run openapi:generate
Команда использует только committed snapshot и регенерирует
src/shared/api/generated/schema.d.ts offline. Проверку соответствия backend
runtime contract и frontend snapshot выполняют отдельной backend-командой
npm run test:openapi-contract.
Состояние тестового клиента
frontend/src/test/query.tsx предоставляет createTestQueryClient с отключёнными
test retries и query-only createQueryWrapper. Независимый case получает свой
client до React wrapper render; rerender сохраняет тот же экземпляр и seeded
cache. Auth и T-Bank tests используют эту же фабрику. Mantine, Router и
AuthProvider остаются явно выбранными локальными providers.
Общий teardown последовательно выполняет RTL cleanup, сброс auth client и сброс MSW handlers. Production query defaults этой инфраструктурой не меняются.