11import type { Audit , Group } from '@code-pushup/models' ;
2+ import { formatAsciiTable , logger , pluralizeToken } from '@code-pushup/utils' ;
23import type { CustomGroup , ESLintTarget } from '../config.js' ;
4+ import { formatMetaLog } from './format.js' ;
35import {
46 groupsFromCustomConfig ,
57 groupsFromRuleCategories ,
@@ -10,24 +12,50 @@ import { ruleToAudit } from './transform.js';
1012
1113export { ruleIdToSlug } from './hash.js' ;
1214export { detectConfigVersion , type ConfigFormat } from './versions/index.js' ;
15+ export { formatMetaLog } ;
1316
1417export async function listAuditsAndGroups (
1518 targets : ESLintTarget [ ] ,
1619 customGroups ?: CustomGroup [ ] | undefined ,
1720) : Promise < { audits : Audit [ ] ; groups : Group [ ] } > {
1821 const rules = await listRules ( targets ) ;
22+ const audits = rules . map ( ruleToAudit ) ;
23+
24+ logger . info (
25+ formatMetaLog (
26+ `Found ${ pluralizeToken ( 'rule' , rules . length ) } in total for ${ pluralizeToken ( 'target' , targets . length ) } , mapped to audits` ,
27+ ) ,
28+ ) ;
1929
30+ const resolvedTypeGroups = groupsFromRuleTypes ( rules ) ;
31+ const resolvedCategoryGroups = groupsFromRuleCategories ( rules ) ;
2032 const resolvedCustomGroups = customGroups
2133 ? groupsFromCustomConfig ( rules , customGroups )
2234 : [ ] ;
23-
24- const audits = rules . map ( ruleToAudit ) ;
25-
2635 const groups = [
27- ...groupsFromRuleTypes ( rules ) ,
28- ...groupsFromRuleCategories ( rules ) ,
36+ ...resolvedTypeGroups ,
37+ ...resolvedCategoryGroups ,
2938 ...resolvedCustomGroups ,
3039 ] ;
3140
41+ logger . info (
42+ formatMetaLog (
43+ `Created ${ pluralizeToken ( 'group' , groups . length ) } (${ resolvedTypeGroups . length } from meta.type, ${ resolvedCategoryGroups . length } from meta.docs.category, ${ resolvedCustomGroups . length } from custom groups)` ,
44+ ) ,
45+ ) ;
46+ logger . debug (
47+ formatMetaLog (
48+ formatAsciiTable (
49+ {
50+ rows : groups . map ( group => [
51+ `• ${ group . title } ` ,
52+ pluralizeToken ( 'audit' , group . refs . length ) ,
53+ ] ) ,
54+ } ,
55+ { borderless : true } ,
56+ ) ,
57+ ) ,
58+ ) ;
59+
3260 return { audits, groups } ;
3361}
0 commit comments