@@ -12,7 +12,6 @@ const {
1212  includeAllFiles
1313}  =  require ( './task-utils' ) 
1414const  {  fixSourcePaths }  =  require ( './support-utils' ) 
15- const  {  removePlaceholders }  =  require ( './common-utils' ) 
1615
1716const  debug  =  require ( 'debug' ) ( 'code-coverage' ) 
1817
@@ -59,6 +58,13 @@ const nycReportOptions = (function getNycOption() {
5958
6059const  nycFilename  =  join ( nycReportOptions [ 'temp-dir' ] ,  'out.json' ) 
6160
61+ let  coverageMap  =  ( ( )  =>  { 
62+   const  previousCoverage  =  existsSync ( nycFilename ) 
63+     ? JSON . parse ( readFileSync ( nycFilename ,  'utf8' ) ) 
64+     : { } 
65+   return  istanbul . createCoverageMap ( previousCoverage ) 
66+ } ) ( ) 
67+ 
6268function  saveCoverage ( coverage )  { 
6369  if  ( ! existsSync ( nycReportOptions . tempDir ) )  { 
6470    mkdirSync ( nycReportOptions . tempDir ,  {  recursive : true  } ) 
@@ -122,7 +128,7 @@ const tasks = {
122128  resetCoverage ( {  isInteractive } )  { 
123129    if  ( isInteractive )  { 
124130      debug ( 'reset code coverage in interactive mode' ) 
125-       const   coverageMap  =  istanbul . createCoverageMap ( { } ) 
131+       coverageMap  =  istanbul . createCoverageMap ( { } ) 
126132      saveCoverage ( coverageMap ) 
127133    } 
128134    /* 
@@ -148,21 +154,7 @@ const tasks = {
148154
149155    fixSourcePaths ( coverage ) 
150156
151-     const  previousCoverage  =  existsSync ( nycFilename ) 
152-       ? JSON . parse ( readFileSync ( nycFilename ,  'utf8' ) ) 
153-       : { } 
154- 
155-     // previous code coverage object might have placeholder entries 
156-     // for files that we have not seen yet, 
157-     // but the user expects to include in the coverage report 
158-     // the merge function messes up, so we should remove any placeholder entries 
159-     // and re-insert them again when creating the report 
160-     removePlaceholders ( previousCoverage ) 
161- 
162-     const  coverageMap  =  istanbul . createCoverageMap ( previousCoverage ) 
163157    coverageMap . merge ( coverage ) 
164-     saveCoverage ( coverageMap ) 
165-     debug ( 'wrote coverage file %s' ,  nycFilename ) 
166158
167159    return  null 
168160  } , 
@@ -172,6 +164,7 @@ const tasks = {
172164   * NPM script to generate HTML report 
173165   */ 
174166  coverageReport ( )  { 
167+     saveCoverage ( coverageMap ) 
175168    if  ( ! existsSync ( nycFilename ) )  { 
176169      console . warn ( 'Cannot find coverage file %s' ,  nycFilename ) 
177170      console . warn ( 'Skipping coverage report' ) 
0 commit comments