( rules: readonly IMetaRule[], ctx: IMetaContext )
| 8 | } |
| 9 | |
| 10 | export async function runMetaRulesAsync( |
| 11 | rules: readonly IMetaRule[], |
| 12 | ctx: IMetaContext |
| 13 | ): Promise<IViolation[]> { |
| 14 | const results: IViolation[][] = []; |
| 15 | |
| 16 | for (const rule of rules) { |
| 17 | if (rule.runAsync !== undefined) { |
| 18 | results.push(await rule.runAsync(ctx)); |
| 19 | } |
| 20 | } |
| 21 | |
| 22 | return results.flat(); |
| 23 | } |
| 24 | |
| 25 | export function printRuleCatalog(rules: readonly IMetaRule[]): void { |
| 26 | console.log("id\tcategory\tci-critical\tdescription"); |