debt-collector
Version:
a nodejs tool to identify, track and mesure technical debt
26 lines (25 loc) • 877 B
JavaScript
import { findJsImportFrom, countAll, findOne, findOneOf, countAllOf, findAttributesInTag, } from '../rulesUtils/index.js';
const getAdoptionRulesResults = (config, file, data) => {
const utils = {
content: data,
file,
countAll: countAll(data),
findOne: findOne(data),
findOneOf: findOneOf(data),
countAllOf: countAllOf(data),
findJsImportFrom: findJsImportFrom(data),
findAttributesInTag: findAttributesInTag(data),
};
return (config?.adoptionRules?.reduce((acc, rule) => {
const nbMatches = rule.matchRule({ ...utils });
if (nbMatches > 0) {
acc.push({
ruleTitle: rule.title,
ruleId: rule.id,
occurences: nbMatches,
});
}
return acc;
}, []) ?? []);
};
export default getAdoptionRulesResults;