Files
Tim van der Lippe 597193051b Use karma-coverage in favor of community-maintained packages
We were using community-maintained for integrating Istanbul with
Karma. However, there appears to be an official karma-coverage
plugin that is maintained by the Karma team. Moreover, the latest
changes on that plugin have removed dependencies on packages
that have reported vulnerabilities.

Therefore, use karma-coverage and remove the old community-maintained
packages to significantly reduce the amount of vulnerable NPM
packages.

R=jacktfranklin@chromium.org
DISABLE_THIRD_PARTY_CHECK=Remove old community-maintained packages

Bug: 1068145
Change-Id: Ie81c185155db6598fc0cd05d9405670a0568c1c1
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2140942
Auto-Submit: Tim van der Lippe <tvanderlippe@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
2020-04-09 11:34:20 +00:00

30 lines
714 B
JavaScript

const { ReportBase } = require('istanbul-lib-report')
class InMemoryReport extends ReportBase {
constructor (opt) {
super(opt)
this.opt = opt
}
onStart () {
this.data = {}
}
onDetail (node) {
const fc = node.getFileCoverage()
const key = fc.path
this.data[key] = fc.toJSON()
}
onEnd () {
if (!this.opt || !this.opt.emitter || !this.opt.emitter.emit) {
console.error('Could not raise "coverage_complete" event, missing emitter because it was not supplied during initialization of the reporter')
return
}
this.opt.emitter.emit('coverage_complete', this.opt.browser, this.data)
}
}
InMemoryReport.TYPE = 'in-memory'
module.exports = InMemoryReport