UNPKG

coverage-badges-cli

Version:

Create coverage badges from coverage reports. Using GitHub Actions and GitHub Workflow CPU time (no 3rd parties servers).

46 lines 2.58 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const path_1 = __importDefault(require("path")); const fs_extra_1 = __importDefault(require("fs-extra")); const core_1 = require("@actions/core"); const badges_1 = require("./badges"); ; (async () => { try { const { version } = require('../package.json'); (0, core_1.info)(`coverage-badges-cli v\x1b[32;1m${version}\x1b[0m`); const output = path_1.default.resolve(process.cwd(), (0, core_1.getInput)('output') || 'coverage/badges.svg'); const source = path_1.default.resolve(process.cwd(), (0, core_1.getInput)('source') || 'coverage/coverage-summary.json'); const label = (0, core_1.getInput)('label') || 'coverage'; const labelColor = (0, core_1.getInput)('labelColor') || '555'; const color = (0, core_1.getInput)('color'); const scale = Number((0, core_1.getInput)('scale') || 1) || 1; const jsonPath = (0, core_1.getInput)('jsonPath') || 'total.statements.pct'; const style = ((0, core_1.getInput)('style') || 'classic'); fs_extra_1.default.ensureDirSync(path_1.default.dirname(output)); if (!fs_extra_1.default.existsSync(source)) { (0, core_1.setFailed)(`File \x1b[31m${source}\x1b[0m does not exist.\n please specify the file directory\n\x1b[35mnpm\x1b[0m coverage-badges-cli \x1b[33m--source\x1b[0m coverage/coverage-summary.json`); return; } (0, core_1.info)(`Source Path: \x1b[32;1m${source}\x1b[0m`); (0, core_1.info)(`Output Path: \x1b[32;1m${output}\x1b[0m`); const sourceData = fs_extra_1.default.readJSONSync(source); (0, core_1.startGroup)(`Source Path: \x1b[32;1m${source}\x1b[0m`); (0, core_1.info)(`${JSON.stringify(sourceData, null, 2)}`); (0, core_1.endGroup)(); const svgStr = (0, badges_1.badge)({ label, labelColor, color, style, jsonPath, scale }, sourceData); (0, core_1.setOutput)('svg', svgStr); (0, core_1.startGroup)(`SVG String: \x1b[32;1m${output}\x1b[0m`); (0, core_1.info)(`${svgStr}`); (0, core_1.endGroup)(); fs_extra_1.default.writeFileSync(output, svgStr); (0, core_1.info)(`\nCreate Coverage Badges: \x1b[32;1m${path_1.default.relative(process.cwd(), output)}\x1b[0m\n`); } catch (error) { (0, core_1.setFailed)(error.message); } })(); //# sourceMappingURL=action.js.map