istanbul-coverage-source-map

An istanbul tool to translate the coverage object for bundled scripts using their source map.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
istanbul-coverage-source-map
500.1.110 years ago10 years agoMinified + gzip package size for istanbul-coverage-source-map in KB

Readme

istanbul-coverage-source-map
view on npm npm module downloads per month Dependency Status
An istanbul tool to translate the coverage object for bundled scripts using their source map.

Usage

Get the coverage object after tests have been performed and then translate using this module. The example, below is based on using a gulp task runner for istanbul - gulp-istanbul-custom-reports.
var istanbul = require('gulp-istanbul-custom-reports');
var COVERAGE_VARIABLE = '$$1cov_' + new Date().getTime() + '$$';
var covObj;
var istanbulCoverageSourceMap = require('istanbul-coverage-source-map');
var sourceFiles = 'lib/bundled/**/*.js'

gulp.src(sourceFiles)
    .pipe(istanbul({coverageVariable: COVERAGE_VARIABLE})) // Covering files - must wait for finish event before continuing
    .on('finish', function () {
        gulp.src(sourceFiles)
            ... run tests
            .on('end', function () {
            
                //get original coverage object
                covObj = JSON.stringify(global[COVERAGE_VARIABLE]);

                //translate coverage object
                covObj = istanbulCoverageSourceMap(covObj);

                //pass translated coverage object back to istanbul
                global[COVERAGE_VARIABLE] = JSON.parse(covObj);

                //generate report
                gulp.src(sourceFiles)
                    .pipe(istanbul.writeReports({
                        coverageVariable: COVERAGE_VARIABLE,
                        reporters: [ 'html']
                    }))
                    .on('end', done);
            });
    });
API
istanbul-coverage-source-map
An istanbul tool to translate the coverage object for bundled scripts using their source map..
Params
  • COVOBJ Object - an istanbul coverage object
    opts Object - optional
- \[generatorPrefix=''\] Object - the protocol prefix added to the path for original sources by the source map generator.
- \[sourceMaps\] Object - an object array of source-map file mappings. If not provided the module will look for a source map in the same directory as the covered source file with the suffix .map. Object array example, { "./file1.js": "./file1.js.map", "./file2.js": "./maps/file2.js.map" }
Type: name
documented by jsdoc-to-markdown.
License
MIT License (MIT)
Copyright (c) 2014 John Barry

Dependencies

amdefine@0.1.0
- "BSD","MIT", istanbul-coverage-source-map@0.0.0 - "MIT License (MIT)", source-map-closest-match@0.1.0 - "BSD", documented by npm-licenses.