@opensip-cli/graph 0.1.13 → 0.1.15

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 (262) hide show
  1. package/README.md +2 -2
  2. package/dist/__tests__/baseline-plane.test.js +5 -1
  3. package/dist/__tests__/baseline-plane.test.js.map +1 -1
  4. package/dist/__tests__/cli/contribution-from-signals.test.js +15 -2
  5. package/dist/__tests__/cli/contribution-from-signals.test.js.map +1 -1
  6. package/dist/__tests__/cli/graph-config.test.js +6 -2
  7. package/dist/__tests__/cli/graph-config.test.js.map +1 -1
  8. package/dist/__tests__/cli/graph-execute.test.js +25 -5
  9. package/dist/__tests__/cli/graph-execute.test.js.map +1 -1
  10. package/dist/__tests__/cli/graph.test.js +42 -7
  11. package/dist/__tests__/cli/graph.test.js.map +1 -1
  12. package/dist/__tests__/cli/language-mismatch.test.js +8 -2
  13. package/dist/__tests__/cli/language-mismatch.test.js.map +1 -1
  14. package/dist/__tests__/cli/orchestrate.test.js +51 -9
  15. package/dist/__tests__/cli/orchestrate.test.js.map +1 -1
  16. package/dist/__tests__/cli/pressure-monitor.test.js +4 -1
  17. package/dist/__tests__/cli/pressure-monitor.test.js.map +1 -1
  18. package/dist/__tests__/cli/sarif-export.test.js.map +1 -1
  19. package/dist/__tests__/cli/symbol-index.test.js +15 -3
  20. package/dist/__tests__/cli/symbol-index.test.js.map +1 -1
  21. package/dist/__tests__/cli/workspace-runner-polyglot.test.js +25 -5
  22. package/dist/__tests__/cli/workspace-runner-polyglot.test.js.map +1 -1
  23. package/dist/__tests__/internal-surface.test.js +10 -0
  24. package/dist/__tests__/internal-surface.test.js.map +1 -1
  25. package/dist/__tests__/lang-adapter/registry.test.js.map +1 -1
  26. package/dist/__tests__/persistence/catalog-repo.test.js +8 -1
  27. package/dist/__tests__/persistence/catalog-repo.test.js.map +1 -1
  28. package/dist/__tests__/persistence/session-payload.test.js +44 -6
  29. package/dist/__tests__/persistence/session-payload.test.js.map +1 -1
  30. package/dist/__tests__/persistence/session-replay.test.js +28 -5
  31. package/dist/__tests__/persistence/session-replay.test.js.map +1 -1
  32. package/dist/__tests__/render/catalog-json.test.js.map +1 -1
  33. package/dist/__tests__/render/sarif-opensip.test.js +10 -2
  34. package/dist/__tests__/render/sarif-opensip.test.js.map +1 -1
  35. package/dist/__tests__/resolution-mode.test.js +5 -1
  36. package/dist/__tests__/resolution-mode.test.js.map +1 -1
  37. package/dist/__tests__/resolve-callee.test.js.map +1 -1
  38. package/dist/__tests__/rules/_entry-points.test.js +30 -6
  39. package/dist/__tests__/rules/_entry-points.test.js.map +1 -1
  40. package/dist/__tests__/rules/cycle-and-coupling.test.js +40 -6
  41. package/dist/__tests__/rules/cycle-and-coupling.test.js.map +1 -1
  42. package/dist/__tests__/rules/duplicated-function-body-config.test.js +50 -8
  43. package/dist/__tests__/rules/duplicated-function-body-config.test.js.map +1 -1
  44. package/dist/__tests__/rules/duplicated-function-body-cross-package.test.js +64 -11
  45. package/dist/__tests__/rules/duplicated-function-body-cross-package.test.js.map +1 -1
  46. package/dist/__tests__/rules/duplicated-function-body-self-match.test.js +5 -1
  47. package/dist/__tests__/rules/duplicated-function-body-self-match.test.js.map +1 -1
  48. package/dist/__tests__/rules/feature-column-parity.test.js +24 -5
  49. package/dist/__tests__/rules/feature-column-parity.test.js.map +1 -1
  50. package/dist/__tests__/rules/high-blast-untested.test.js +20 -4
  51. package/dist/__tests__/rules/high-blast-untested.test.js.map +1 -1
  52. package/dist/__tests__/rules/large-function.test.js +4 -1
  53. package/dist/__tests__/rules/large-function.test.js.map +1 -1
  54. package/dist/__tests__/rules/no-side-effect-path.test.js +164 -33
  55. package/dist/__tests__/rules/no-side-effect-path.test.js.map +1 -1
  56. package/dist/__tests__/rules/orphan-subtree-config.test.js +27 -6
  57. package/dist/__tests__/rules/orphan-subtree-config.test.js.map +1 -1
  58. package/dist/__tests__/rules/severity-override.test.js +18 -4
  59. package/dist/__tests__/rules/severity-override.test.js.map +1 -1
  60. package/dist/__tests__/rules/test-only-reachable.test.js +25 -5
  61. package/dist/__tests__/rules/test-only-reachable.test.js.map +1 -1
  62. package/dist/__tests__/rules/wide-function.test.js +10 -2
  63. package/dist/__tests__/rules/wide-function.test.js.map +1 -1
  64. package/dist/__tests__/test-utils/with-graph-scope.d.ts.map +1 -1
  65. package/dist/__tests__/test-utils/with-graph-scope.js +4 -1
  66. package/dist/__tests__/test-utils/with-graph-scope.js.map +1 -1
  67. package/dist/__tests__/tool-branches.test.js +14 -3
  68. package/dist/__tests__/tool-branches.test.js.map +1 -1
  69. package/dist/__tests__/tool-register.test.js +24 -6
  70. package/dist/__tests__/tool-register.test.js.map +1 -1
  71. package/dist/__tests__/tool.test.js +2 -0
  72. package/dist/__tests__/tool.test.js.map +1 -1
  73. package/dist/cache/invalidate.d.ts +13 -0
  74. package/dist/cache/invalidate.d.ts.map +1 -1
  75. package/dist/cache/invalidate.js +7 -0
  76. package/dist/cache/invalidate.js.map +1 -1
  77. package/dist/cli/__tests__/build-envelope.test.js +8 -2
  78. package/dist/cli/__tests__/build-envelope.test.js.map +1 -1
  79. package/dist/cli/__tests__/equivalence-diagnostic.test.js +30 -7
  80. package/dist/cli/__tests__/equivalence-diagnostic.test.js.map +1 -1
  81. package/dist/cli/__tests__/graph-command-plan.test.js +9 -0
  82. package/dist/cli/__tests__/graph-command-plan.test.js.map +1 -1
  83. package/dist/cli/__tests__/graph-config-schema.test.js +9 -3
  84. package/dist/cli/__tests__/graph-config-schema.test.js.map +1 -1
  85. package/dist/cli/__tests__/graph-report.test.js +17 -3
  86. package/dist/cli/__tests__/graph-report.test.js.map +1 -1
  87. package/dist/cli/__tests__/graph-tracer.test.js +6 -1
  88. package/dist/cli/__tests__/graph-tracer.test.js.map +1 -1
  89. package/dist/cli/__tests__/impact.test.d.ts +2 -0
  90. package/dist/cli/__tests__/impact.test.d.ts.map +1 -0
  91. package/dist/cli/__tests__/impact.test.js +210 -0
  92. package/dist/cli/__tests__/impact.test.js.map +1 -0
  93. package/dist/cli/__tests__/orchestrate-spans.test.js +9 -2
  94. package/dist/cli/__tests__/orchestrate-spans.test.js.map +1 -1
  95. package/dist/cli/__tests__/shard-worker.test.js +4 -1
  96. package/dist/cli/__tests__/shard-worker.test.js.map +1 -1
  97. package/dist/cli/detect.d.ts.map +1 -1
  98. package/dist/cli/detect.js +5 -1
  99. package/dist/cli/detect.js.map +1 -1
  100. package/dist/cli/equivalence-diagnostic.d.ts.map +1 -1
  101. package/dist/cli/equivalence-diagnostic.js +13 -3
  102. package/dist/cli/equivalence-diagnostic.js.map +1 -1
  103. package/dist/cli/graph/graph-aux-command-specs.d.ts +2 -0
  104. package/dist/cli/graph/graph-aux-command-specs.d.ts.map +1 -1
  105. package/dist/cli/graph/graph-aux-command-specs.js +57 -0
  106. package/dist/cli/graph/graph-aux-command-specs.js.map +1 -1
  107. package/dist/cli/graph/graph-command-spec.d.ts.map +1 -1
  108. package/dist/cli/graph/graph-command-spec.js +5 -1
  109. package/dist/cli/graph/graph-command-spec.js.map +1 -1
  110. package/dist/cli/graph-modes.d.ts.map +1 -1
  111. package/dist/cli/graph-modes.js +5 -1
  112. package/dist/cli/graph-modes.js.map +1 -1
  113. package/dist/cli/graph-options.d.ts +6 -0
  114. package/dist/cli/graph-options.d.ts.map +1 -1
  115. package/dist/cli/graph-progress.d.ts.map +1 -1
  116. package/dist/cli/graph-progress.js +5 -1
  117. package/dist/cli/graph-progress.js.map +1 -1
  118. package/dist/cli/graph-report.d.ts.map +1 -1
  119. package/dist/cli/graph-report.js +7 -2
  120. package/dist/cli/graph-report.js.map +1 -1
  121. package/dist/cli/graph-result-delivery.d.ts.map +1 -1
  122. package/dist/cli/graph-result-delivery.js +21 -3
  123. package/dist/cli/graph-result-delivery.js.map +1 -1
  124. package/dist/cli/impact.d.ts +23 -0
  125. package/dist/cli/impact.d.ts.map +1 -0
  126. package/dist/cli/impact.js +134 -0
  127. package/dist/cli/impact.js.map +1 -0
  128. package/dist/cli/orchestrate/__tests__/_equivalence-harness.d.ts.map +1 -1
  129. package/dist/cli/orchestrate/__tests__/_equivalence-harness.js +21 -4
  130. package/dist/cli/orchestrate/__tests__/_equivalence-harness.js.map +1 -1
  131. package/dist/cli/orchestrate/__tests__/_flat-large-fixture.d.ts.map +1 -1
  132. package/dist/cli/orchestrate/__tests__/_flat-large-fixture.js +12 -2
  133. package/dist/cli/orchestrate/__tests__/_flat-large-fixture.js.map +1 -1
  134. package/dist/cli/orchestrate/__tests__/catalog-builder-incremental.test.js +14 -3
  135. package/dist/cli/orchestrate/__tests__/catalog-builder-incremental.test.js.map +1 -1
  136. package/dist/cli/orchestrate/__tests__/cross-shard-resolve.test.js +5 -1
  137. package/dist/cli/orchestrate/__tests__/cross-shard-resolve.test.js.map +1 -1
  138. package/dist/cli/orchestrate/__tests__/determinism.test.js +8 -1
  139. package/dist/cli/orchestrate/__tests__/determinism.test.js.map +1 -1
  140. package/dist/cli/orchestrate/__tests__/edge-identity.test.js +8 -1
  141. package/dist/cli/orchestrate/__tests__/edge-identity.test.js.map +1 -1
  142. package/dist/cli/orchestrate/__tests__/equivalence-check.test.js +22 -3
  143. package/dist/cli/orchestrate/__tests__/equivalence-check.test.js.map +1 -1
  144. package/dist/cli/orchestrate/__tests__/equivalence-repo-scale.test.js +5 -1
  145. package/dist/cli/orchestrate/__tests__/equivalence-repo-scale.test.js.map +1 -1
  146. package/dist/cli/orchestrate/__tests__/equivalence.test.js +9 -2
  147. package/dist/cli/orchestrate/__tests__/equivalence.test.js.map +1 -1
  148. package/dist/cli/orchestrate/__tests__/flat-large-fixture.test.js +5 -1
  149. package/dist/cli/orchestrate/__tests__/flat-large-fixture.test.js.map +1 -1
  150. package/dist/cli/orchestrate/__tests__/layout-equivalence.test.js +5 -1
  151. package/dist/cli/orchestrate/__tests__/layout-equivalence.test.js.map +1 -1
  152. package/dist/cli/orchestrate/__tests__/partition-files.test.js +10 -2
  153. package/dist/cli/orchestrate/__tests__/partition-files.test.js.map +1 -1
  154. package/dist/cli/orchestrate/__tests__/resolution-completeness-floor.test.js +5 -1
  155. package/dist/cli/orchestrate/__tests__/resolution-completeness-floor.test.js.map +1 -1
  156. package/dist/cli/orchestrate/__tests__/shard-runner-correlation.test.js +3 -1
  157. package/dist/cli/orchestrate/__tests__/shard-runner-correlation.test.js.map +1 -1
  158. package/dist/cli/orchestrate/catalog-builder.d.ts.map +1 -1
  159. package/dist/cli/orchestrate/catalog-builder.js +4 -1
  160. package/dist/cli/orchestrate/catalog-builder.js.map +1 -1
  161. package/dist/cli/orchestrate/cross-shard-resolve.d.ts.map +1 -1
  162. package/dist/cli/orchestrate/cross-shard-resolve.js +5 -1
  163. package/dist/cli/orchestrate/cross-shard-resolve.js.map +1 -1
  164. package/dist/cli/orchestrate/edge-identity.d.ts.map +1 -1
  165. package/dist/cli/orchestrate/edge-identity.js.map +1 -1
  166. package/dist/cli/orchestrate/partition-files.d.ts.map +1 -1
  167. package/dist/cli/orchestrate/partition-files.js +4 -1
  168. package/dist/cli/orchestrate/partition-files.js.map +1 -1
  169. package/dist/cli/shard-worker.d.ts.map +1 -1
  170. package/dist/cli/shard-worker.js +3 -1
  171. package/dist/cli/shard-worker.js.map +1 -1
  172. package/dist/cli/symbol-index.d.ts +26 -3
  173. package/dist/cli/symbol-index.d.ts.map +1 -1
  174. package/dist/cli/symbol-index.js +31 -0
  175. package/dist/cli/symbol-index.js.map +1 -1
  176. package/dist/cli/workspace-report.d.ts.map +1 -1
  177. package/dist/cli/workspace-report.js +4 -1
  178. package/dist/cli/workspace-report.js.map +1 -1
  179. package/dist/cross-package/export-index.js +8 -2
  180. package/dist/cross-package/export-index.js.map +1 -1
  181. package/dist/graph-catalog-thunk.d.ts +4 -0
  182. package/dist/graph-catalog-thunk.d.ts.map +1 -0
  183. package/dist/graph-catalog-thunk.js +23 -0
  184. package/dist/graph-catalog-thunk.js.map +1 -0
  185. package/dist/internal.d.ts +5 -0
  186. package/dist/internal.d.ts.map +1 -1
  187. package/dist/internal.js +18 -0
  188. package/dist/internal.js.map +1 -1
  189. package/dist/persistence/__tests__/shard-fragment-cache.test.js +6 -1
  190. package/dist/persistence/__tests__/shard-fragment-cache.test.js.map +1 -1
  191. package/dist/persistence/session-payload.d.ts +3 -3
  192. package/dist/persistence/session-payload.d.ts.map +1 -1
  193. package/dist/persistence/session-payload.js +3 -19
  194. package/dist/persistence/session-payload.js.map +1 -1
  195. package/dist/pipeline/__tests__/constrain-edges.test.js +51 -9
  196. package/dist/pipeline/__tests__/constrain-edges.test.js.map +1 -1
  197. package/dist/pipeline/__tests__/features.test.js +74 -12
  198. package/dist/pipeline/__tests__/features.test.js.map +1 -1
  199. package/dist/pipeline/__tests__/indexes-imports.test.js +18 -3
  200. package/dist/pipeline/__tests__/indexes-imports.test.js.map +1 -1
  201. package/dist/pipeline/assign-packages.d.ts.map +1 -1
  202. package/dist/pipeline/assign-packages.js +4 -1
  203. package/dist/pipeline/assign-packages.js.map +1 -1
  204. package/dist/pipeline/features.d.ts.map +1 -1
  205. package/dist/pipeline/features.js +6 -1
  206. package/dist/pipeline/features.js.map +1 -1
  207. package/dist/recipes/__tests__/registry.test.js +4 -1
  208. package/dist/recipes/__tests__/registry.test.js.map +1 -1
  209. package/dist/recipes/__tests__/resolve.test.js +3 -1
  210. package/dist/recipes/__tests__/resolve.test.js.map +1 -1
  211. package/dist/recipes/built-in-recipes.d.ts +4 -0
  212. package/dist/recipes/built-in-recipes.d.ts.map +1 -1
  213. package/dist/recipes/built-in-recipes.js +30 -1
  214. package/dist/recipes/built-in-recipes.js.map +1 -1
  215. package/dist/recipes/registry.d.ts.map +1 -1
  216. package/dist/recipes/registry.js +4 -1
  217. package/dist/recipes/registry.js.map +1 -1
  218. package/dist/rules/__tests__/create-graph-signal.test.js +3 -1
  219. package/dist/rules/__tests__/create-graph-signal.test.js.map +1 -1
  220. package/dist/rules/__tests__/define-rule.test.js +15 -3
  221. package/dist/rules/__tests__/define-rule.test.js.map +1 -1
  222. package/dist/rules/__tests__/evaluate-rules.test.js +10 -2
  223. package/dist/rules/__tests__/evaluate-rules.test.js.map +1 -1
  224. package/dist/rules/__tests__/near-duplicate-function-body.test.js +6 -1
  225. package/dist/rules/__tests__/near-duplicate-function-body.test.js.map +1 -1
  226. package/dist/rules/__tests__/registry.test.js +4 -1
  227. package/dist/rules/__tests__/registry.test.js.map +1 -1
  228. package/dist/rules/__tests__/rule-behaviors.test.js +40 -8
  229. package/dist/rules/__tests__/rule-behaviors.test.js.map +1 -1
  230. package/dist/rules/create-graph-signal.d.ts +2 -1
  231. package/dist/rules/create-graph-signal.d.ts.map +1 -1
  232. package/dist/rules/create-graph-signal.js +1 -0
  233. package/dist/rules/create-graph-signal.js.map +1 -1
  234. package/dist/rules/cycle.d.ts.map +1 -1
  235. package/dist/rules/cycle.js +6 -1
  236. package/dist/rules/cycle.js.map +1 -1
  237. package/dist/rules/cycle.memberlocations.test.js +18 -3
  238. package/dist/rules/cycle.memberlocations.test.js.map +1 -1
  239. package/dist/rules/define-rule.d.ts.map +1 -1
  240. package/dist/rules/define-rule.js +7 -1
  241. package/dist/rules/define-rule.js.map +1 -1
  242. package/dist/rules/duplicated-function-body.js +5 -1
  243. package/dist/rules/duplicated-function-body.js.map +1 -1
  244. package/dist/rules/high-blast-untested.d.ts.map +1 -1
  245. package/dist/rules/high-blast-untested.js +1 -0
  246. package/dist/rules/high-blast-untested.js.map +1 -1
  247. package/dist/rules/large-function.d.ts.map +1 -1
  248. package/dist/rules/large-function.js +6 -0
  249. package/dist/rules/large-function.js.map +1 -1
  250. package/dist/rules/near-duplicate-function-body.d.ts.map +1 -1
  251. package/dist/rules/near-duplicate-function-body.js +5 -1
  252. package/dist/rules/near-duplicate-function-body.js.map +1 -1
  253. package/dist/rules/unexpected-coupling.d.ts.map +1 -1
  254. package/dist/rules/unexpected-coupling.js +0 -0
  255. package/dist/rules/unexpected-coupling.js.map +1 -1
  256. package/dist/rules/wide-function.d.ts.map +1 -1
  257. package/dist/rules/wide-function.js +1 -0
  258. package/dist/rules/wide-function.js.map +1 -1
  259. package/dist/tool.d.ts.map +1 -1
  260. package/dist/tool.js +11 -2
  261. package/dist/tool.js.map +1 -1
  262. package/package.json +71 -10
