helpyourneighbour/scripts/preflight-check.js

35 lines
982 B
JavaScript
Raw Permalink Normal View History

const fs = require('fs');
const path = require('path');
// Load .env file
const envPath = path.join(__dirname, '../backend/.env');
if (!fs.existsSync(envPath)) {
console.error('Fehler: .env Datei nicht gefunden.');
process.exit(1);
}
const envContent = fs.readFileSync(envPath, 'utf8');
const envVars = {};
envContent.split('\n').forEach(line => {
if (line.trim() && !line.startsWith('#')) {
const [key, value] = line.split('=');
envVars[key.trim()] = value ? value.trim() : '';
}
});
// Check required secrets
const requiredSecrets = ['DB_PASSWORD', 'JWT_SECRET', 'DATA_ENCRYPTION_KEY'];
let allPresent = true;
requiredSecrets.forEach(secret => {
if (!envVars[secret] || envVars[secret] === 'change-me' || envVars[secret] === '') {
console.error(`Fehler: Pflicht-Secret '${secret}' nicht gesetzt oder auf 'change-me' gesetzt.`);
allPresent = false;
}
});
if (!allPresent) {
process.exit(1);
}
console.log('Alle Pflicht-Secrets sind vorhanden.');