From 06407d705a455fc13aa394dfd68020f62afd06d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hu=C3=A1ng=20J=C3=B9nli=C3=A0ng?= Date: Wed, 12 Aug 2020 14:29:55 -0400 Subject: [PATCH] fix: remove inputSourceMap before instrumenting --- packages/istanbul-lib-instrument/src/visitor.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/istanbul-lib-instrument/src/visitor.js b/packages/istanbul-lib-instrument/src/visitor.js index ad526e82..c81a46c2 100644 --- a/packages/istanbul-lib-instrument/src/visitor.js +++ b/packages/istanbul-lib-instrument/src/visitor.js @@ -632,6 +632,10 @@ function programVisitor(types, sourceFilePath = 'unknown.js', opts = {}) { sourceMappingURL: visitState.sourceMappingURL }; } + const { inputSourceMap } = coverageData; + // remove `inputSourceMap` before we output coverage data to source code + // because it is not a plain object + delete coverageData.inputSourceMap; coverageData[MAGIC_KEY] = MAGIC_VALUE; const hash = createHash(SHA) .update(JSON.stringify(coverageData)) @@ -640,6 +644,10 @@ function programVisitor(types, sourceFilePath = 'unknown.js', opts = {}) { const coverageNode = T.valueToNode(coverageData); delete coverageData[MAGIC_KEY]; delete coverageData.hash; + // restore `inputSourceMap` + if (inputSourceMap) { + coverageData.inputSourceMap = inputSourceMap; + } let gvTemplate; if (opts.coverageGlobalScopeFunc) { if (path.scope.getBinding('Function')) {