grunt.registerMultiTask('riCover', "Typescript code coverage", function () { var options = this.data; var reports = (options || {}).reports || {}; var loadCoverage = require('remap-istanbul/lib/loadCoverage'); var remap = require('remap-istanbul/lib/remap'); var writeReport = require('remap-istanbul/lib/writeReport'); var collector = remap(loadCoverage(options.src)); //Write json writeReport(collector,'json', reports.json); //write custom type writeReport(collector, reports.type, reports.dest); });
gulp.task('remap-istanbul', ['test:mocha'], function (cb) { var loadCoverage = require('remap-istanbul/lib/loadCoverage'); var remap = require('remap-istanbul/lib/remap'); var writeReport = require('remap-istanbul/lib/writeReport'); var collector = remap(loadCoverage('coverage/coverage-final.json')); var reports = []; reports.push(writeReport(collector, 'text')); reports.push(writeReport(collector, 'text-summary')); reports.push(writeReport(collector, 'json', 'coverage/coverage-final-mapped.json')); reports.push(writeReport(collector, 'html', 'coverage/lcov-report')); reports.push(writeReport(collector, 'lcovonly', 'coverage/lcov.info')); Promise.all(reports).then(function () { console.log('Full coverage report on :'.green + ('file://' + path.resolve('./coverage/lcov-report/index.html')).yellow.underline); cb(); }); });