UNPKG

skailan-conversations

Version:

Servicio de conversaciones y mensajería para Skailan

102 lines 4.34 kB
#!/usr/bin/env node /** * Script para arreglar errores de compilación TypeScript * Este script identifica y corrige los errores más comunes */ import * as fs from "fs"; const errors = [ // Errores de parámetros undefined en controladores { file: "src/api/controllers/channelController.ts", line: 56, message: "Type string | undefined is not assignable to type string", type: "TS2322", }, { file: "src/api/controllers/conversationController.ts", line: 64, message: "Type string | undefined is not assignable to type string", type: "TS2322", }, // Errores en StartConversation { file: "src/app/use-cases/StartConversation.ts", line: 43, message: "Property length does not exist on type {}", type: "TS2339", }, // Errores en TelegramService { file: "src/domain/services/TelegramService.ts", line: 30, message: "response.data is of type unknown", type: "TS18046", }, ]; function fixControllerErrors() { console.log("🔧 Arreglando errores en controladores..."); const controllers = [ "src/api/controllers/channelController.ts", "src/api/controllers/conversationController.ts", "src/api/controllers/conversationTagController.ts", "src/api/controllers/messageController.ts", "src/api/controllers/tagController.ts", ]; controllers.forEach((controllerPath) => { if (fs.existsSync(controllerPath)) { let content = fs.readFileSync(controllerPath, "utf8"); // Arreglar errores de parámetros undefined content = content.replace(/(\s+)(id|conversationId|tagId),\s*$/gm, "$1$2!,"); fs.writeFileSync(controllerPath, content); console.log(`✅ Arreglado: ${controllerPath}`); } }); } function fixStartConversationErrors() { console.log("🔧 Arreglando errores en StartConversation..."); const filePath = "src/app/use-cases/StartConversation.ts"; if (fs.existsSync(filePath)) { let content = fs.readFileSync(filePath, "utf8"); // Arreglar error de length content = content.replace(/if \(findContactResponse\.data && findContactResponse\.data\.length > 0\)/g, "if (findContactResponse.data && Array.isArray(findContactResponse.data) && findContactResponse.data.length > 0)"); // Arreglar error de tipo unknown content = content.replace(/contactId = createContactResponse\.data\.id;/g, "contactId = (createContactResponse.data as any).id;"); // Arreglar constructor de Conversation content = content.replace(/const newConversation = new Conversation\(\s*([^)]+)\);/g, "const newConversation = new Conversation(\n$1,\n new Date()\n );"); fs.writeFileSync(filePath, content); console.log(`✅ Arreglado: ${filePath}`); } } function fixTelegramServiceErrors() { console.log("🔧 Arreglando errores en TelegramService..."); const filePath = "src/domain/services/TelegramService.ts"; if (fs.existsSync(filePath)) { let content = fs.readFileSync(filePath, "utf8"); // Arreglar todos los errores de response.data content = content.replace(/response\.data\.ok/g, "(response.data as any).ok"); content = content.replace(/response\.data\.result/g, "(response.data as any).result"); content = content.replace(/response\.data\.description/g, "(response.data as any).description"); // Arreglar error de parámetro button content = content.replace(/row\.map\(\(button\) => \(/g, "row.map((button: any) => ("); fs.writeFileSync(filePath, content); console.log(`✅ Arreglado: ${filePath}`); } } function main() { console.log("🚀 Iniciando corrección de errores de compilación...\n"); try { fixControllerErrors(); fixStartConversationErrors(); fixTelegramServiceErrors(); console.log("\n✅ Corrección de errores completada"); console.log('📝 Ejecuta "npm run build" para verificar los cambios'); } catch (error) { console.error("❌ Error durante la corrección:", error); process.exit(1); } } if (require.main === module) { main(); } //# sourceMappingURL=fix-compilation-errors.js.map