xpeditis2.0/fix-imports.js
David c42c3122fb
Some checks failed
CI/CD Pipeline - Xpeditis PreProd / Backend - Build & Test (push) Failing after 5m53s
CI/CD Pipeline - Xpeditis PreProd / Backend - Docker Build & Push (push) Has been skipped
CI/CD Pipeline - Xpeditis PreProd / Frontend - Build & Test (push) Successful in 10m59s
CI/CD Pipeline - Xpeditis PreProd / Frontend - Docker Build & Push (push) Failing after 9m47s
CI/CD Pipeline - Xpeditis PreProd / Deploy to PreProd Server (push) Has been skipped
CI/CD Pipeline - Xpeditis PreProd / Run Smoke Tests (push) Has been skipped
fix ci/cd back
2025-11-13 23:43:38 +01:00

103 lines
4.7 KiB
JavaScript

#!/usr/bin/env node
/**
* Script to fix relative imports to domain/ports/out
* Replaces ../../domain/ports/out/ with @domain/ports/out/
* Replaces ../../../domain/ports/out/ with @domain/ports/out/
*/
const fs = require('fs');
const path = require('path');
const files = [
'apps/backend/src/infrastructure/pdf/pdf.adapter.ts',
'apps/backend/src/infrastructure/carriers/base-carrier.connector.ts',
'apps/backend/src/infrastructure/storage/s3-storage.adapter.ts',
'apps/backend/src/application/services/csv-booking.service.ts',
'apps/backend/src/infrastructure/storage/storage.module.ts',
'apps/backend/src/infrastructure/persistence/typeorm/repositories/typeorm-webhook.repository.ts',
'apps/backend/src/infrastructure/persistence/typeorm/repositories/typeorm-user.repository.ts',
'apps/backend/src/infrastructure/persistence/typeorm/repositories/typeorm-rate-quote.repository.ts',
'apps/backend/src/infrastructure/persistence/typeorm/repositories/typeorm-port.repository.ts',
'apps/backend/src/infrastructure/persistence/typeorm/repositories/typeorm-organization.repository.ts',
'apps/backend/src/infrastructure/persistence/typeorm/repositories/typeorm-notification.repository.ts',
'apps/backend/src/infrastructure/persistence/typeorm/repositories/typeorm-carrier.repository.ts',
'apps/backend/src/infrastructure/persistence/typeorm/repositories/typeorm-booking.repository.ts',
'apps/backend/src/infrastructure/persistence/typeorm/repositories/typeorm-audit-log.repository.ts',
'apps/backend/src/infrastructure/pdf/pdf.module.ts',
'apps/backend/src/infrastructure/email/email.module.ts',
'apps/backend/src/infrastructure/email/email.adapter.ts',
'apps/backend/src/infrastructure/carriers/one/one.mapper.ts',
'apps/backend/src/infrastructure/carriers/one/one.connector.ts',
'apps/backend/src/infrastructure/carriers/msc/msc.mapper.ts',
'apps/backend/src/infrastructure/carriers/msc/msc.connector.ts',
'apps/backend/src/infrastructure/carriers/maersk/maersk.connector.ts',
'apps/backend/src/infrastructure/carriers/maersk/maersk-request.mapper.ts',
'apps/backend/src/infrastructure/carriers/hapag-lloyd/hapag-lloyd.mapper.ts',
'apps/backend/src/infrastructure/carriers/hapag-lloyd/hapag-lloyd.connector.ts',
'apps/backend/src/infrastructure/carriers/cma-cgm/cma-cgm.mapper.ts',
'apps/backend/src/infrastructure/carriers/cma-cgm/cma-cgm.connector.ts',
'apps/backend/src/infrastructure/cache/redis-cache.adapter.ts',
'apps/backend/src/infrastructure/cache/cache.module.ts',
'apps/backend/src/application/webhooks/webhooks.module.ts',
'apps/backend/src/application/users/users.module.ts',
'apps/backend/src/application/services/webhook.service.ts',
'apps/backend/src/application/services/notification.service.ts',
'apps/backend/src/application/services/booking-automation.service.ts',
'apps/backend/src/application/services/audit.service.ts',
'apps/backend/src/application/services/analytics.service.ts',
'apps/backend/src/application/rates/rates.module.ts',
'apps/backend/src/application/organizations/organizations.module.ts',
'apps/backend/src/application/notifications/notifications.module.ts',
'apps/backend/src/application/controllers/users.controller.ts',
'apps/backend/src/application/controllers/organizations.controller.ts',
'apps/backend/src/application/controllers/bookings.controller.ts',
'apps/backend/src/application/controllers/auth.controller.ts',
'apps/backend/src/application/bookings/bookings.module.ts',
'apps/backend/src/application/auth/auth.service.ts',
'apps/backend/src/application/auth/auth.module.ts',
'apps/backend/src/application/audit/audit.module.ts',
];
let totalReplacements = 0;
files.forEach((filePath) => {
const fullPath = path.join(__dirname, filePath);
if (!fs.existsSync(fullPath)) {
console.log(`⚠️ File not found: ${filePath}`);
return;
}
let content = fs.readFileSync(fullPath, 'utf-8');
const originalContent = content;
// Replace ../../../../domain/ports/out/ with @domain/ports/out/
content = content.replace(
/from ['"]\.\.\/\.\.\/\.\.\/\.\.\/domain\/ports\/out\//g,
"from '@domain/ports/out/"
);
// Replace ../../../domain/ports/out/ with @domain/ports/out/
content = content.replace(
/from ['"]\.\.\/\.\.\/\.\.\/domain\/ports\/out\//g,
"from '@domain/ports/out/"
);
// Replace ../../domain/ports/out/ with @domain/ports/out/
content = content.replace(
/from ['"]\.\.\/\.\.\/domain\/ports\/out\//g,
"from '@domain/ports/out/"
);
if (content !== originalContent) {
fs.writeFileSync(fullPath, content, 'utf-8');
totalReplacements++;
console.log(`✅ Fixed: ${filePath}`);
} else {
console.log(`⏭️ No changes: ${filePath}`);
}
});
console.log(`\n✨ Done! Fixed ${totalReplacements} files.`);