@samiyev/guardian
Version:
Research-backed code quality guardian for AI-assisted development. Detects hardcodes, secrets, circular deps, framework leaks, entity exposure, and 9 architecture violations. Enforces Clean Architecture/DDD principles. Works with GitHub Copilot, Cursor, W
48 lines • 2.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.StatisticsFormatter = void 0;
const constants_1 = require("../constants");
class StatisticsFormatter {
displayMetrics(metrics) {
console.log(constants_1.CLI_MESSAGES.METRICS_HEADER);
console.log(` ${constants_1.CLI_LABELS.FILES_ANALYZED} ${String(metrics.totalFiles)}`);
console.log(` ${constants_1.CLI_LABELS.TOTAL_FUNCTIONS} ${String(metrics.totalFunctions)}`);
console.log(` ${constants_1.CLI_LABELS.TOTAL_IMPORTS} ${String(metrics.totalImports)}`);
if (Object.keys(metrics.layerDistribution).length > 0) {
console.log(constants_1.CLI_MESSAGES.LAYER_DISTRIBUTION_HEADER);
for (const [layer, count] of Object.entries(metrics.layerDistribution)) {
console.log(` ${layer}: ${String(count)} ${constants_1.CLI_LABELS.FILES}`);
}
}
}
displaySummary(totalIssues, verbose) {
if (totalIssues === 0) {
console.log(constants_1.CLI_MESSAGES.NO_ISSUES);
process.exit(0);
}
else {
console.log(`${constants_1.CLI_MESSAGES.ISSUES_TOTAL} ${String(totalIssues)} ${constants_1.CLI_LABELS.ISSUES_TOTAL}`);
console.log(constants_1.CLI_MESSAGES.TIP);
if (verbose) {
console.log(constants_1.CLI_MESSAGES.HELP_FOOTER);
}
process.exit(1);
}
}
displaySeverityFilterMessage(onlyCritical, minSeverity) {
if (onlyCritical) {
console.log("\n🔴 Filtering: Showing only CRITICAL severity issues\n");
}
else if (minSeverity) {
console.log(`\n⚠️ Filtering: Showing ${minSeverity.toUpperCase()} severity and above\n`);
}
}
displayError(message) {
console.error(`\n❌ ${constants_1.CLI_MESSAGES.ERROR_PREFIX}`);
console.error(message);
console.error("");
process.exit(1);
}
}
exports.StatisticsFormatter = StatisticsFormatter;
//# sourceMappingURL=StatisticsFormatter.js.map