Skip to content

Commit c65003f

Browse files
authored
Fix filename regex escaping (#270)
1 parent c29a2aa commit c65003f

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/coverage.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,18 @@ export function parseCoverageReport(report: string, files: CommitsComparison): F
3636
return {averageCover: avgCover, newCover, modifiedCover}
3737
}
3838

39+
function escapeRegExp(value: string) {
40+
return value.replace(/[.*+\-?^${}()|[\]\\]/g, '\\$&');
41+
}
42+
3943
export function parseFilesCoverage(
4044
report: string,
4145
source: string,
4246
files: string[] | undefined,
4347
threshold: number
4448
): Coverage[] | undefined {
4549
const coverages = files?.map(file => {
46-
const fileName = file.replace(`${source}/`, '').replace(/\//g, '\\/')
50+
const fileName = escapeRegExp(file.replace(`${source}/`, ''))
4751
const regex = new RegExp(`.*filename="${fileName}".*line-rate="(?<cover>[0-9]+[.]*[0-9]*)".*`)
4852
const match = report.match(regex)
4953
const cover = match?.groups ? parseFloat(match.groups['cover']) : -1

0 commit comments

Comments
 (0)