From df2730dc2d6520f10d543bb9b6d431cc92e47830 Mon Sep 17 00:00:00 2001 From: Walter Zalazar Date: Fri, 25 Jan 2019 23:16:34 -0300 Subject: [PATCH] feat: Option Plugins (#948) --- index.js | 3 ++- lib/instrumenters/istanbul.js | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/index.js b/index.js index ffa1b3f17..090b800cb 100755 --- a/index.js +++ b/index.js @@ -140,7 +140,8 @@ NYC.prototype._createInstrumenter = function () { produceSourceMap: this.config.produceSourceMap, compact: this.config.compact, preserveComments: this.config.preserveComments, - esModules: this.config.esModules + esModules: this.config.esModules, + plugins: this.config.plugins }) } diff --git a/lib/instrumenters/istanbul.js b/lib/instrumenters/istanbul.js index d982b65ee..0569c25c6 100644 --- a/lib/instrumenters/istanbul.js +++ b/lib/instrumenters/istanbul.js @@ -4,8 +4,11 @@ var convertSourceMap = require('convert-source-map') var mergeSourceMap = require('merge-source-map') function InstrumenterIstanbul (cwd, options) { + const plugins = options.plugins + const configPlugins = plugins ? { plugins } : {} + var istanbul = InstrumenterIstanbul.istanbul() - var instrumenter = istanbul.createInstrumenter({ + var instrumenter = istanbul.createInstrumenter(Object.assign({ autoWrap: true, coverageVariable: '__coverage__', embedSource: true, @@ -14,7 +17,7 @@ function InstrumenterIstanbul (cwd, options) { produceSourceMap: options.produceSourceMap, ignoreClassMethods: options.ignoreClassMethods, esModules: options.esModules - }) + }, configPlugins)) return { instrumentSync: function (code, filename, sourceMap) {