Update frontend verification docs
This commit is contained in:
@@ -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`.
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user