import * as fs from 'fs'; import * as path from 'path'; // Carrega variáveis do arquivo .env manualmente se ele existir const envPath = path.resolve(process.cwd(), '.env'); if (fs.existsSync(envPath)) { const envConfig = fs.readFileSync(envPath, 'utf-8'); envConfig.split('\n').forEach((line) => { const trimmed = line.trim(); if (trimmed && !trimmed.startsWith('#')) { const [key, ...values] = trimmed.split('='); const val = values.join('=').trim(); if (key && val && process.env[key.trim()] === undefined) { process.env[key.trim()] = val.replace(/^['"]|['"]$/g, ''); } } }); } import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger'; async function bootstrap() { const app = await NestFactory.create(AppModule); // Prefixo de rota global app.setGlobalPrefix('api'); // Habilitar CORS app.enableCors(); // Documentação do Swagger const config = new DocumentBuilder() .setTitle('DevsTroupe API') .setDescription('Documentação das APIs geradas pelo DT-DevKit') .setVersion('1.0') .build(); const document = SwaggerModule.createDocument(app, config); SwaggerModule.setup('docs', app, document); await app.listen(13000); console.log('Backend NestJS iniciado com sucesso na porta 13000!'); console.log('Documentação Swagger disponível em: http://localhost:13000/docs'); } bootstrap();