Files
react-native-devtools-frontend/node_modules/karma-coverage/lib/report-creator.js
T
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

42 lines
837 B
JavaScript

// Report Creator
// ==============
//
// Wrapper of Istanbul's report creator to allow registering
// custom reporters
// Dependencies
// ------------
var istanbulReports = require('istanbul-reports')
var customReporterMap = {}
function register (reporter) {
var registeredType = reporter.TYPE
if (!registeredType) {
throw new Error('Registering a custom reporter requires a type!')
}
customReporterMap[registeredType] = reporter
return registeredType
}
function create (type, opts) {
var Reporter = customReporterMap[type]
if (Reporter) {
return new Reporter(opts)
}
// fallback to istanbul's report creator if reporter isn't found
return istanbulReports.create(type, opts)
}
function reset () {
customReporterMap = {}
}
module.exports = {
create: create,
register: register,
reset: reset
}