- V3 모바일 마스터 플랜 작성 (docs/v3/00-mobile-master-plan.md) 11개 Phase, 5주 로드맵, 전략 결정사항 확정 - 7개 디자인 HTML 레퍼런스 저장 (docs/v3/designs/) - app.json → app.config.ts 전환 + 환경변수 체계 - 5탭 네비게이션 (DASH/HIST/REC FAB/TALK/SET) - metro.config.js monorepo 격리 (root RN 0.84 충돌 해결) - ui-native 테마 디자인 목업 색상 동기화 - SafeArea 적용 (useSafeAreaInsets) - DEV 로그인 우회 (__DEV__ 전용) - Supabase .env 연동 - iOS 시뮬레이터 검증 완료
36 lines
1 KiB
JavaScript
36 lines
1 KiB
JavaScript
// apps/mobile/metro.config.js
|
|
// Monorepo 호환 Metro 설정
|
|
// 핵심: root node_modules의 react-native 0.84를 절대 참조하지 않도록 격리
|
|
|
|
const { getDefaultConfig } = require('expo/metro-config')
|
|
const path = require('path')
|
|
|
|
const projectRoot = __dirname
|
|
const monorepoRoot = path.resolve(projectRoot, '../..')
|
|
|
|
const config = getDefaultConfig(projectRoot)
|
|
|
|
// packages 디렉토리만 watch (root node_modules는 watch하지 않음!)
|
|
config.watchFolders = [
|
|
path.resolve(monorepoRoot, 'packages/core'),
|
|
path.resolve(monorepoRoot, 'packages/ui-native'),
|
|
path.resolve(monorepoRoot, 'packages/i18n'),
|
|
path.resolve(monorepoRoot, 'packages/api-client')
|
|
]
|
|
|
|
// node_modules: 로컬만 사용
|
|
config.resolver.nodeModulesPaths = [
|
|
path.resolve(projectRoot, 'node_modules')
|
|
]
|
|
|
|
// packages 내에서 import하는 모든 모듈을 로컬 node_modules로 강제
|
|
config.resolver.extraNodeModules = new Proxy(
|
|
{},
|
|
{
|
|
get: (_target, name) => {
|
|
return path.resolve(projectRoot, 'node_modules', String(name))
|
|
}
|
|
}
|
|
)
|
|
|
|
module.exports = config
|