56 lines
3.3 KiB
Markdown
56 lines
3.3 KiB
Markdown
# Frontend Infrastructure Hardening
|
||
|
||
Дата: 2026-06-23
|
||
Статус: выполнено
|
||
|
||
## Контекст
|
||
|
||
Во frontend уже есть базовый tooling stack, но инфраструктурные решения собраны в несколько разных
|
||
зон: HTTP-клиент, mock-режим, env validation, routing, linting/formatting и OpenAPI-generated types.
|
||
После крупных миграций осталось несколько точек, которые нужно довести до устойчивого состояния и
|
||
убрать смешение временных и целевых решений.
|
||
|
||
Эта фича не про новый user-facing функционал. Она закрывает инфраструктурный долг, который мешает
|
||
предсказуемым локальным запускам, стабильной разработке и ясности контрактов.
|
||
|
||
## Цель
|
||
|
||
Стабилизировать frontend infrastructure/tooling так, чтобы ключевые developer workflows были
|
||
детерминированными и не опирались на временные компромиссы.
|
||
|
||
## Требования
|
||
|
||
### 1. Browser mock mode
|
||
|
||
Должен быть documented и поддержан browser mock mode для локального запуска frontend без backend при
|
||
явном флаге окружения. Этот режим не должен влиять на обычный production/dev without mock сценарий.
|
||
|
||
### 2. Env validation
|
||
|
||
Все обязательные frontend env variables должны проверяться при старте приложения, чтобы ошибки
|
||
конфигурации были видимы сразу, а не проявлялись как runtime failure.
|
||
|
||
### 3. Tooling consistency
|
||
|
||
Скрипты lint/test/build должны оставаться согласованными с реальной структурой проекта и не должны
|
||
ссылаться на устаревшие команды или несуществующие файлы.
|
||
|
||
### 4. Contract freshness
|
||
|
||
Frontend tooling должен опираться на актуальные generated API types и public API entrypoints, а не на
|
||
устаревшие type shims или временные compatibility слои.
|
||
|
||
## Ограничения
|
||
|
||
- Не менять бизнес-логику frontend.
|
||
- Не переписывать routing architecture целиком в рамках этой фичи.
|
||
- Не затрагивать backend кроме чтения публичных контрактов.
|
||
|
||
## Критерии приемки
|
||
|
||
- Browser mock mode описан и согласован с текущими dev scripts.
|
||
- Валидация env обязательных переменных формализована и не конфликтует с текущим startup flow.
|
||
- Frontend tooling docs и scripts отражают реальное состояние проекта.
|
||
- Ссылки на API types и client surface не используют устаревшие документы.
|
||
- Не изменены runtime-scenarios пользовательского приложения.
|