@code-pushup/eslint-plugin
Version:
Code PushUp plugin for detecting problems in source code using ESLint.📋
26 lines • 923 B
JavaScript
import { jsonHash } from './hash.js';
import { detectConfigVersion, selectRulesLoader } from './versions/index.js';
export async function listRules(targets) {
const version = await detectConfigVersion();
const loadRulesMap = selectRulesLoader(version);
const rulesMap = await targets.reduce(async (acc, target) => {
const map = await acc;
const rules = await loadRulesMap(target);
return rules.reduce(mergeRuleIntoMap, map);
}, Promise.resolve({}));
return Object.values(rulesMap).flatMap(Object.values);
}
function mergeRuleIntoMap(map, rule) {
return {
...map,
[rule.id]: {
...map[rule.id],
[jsonHash(rule.options)]: rule,
},
};
}
export function expandWildcardRules(wildcard, rules) {
const prefix = wildcard.slice(0, -1);
return rules.filter(rule => rule.startsWith(prefix));
}
//# sourceMappingURL=rules.js.map