mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-01 09:47:56 +08:00
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>
42 lines
837 B
JavaScript
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
|
|
}
|