refakts
Version:
TypeScript refactoring tool built for AI coding agents to perform precise refactoring operations via command line instead of requiring complete code regeneration.
46 lines • 1.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createGroup = exports.groupByType = exports.formatIssue = void 0;
const plugin_loader_1 = require("./plugin-loader");
const formatIssue = (issue) => issue.file && issue.line
? `${issue.file}:${issue.line} - ${issue.message}`
: issue.message;
exports.formatIssue = formatIssue;
const groupByType = (issues) => issues.reduce((groups, issue) => {
const key = getGroupKey(issue);
return groups.set(key, [...(groups.get(key) || []), issue]);
}, new Map());
exports.groupByType = groupByType;
const createGroup = (type, issues) => {
const groupDef = getGroupDefinition(type);
return {
...groupDef,
actionGuidance: `👧🏻💬 ${groupDef.actionGuidance}`,
violations: issues.map(exports.formatIssue)
};
};
exports.createGroup = createGroup;
const getGroupKey = (issue) => {
if (issue.type === 'fileSize')
return issue.severity === 'critical' ? 'criticalFiles' : 'largeFiles';
if (issue.type === 'functionSize')
return issue.severity === 'critical' ? 'criticalFunctions' : 'largeFunctions';
return issue.type;
};
const getGroupDefinition = (type) => {
const checks = (0, plugin_loader_1.loadQualityChecks)();
for (const check of checks) {
if (check.getGroupDefinition) {
const groupDef = check.getGroupDefinition(type);
if (groupDef)
return groupDef;
}
}
return defaultGroup;
};
const defaultGroup = {
title: 'OTHER ISSUES',
description: 'Miscellaneous quality issues detected.',
actionGuidance: 'Address these issues as appropriate.'
};
//# sourceMappingURL=report-functions.js.map