Update frontend verification docs

This commit is contained in:
2026-08-26 23:38:59 +03:00
parent 4af0a9c055
commit 8eac3b0ffa
2 changed files with 18 additions and 12 deletions
+13 -7
View File
@@ -7,15 +7,21 @@ npm ci
npm run verify npm run verify
``` ```
`verify` проверяет OpenAPI drift, TypeScript, Biome, один coverage-backed запуск Vitest, `verify` проверяет TypeScript, Biome, один coverage-backed запуск Vitest, Knip,
Knip, FSD dependency rules, production build и bundle budget. Он работает без FSD dependency rules и production build. Он работает без backend. Coverage
backend. Coverage остаётся anti-regression constraint; правила выбора тестов остаётся anti-regression constraint; правила выбора тестов зафиксированы в
зафиксированы в [engineering governance](engineering-governance.md). [engineering governance](engineering-governance.md).
Backend остаётся источником OpenAPI. После изменения опубликованного backend-контракта разработчик запускает в `frontend/`: Backend остаётся источником OpenAPI. После изменения опубликованного
backend-контракта разработчик обновляет в `frontend/` committed snapshot
`src/shared/api/spec/openapi.json` копированием backend OpenAPI document, затем
запускает:
```bash ```bash
npm run openapi:sync npm run openapi:generate
``` ```
Команда использует `${VITE_API_BASE_URL:-http://localhost:3000}/api/docs-json`, генерирует types во временной директории и заменяет committed snapshot и generated artifact только после успешной генерации. Обычные `openapi:generate` и `openapi:check` используют committed snapshot offline. Команда использует только committed snapshot и регенерирует
`src/shared/api/generated/schema.d.ts` offline. Проверку соответствия backend
runtime contract и frontend snapshot выполняют отдельной backend-командой
`npm run test:openapi-contract`.
+5 -5
View File
@@ -29,11 +29,11 @@ npm run test:openapi-contract
- рекурсивно сортирует только ключи JSON objects и сохраняет порядок arrays; - рекурсивно сортирует только ключи JSON objects и сохраняет порядок arrays;
- не записывает snapshot или generated frontend types. - не записывает snapshot или generated frontend types.
Она не вызывает `npm run openapi:sync`, не записывает committed snapshot или Она не записывает committed snapshot или generated frontend types и не
generated frontend types и не обращается к T-Bank либо другому внешнему обращается к T-Bank либо другому внешнему сервису. Если контракт действительно
сервису. Если контракт действительно изменён, snapshot обновляют только изменён, snapshot обновляют явным копированием backend OpenAPI document в
осознанной командой `npm run openapi:sync` в `frontend`, затем снова запускают `frontend/src/shared/api/spec/openapi.json`, затем в `frontend` запускают
эту проверку. `npm run openapi:generate` и снова выполняют эту проверку.
## Ограничение e2e ## Ограничение e2e