2.0 KiB
Frontend Workflow
Frontend требует Node 22. В frontend/ чистая установка и полный локальный quality gate выполняются так:
npm ci
npm run verify
verify проверяет OpenAPI drift, TypeScript, Biome, один coverage-backed запуск Vitest, Knip,
FSD dependency rules и production build. Он работает без backend. Coverage
остаётся anti-regression constraint; правила выбора тестов зафиксированы в
engineering governance.
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 этой инфраструктурой не меняются.