11import { join } from 'node:path' ;
22import type { LCOVRecord } from 'parse-lcov' ;
33import { AuditOutputs } from '@code-pushup/models' ;
4- import { readTextFile , toUnixPath } from '@code-pushup/utils' ;
5- //TODO fix, why doesnt it know the exists import??
6- import { exists } from '../../../../../models/src/lib/implementation/utils' ;
4+ import { exists , readTextFile } from '@code-pushup/utils' ;
75import { CoverageReport , CoverageType } from '../../config' ;
86import { parseLcov } from './parse-lcov' ;
97import {
108 lcovCoverageToAuditOutput ,
11- reportToStatFunctionMapper as recordToStatFunctionMapper ,
9+ recordToStatFunctionMapper ,
1210} from './transform' ;
1311import { LCOVStat , LCOVStats } from './types' ;
1412
@@ -26,20 +24,19 @@ export async function lcovResultsToAuditOutputs(
2624 coverageTypes : CoverageType [ ] ,
2725) : Promise < AuditOutputs > {
2826 const parsedReports = await Promise . all (
29- reports . map ( report =>
30- readTextFile ( toUnixPath ( report . resultsPath ) )
31- . then ( reportContent => parseLcov ( reportContent ) )
32- . then ( records =>
33- records . map < LCOVRecord > ( record => ( {
34- ...record ,
35- file :
36- report . pathToProject == null
37- ? record . file
38- : join ( report . pathToProject , record . file ) ,
39- } ) ) ,
40- ) ,
41- ) ,
27+ reports . map ( async report => {
28+ const reportContent = await readTextFile ( report . resultsPath ) ;
29+ const parsedRecords = parseLcov ( reportContent ) ;
30+ return parsedRecords . map < LCOVRecord > ( record => ( {
31+ ...record ,
32+ file :
33+ report . pathToProject == null
34+ ? record . file
35+ : join ( report . pathToProject , record . file ) ,
36+ } ) ) ;
37+ } ) ,
4238 ) ;
39+
4340 if ( parsedReports . length !== reports . length ) {
4441 throw new Error ( 'Some provided LCOV reports were not valid.' ) ;
4542 }
0 commit comments