From a13b5145f70c8bf3c0ef0173447625d781b0dbd3 Mon Sep 17 00:00:00 2001 From: Sergey Krylov Date: Tue, 23 Jun 2026 21:30:11 +0300 Subject: [PATCH] docs(frontend): align tooling spec with implementation --- .../features/frontend-infrastructure-tooling/plan.md | 2 +- .../features/frontend-infrastructure-tooling/spec.md | 4 ++-- .../frontend-infrastructure-tooling/tasks.md | 12 ++++++------ 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/features/frontend-infrastructure-tooling/plan.md b/docs/features/frontend-infrastructure-tooling/plan.md index f903639..607f8f6 100644 --- a/docs/features/frontend-infrastructure-tooling/plan.md +++ b/docs/features/frontend-infrastructure-tooling/plan.md @@ -59,7 +59,7 @@ ### Phase 4 — MSW Browser *Низкий риск, handlers готовы* -1. Создать `shared/lib/test/browser.ts` (setupWorker) +1. Создать `apps/frontend/mocks/browser.ts` (setupWorker) 2. Прокинуть в `public/mockServiceWorker.js` через `npx msw init public/` 3. Создать `shared/config/env.ts` с чтением `VITE_API_MOCK` 4. Подключить MSW browser в `main.tsx` по условию diff --git a/docs/features/frontend-infrastructure-tooling/spec.md b/docs/features/frontend-infrastructure-tooling/spec.md index b32bb8e..9079ab1 100644 --- a/docs/features/frontend-infrastructure-tooling/spec.md +++ b/docs/features/frontend-infrastructure-tooling/spec.md @@ -10,9 +10,9 @@ Фронтенд должен иметь возможность запускаться без бэкенда при `VITE_API_MOCK=true`. -- Создать browser entry для MSW (shared/lib/test/browser.ts с setupWorker) +- Создать browser entry для MSW (apps/frontend/mocks/browser.ts с setupWorker) - Развернуть mockServiceWorker.js в public/ -- Переиспользовать существующие MSW handlers (shared/lib/test/handlers.ts) — не дублировать +- Переиспользовать существующие MSW handlers (apps/frontend/mocks/handlers.ts) — не дублировать - При VITE_API_MOCK=true в dev-режиме все API-запросы перехватываются MSW - При VITE_API_MOCK=false или отсутствии — поведение не меняется (запросы идут в реальный API) diff --git a/docs/features/frontend-infrastructure-tooling/tasks.md b/docs/features/frontend-infrastructure-tooling/tasks.md index 3b9d748..212ff54 100644 --- a/docs/features/frontend-infrastructure-tooling/tasks.md +++ b/docs/features/frontend-infrastructure-tooling/tasks.md @@ -45,18 +45,18 @@ ## Phase 4: MSW Browser -- [x] Создать `shared/lib/test/browser.ts` (setupWorker из msw/browser) +- [x] Создать `apps/frontend/mocks/browser.ts` (setupWorker из msw/browser) - [x] Установить и прокинуть mockServiceWorker.js: `npx msw init public/` - [x] Создать `shared/config/env.ts` с чтением и экспортом VITE_API_MOCK + VITE_API_URL - [x] В `main.tsx`: при `VITE_API_MOCK === 'true'` запускать `worker.start()` -- [ ] Проверить: `VITE_API_MOCK=true npm run dev` без бэкенда — приложение работает -- [ ] Проверить: `VITE_API_MOCK=false npm run dev` — запросы идут на бэкенд +- [x] Проверить: `VITE_API_MOCK=true npm run dev` без бэкенда — приложение работает +- [x] Проверить: `VITE_API_MOCK=false npm run dev` — запросы идут на бэкенд ## Phase 5: Env Validation - [x] Разработать Zod-схему в `shared/config/env.ts` для всех VITE_* переменных - [x] Валидация env выполняется при импорте (safeParse в модуле env.ts) -- [ ] Проверить: при отсутствии обязательной переменной — понятная ошибка +- [x] Проверить: при отсутствии обязательной переменной — понятная ошибка ## Phase 6: TanStack Router @@ -99,9 +99,9 @@ ### Tests - [x] Заменить `MemoryRouter` в тестах на `createMemoryHistory` + `RouterProvider` - [x] Обновить тестовые утилиты (`test-utils.tsx`) -- [x] `npm run test` — все тесты проходят (125) +- [x] `npm run test` — все тесты проходят (116) - [x] `npm run build` — сборка проходит ### Devtools - [x] Настроить `@tanstack/router-devtools` в dev-режиме -- [ ] Проверить навигацию по всем страницам вручную — отложено +- [x] Проверить навигацию по всем страницам вручную