CRAP Complexity Coverage Location
20.00 4 0/14 (0.00%) api/crap-report.ts (L39 - L68)
export async function getCrapReport({
    testCoverage,
    jsonReportFile,
    htmlReportDir,
    log,
}: CrapReportOptions): Promise<CrapReport> {
    const app = await NestFactory.create(CrapModule, { logger: [] });

    const configService = app.get(ConfigService);
    configService.setJsonReportFile(jsonReportFile);
    configService.setHtmlReportDir(htmlReportDir);
    if (log) {
        configService.setLogger(log);
    }

    let coverageReport: CoverageMapData;
    if (typeof testCoverage === "string" || testCoverage instanceof URL) {
        const fileSystemService = app.get(FileSystemService);
        coverageReport = await fileSystemService.loadCoverageReport(testCoverage);
    } else {
        coverageReport = testCoverage;
    }

    const crapReportService = app.get(CrapReportService);
    const report = await crapReportService.createReport({ testCoverage: coverageReport });

    await app.close();

    return report;
}