diff --git a/src/main.ts b/src/main.ts index 9185b3f..cf47a11 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,4 +1,20 @@ -import 'dotenv/config'; +import * as dotenv from 'dotenv'; +import * as path from 'path'; + +// Load .env file from project root +// When running from dist/, __dirname will be dist/, so we go up one level to find .env +const envPath = path.resolve(__dirname, '../.env'); +const result = dotenv.config({ path: envPath }); + +if (result.error) { + console.warn(`⚠️ Warning: Could not load .env file from ${envPath}`); + console.warn(` Error: ${result.error.message}`); + // Try loading from current directory as fallback + dotenv.config(); +} else { + console.log(`✅ Loaded .env file from: ${envPath}`); +} + import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger'; @@ -7,6 +23,14 @@ import { Logger } from '@nestjs/common'; import cookieParser from 'cookie-parser'; async function bootstrap() { + // Log env variables status (without exposing sensitive values) + const logger = new Logger('Bootstrap'); + logger.log(`Environment: ${process.env.NODE_ENV || 'development'}`); + logger.log(`R2 Endpoint: ${process.env.CLOUDFLARE_R2_ENDPOINT ? '✅ Set' : '❌ Missing'}`); + logger.log(`R2 Access Key: ${process.env.CLOUDFLARE_R2_ACCESS_KEY ? '✅ Set' : '❌ Missing'}`); + logger.log(`R2 Secret Key: ${process.env.CLOUDFLARE_R2_SECRET_KEY ? '✅ Set' : '❌ Missing'}`); + logger.log(`R2 Bucket: ${process.env.CLOUDFLARE_R2_BUCKET_NAME ? '✅ Set' : '❌ Missing'}`); + const app = await NestFactory.create(AppModule); app.use(cookieParser()); app.useGlobalPipes(new ValidationPipe({ transform: true }));