@code-pushup/eslint-plugin
Version:
Code PushUp plugin for detecting problems in source code using ESLint.📋
32 lines • 1.64 kB
JavaScript
import { formatAsciiTable, logger, pluralizeToken } from '@code-pushup/utils';
import { formatMetaLog } from './format.js';
import { groupsFromCustomConfig, groupsFromRuleCategories, groupsFromRuleTypes, } from './groups.js';
import { listRules } from './rules.js';
import { ruleToAudit } from './transform.js';
export { ruleIdToSlug } from './hash.js';
export { detectConfigVersion } from './versions/index.js';
export { formatMetaLog };
export async function listAuditsAndGroups(targets, customGroups) {
const rules = await listRules(targets);
const audits = rules.map(ruleToAudit);
logger.info(formatMetaLog(`Found ${pluralizeToken('rule', rules.length)} in total for ${pluralizeToken('target', targets.length)}, mapped to audits`));
const resolvedTypeGroups = groupsFromRuleTypes(rules);
const resolvedCategoryGroups = groupsFromRuleCategories(rules);
const resolvedCustomGroups = customGroups
? groupsFromCustomConfig(rules, customGroups)
: [];
const groups = [
...resolvedTypeGroups,
...resolvedCategoryGroups,
...resolvedCustomGroups,
];
logger.info(formatMetaLog(`Created ${pluralizeToken('group', groups.length)} (${resolvedTypeGroups.length} from meta.type, ${resolvedCategoryGroups.length} from meta.docs.category, ${resolvedCustomGroups.length} from custom groups)`));
logger.debug(formatMetaLog(formatAsciiTable({
rows: groups.map(group => [
`• ${group.title}`,
pluralizeToken('audit', group.refs.length),
]),
}, { borderless: true })));
return { audits, groups };
}
//# sourceMappingURL=list.js.map