evOo-local/packages/core/src/node/load-root-env.ts
cynarAI 6c7eed7580 Initial clean evOo-local from f00577b
Fresh history cut from cynarAI/evoo antigravity-handoff/project-timeline
(Voice First + project timeline). Brand docs/titles as evOo; keep @rakazo/*
packages as tech debt. Excludes node_modules, caches, secrets, voice blobs.
2026-09-20 17:15:16 +02:00

22 lines
608 B
TypeScript

import { existsSync } from "node:fs";
import path from "node:path";
import { config } from "dotenv";
export function loadRootEnv() {
let dir = process.cwd();
for (let i = 0; i < 8; i += 1) {
const candidate = path.join(dir, ".env");
if (existsSync(candidate)) {
config({ path: candidate, override: false });
if (process.env.DATA_DIR && !path.isAbsolute(process.env.DATA_DIR)) {
process.env.DATA_DIR = path.resolve(dir, process.env.DATA_DIR);
}
return;
}
const parent = path.dirname(dir);
if (parent === dir) break;
dir = parent;
}
config();
}