Some checks failed
CI/CD Pipeline - Xpeditis PreProd / Run Smoke Tests (push) Blocked by required conditions
CI/CD Pipeline - Xpeditis PreProd / Deploy to PreProd Server (push) Blocked by required conditions
CI/CD Pipeline - Xpeditis PreProd / Backend - Build & Test (push) Failing after 5m50s
CI/CD Pipeline - Xpeditis PreProd / Backend - Docker Build & Push (push) Has been skipped
CI/CD Pipeline - Xpeditis PreProd / Frontend - Build & Test (push) Successful in 10m56s
CI/CD Pipeline - Xpeditis PreProd / Frontend - Docker Build & Push (push) Has been cancelled
Replace all @domain/ports/out/* imports with relative paths to fix TypeScript compilation errors in CI/CD environment. The issue was that TypeScript compiler (tsc) used by nest build doesn't resolve path aliases by default. While tsconfig-paths works at runtime and in development, it doesn't help during compilation. Changes: - Convert @domain/ports/out/* to relative paths (../../domain/ports/out/, etc.) - Remove tsc-alias dependency (no longer needed) - Revert build script to "nest build" only This ensures the build works consistently in both local and CI/CD environments. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
59 lines
2.6 KiB
TypeScript
59 lines
2.6 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
import { RatesController } from '../controllers/rates.controller';
|
|
import { CacheModule } from '../../infrastructure/cache/cache.module';
|
|
import { CarrierModule } from '../../infrastructure/carriers/carrier.module';
|
|
import { CsvRateModule } from '../../infrastructure/carriers/csv-loader/csv-rate.module';
|
|
|
|
// Import domain services
|
|
import { RateSearchService } from '../../domain/services/rate-search.service';
|
|
|
|
// Import domain ports
|
|
import { RATE_QUOTE_REPOSITORY } from '../../domain/ports/out/rate-quote.repository';
|
|
import { PORT_REPOSITORY } from '../../domain/ports/out/port.repository';
|
|
import { CARRIER_REPOSITORY } from '../../domain/ports/out/carrier.repository';
|
|
import { CACHE_PORT } from '../../domain/ports/out/cache.port';
|
|
|
|
// Import infrastructure implementations
|
|
import { TypeOrmRateQuoteRepository } from '../../infrastructure/persistence/typeorm/repositories/typeorm-rate-quote.repository';
|
|
import { TypeOrmPortRepository } from '../../infrastructure/persistence/typeorm/repositories/typeorm-port.repository';
|
|
import { TypeOrmCarrierRepository } from '../../infrastructure/persistence/typeorm/repositories/typeorm-carrier.repository';
|
|
import { RateQuoteOrmEntity } from '../../infrastructure/persistence/typeorm/entities/rate-quote.orm-entity';
|
|
import { PortOrmEntity } from '../../infrastructure/persistence/typeorm/entities/port.orm-entity';
|
|
import { CarrierOrmEntity } from '../../infrastructure/persistence/typeorm/entities/carrier.orm-entity';
|
|
|
|
@Module({
|
|
imports: [
|
|
CacheModule,
|
|
CarrierModule,
|
|
CsvRateModule, // Import CSV rate module for CSV search service
|
|
TypeOrmModule.forFeature([RateQuoteOrmEntity, PortOrmEntity, CarrierOrmEntity]),
|
|
],
|
|
controllers: [RatesController],
|
|
providers: [
|
|
{
|
|
provide: RATE_QUOTE_REPOSITORY,
|
|
useClass: TypeOrmRateQuoteRepository,
|
|
},
|
|
{
|
|
provide: PORT_REPOSITORY,
|
|
useClass: TypeOrmPortRepository,
|
|
},
|
|
{
|
|
provide: CARRIER_REPOSITORY,
|
|
useClass: TypeOrmCarrierRepository,
|
|
},
|
|
{
|
|
provide: RateSearchService,
|
|
useFactory: (cache: any, rateQuoteRepo: any, portRepo: any, carrierRepo: any) => {
|
|
// For now, create service with empty connectors array
|
|
// TODO: Inject actual carrier connectors
|
|
return new RateSearchService([], cache, rateQuoteRepo, portRepo, carrierRepo);
|
|
},
|
|
inject: [CACHE_PORT, RATE_QUOTE_REPOSITORY, PORT_REPOSITORY, CARRIER_REPOSITORY],
|
|
},
|
|
],
|
|
exports: [RATE_QUOTE_REPOSITORY, RateSearchService],
|
|
})
|
|
export class RatesModule {}
|