import os from "os"; import path from "path"; const APP_NAME = "omniroute"; function fallbackHomeDir(): string { const envHome = process.env.HOME || process.env.USERPROFILE; return typeof envHome === "string" && envHome.trim() ? path.resolve(envHome) : os.tmpdir(); } function safeHomeDir(): string { try { return os.homedir(); } catch { return fallbackHomeDir(); } } function normalizeConfiguredPath(dir: unknown): string | null { if (typeof dir !== "string") return null; const trimmed = dir.trim(); return trimmed ? path.resolve(trimmed) : null; } export function resolveMitmDataDir(): string { const configured = normalizeConfiguredPath(process.env.DATA_DIR); if (configured) return configured; const homeDir = safeHomeDir(); if (process.platform === "win32") { const appData = process.env.APPDATA || path.join(homeDir, "AppData", "Roaming"); return path.join(appData, APP_NAME); } const xdgConfigHome = normalizeConfiguredPath(process.env.XDG_CONFIG_HOME); if (xdgConfigHome) { return path.join(xdgConfigHome, APP_NAME); } return path.join(homeDir, `.${APP_NAME}`); }