export interface Config { databaseUrl: string port: number /** Public URL users open in their browser; HTTPS here turns on secure cookies. */ publicUrl: string secureCookies: boolean production: boolean /** Built web app to serve, if present. */ staticDir: string } export function loadConfig(env: NodeJS.ProcessEnv = process.env): Config { const publicUrl = env.PUBLIC_URL ?? `http://localhost:${env.PORT ?? 3000}` return { databaseUrl: env.DATABASE_URL ?? 'pglite://./data/pglite', port: Number(env.PORT ?? 3000), publicUrl, secureCookies: publicUrl.startsWith('https://'), production: env.NODE_ENV === 'production', staticDir: env.STATIC_DIR ?? 'dist', } }