import 'dotenv/config' const requiredEnvVars = ['REVENUECAT_WEBHOOK_SECRET', 'FIREBASE_PROJECT_ID'] as const type RequiredEnvVar = (typeof requiredEnvVars)[number] /** * Validates that all required environment variables are set. * Throws an error with details if any are missing. */ export function validateEnv(): void { const missing: RequiredEnvVar[] = [] for (const varName of requiredEnvVars) { const value = process.env[varName] if (!value || value.trim() === '') { missing.push(varName) } } if (missing.length > 0) { const message = missing.map(v => ` - ${v}`).join('\n') throw new Error(`Missing required environment variables:\n${message}`) } } /** * Safely retrieves a required environment variable. * Throws if not set (after validateEnv has been called). */ export function getEnv(varName: RequiredEnvVar): string { const value = process.env[varName] if (!value) { throw new Error(`Environment variable ${varName} is not set`) } return value }