renovate[bot] 0f86ff9897
chore(deps): update all non-major dependencies (#2766)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Vladimir Sheremet <sleuths.slews0s@icloud.com>
2023-04-06 16:53:03 +02:00

36 lines
1014 B
TypeScript

import { readFileSync } from 'node:fs'
import { normalize } from 'pathe'
interface CoverageFinalJson {
default: {
[filename: string]: {
path: string
b: Record<string, number[]>
f: Record<string, number>
fnMap: Record<string, { name: string }>
// ... and more unrelated keys
}
}
}
/**
* Read JSON coverage report from file system.
* Normalizes paths to keep contents consistent between OS's
*/
export async function readCoverageJson() {
const jsonReport = JSON.parse(readFileSync('./coverage/custom-json-report-name.json', 'utf8')) as CoverageFinalJson
const normalizedReport: CoverageFinalJson['default'] = {}
for (const [filename, coverage] of Object.entries(jsonReport)) {
coverage.path = normalizeFilename(coverage.path)
normalizedReport[normalizeFilename(filename)] = coverage
}
return normalizedReport
}
export function normalizeFilename(filename: string) {
return normalize(filename).replace(normalize(process.cwd()), '<process-cwd>')
}