fix: load environment-specific .env files based on NODE_ENV
- env.js now loads .env.production, .env.preprod, or .env.dev - Removes redundant dotenv.config() from email.service.js - Fixes SMTP config not loading in production/preprod 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
352b941570
commit
d4a8ff261d
|
|
@ -3,8 +3,31 @@
|
||||||
* Ce fichier doit être importé en premier dans l'application
|
* Ce fichier doit être importé en premier dans l'application
|
||||||
*/
|
*/
|
||||||
import dotenv from 'dotenv';
|
import dotenv from 'dotenv';
|
||||||
|
import path from 'path';
|
||||||
|
import { fileURLToPath } from 'url';
|
||||||
|
|
||||||
// Charger les variables d'environnement sans écraser celles fournies par Docker/système
|
const __filename = fileURLToPath(import.meta.url);
|
||||||
|
const __dirname = path.dirname(__filename);
|
||||||
|
const rootDir = path.resolve(__dirname, '../..');
|
||||||
|
|
||||||
|
// Déterminer le fichier .env à charger selon NODE_ENV
|
||||||
|
const nodeEnv = process.env.NODE_ENV || 'development';
|
||||||
|
let envFile = '.env';
|
||||||
|
|
||||||
|
if (nodeEnv === 'production') {
|
||||||
|
envFile = '.env.production';
|
||||||
|
} else if (nodeEnv === 'preproduction') {
|
||||||
|
envFile = '.env.preprod';
|
||||||
|
} else if (nodeEnv === 'development') {
|
||||||
|
envFile = '.env.dev';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Charger d'abord le fichier spécifique à l'environnement
|
||||||
|
const envPath = path.join(rootDir, envFile);
|
||||||
|
console.log(`📁 Chargement config: ${envFile} (NODE_ENV=${nodeEnv})`);
|
||||||
|
dotenv.config({ path: envPath, override: false });
|
||||||
|
|
||||||
|
// Charger aussi .env comme fallback (sans écraser)
|
||||||
dotenv.config({ override: false });
|
dotenv.config({ override: false });
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,8 @@
|
||||||
/**
|
/**
|
||||||
* Service d'envoi d'emails avec Nodemailer
|
* Service d'envoi d'emails avec Nodemailer
|
||||||
|
* Note: Les variables d'environnement sont chargées par src/config/env.js
|
||||||
*/
|
*/
|
||||||
import nodemailer from 'nodemailer';
|
import nodemailer from 'nodemailer';
|
||||||
import dotenv from 'dotenv';
|
|
||||||
|
|
||||||
dotenv.config();
|
|
||||||
|
|
||||||
// Configuration du transporteur email (créé à la demande pour éviter les problèmes de chargement)
|
// Configuration du transporteur email (créé à la demande pour éviter les problèmes de chargement)
|
||||||
let transporter = null;
|
let transporter = null;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user