@kernlang/review 3.2.3 → 3.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/cache.js +140 -3
  2. package/dist/cache.js.map +1 -1
  3. package/dist/call-graph.d.ts +4 -1
  4. package/dist/call-graph.js +290 -25
  5. package/dist/call-graph.js.map +1 -1
  6. package/dist/concept-rules/contract-drift.d.ts +21 -0
  7. package/dist/concept-rules/contract-drift.js +66 -0
  8. package/dist/concept-rules/contract-drift.js.map +1 -0
  9. package/dist/concept-rules/cross-stack-utils.d.ts +50 -0
  10. package/dist/concept-rules/cross-stack-utils.js +98 -0
  11. package/dist/concept-rules/cross-stack-utils.js.map +1 -0
  12. package/dist/concept-rules/index.js +12 -1
  13. package/dist/concept-rules/index.js.map +1 -1
  14. package/dist/concept-rules/tainted-across-wire.d.ts +33 -0
  15. package/dist/concept-rules/tainted-across-wire.js +98 -0
  16. package/dist/concept-rules/tainted-across-wire.js.map +1 -0
  17. package/dist/concept-rules/untyped-api-response.d.ts +30 -0
  18. package/dist/concept-rules/untyped-api-response.js +71 -0
  19. package/dist/concept-rules/untyped-api-response.js.map +1 -0
  20. package/dist/external-tools.d.ts +36 -4
  21. package/dist/external-tools.js +79 -12
  22. package/dist/external-tools.js.map +1 -1
  23. package/dist/graph.js +149 -39
  24. package/dist/graph.js.map +1 -1
  25. package/dist/index.d.ts +29 -4
  26. package/dist/index.js +329 -47
  27. package/dist/index.js.map +1 -1
  28. package/dist/inferrer.d.ts +5 -0
  29. package/dist/inferrer.js +1 -1
  30. package/dist/inferrer.js.map +1 -1
  31. package/dist/llm-bridge.d.ts +26 -1
  32. package/dist/llm-bridge.js +42 -6
  33. package/dist/llm-bridge.js.map +1 -1
  34. package/dist/llm-review.js +29 -11
  35. package/dist/llm-review.js.map +1 -1
  36. package/dist/mappers/ts-concepts.js +278 -7
  37. package/dist/mappers/ts-concepts.js.map +1 -1
  38. package/dist/public-api.d.ts +73 -0
  39. package/dist/public-api.js +351 -0
  40. package/dist/public-api.js.map +1 -0
  41. package/dist/reporter.d.ts +5 -0
  42. package/dist/reporter.js +119 -84
  43. package/dist/reporter.js.map +1 -1
  44. package/dist/review-health.d.ts +38 -0
  45. package/dist/review-health.js +60 -0
  46. package/dist/review-health.js.map +1 -0
  47. package/dist/rules/async.js +4 -16
  48. package/dist/rules/async.js.map +1 -1
  49. package/dist/rules/base.js +112 -87
  50. package/dist/rules/base.js.map +1 -1
  51. package/dist/rules/confidence.d.ts +2 -2
  52. package/dist/rules/confidence.js +32 -15
  53. package/dist/rules/confidence.js.map +1 -1
  54. package/dist/rules/dead-code.d.ts +2 -1
  55. package/dist/rules/dead-code.js +49 -3
  56. package/dist/rules/dead-code.js.map +1 -1
  57. package/dist/rules/index.js +131 -0
  58. package/dist/rules/index.js.map +1 -1
  59. package/dist/rules/kern-source-cross-file.d.ts +2 -0
  60. package/dist/rules/kern-source-cross-file.js +102 -0
  61. package/dist/rules/kern-source-cross-file.js.map +1 -0
  62. package/dist/rules/kern-source.js +86 -9
  63. package/dist/rules/kern-source.js.map +1 -1
  64. package/dist/rules/nextjs-app-router.js +936 -31
  65. package/dist/rules/nextjs-app-router.js.map +1 -1
  66. package/dist/rules/nextjs.js +193 -10
  67. package/dist/rules/nextjs.js.map +1 -1
  68. package/dist/rules/react-composition.js +442 -61
  69. package/dist/rules/react-composition.js.map +1 -1
  70. package/dist/rules/react-hooks.js +51 -2
  71. package/dist/rules/react-hooks.js.map +1 -1
  72. package/dist/rules/react.js +265 -49
  73. package/dist/rules/react.js.map +1 -1
  74. package/dist/rules/utils.d.ts +37 -2
  75. package/dist/rules/utils.js +113 -0
  76. package/dist/rules/utils.js.map +1 -1
  77. package/dist/semantic-diff.js +1 -1
  78. package/dist/semantic-diff.js.map +1 -1
  79. package/dist/taint-ast.js +228 -4
  80. package/dist/taint-ast.js.map +1 -1
  81. package/dist/taint-crossfile.d.ts +30 -2
  82. package/dist/taint-crossfile.js +280 -59
  83. package/dist/taint-crossfile.js.map +1 -1
  84. package/dist/taint-types.d.ts +2 -1
  85. package/dist/taint-types.js +32 -2
  86. package/dist/taint-types.js.map +1 -1
  87. package/dist/taint.d.ts +1 -1
  88. package/dist/taint.js +1 -1
  89. package/dist/taint.js.map +1 -1
  90. package/dist/types.d.ts +80 -0
  91. package/dist/types.js.map +1 -1
  92. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/rules/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/rules/base.ts"],"names":[],"mappings":"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"}
