背景
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 の環境変数(
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 の単一ソース化)しており、方針として一貫する。
あるべき姿
process.env直読みを、型付き env アクセスへ置換。スコープ
process.env直読み箇所の typed env への移行。受入条件
process.env直読み箇所を typed env アクセスへ移行関連