cang-ying/engines/env-loader.js

46 lines
1.1 KiB
JavaScript
Raw Normal View History

const fs = require('fs');
const path = require('path');
const CANONICAL_SECRETS_FILE = '/Users/bingshuolingdianyuanhe/Documents/guanghulab-local-secrets/video-ai-system.env';
function loadEnvFile(file) {
if (!file || !fs.existsSync(file)) return false;
const content = fs.readFileSync(file, 'utf8');
for (const line of content.split(/\r?\n/)) {
const trimmed = line.trim();
if (!trimmed || trimmed.startsWith('#')) continue;
const eq = trimmed.indexOf('=');
if (eq <= 0) continue;
const key = trimmed.slice(0, eq).trim();
const value = trimmed.slice(eq + 1).trim();
if (!key || !value) continue;
if (!process.env[key]) process.env[key] = value;
}
return true;
}
function loadVideoAiEnv(localEnvPath = path.resolve(__dirname, '../.env')) {
const loaded = [];
const files = [
process.env.VIDEO_AI_SECRETS_FILE,
CANONICAL_SECRETS_FILE,
localEnvPath,
];
for (const file of files) {
if (loadEnvFile(file)) loaded.push(file);
}
return loaded;
}
module.exports = {
CANONICAL_SECRETS_FILE,
loadVideoAiEnv,
};