@@ -17,7 +17,11 @@ const INDEXES = { byBodyHash: new Map() };
17
17
  const CONFIG = {};
18
18
  describe('defineRule', () => {
19
19
  it('returns an object satisfying the Rule interface', () => {
20
- const rule = defineRule({ slug: 'graph:demo', defaultSeverity: 'warning', evaluate: () => [] });
20
+ const rule = defineRule({
21
+ slug: 'graph:demo',
22
+ defaultSeverity: 'warning',
23
+ evaluate: () => [],
24
+ });
21
25
  expect(rule.slug).toBe('graph:demo');
22
26
  expect(rule.defaultSeverity).toBe('warning');
23
27
  expect(typeof rule.evaluate).toBe('function');
@@ -85,11 +89,19 @@ describe('defineRule', () => {
85
89
  expect(rule.evaluate(CATALOG, INDEXES, CONFIG, undefined)).toEqual([sig]);
86
90
  });
87
91
  it('throws ValidationError on an invalid slug', () => {
88
- expect(() => defineRule({ slug: 'demo', defaultSeverity: 'warning', evaluate: () => [] })).toThrow(ValidationError);
92
+ expect(() => defineRule({
93
+ slug: 'demo',
94
+ defaultSeverity: 'warning',
95
+ evaluate: () => [],
96
+ })).toThrow(ValidationError);
89
97
  expect(() => defineRule({ slug: '', defaultSeverity: 'warning', evaluate: () => [] })).toThrow(ValidationError);
90
98
  });
91
99
  it('throws ValidationError on an invalid defaultSeverity', () => {
92
- expect(() => defineRule({ slug: 'graph:demo', defaultSeverity: 'fatal', evaluate: () => [] })).toThrow(ValidationError);
100
+ expect(() => defineRule({
101
+ slug: 'graph:demo',
102
+ defaultSeverity: 'fatal',
103
+ evaluate: () => [],
104
+ })).toThrow(ValidationError);
93
105
  });
94
106
  it('throws ValidationError when evaluate is not a function', () => {
95
107
  expect(() => defineRule({
@@ -1 +1 @@
1
- {"version":3,"file":"define-rule.test.js","sourceRoot":"","sources":["../../../src/rules/__tests__/define-rule.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define-rule.test.js","sourceRoot":"","sources":["../../../src/rules/__tests__/define-rule.test.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,11 @@ const INDEXES = {
34
34
  callers: new Map(),
35
35
  };
36
36
  function sig(slug, message) {
37
- return createGraphSignal(slug, CONFIG, { severity: 'low', category: 'quality', message });
37
+ return createGraphSignal(slug, CONFIG, {
38
+ severity: 'low',
39
+ category: 'quality',
40
+ message,
41
+ });
38
42
  }
39
43
  /** A rule whose `evaluate` returns a fixed signal list (ignores its inputs). */
40
44
  function fakeRule(slug, signals) {
@@ -59,7 +63,11 @@ describe('evaluateRules', () => {
59
63
  fakeRule('graph:b', [b1, b2]),
60
64
  fakeRule('graph:c', [c]),
61
65
  ];
62
- const out = evaluateRules(rules, { catalog: CATALOG, indexes: INDEXES, config: CONFIG });
66
+ const out = evaluateRules(rules, {
67
+ catalog: CATALOG,
68
+ indexes: INDEXES,
69
+ config: CONFIG,
70
+ });
63
71
  expect(out).toEqual([a, b1, b2, c]);
64
72
  });
65
73
  it('emits one graph.rule.evaluated debug event per rule, in order', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate-rules.test.js","sourceRoot":"","sources":["../../../src/rules/__tests__/evaluate-rules.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluate-rules.test.js","sourceRoot":"","sources":["../../../src/rules/__tests__/evaluate-rules.test.ts"],"names":[],"mappings":"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"}
@@ -133,7 +133,12 @@ describe('near-duplicate-function-body', () => {
133
133
  // 128 / 7 is fractional → band slicing would be misaligned. The integer guard
134
134
  // must reject it (the schema also refuses this value at config load).
135
135
  const a = withSignature({ bodyHash: 'hash-a', simpleName: 'pA', filePath: 'src/a.ts' }, BASE_BODY);
136
- const b = withSignature({ bodyHash: 'hash-b', simpleName: 'pB', filePath: 'src/b.ts', qualifiedName: 'src/b.pB' }, NEAR_BODY);
136
+ const b = withSignature({
137
+ bodyHash: 'hash-b',
138
+ simpleName: 'pB',
139
+ filePath: 'src/b.ts',
140
+ qualifiedName: 'src/b.pB',
141
+ }, NEAR_BODY);
137
142
  expect(evaluateNear(makeCatalog([a, b]), { nearDuplicateLshBands: 7 })).toHaveLength(0);
138
143
  // ...but the same pair IS flagged with a valid divisor.
139
144
  expect(evaluateNear(makeCatalog([a, b]), { nearDuplicateLshBands: 16 })).toHaveLength(1);
@@ -1 +1 @@
1
- {"version":3,"file":"near-duplicate-function-body.test.js","sourceRoot":"","sources":["../../../src/rules/__tests__/near-duplicate-function-body.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"near-duplicate-function-body.test.js","sourceRoot":"","sources":["../../../src/rules/__tests__/near-duplicate-function-body.test.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,10 @@ import { createRulesRegistry, currentRules } from '../registry.js';
10
10
  * `@opensip-cli/core/test-utils` helper (ADR-0040: that sugar moved to
11
11
  * `@opensip-cli/test-support`, which this package's tests cannot use
12
12
  * without coupling its test graph to the fitness engine). */
13
- const makeTestScope = () => new RunScope({ languages: new LanguageRegistry(), tools: new ToolRegistry() });
13
+ const makeTestScope = () => new RunScope({
14
+ languages: new LanguageRegistry(),
15
+ tools: new ToolRegistry(),
16
+ });
14
17
  describe('GraphRulesRegistry', () => {
15
18
  it('seeds the built-in rules on construction', () => {
16
19
  const registry = createRulesRegistry();
@@ -1 +1 @@
1
- {"version":3,"file":"registry.test.js","sourceRoot":"","sources":["../../../src/rules/__tests__/registry.test.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnE;;;8DAG8D;AAC9D,MAAM,aAAa,GAAG,GAAa,EAAE,CACnC,IAAI,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,gBAAgB,EAAE,EAAE,KAAK,EAAE,IAAI,YAAY,EAAE,EAAE,CAAC,CAAC;AAEjF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACtC,oDAAoD;QACpD,KAAK,MAAM,IAAI,IAAI,GAAG;YAAE,MAAM,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,KAAK,GAAG,gBAAgB,CAAC,kBAAkB,EAAE,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;QAC3E,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,mEAAmE;QACnE,MAAM,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,OAAO,CAC3E,yBAAyB,CAC1B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"registry.test.js","sourceRoot":"","sources":["../../../src/rules/__tests__/registry.test.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnE;;;8DAG8D;AAC9D,MAAM,aAAa,GAAG,GAAa,EAAE,CACnC,IAAI,QAAQ,CAAC;IACX,SAAS,EAAE,IAAI,gBAAgB,EAAE;IACjC,KAAK,EAAE,IAAI,YAAY,EAAE;CAC1B,CAAC,CAAC;AAEL,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACtC,oDAAoD;QACpD,KAAK,MAAM,IAAI,IAAI,GAAG;YAAE,MAAM,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,KAAK,GAAG,gBAAgB,CAAC,kBAAkB,EAAE,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;QAC3E,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,mEAAmE;QACnE,MAAM,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,OAAO,CAC3E,yBAAyB,CAC1B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -69,8 +69,16 @@ function pureCatalog() {
69
69
  endLine: 20,
70
70
  calls: [edge('LEAF1'), edge('LEAF2')],
71
71
  });
72
- const leaf1 = occ({ bodyHash: 'LEAF1', simpleName: 'leaf1', visibility: 'module-local' });
73
- const leaf2 = occ({ bodyHash: 'LEAF2', simpleName: 'leaf2', visibility: 'module-local' });
72
+ const leaf1 = occ({
73
+ bodyHash: 'LEAF1',
74
+ simpleName: 'leaf1',
75
+ visibility: 'module-local',
76
+ });
77
+ const leaf2 = occ({
78
+ bodyHash: 'LEAF2',
79
+ simpleName: 'leaf2',
80
+ visibility: 'module-local',
81
+ });
74
82
  const caller = occ({
75
83
  bodyHash: 'CALLER',
76
84
  simpleName: 'driver',
@@ -102,7 +110,11 @@ describe('noSideEffectPathRule', () => {
102
110
  visibility: 'module-local',
103
111
  calls: [edge('X', { text: 'print(x)' })],
104
112
  }),
105
- occ({ bodyHash: 'LEAF2', simpleName: 'leaf2', visibility: 'module-local' }),
113
+ occ({
114
+ bodyHash: 'LEAF2',
115
+ simpleName: 'leaf2',
116
+ visibility: 'module-local',
117
+ }),
106
118
  occ({
107
119
  bodyHash: 'CALLER',
108
120
  simpleName: 'driver',
@@ -122,8 +134,16 @@ describe('noSideEffectPathRule', () => {
122
134
  endLine: 20,
123
135
  calls: [edge('LEAF1'), edge('LEAF2')],
124
136
  }),
125
- occ({ bodyHash: 'LEAF1', simpleName: 'leaf1', visibility: 'module-local' }),
126
- occ({ bodyHash: 'LEAF2', simpleName: 'leaf2', visibility: 'module-local' }),
137
+ occ({
138
+ bodyHash: 'LEAF1',
139
+ simpleName: 'leaf1',
140
+ visibility: 'module-local',
141
+ }),
142
+ occ({
143
+ bodyHash: 'LEAF2',
144
+ simpleName: 'leaf2',
145
+ visibility: 'module-local',
146
+ }),
127
147
  occ({
128
148
  bodyHash: 'CALLER',
129
149
  simpleName: 'driver',
@@ -139,7 +159,11 @@ describe('orphanSubtreeRule', () => {
139
159
  it('flags a module-local function unreachable from any entry point', () => {
140
160
  // entry (exported, uncalled) → reachable; orphan (module-local, uncalled) → orphan.
141
161
  const entry = occ({ bodyHash: 'ENTRY', simpleName: 'run', calls: [] });
142
- const orphan = occ({ bodyHash: 'ORPHAN', simpleName: 'dead', visibility: 'module-local' });
162
+ const orphan = occ({
163
+ bodyHash: 'ORPHAN',
164
+ simpleName: 'dead',
165
+ visibility: 'module-local',
166
+ });
143
167
  const catalog = catalogOf([entry, orphan]);
144
168
  const signals = orphanSubtreeRule.evaluate(catalog, buildIndexes(catalog), EMPTY_CONFIG, undefined);
145
169
  const names = signals.map((s) => s.metadata?.simpleName);
@@ -162,7 +186,11 @@ describe('testOnlyReachableRule', () => {
162
186
  it('flags a module-local function whose only caller is a test file', () => {
163
187
  // A production entry that reaches `prodReached` keeps it off the list;
164
188
  // `testFixture` is module-local and reached only from a test-file caller.
165
- const entry = occ({ bodyHash: 'ENTRY', simpleName: 'run', calls: [edge('PRODREACHED')] });
189
+ const entry = occ({
190
+ bodyHash: 'ENTRY',
191
+ simpleName: 'run',
192
+ calls: [edge('PRODREACHED')],
193
+ });
166
194
  const prodReached = occ({
167
195
  bodyHash: 'PRODREACHED',
168
196
  simpleName: 'prodReached',
@@ -195,7 +223,11 @@ describe('testOnlyReachableRule', () => {
195
223
  visibility: 'module-local',
196
224
  calls: [edge('API')],
197
225
  });
198
- const exportedApi = occ({ bodyHash: 'API', simpleName: 'publicApi', visibility: 'exported' });
226
+ const exportedApi = occ({
227
+ bodyHash: 'API',
228
+ simpleName: 'publicApi',
229
+ visibility: 'exported',
230
+ });
199
231
  const catalog = catalogOf([exportedApi, testCaller]);
200
232
  const signals = testOnlyReachableRule.evaluate(catalog, buildIndexes(catalog), EMPTY_CONFIG, undefined);
201
233
  expect(signals.map((s) => s.metadata?.qualifiedName)).not.toContain('src/a.publicApi');
@@ -1 +1 @@
1
- {"version":3,"file":"rule-behaviors.test.js","sourceRoot":"","sources":["../../../src/rules/__tests__/rule-behaviors.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rule-behaviors.test.js","sourceRoot":"","sources":["../../../src/rules/__tests__/rule-behaviors.test.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@
13
13
  * The `body.severity` is the rule's per-signal CHOICE (its data, not identity);
14
14
  * the override (`GraphConfig.severityOverrides[slug]`) is applied on top here.
15
15
  */
16
- import { type Signal, type SignalCategory, type SignalSeverity } from '@opensip-cli/core';
16
+ import { type Signal, type SignalCategory, type SignalRepair, type SignalSeverity } from '@opensip-cli/core';
17
17
  import type { GraphConfig } from '../types.js';
18
18
  /** The per-signal data a graph rule supplies — everything EXCEPT the stamped identity. */
19
19
  export interface GraphSignalBody {
@@ -28,6 +28,7 @@ export interface GraphSignalBody {
28
28
  };
29
29
  readonly suggestion?: string;
30
30
  readonly metadata?: Record<string, unknown>;
31
+ readonly repair?: SignalRepair;
31
32
  }
32
33
  /**
33
34
  * Build a graph {@link Signal}, stamping `source: 'graph'` + `ruleId: slug` and
@@ -1 +1 @@
1
- {"version":3,"file":"create-graph-signal.d.ts","sourceRoot":"","sources":["../../src/rules/create-graph-signal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,0FAA0F;AAC1F,MAAM,WAAW,eAAe;IAC9B,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAElC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,eAAe,GACpB,MAAM,CAWR"}
1
+ {"version":3,"file":"create-graph-signal.d.ts","sourceRoot":"","sources":["../../src/rules/create-graph-signal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,0FAA0F;AAC1F,MAAM,WAAW,eAAe;IAC9B,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAElC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAChC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,eAAe,GACpB,MAAM,CAYR"}
@@ -30,6 +30,7 @@ export function createGraphSignal(slug, config, body) {
30
30
  code: body.code,
31
31
  suggestion: body.suggestion,
32
32
  metadata: body.metadata,
33
+ repair: body.repair,
33
34
  });
34
35
  }
35
36
  //# sourceMappingURL=create-graph-signal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-graph-signal.js","sourceRoot":"","sources":["../../src/rules/create-graph-signal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,YAAY,GAIb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAgBhE;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,MAAmB,EACnB,IAAqB;IAErB,OAAO,YAAY,CAAC;QAClB,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC;QAC5D,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"create-graph-signal.js","sourceRoot":"","sources":["../../src/rules/create-graph-signal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,YAAY,GAKb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAiBhE;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,MAAmB,EACnB,IAAqB;IAErB,OAAO,YAAY,CAAC;QAClB,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC;QAC5D,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cycle.d.ts","sourceRoot":"","sources":["../../src/rules/cycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAYH,eAAO,MAAM,SAAS,4BAsDpB,CAAC"}
1
+ {"version":3,"file":"cycle.d.ts","sourceRoot":"","sources":["../../src/rules/cycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAYH,eAAO,MAAM,SAAS,4BA2DpB,CAAC"}
@@ -63,9 +63,14 @@ export const cycleRule = defineRule({
63
63
  severity: base,
64
64
  category: 'architecture',
65
65
  message: `${anchor.simpleName} is part of a ${String(scc.sccSize)}-function call cycle${scc.crossesPackages ? ' spanning multiple packages' : ''}.`,
66
- code: { file: anchor.filePath, line: anchor.line, column: anchor.column },
66
+ code: {
67
+ file: anchor.filePath,
68
+ line: anchor.line,
69
+ column: anchor.column,
70
+ },
67
71
  suggestion: 'Break the cycle: invert one dependency or extract the shared piece.',
68
72
  metadata: {
73
+ highImpact: scc.crossesPackages || scc.sccSize >= minSize,
69
74
  sccId: scc.id,
70
75
  sccSize: scc.sccSize,
71
76
  crossesPackages: scc.crossesPackages,
@@ -1 +1 @@
1
- {"version":3,"file":"cycle.js","sourceRoot":"","sources":["../../src/rules/cycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cycle.js","sourceRoot":"","sources":["../../src/rules/cycle.ts"],"names":[],"mappings":"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"}
@@ -58,9 +58,24 @@ const EMPTY_CONFIG = {};
58
58
  describe('cycleRule memberLocations', () => {
59
59
  it('attaches a non-empty memberLocations array covering the SCC members', () => {
60
60
  // A 3-member intra-package cycle (size ≥ default cycleMinSize → medium band).
61
- const a = occ({ bodyHash: 'A', simpleName: 'a', filePath: 'src/a.ts', line: 3 });
62
- const b = occ({ bodyHash: 'B', simpleName: 'b', filePath: 'src/b.ts', line: 7 });
63
- const c = occ({ bodyHash: 'C', simpleName: 'c', filePath: 'src/c.ts', line: 11 });
61
+ const a = occ({
62
+ bodyHash: 'A',
63
+ simpleName: 'a',
64
+ filePath: 'src/a.ts',
65
+ line: 3,
66
+ });
67
+ const b = occ({
68
+ bodyHash: 'B',
69
+ simpleName: 'b',
70
+ filePath: 'src/b.ts',
71
+ line: 7,
72
+ });
73
+ const c = occ({
74
+ bodyHash: 'C',
75
+ simpleName: 'c',
76
+ filePath: 'src/c.ts',
77
+ line: 11,
78
+ });
64
79
  const catalog = catalogOf([a, b, c]);
65
80
  // Members are occIds (`${filePath}:${line}:${column}`), resolved via byOccId.
66
81
  const scc = {
@@ -1 +1 @@
1
- {"version":3,"file":"cycle.memberlocations.test.js","sourceRoot":"","sources":["../../src/rules/cycle.memberlocations.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cycle.memberlocations.test.js","sourceRoot":"","sources":["../../src/rules/cycle.memberlocations.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"define-rule.d.ts","sourceRoot":"","sources":["../../src/rules/define-rule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,YAAY,EACZ,WAAW,EACX,OAAO,EACP,IAAI,EACJ,SAAS,EACV,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,YAAY,CAAC;AAEzC;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B;sEACkE;IAClE,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;CAClC;AAED,6CAA6C;AAC7C,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,eAAe,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9C;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAChD,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,SAAS,MAAM,EAAE,CAAC;CAC7D;AAID;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CA+CzD"}
1
+ {"version":3,"file":"define-rule.d.ts","sourceRoot":"","sources":["../../src/rules/define-rule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,YAAY,EACZ,WAAW,EACX,OAAO,EACP,IAAI,EACJ,SAAS,EACV,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,YAAY,CAAC;AAEzC;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B;sEACkE;IAClE,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;CAClC;AAED,6CAA6C;AAC7C,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,eAAe,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9C;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAChD,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,SAAS,MAAM,EAAE,CAAC;CAC7D;AAID;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAqDzD"}
@@ -55,7 +55,13 @@ export function defineRule(config) {
55
55
  evaluate(catalog, indexes, ruleConfig, hints, features) {
56
56
  // The orchestrator threads the engine-computed FeatureTable as the 5th
57
57
  // positional arg (Plan C); `features` is undefined on 3/4-arg test calls.
58
- return config.evaluate({ catalog, indexes, config: ruleConfig, hints, features });
58
+ return config.evaluate({
59
+ catalog,
60
+ indexes,
61
+ config: ruleConfig,
62
+ hints,
63
+ features,
64
+ });
59
65
  },
60
66
  };
61
67
  return Object.freeze(rule);
@@ -1 +1 @@
1
- {"version":3,"file":"define-rule.js","sourceRoot":"","sources":["../../src/rules/define-rule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAiDpD,MAAM,eAAe,GAAG,uBAAuB,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,MAAwB;IACjD,IACE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;QAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QACxB,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EACjC,CAAC;QACD,MAAM,IAAI,eAAe,CACvB,6EAA6E,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAC3G;YACE,IAAI,EAAE,eAAe;SACtB,CACF,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,eAAe,KAAK,OAAO,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC/E,MAAM,IAAI,eAAe,CACvB,mEAAmE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,EAC5G;YACE,IAAI,EAAE,eAAe;SACtB,CACF,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC1C,MAAM,IAAI,eAAe,CACvB,uDAAuD,MAAM,CAAC,IAAI,GAAG,EACrE;YACE,IAAI,EAAE,eAAe;SACtB,CACF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAS;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,QAAQ,CACN,OAAgB,EAChB,OAAgB,EAChB,UAAuB,EACvB,KAAiB,EACjB,QAAuB;YAEvB,uEAAuE;YACvE,0EAA0E;YAC1E,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpF,CAAC;KACF,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"define-rule.js","sourceRoot":"","sources":["../../src/rules/define-rule.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAiDpD,MAAM,eAAe,GAAG,uBAAuB,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,MAAwB;IACjD,IACE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;QAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QACxB,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EACjC,CAAC;QACD,MAAM,IAAI,eAAe,CACvB,6EAA6E,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAC3G;YACE,IAAI,EAAE,eAAe;SACtB,CACF,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,eAAe,KAAK,OAAO,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC/E,MAAM,IAAI,eAAe,CACvB,mEAAmE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,EAC5G;YACE,IAAI,EAAE,eAAe;SACtB,CACF,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC1C,MAAM,IAAI,eAAe,CACvB,uDAAuD,MAAM,CAAC,IAAI,GAAG,EACrE;YACE,IAAI,EAAE,eAAe;SACtB,CACF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAS;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,QAAQ,CACN,OAAgB,EAChB,OAAgB,EAChB,UAAuB,EACvB,KAAiB,EACjB,QAAuB;YAEvB,uEAAuE;YACvE,0EAA0E;YAC1E,OAAO,MAAM,CAAC,QAAQ,CAAC;gBACrB,OAAO;gBACP,OAAO;gBACP,MAAM,EAAE,UAAU;gBAClB,KAAK;gBACL,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
@@ -44,7 +44,11 @@ function aggregateSignal(agg, config) {
44
44
  severity: 'low',
45
45
  category: 'quality',
46
46
  message: `This body is duplicated across ${String(agg.packages.length)} packages (${agg.packages.join(', ')}) in ${String(agg.occurrenceCount)} occurrences — hoist it into a shared package.`,
47
- code: { file: agg.anchor.filePath, line: agg.anchor.line, column: agg.anchor.column },
47
+ code: {
48
+ file: agg.anchor.filePath,
49
+ line: agg.anchor.line,
50
+ column: agg.anchor.column,
51
+ },
48
52
  suggestion: 'Hoist the shared body into a single shared package and have every copy import it.',
49
53
  metadata: {
50
54
  packages: agg.packages,
@@ -1 +1 @@
1
- {"version":3,"file":"duplicated-function-body.js","sourceRoot":"","sources":["../../src/rules/duplicated-function-body.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"duplicated-function-body.js","sourceRoot":"","sources":["../../src/rules/duplicated-function-body.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"high-blast-untested.d.ts","sourceRoot":"","sources":["../../src/rules/high-blast-untested.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAUH,eAAO,MAAM,qBAAqB,4BAiDhC,CAAC"}
1
+ {"version":3,"file":"high-blast-untested.d.ts","sourceRoot":"","sources":["../../src/rules/high-blast-untested.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAUH,eAAO,MAAM,qBAAqB,4BAkDhC,CAAC"}
@@ -68,6 +68,7 @@ export const highBlastUntestedRule = defineRule({
68
68
  code: { file: occ.filePath, line: occ.line, column: occ.column },
69
69
  suggestion: 'Add a test that exercises this high-reach function.',
70
70
  metadata: {
71
+ highImpact: true,
71
72
  blast: score,
72
73
  blastDirect: blast.direct,
73
74
  blastTransitive: blast.transitive,
@@ -1 +1 @@
1
- {"version":3,"file":"high-blast-untested.js","sourceRoot":"","sources":["../../src/rules/high-blast-untested.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;IAC9C,IAAI,EAAE,2BAA2B;IACjC,eAAe,EAAE,SAAS;IAC1B,WAAW,EAAE,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAChD,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE;QACpC,0EAA0E;QAC1E,6DAA6D;QAC7D,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,sBAAsB,IAAI,kBAAkB,CAAC;QACjE,MAAM,KAAK,GAAG,MAAM,CAAC,uBAAuB,IAAI,mBAAmB,CAAC;QAEpE,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,oBAAoB;YACpB,IAAI,CAAC,GAAG,CAAC,QAAQ;gBAAE,SAAS;YAC5B,yEAAyE;YACzE,wEAAwE;YACxE,4EAA4E;YAC5E,IAAI,GAAG,CAAC,UAAU;gBAAE,SAAS;YAC7B,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,GAAG,EAAE,KAAK,CAAC;YACzB,wDAAwD;YACxD,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,uEAAuE;YACvE,wEAAwE;YACxE,mEAAmE;YACnE,IAAI,GAAG,CAAC,aAAa,KAAK,IAAI;gBAAE,SAAS;YACzC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,IAAI,KAAK,GAAG,IAAI;gBAAE,SAAS;YAC3B,MAAM,IAAI,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;YAChD,OAAO,CAAC,IAAI,CACV,iBAAiB,CAAC,2BAA2B,EAAE,MAAM,EAAE;gBACrD,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,GAAG,GAAG,CAAC,UAAU,mCAAmC,MAAM,CAAC,KAAK,CAAC,mCAAmC;gBAC7G,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;gBAChE,UAAU,EAAE,qDAAqD;gBACjE,QAAQ,EAAE;oBACR,KAAK,EAAE,KAAK;oBACZ,WAAW,EAAE,KAAK,CAAC,MAAM;oBACzB,eAAe,EAAE,KAAK,CAAC,UAAU;oBACjC,aAAa,EAAE,KAAK;oBACpB,aAAa,EAAE,GAAG,CAAC,aAAa;iBACjC;aACF,CAAC,CACH,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"high-blast-untested.js","sourceRoot":"","sources":["../../src/rules/high-blast-untested.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;IAC9C,IAAI,EAAE,2BAA2B;IACjC,eAAe,EAAE,SAAS;IAC1B,WAAW,EAAE,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAChD,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE;QACpC,0EAA0E;QAC1E,6DAA6D;QAC7D,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,sBAAsB,IAAI,kBAAkB,CAAC;QACjE,MAAM,KAAK,GAAG,MAAM,CAAC,uBAAuB,IAAI,mBAAmB,CAAC;QAEpE,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,oBAAoB;YACpB,IAAI,CAAC,GAAG,CAAC,QAAQ;gBAAE,SAAS;YAC5B,yEAAyE;YACzE,wEAAwE;YACxE,4EAA4E;YAC5E,IAAI,GAAG,CAAC,UAAU;gBAAE,SAAS;YAC7B,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,GAAG,EAAE,KAAK,CAAC;YACzB,wDAAwD;YACxD,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,uEAAuE;YACvE,wEAAwE;YACxE,mEAAmE;YACnE,IAAI,GAAG,CAAC,aAAa,KAAK,IAAI;gBAAE,SAAS;YACzC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,IAAI,KAAK,GAAG,IAAI;gBAAE,SAAS;YAC3B,MAAM,IAAI,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;YAChD,OAAO,CAAC,IAAI,CACV,iBAAiB,CAAC,2BAA2B,EAAE,MAAM,EAAE;gBACrD,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,GAAG,GAAG,CAAC,UAAU,mCAAmC,MAAM,CAAC,KAAK,CAAC,mCAAmC;gBAC7G,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;gBAChE,UAAU,EAAE,qDAAqD;gBACjE,QAAQ,EAAE;oBACR,UAAU,EAAE,IAAI;oBAChB,KAAK,EAAE,KAAK;oBACZ,WAAW,EAAE,KAAK,CAAC,MAAM;oBACzB,eAAe,EAAE,KAAK,CAAC,UAAU;oBACjC,aAAa,EAAE,KAAK;oBACpB,aAAa,EAAE,GAAG,CAAC,aAAa;iBACjC;aACF,CAAC,CACH,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"large-function.d.ts","sourceRoot":"","sources":["../../src/rules/large-function.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAWH,eAAO,MAAM,iBAAiB,4BAsC5B,CAAC"}
1
+ {"version":3,"file":"large-function.d.ts","sourceRoot":"","sources":["../../src/rules/large-function.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAWH,eAAO,MAAM,iBAAiB,4BA4C5B,CAAC"}
@@ -52,7 +52,13 @@ export const largeFunctionRule = defineRule({
52
52
  message: `${occ.simpleName} is ${String(bodyLines)} lines long.`,
53
53
  code: { file: occ.filePath, line: occ.line, column: occ.column },
54
54
  suggestion: 'Split this function into smaller units.',
55
+ repair: {
56
+ repairKind: 'split-function',
57
+ autofixable: false,
58
+ confidence: 0.7,
59
+ },
55
60
  metadata: {
61
+ highImpact: base === 'high',
56
62
  bodyLines,
57
63
  qualifiedName: occ.qualifiedName,
58
64
  },
@@ -1 +1 @@
1
- {"version":3,"file":"large-function.js","sourceRoot":"","sources":["../../src/rules/large-function.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAK9C,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;IAC1C,IAAI,EAAE,sBAAsB;IAC5B,eAAe,EAAE,SAAS;IAC1B,WAAW,EAAE,CAAC,WAAW,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE;QACpC,MAAM,IAAI,GAAG,MAAM,CAAC,sBAAsB,IAAI,kBAAkB,CAAC;QACjE,MAAM,KAAK,GAAG,MAAM,CAAC,uBAAuB,IAAI,mBAAmB,CAAC;QAEpE,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,4EAA4E;YAC5E,oBAAoB;YACpB,IAAI,CAAC,GAAG,CAAC,QAAQ;gBAAE,SAAS;YAC5B,yEAAyE;YACzE,uEAAuE;YACvE,wEAAwE;YACxE,0EAA0E;YAC1E,uDAAuD;YACvD,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,IAAI,GAAG,CAAC,UAAU;gBAAE,SAAS;YAC3D,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAClD,IAAI,SAAS,IAAI,IAAI;gBAAE,SAAS;YAChC,MAAM,IAAI,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;YACnD,OAAO,CAAC,IAAI,CACV,iBAAiB,CAAC,sBAAsB,EAAE,MAAM,EAAE;gBAChD,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,GAAG,GAAG,CAAC,UAAU,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc;gBAChE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;gBAChE,UAAU,EAAE,yCAAyC;gBACrD,QAAQ,EAAE;oBACR,SAAS;oBACT,aAAa,EAAE,GAAG,CAAC,aAAa;iBACjC;aACF,CAAC,CACH,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC,CAAC;AAEH;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,GAAuB,EAAE,QAAkC;IACnF,OAAO,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,SAAS,IAAI,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;AACvF,CAAC"}
1
+ {"version":3,"file":"large-function.js","sourceRoot":"","sources":["../../src/rules/large-function.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAK9C,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;IAC1C,IAAI,EAAE,sBAAsB;IAC5B,eAAe,EAAE,SAAS;IAC1B,WAAW,EAAE,CAAC,WAAW,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE;QACpC,MAAM,IAAI,GAAG,MAAM,CAAC,sBAAsB,IAAI,kBAAkB,CAAC;QACjE,MAAM,KAAK,GAAG,MAAM,CAAC,uBAAuB,IAAI,mBAAmB,CAAC;QAEpE,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,4EAA4E;YAC5E,oBAAoB;YACpB,IAAI,CAAC,GAAG,CAAC,QAAQ;gBAAE,SAAS;YAC5B,yEAAyE;YACzE,uEAAuE;YACvE,wEAAwE;YACxE,0EAA0E;YAC1E,uDAAuD;YACvD,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,IAAI,GAAG,CAAC,UAAU;gBAAE,SAAS;YAC3D,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAClD,IAAI,SAAS,IAAI,IAAI;gBAAE,SAAS;YAChC,MAAM,IAAI,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;YACnD,OAAO,CAAC,IAAI,CACV,iBAAiB,CAAC,sBAAsB,EAAE,MAAM,EAAE;gBAChD,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,GAAG,GAAG,CAAC,UAAU,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc;gBAChE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;gBAChE,UAAU,EAAE,yCAAyC;gBACrD,MAAM,EAAE;oBACN,UAAU,EAAE,gBAAgB;oBAC5B,WAAW,EAAE,KAAK;oBAClB,UAAU,EAAE,GAAG;iBAChB;gBACD,QAAQ,EAAE;oBACR,UAAU,EAAE,IAAI,KAAK,MAAM;oBAC3B,SAAS;oBACT,aAAa,EAAE,GAAG,CAAC,aAAa;iBACjC;aACF,CAAC,CACH,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC,CAAC;AAEH;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,GAAuB,EAAE,QAAkC;IACnF,OAAO,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,SAAS,IAAI,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;AACvF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"near-duplicate-function-body.d.ts","sourceRoot":"","sources":["../../src/rules/near-duplicate-function-body.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAeH,eAAO,MAAM,6BAA6B,4BA4BxC,CAAC"}
1
+ {"version":3,"file":"near-duplicate-function-body.d.ts","sourceRoot":"","sources":["../../src/rules/near-duplicate-function-body.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAeH,eAAO,MAAM,6BAA6B,4BAgCxC,CAAC"}
@@ -26,7 +26,11 @@ export const nearDuplicateFunctionBodyRule = defineRule({
26
26
  severity: 'low',
27
27
  category: 'quality',
28
28
  message: `${String(c.nearMembers.length)} near-duplicate function bodies cluster around ${c.anchor.qualifiedName} (estimated Jaccard ≥ ${c.estimatedSimilarity.toFixed(2)}).`,
29
- code: { file: c.anchor.filePath, line: c.anchor.line, column: c.anchor.column },
29
+ code: {
30
+ file: c.anchor.filePath,
31
+ line: c.anchor.line,
32
+ column: c.anchor.column,
33
+ },
30
34
  suggestion: 'Extract the shared logic into one function and replace the near-clone copies with calls to it.',
31
35
  metadata: {
32
36
  nearMembers: c.nearMembers,