-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathoutput-report.js
32 lines (26 loc) · 1.16 KB
/
output-report.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
const libReport = require('istanbul-lib-report')
const { createCoverageMap, createFileCoverage } = require('istanbul-lib-coverage')
const reports = require('istanbul-reports')
const mergedRaw = require('./.combined-raw.json')
let map = createCoverageMap()
for (const fk of Object.keys(mergedRaw)) {
console.log('fk :>> ', fk);
const reportKey = fk.includes("/libs/") ? fk.split("/libs/")[1] : fk.split("/actions/")[1] //.split("/")[0]
console.log('reportKey :>> ', reportKey);
const jsonCoverageMap = createCoverageMap({[reportKey]: createFileCoverage(mergedRaw[fk])});
map.merge(jsonCoverageMap);
}
// create a context for report generation
const context = libReport.createContext({
dir: './.coverage',
defaultSummarizer: "nested",
coverageMap: map, //.files().forEach((f) => )
// this is the map which we generated in above snippet
})
// create an instance of the relevant report class, passing the
// report name e.g. json/html/html-spa/text
const reportHtml = reports.create('html')
const reportJunit = reports.create('cobertura')
// call execute to synchronously create and write the report to disk
reportHtml.execute(context)
reportJunit.execute(context)