[FE-05] 앱 lib/feature-flags.ts 신규 플래그 4종 추가
작업 내용 (설계 의도)
변경 사항
mobile/lib/feature-flags.ts의 단일 게이트에 신규 기능 플래그 4종을 추가한다(값 정의만 소유하는 기존 패턴 계승). BE Release Scenario 플래그와 정합하는 진입 플래그다.
| 플래그 | envKey | 기본값 |
|---|---|---|
recruitment.enabled | EXPO_PUBLIC_RECRUITMENT_ENABLED | false |
facility.program.enabled | EXPO_PUBLIC_FACILITY_PROGRAM_ENABLED | false |
community.post.enabled | EXPO_PUBLIC_COMMUNITY_POST_ENABLED | false |
community.booking.enabled | EXPO_PUBLIC_COMMUNITY_BOOKING_ENABLED | false |
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종 동작 무변경