Skip to content

iOS — 環境変数バリデーションの仕組みを検討する #553

@gn-t-k

Description

@gn-t-k

パッケージ / 対象

apps/ios(未実装)、参考: @next-lift/env

問題

Web側では @next-lift/env パッケージにより、Zodスキーマベースの環境変数バリデーションが整備されている:

  • ビルド時(static)と実行時(dynamic)の2段階検証
  • 型安全なアクセス
  • pnpm check による事前検証

一方、iOS(React Native/Expo)側には同等の仕組みがなく、設定ミスを事前に検知できない。

修正内容

iOS側でも環境変数の設定ミスを早期に検知する仕組みを設計・実装する。検討事項:

  • Expo の環境変数管理方式(app.config.ts.env、EAS Build secrets)との整合性
  • @next-lift/env のZodスキーマを共有できるか、iOS専用のスキーマが必要か
  • バリデーションのタイミング(ビルド時 / 起動時 / アクセス時)
  • Embedded Replicas(Turso)関連の接続情報のバリデーション

対象ファイル

  • packages/env/ (既存のWeb向け実装、参考)
  • apps/ios/ (iOS側、未実装)

検証方法

  • 設計段階: ADRとしてドキュメント化し、コードレビューで確認
  • 実装段階: 不正な環境変数でビルド・起動した際にエラーが検知されることを確認

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions