@adso-ts/badges
Version:
Jest coverage badges generator
29 lines (28 loc) • 1.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var yargs_1 = require("yargs");
var fs_1 = require("fs");
var lodash_1 = require("lodash");
var helpers_1 = require("./helpers");
var source = lodash_1.get(yargs_1.argv, 'read', 'coverage/coverage-summary.json');
var destination = lodash_1.get(yargs_1.argv, 'save', 'coverage');
if (!fs_1.existsSync(destination)) {
fs_1.mkdirSync(destination);
}
function generateBadges(coveragePath, badgesPath) {
helpers_1.readCoverageJson(coveragePath)
.then(function (coverage) {
var average = lodash_1.round(lodash_1.sumBy(lodash_1.values(coverage), 'pct') / lodash_1.size(coverage), 2);
var averageBadge = helpers_1.generateBadge(average);
var badgeSvgPath = badgesPath + "/average.svg";
if (fs_1.existsSync(badgeSvgPath)) {
fs_1.unlink(badgeSvgPath, helpers_1.logger);
}
fs_1.writeFile(badgeSvgPath, averageBadge, helpers_1.logger);
return lodash_1.map(coverage, function (value, key) {
var badge = helpers_1.generateBadge(lodash_1.get(value, 'pct'), lodash_1.upperFirst(lodash_1.toString(key)));
fs_1.writeFile(badgesPath + "/" + lodash_1.toString(key) + ".svg", badge, helpers_1.logger);
});
});
}
generateBadges(source, destination);