import { existsSync, readFileSync } from "node:fs"; // Minimal .env loader, no dependency. Doesn't override a variable already // set in the real environment, so `FOO=bar npm start` still wins over // whatever's sitting in .env. export function loadEnvFile(path = ".env"): void { if (!existsSync(path)) { return; } const content = readFileSync(path, "utf8"); for (const line of content.split("\n")) { const trimmed = line.trim(); if (!trimmed || trimmed.startsWith("#")) { continue; } const eq = trimmed.indexOf("="); if (eq === -1) { continue; } const key = trimmed.slice(0, eq).trim(); let value = trimmed.slice(eq + 1).trim(); if ((value.startsWith('"') && value.endsWith('"')) || (value.startsWith("'") && value.endsWith("'"))) { value = value.slice(1, -1); } if (!(key in process.env)) { process.env[key] = value; } } }