fiemwl / src /mitm /dataDir.ts
automindy's picture
Upload 1980 files
6111b2b verified
Raw
History Blame Contribute Delete
1.18 kB
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}`);
}