3.3 KiB
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 пользовательского приложения.