@@ -18,11 +18,11 @@ declare function confidenceLow(graph: ConfidenceGraph, threshold?: number): Revi
18
18
  /** would-raise-to less than current confidence */
19
19
  declare function confidenceImpossible(graph: ConfidenceGraph): ReviewFinding[];
20
20
  /** Anonymous node (no name) has confidence=from:X — can't be referenced by others */
21
- declare function confidenceAnonymousRef(irNodes: IRNode[]): ReviewFinding[];
21
+ declare function confidenceAnonymousRef(irNodes: IRNode[], locateFile?: (node: IRNode, line: number, col: number) => string | undefined): ReviewFinding[];
22
22
  /** Duplicate name across files */
23
23
  declare function confidenceDuplicateName(graph: MultiFileConfidenceGraph): ReviewFinding[];
24
24
  /** Run all confidence lint rules against a flat list of IR nodes (single file). */
25
- export declare function lintConfidenceGraph(irNodes: IRNode[]): ReviewFinding[];
25
+ export declare function lintConfidenceGraph(irNodes: IRNode[], filePath?: string): ReviewFinding[];
26
26
  /** Run all confidence lint rules against multiple files (cross-file resolution). */
27
27
  export declare function lintMultiFileConfidenceGraph(fileMap: Map<string, IRNode[]>): ReviewFinding[];
28
28
  export declare const CONFIDENCE_RULES: {
@@ -13,14 +13,14 @@ function props(node) {
13
13
  function loc(node) {
14
14
  return { line: node.loc?.line || 0, col: node.loc?.col || 1 };
15
15
  }
16
- function finding(ruleId, severity, category, message, line, col, extra) {
16
+ function finding(ruleId, severity, category, message, line, col, file = '', extra) {
17
17
  return {
18
18
  source: 'kern',
19
19
  ruleId,
20
20
  severity,
21
21
  category,
22
22
  message,
23
- primarySpan: { file: '', startLine: line, startCol: col, endLine: line, endCol: col },
23
+ primarySpan: { file, startLine: line, startCol: col, endLine: line, endCol: col },
24
24
  fingerprint: createFingerprint(ruleId, line, col),
25
25
  ...extra,
26
26
  };
@@ -34,7 +34,7 @@ function confidenceMissingSource(graph) {
34
34
  continue;
35
35
  for (const src of cnode.spec.sources || []) {
36
36
  if (!graph.nodes.has(src)) {
37
- findings.push(finding('confidence-missing-source', 'error', 'pattern', `Confidence source '${src}' not found (referenced by '${cnode.name}')`, cnode.nodeRef.line, 1));
37
+ findings.push(finding('confidence-missing-source', 'error', 'pattern', `Confidence source '${src}' not found (referenced by '${cnode.name}')`, cnode.nodeRef.line, 1, cnode.sourceFile));
38
38
  }
39
39
  }
40
40
  }
@@ -45,7 +45,7 @@ function confidenceCycle(graph) {
45
45
  const findings = [];
46
46
  for (const cycle of graph.cycles) {
47
47
  const first = graph.nodes.get(cycle[0]);
48
- findings.push(finding('confidence-cycle', 'error', 'pattern', `Circular confidence dependency: ${cycle.join(' → ')}`, first?.nodeRef.line ?? 0, 1));
48
+ findings.push(finding('confidence-cycle', 'error', 'pattern', `Circular confidence dependency: ${cycle.join(' → ')}`, first?.nodeRef.line ?? 0, 1, first?.sourceFile ?? ''));
49
49
  }
50
50
  return findings;
51
51
  }
@@ -56,7 +56,7 @@ function confidenceNeedsUnresolved(graph) {
56
56
  const unresolvedNeeds = cnode.needs.filter((n) => !n.resolved);
57
57
  if (unresolvedNeeds.length > 0) {
58
58
  const descs = unresolvedNeeds.map((n) => n.what).join(', ');
59
- findings.push(finding('confidence-needs-unresolved', 'info', 'pattern', `'${cnode.name}' has ${unresolvedNeeds.length} unresolved need(s): ${descs}`, cnode.nodeRef.line, 1));
59
+ findings.push(finding('confidence-needs-unresolved', 'info', 'pattern', `'${cnode.name}' has ${unresolvedNeeds.length} unresolved need(s): ${descs}`, cnode.nodeRef.line, 1, cnode.sourceFile));
60
60
  }
61
61
  }
62
62
  return findings;
@@ -67,7 +67,7 @@ function confidenceLow(graph, threshold = 0.5) {
67
67
  for (const cnode of graph.nodes.values()) {
68
68
  // Guard: only fire when resolved > 0 && resolved < threshold
69
69
  if (cnode.resolved !== null && cnode.resolved > 0 && cnode.resolved < threshold) {
70
- findings.push(finding('confidence-low', 'warning', 'pattern', `'${cnode.name}' has low confidence: ${cnode.resolved}`, cnode.nodeRef.line, 1));
70
+ findings.push(finding('confidence-low', 'warning', 'pattern', `'${cnode.name}' has low confidence: ${cnode.resolved}`, cnode.nodeRef.line, 1, cnode.sourceFile));
71
71
  }
72
72
  }
73
73
  return findings;
@@ -80,14 +80,14 @@ function confidenceImpossible(graph) {
80
80
  continue;
81
81
  for (const need of cnode.needs) {
82
82
  if (need.wouldRaiseTo !== undefined && need.wouldRaiseTo < cnode.spec.value) {
83
- findings.push(finding('confidence-impossible', 'error', 'pattern', `'${cnode.name}' need "${need.what}" has would-raise-to=${need.wouldRaiseTo} which is less than current confidence ${cnode.spec.value}`, cnode.nodeRef.line, 1));
83
+ findings.push(finding('confidence-impossible', 'error', 'pattern', `'${cnode.name}' need "${need.what}" has would-raise-to=${need.wouldRaiseTo} which is less than current confidence ${cnode.spec.value}`, cnode.nodeRef.line, 1, cnode.sourceFile));
84
84
  }
85
85
  }
86
86
  }
87
87
  return findings;
88
88
  }
89
89
  /** Anonymous node (no name) has confidence=from:X — can't be referenced by others */
90
- function confidenceAnonymousRef(irNodes) {
90
+ function confidenceAnonymousRef(irNodes, locateFile) {
91
91
  const findings = [];
92
92
  for (const node of irNodes) {
93
93
  const conf = props(node).confidence;
@@ -99,7 +99,7 @@ function confidenceAnonymousRef(irNodes) {
99
99
  const spec = parseConfidence(conf);
100
100
  if (spec && spec.kind === 'inherited') {
101
101
  const { line, col } = loc(node);
102
- findings.push(finding('confidence-anonymous-ref', 'warning', 'pattern', `Anonymous ${node.type} node has inherited confidence but can't be referenced by others`, line, col));
102
+ findings.push(finding('confidence-anonymous-ref', 'warning', 'pattern', `Anonymous ${node.type} node has inherited confidence but can't be referenced by others`, line, col, locateFile?.(node, line, col) ?? ''));
103
103
  }
104
104
  }
105
105
  return findings;
@@ -108,43 +108,60 @@ function confidenceAnonymousRef(irNodes) {
108
108
  function confidenceDuplicateName(graph) {
109
109
  const findings = [];
110
110
  for (const dup of graph.duplicates) {
111
- findings.push(finding('confidence-duplicate-name', 'error', 'pattern', `Confidence node '${dup.name}' defined in multiple files: ${dup.files.join(', ')}`, 0, 1));
111
+ for (const file of dup.files) {
112
+ const relatedSpans = dup.files
113
+ .filter((other) => other !== file)
114
+ .map((other) => ({
115
+ file: other,
116
+ startLine: 1,
117
+ startCol: 1,
118
+ endLine: 1,
119
+ endCol: 1,
120
+ }));
121
+ findings.push(finding('confidence-duplicate-name', 'error', 'pattern', `Confidence node '${dup.name}' defined in multiple files: ${dup.files.join(', ')}`, 1, 1, file, { relatedSpans }));
122
+ }
112
123
  }
113
124
  return findings;
114
125
  }
115
126
  // ── Exported lint entry points ───────────────────────────────────────────
116
127
  /** Run all confidence lint rules against a flat list of IR nodes (single file). */
117
- export function lintConfidenceGraph(irNodes) {
128
+ export function lintConfidenceGraph(irNodes, filePath) {
118
129
  const hasConfidence = irNodes.some((n) => props(n).confidence !== undefined);
119
130
  if (!hasConfidence)
120
131
  return [];
121
132
  const graph = buildConfidenceGraph(irNodes);
122
- return runGraphRules(graph, irNodes);
133
+ return runGraphRules(graph, irNodes, filePath ? () => filePath : undefined);
123
134
  }
124
135
  /** Run all confidence lint rules against multiple files (cross-file resolution). */
125
136
  export function lintMultiFileConfidenceGraph(fileMap) {
126
137
  // Collect all nodes to check for confidence props
127
138
  const allNodes = [];
139
+ const nodeFiles = new Map();
128
140
  for (const nodes of fileMap.values()) {
129
141
  allNodes.push(...nodes);
130
142
  }
143
+ for (const [filePath, nodes] of fileMap) {
144
+ for (const node of nodes) {
145
+ nodeFiles.set(node, filePath);
146
+ }
147
+ }
131
148
  const hasConfidence = allNodes.some((n) => props(n).confidence !== undefined);
132
149
  if (!hasConfidence)
133
150
  return [];
134
151
  const graph = buildMultiFileConfidenceGraph(fileMap);
135
- const findings = runGraphRules(graph, allNodes);
152
+ const findings = runGraphRules(graph, allNodes, (node) => nodeFiles.get(node));
136
153
  findings.push(...confidenceDuplicateName(graph));
137
154
  return findings;
138
155
  }
139
156
  /** Shared rule runner for both single-file and multi-file graphs. */
140
- function runGraphRules(graph, allNodes) {
157
+ function runGraphRules(graph, allNodes, locateFile) {
141
158
  const findings = [];
142
159
  findings.push(...confidenceMissingSource(graph));
143
160
  findings.push(...confidenceCycle(graph));
144
161
  findings.push(...confidenceNeedsUnresolved(graph));
145
162
  findings.push(...confidenceLow(graph));
146
163
  findings.push(...confidenceImpossible(graph));
147
- findings.push(...confidenceAnonymousRef(allNodes));
164
+ findings.push(...confidenceAnonymousRef(allNodes, locateFile));
148
165
  return findings;
149
166
  }
150
167
  export const CONFIDENCE_RULES = {
@@ -1 +1 @@
1
- {"version":3,"file":"confidence.js","sourceRoot":"","sources":["../../src/rules/confidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confidence.js","sourceRoot":"","sources":["../../src/rules/confidence.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  * Confidence is adjusted based on call graph resolution quality.
6
6
  */
7
7
  import type { CallGraph } from '../call-graph.js';
8
+ import { type PublicApiMap } from '../public-api.js';
8
9
  import type { ReviewFinding } from '../types.js';
9
- export declare function deadExportRule(callGraph: CallGraph, filePath: string): ReviewFinding[];
10
+ export declare function deadExportRule(callGraph: CallGraph, filePath: string, publicApi?: PublicApiMap): ReviewFinding[];
10
11
  export declare function crossFileAsyncRule(callGraph: CallGraph, filePath: string): ReviewFinding[];
@@ -4,23 +4,38 @@
4
4
  * Requires call graph context (only available in --graph mode or --recursive with graph).
5
5
  * Confidence is adjusted based on call graph resolution quality.
6
6
  */
7
+ import { isPublicApi } from '../public-api.js';
7
8
  import { createFingerprint } from '../types.js';
8
9
  function span(file, line, col = 1) {
9
10
  return { file, startLine: line, startCol: col, endLine: line, endCol: col };
10
11
  }
11
12
  // ── Rule: dead-export ───────────────────────────────────────────────────
12
13
  // Exported function/variable that is never imported by any file in the graph.
13
- export function deadExportRule(callGraph, filePath) {
14
+ export function deadExportRule(callGraph, filePath, publicApi) {
14
15
  const findings = [];
15
16
  for (const key of callGraph.deadExports) {
16
17
  const fn = callGraph.functions.get(key);
17
18
  if (!fn || fn.filePath !== filePath)
18
19
  continue;
19
- // Skip entry point files — their exports are consumed externally
20
- // (we can't know if something is used outside the analyzed graph)
21
20
  // Skip test files
22
21
  if (fn.filePath.includes('.test.') || fn.filePath.includes('.spec.'))
23
22
  continue;
23
+ // Skip intentional public API — package.json entries, curated barrels, config overrides.
24
+ // External consumers (other packages, dynamic loaders, platform entry points) won't
25
+ // appear in the analyzed graph, so their imports can't be observed.
26
+ if (publicApi && isPublicApi(publicApi, fn.filePath, fn.name))
27
+ continue;
28
+ // Class methods inherit public-API status from their enclosing class. The
29
+ // call graph tracks `Class.method` as a separate exported symbol whose
30
+ // only cross-file callers are opaque `obj.method()` property accesses
31
+ // (unresolvable by static analysis). If the class itself is public,
32
+ // every method is reachable via the class — flagging them individually
33
+ // produces a wave of FPs on any package that ships a class.
34
+ if (publicApi && fn.name.includes('.')) {
35
+ const className = fn.name.split('.')[0];
36
+ if (isPublicApi(publicApi, fn.filePath, className))
37
+ continue;
38
+ }
24
39
  // Confidence depends on how many calls in the graph were unresolved
25
40
  // If lots of calls are unresolved, the dead export might actually be used via a dynamic path
26
41
  const totalCalls = [...callGraph.functions.values()].reduce((sum, f) => sum + f.calls.length, 0);
@@ -36,6 +51,19 @@ export function deadExportRule(callGraph, filePath) {
36
51
  fingerprint: createFingerprint('dead-export', fn.line, 1),
37
52
  confidence,
38
53
  suggestion: `Remove the export, or if used externally (by consumers of this package), add to the public API documentation.`,
54
+ provenance: {
55
+ summary: fn.calledBy.length === 0
56
+ ? `No resolved callers found in the analyzed graph for '${fn.name}'.`
57
+ : `Only unresolved callers were found for '${fn.name}'.`,
58
+ steps: [
59
+ {
60
+ kind: 'source',
61
+ location: span(filePath, fn.line),
62
+ label: `export ${fn.name}`,
63
+ detail: `Exported symbol '${fn.name}' has no resolved incoming call edges in the analyzed graph.`,
64
+ },
65
+ ],
66
+ },
39
67
  });
40
68
  }
41
69
  return findings;
@@ -64,9 +92,27 @@ export function crossFileAsyncRule(callGraph, filePath) {
64
92
  category: 'bug',
65
93
  message: `Cross-file: '${call.targetName}()' from ${target.filePath.split('/').pop()} is async but called without await`,
66
94
  primarySpan: span(filePath, call.line),
95
+ relatedSpans: [span(target.filePath, target.line)],
67
96
  fingerprint: createFingerprint('floating-promise', call.line, 2),
68
97
  confidence: 0.9,
69
98
  suggestion: `Add 'await' before the call, or use 'void' if intentionally fire-and-forget.`,
99
+ provenance: {
100
+ summary: `${fn.name}() calls async ${target.name}() across a file boundary without await.`,
101
+ steps: [
102
+ {
103
+ kind: 'call',
104
+ location: span(filePath, call.line),
105
+ label: `${fn.name}() → ${call.targetName}()`,
106
+ detail: `Cross-file call in ${filePath.split('/').pop()} is not awaited.`,
107
+ },
108
+ {
109
+ kind: 'call',
110
+ location: span(target.filePath, target.line),
111
+ label: `async ${target.name}()`,
112
+ detail: `Target function is declared async in ${target.filePath.split('/').pop()}.`,
113
+ },
114
+ ],
115
+ },
70
116
  });
71
117
  }
72
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dead-code.js","sourceRoot":"","sources":["../../src/rules/dead-code.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,SAAS,IAAI,CAAC,IAAY,EAAE,IAAY,EAAE,GAAG,GAAG,CAAC;IAC/C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC9E,CAAC;AAED,2EAA2E;AAC3E,8EAA8E;AAE9E,MAAM,UAAU,cAAc,CAAC,SAAoB,EAAE,QAAgB;IACnE,MAAM,QAAQ,GAAoB,EAAE,CAAC;IAErC,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,KAAK,QAAQ;YAAE,SAAS;QAE9C,iEAAiE;QACjE,kEAAkE;QAClE,kBAAkB;QAClB,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,SAAS;QAE/E,oEAAoE;QACpE,6FAA6F;QAC7F,MAAM,UAAU,GAAG,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACjG,MAAM,eAAe,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,MAAM,UAAU,GAAG,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAEpF,QAAQ,CAAC,IAAI,CAAC;YACZ,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,WAAW;YACrB,OAAO,EAAE,sBAAsB,EAAE,CAAC,IAAI,8CAA8C;YACpF,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC;YACpC,WAAW,EAAE,iBAAiB,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YACzD,UAAU;YACV,UAAU,EAAE,+GAA+G;SAC5H,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,2EAA2E;AAC3E,2DAA2D;AAE3D,MAAM,UAAU,kBAAkB,CAAC,SAAoB,EAAE,QAAgB;IACvE,MAAM,QAAQ,GAAoB,EAAE,CAAC;IAErC,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACzC,IAAI,EAAE,CAAC,QAAQ,KAAK,QAAQ;YAAE,SAAS;QAEvC,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAE9C,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1D,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,EAAE,OAAO;gBAAE,SAAS;YAE/B,oFAAoF;YACpF,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ;gBAAE,SAAS;YAE3C,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,kBAAkB;gBAC1B,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,gBAAgB,IAAI,CAAC,UAAU,YAAY,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,oCAAoC;gBACxH,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC;gBACtC,WAAW,EAAE,iBAAiB,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChE,UAAU,EAAE,GAAG;gBACf,UAAU,EAAE,8EAA8E;aAC3F,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"dead-code.js","sourceRoot":"","sources":["../../src/rules/dead-code.ts"],"names":[],"mappings":"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"}