[FE-05] 앱 lib/feature-flags.ts 신규 플래그 4종 추가

작업 내용 (설계 의도)

변경 사항

mobile/lib/feature-flags.ts의 단일 게이트에 신규 기능 플래그 4종을 추가한다(값 정의만 소유하는 기존 패턴 계승). BE Release Scenario 플래그와 정합하는 진입 플래그다.

플래그envKey기본값
recruitment.enabledEXPO_PUBLIC_RECRUITMENT_ENABLEDfalse
facility.program.enabledEXPO_PUBLIC_FACILITY_PROGRAM_ENABLEDfalse
community.post.enabledEXPO_PUBLIC_COMMUNITY_POST_ENABLEDfalse
community.booking.enabledEXPO_PUBLIC_COMMUNITY_BOOKING_ENABLEDfalse

FeatureFlag 타입 유니온에 추가하고 FEATURE_FLAG_DEFINITIONS에 정의만 추가. 실제 게이팅은 각 화면/진입점 티켓이 isFeatureEnabled()를 호출한다. 롤백: 플래그 OFF로 진입점 비노출(코드 롤백 불요).

의존

  • 없음 (wave 1)

다이어그램

클래스 의존

flowchart LR
    Flags["lib/feature-flags.ts"] --> Layout["app/_layout 진입점 (FE-24)"]
    Flags --> RecList["recruitments/index (FE-11)"]
    Flags --> FacDetail["facility/[id] (FE-22)"]

테스트 케이스

  • 환경변수 미설정 시 신규 4플래그 모두 기본 false 반환
  • EXPO_PUBLIC_RECRUITMENT_ENABLED='true'isFeatureEnabled('recruitment.enabled') true
  • '1'·'yes' 등 ‘true’ 외 값은 false로 처리(기존 파싱 규칙 준수)
  • 기존 채팅 플래그 3종 동작 무변경