Skip to content

refactor(frontend): env を arkenv 一元 schema に集約する #354

Description

@shogun-aki-tweak

背景

frontend の環境変数(API_BASE / UPLOAD_MAX_SIZE_MB など)が各所で process.env 直読み + 手書きバリデーション(Number.isFinite(...) && > 0 ? : default 等)で散在している。型安全でなく、不正値を黙って既定へ倒す fail-open フォールバックも混在する。

#111 の api-proxy env を arkenv 化するのを起点に、frontend 全体の env を arkenv の一元 schema に集約し、起動時に型検証(fail-fast)する地固めを行う。task は既に arktype を採用(AuthUser の単一ソース化)しており、方針として一貫する。

あるべき姿

  • frontend の env を単一の arkenv schema で宣言(型・制約・デフォルト・自動コアース)。
  • 各所の process.env 直読みを、型付き env アクセスへ置換。
  • 不正な env は起動時に検証エラーで弾く(黙ってフォールバックしない)。

スコープ

  • frontend の散在 env を棚卸し。
  • arkenv 依存の追加と、単一 env schema の定義。
  • process.env 直読み箇所の typed env への移行。
  • 起動時検証(fail-fast)の導入。

受入条件

  • frontend の env 一覧を棚卸し(どこで何を読んでいるか)
  • arkenv 依存追加・単一 env schema 定義(型・制約・デフォルト)
  • process.env 直読み箇所を typed env アクセスへ移行
  • 不正 env は起動時に検証エラー(fail-fast)
  • 既存テスト緑・vue-tsc 緑・build 緑(SKIP=FAIL)

関連

  • 起点: feat: e2e foundation #111(api-proxy の env を arkenv 化)
  • 参考: task は既に arktype 採用(AuthUser 単一ソース・OpenAPI 契約ピン留め)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions