2026-08-06 09f01778d5a034e2af50ae05da8908f7b6a871c8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import { getAntipattern } from './registry/antipatterns.mjs';
 
function getAP(id) {
  return getAntipattern(id);
}
 
function finding(id, filePath, snippet, line = 0) {
  const ap = getAP(id);
  const base = { antipattern: id, name: ap.name, description: ap.description, severity: ap.severity || 'warning', category: ap.category || null, file: filePath, line, snippet };
  // Advisory findings are detected but reported separately and never counted as
  // failures. Carry the flag on the finding so every consumer (CLI, JSON, hook)
  // can partition without a registry lookup. Only stamped when true to keep the
  // finding shape stable for the vast majority of rules.
  if (ap.advisory === true) base.advisory = true;
  return base;
}
 
export { getAP, finding };