Refactor dotenv configuration to load environment variables from multiple candidates; add error handling for missing DB_HOST

This commit is contained in:
2025-12-21 00:04:02 +01:00
parent 0aa2ae1637
commit 927a1b75c6

View File

@@ -1,4 +1,5 @@
import dotenv from 'dotenv';
import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';
import express from 'express';
@@ -14,7 +15,31 @@ import pool from './db.js';
import { setupWebSocket } from './ws.js';
const __dirname = path.dirname(fileURLToPath(import.meta.url));
dotenv.config({ path: path.join(__dirname, '..', '.env') });
const envCandidates = [
path.join(process.cwd(), '.env'),
path.join(__dirname, '..', '.env'),
path.join(__dirname, '..', '..', '.env')
];
let envLoaded = false;
for (const candidate of envCandidates) {
if (fs.existsSync(candidate)) {
dotenv.config({ path: candidate });
envLoaded = true;
break;
}
}
if (!envLoaded) {
// eslint-disable-next-line no-console
console.warn('Figyelem: .env fajl nem talalhato, ENV valtozok nelkul indul.');
}
if (!process.env.DB_HOST) {
// eslint-disable-next-line no-console
console.error('Hiba: DB_HOST nincs beallitva. Ellenorizd az .env fajlt vagy az ENV valtozokat.');
process.exit(1);
}
const app = express();