@liftr/tscov
Version:
Check the type coverage of any TypeScript project with this easy npm package
67 lines (66 loc) • 3.11 kB
JavaScript
;
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 ---------------');
};