refakts
Version:
TypeScript refactoring tool built for AI coding agents to perform precise refactoring operations via command line instead of requiring complete code regeneration.
52 lines • 1.88 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.QualityChecksExtractor = void 0;
const plugin_loader_1 = require("../quality-tools/plugin-loader");
class QualityChecksExtractor {
extractQualityChecksContent() {
const qualityChecks = (0, plugin_loader_1.loadQualityChecks)();
const descriptions = new Set();
for (const check of qualityChecks) {
this.addCheckDescriptions(check, descriptions);
}
return this.formatDescriptions(descriptions);
}
addCheckDescriptions(check, descriptions) {
const groupKeys = this.getValidGroupKeys(check);
for (const groupKey of groupKeys) {
const groupDef = check.getGroupDefinition?.(groupKey);
if (groupDef) {
descriptions.add(`- **${groupDef.title}** (${groupDef.description})`);
}
}
}
formatDescriptions(descriptions) {
return descriptions.size > 0
? Array.from(descriptions).join('\n')
: '- No quality checks configured';
}
getValidGroupKeys(check) {
const possibleKeys = this.buildPossibleKeys(check);
return possibleKeys.filter(key => this.isValidKey(check, key));
}
buildPossibleKeys(check) {
return [
check.name,
`${check.name}Functions`,
`critical${check.name.charAt(0).toUpperCase() + check.name.slice(1)}`,
`large${check.name.charAt(0).toUpperCase() + check.name.slice(1)}`,
'changeFrequency',
'cohesiveChange'
];
}
isValidKey(check, key) {
try {
return Boolean(check.getGroupDefinition?.(key));
}
catch {
return false;
}
}
}
exports.QualityChecksExtractor = QualityChecksExtractor;
//# sourceMappingURL=QualityChecksExtractor.js.map