UNPKG

@liftr/tscov

Version:

Check the type coverage of any TypeScript project with this easy npm package

67 lines (66 loc) 3.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.showUncoveredTypesIntro = exports.showCoverageResult = exports.showFailedError = exports.showSuccess = exports.showCommandError = exports.showDefaultError = exports.showSpacesLog = exports.showHelpLog = exports.showToolVersion = exports.showTitleAndBanner = void 0; const tslib_1 = require("tslib"); const kleur_1 = require("kleur"); const figlet = require('figlet'); const program = require('commander'); const packageJson = tslib_1.__importStar(require("../../../package.json")); const newLine = '\n'; exports.showTitleAndBanner = () => { console.log(figlet.textSync('TSCOV', { horizontalLayout: 'full' })); console.log(kleur_1.cyan(`The TypeScript CLI to calculate type coverage`)); console.log(kleur_1.white(`Busy calculating...`)); }; exports.showToolVersion = () => { console.log(`Version: ${packageJson.version}`); }; exports.showHelpLog = () => { return program .version(packageJson.version) .description(kleur_1.cyan('TypeScript CLI to calculate type coverage')) .option('-m number, --min-coverage number', 'define your minimum wanted coverage % by replacing number (0-100) with 95 for example') .option('-p <foldername>, --project <foldername>', 'Test folder') .option('-p <foldername> -f <filename>, --project <foldername> --file <filename>', 'Test specific file') .option('-d, --details', 'Show uncovered types') .option('--debug', 'Show debug info') .outputHelp(); }; exports.showSpacesLog = () => { console.log(newLine); console.log(newLine); console.log(newLine); }; exports.showDefaultError = (error, suppressError) => { if (error instanceof Error) { console.log(kleur_1.red(error.message)); } else { console.log(kleur_1.red(error)); } if (!suppressError) { process.exit(1); } }; exports.showCommandError = () => { console.error(kleur_1.red('Unknown command, run tscov -h or tscov --help for a list of commands.')); }; exports.showSuccess = (percentage) => { console.log(kleur_1.green(`${percentage.toFixed(2)}%`) + ` - coverage percentage` + kleur_1.white(`\nYou can run ` + kleur_1.cyan('"tscov --details"') + ` to show all uncovered types.`)); }; exports.showFailedError = (percentage, minCoverage) => { console.log((kleur_1.red(`${percentage.toFixed(2)}%`) + kleur_1.white(` - the type coverage rate is lower than your target: `) + kleur_1.cyan(`${minCoverage}%.`))); }; exports.showCoverageResult = (totalCount, correctCount, openCount) => { console.log(newLine); console.log(newLine); console.log('----------------- coverage ------------------'); console.log(kleur_1.cyan(`${totalCount}`) + ` - max reachable type coverage`); console.log(kleur_1.cyan(`${correctCount}`) + ` - types covered`); console.log(kleur_1.cyan(`${openCount}`) + ` - types uncovered`); console.log(newLine); }; exports.showUncoveredTypesIntro = () => { console.log(''); console.log('------------- uncovered types ---------------'); };