3.3 KiB
Raw Blame History

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