@adso-ts/badges
Version:
Jest coverage badges generator
34 lines (33 loc) • 1.57 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 colors_const_1 = require("./helpers/colors.const");
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);
}
var color = function (coverage) { return coverage >= 90
? colors_const_1.COLORS.green
: coverage >= 70
? colors_const_1.COLORS.blue
: coverage >= 50
? colors_const_1.COLORS.yellow
: colors_const_1.COLORS.red; };
function coverageBadges(coveragePath, badgesPath) {
helpers_1.readJson(coveragePath, 'total')
.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 + "%", color(average));
fs_1.writeFile(badgesPath + "/average.svg", averageBadge, helpers_1.logger);
return lodash_1.map(coverage, function (value, key) {
var coverage = lodash_1.get(value, 'pct');
var badge = helpers_1.generateBadge(coverage + "%", color(coverage), lodash_1.upperFirst(lodash_1.toString(key)));
fs_1.writeFile(badgesPath + "/" + lodash_1.toString(key) + ".svg", badge, helpers_1.logger);
});
});
}
coverageBadges(source, destination);