import 'dotenv/config'; const requiredEnvVars = [ 'PROJECT_ID', 'CLIENT_URL', 'CLIENT_DOMAIN', 'API_BASE_URL', 'GOOGLE_CLIENT_ID_IOS', 'GOOGLE_CLIENT_ID_ANDROID', 'GOOGLE_CLIENT_ID_WEB', 'APPLE_CLIENT_ID_IOS', 'APPLE_CLIENT_ID_ANDROID', 'APPLE_CLIENT_ID_WEB' ]; const missingRequired = requiredEnvVars.filter(envVar => !process.env[envVar]); if (missingRequired.length > 0) { console.error(`Warning: Missing required environment variables: ${missingRequired.join(', ')}`); process.exit(1); } export default { expo: { name: "Ramble", slug: "Ramble", version: "1.0.0", orientation: "default", icon: "./assets/images/icon.png", scheme: "com.flyby.ramble", userInterfaceStyle: "automatic", newArchEnabled: true, ios: { supportsTablet: true, bundleIdentifier: "com.flyby.ramble", infoPlist: { ITSAppUsesNonExemptEncryption: false, NSCameraUsageDescription: "화상 통화를 위해 카메라 접근 권한이 필요합니다.", NSMicrophoneUsageDescription: "음성/화상 통화를 위해 마이크 접근 권한이 필요합니다.", } }, android: { adaptiveIcon: { foregroundImage: "./assets/images/adaptive-icon.png", backgroundColor: "#ffffff" }, edgeToEdgeEnabled: true, package: "com.flyby.ramble", }, web: { bundler: "metro", output: "static", favicon: "./assets/images/favicon.png" }, plugins: [ [ "expo-router", { "origin": process.env.CLIENT_URL } ], [ "expo-splash-screen", { image: "./assets/images/splash-icon.png", imageWidth: 200, resizeMode: "contain", backgroundColor: "#ffffff" } ], [ "react-native-edge-to-edge", { android: { parentTheme: "Default", enforceNavigationBarContrast: false } } ], "expo-secure-store", "@config-plugins/react-native-webrtc", ], experiments: { typedRoutes: true }, extra: { router: {}, eas: { projectId: process.env.PROJECT_ID }, apiBaseUrl: process.env.API_BASE_URL, clientUrl: process.env.CLIENT_URL, clientDomain: process.env.CLIENT_DOMAIN, googleClientIdIos: process.env.GOOGLE_CLIENT_ID_IOS, googleClientIdAndroid: process.env.GOOGLE_CLIENT_ID_ANDROID, googleClientIdWeb: process.env.GOOGLE_CLIENT_ID_WEB, appleClientIdIos: process.env.APPLE_CLIENT_ID_IOS, appleClientIdAndroid: process.env.APPLE_CLIENT_ID_ANDROID, appleClientIdWeb: process.env.APPLE_CLIENT_ID_WEB, } } };