← back to Rentv Adintel
lib/env.js
26 lines
'use strict';
/**
* Minimal zero-dependency .env loader. Reads ./.env if present and populates
* process.env for keys not already set. Keeps the house stack free of dotenv.
*/
const fs = require('fs');
const path = require('path');
const envPath = path.join(__dirname, '..', '.env');
try {
if (fs.existsSync(envPath)) {
const lines = fs.readFileSync(envPath, 'utf8').split(/\r?\n/);
for (const line of lines) {
const m = line.match(/^\s*([A-Z0-9_]+)\s*=\s*(.*)\s*$/i);
if (!m) continue;
const key = m[1];
let val = m[2];
if (/^".*"$/.test(val) || /^'.*'$/.test(val)) val = val.slice(1, -1);
if (process.env[key] === undefined) process.env[key] = val;
}
}
} catch (e) {
// eslint-disable-next-line no-console
console.warn('[env] could not load .env:', e.message);
}