@nielspeter/eess-ts 0.4.0 → 0.5.1

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 (267) hide show
  1. package/dist/builders/call-rule-builder.d.ts.map +1 -1
  2. package/dist/builders/call-rule-builder.js +2 -1
  3. package/dist/builders/call-rule-builder.js.map +1 -1
  4. package/dist/builders/class-rule-builder.d.ts.map +1 -1
  5. package/dist/builders/class-rule-builder.js +7 -25
  6. package/dist/builders/class-rule-builder.js.map +1 -1
  7. package/dist/builders/correspondence-builder.d.ts.map +1 -1
  8. package/dist/builders/correspondence-builder.js +6 -14
  9. package/dist/builders/correspondence-builder.js.map +1 -1
  10. package/dist/builders/cross-layer-builder.d.ts.map +1 -1
  11. package/dist/builders/cross-layer-builder.js +7 -6
  12. package/dist/builders/cross-layer-builder.js.map +1 -1
  13. package/dist/builders/function-rule-builder.d.ts.map +1 -1
  14. package/dist/builders/function-rule-builder.js +4 -13
  15. package/dist/builders/function-rule-builder.js.map +1 -1
  16. package/dist/builders/module-rule-builder.d.ts.map +1 -1
  17. package/dist/builders/module-rule-builder.js +4 -16
  18. package/dist/builders/module-rule-builder.js.map +1 -1
  19. package/dist/builders/slice-rule-builder.d.ts.map +1 -1
  20. package/dist/builders/slice-rule-builder.js +4 -3
  21. package/dist/builders/slice-rule-builder.js.map +1 -1
  22. package/dist/builders/type-rule-builder.d.ts.map +1 -1
  23. package/dist/builders/type-rule-builder.js +4 -13
  24. package/dist/builders/type-rule-builder.js.map +1 -1
  25. package/dist/cli/commands/baseline.d.ts +5 -1
  26. package/dist/cli/commands/baseline.d.ts.map +1 -1
  27. package/dist/cli/commands/baseline.js +47 -5
  28. package/dist/cli/commands/baseline.js.map +1 -1
  29. package/dist/cli/commands/check.d.ts.map +1 -1
  30. package/dist/cli/commands/check.js +155 -13
  31. package/dist/cli/commands/check.js.map +1 -1
  32. package/dist/cli/commands/doctor.d.ts.map +1 -1
  33. package/dist/cli/commands/doctor.js +97 -6
  34. package/dist/cli/commands/doctor.js.map +1 -1
  35. package/dist/cli/commands/explain.d.ts.map +1 -1
  36. package/dist/cli/commands/explain.js +21 -2
  37. package/dist/cli/commands/explain.js.map +1 -1
  38. package/dist/cli/commands/init.js +1 -1
  39. package/dist/cli/commands/init.js.map +1 -1
  40. package/dist/cli/import-rule-module.d.ts +23 -4
  41. package/dist/cli/import-rule-module.d.ts.map +1 -1
  42. package/dist/cli/import-rule-module.js +30 -18
  43. package/dist/cli/import-rule-module.js.map +1 -1
  44. package/dist/cli/index.d.ts.map +1 -1
  45. package/dist/cli/index.js +4 -11
  46. package/dist/cli/index.js.map +1 -1
  47. package/dist/cli/load-rules.d.ts.map +1 -1
  48. package/dist/cli/load-rules.js +5 -4
  49. package/dist/cli/load-rules.js.map +1 -1
  50. package/dist/cli/resolve-config.d.ts +0 -8
  51. package/dist/cli/resolve-config.d.ts.map +1 -1
  52. package/dist/cli/resolve-config.js +18 -48
  53. package/dist/cli/resolve-config.js.map +1 -1
  54. package/dist/cli/rule-file-findings.d.ts.map +1 -1
  55. package/dist/cli/rule-file-findings.js +60 -2
  56. package/dist/cli/rule-file-findings.js.map +1 -1
  57. package/dist/cli/watch.d.ts +13 -43
  58. package/dist/cli/watch.d.ts.map +1 -1
  59. package/dist/cli/watch.js +8 -148
  60. package/dist/cli/watch.js.map +1 -1
  61. package/dist/conditions/call.d.ts.map +1 -1
  62. package/dist/conditions/call.js +4 -3
  63. package/dist/conditions/call.js.map +1 -1
  64. package/dist/conditions/cross-layer.js +2 -2
  65. package/dist/conditions/cross-layer.js.map +1 -1
  66. package/dist/conditions/dependency.js +2 -2
  67. package/dist/conditions/dependency.js.map +1 -1
  68. package/dist/conditions/exports.d.ts.map +1 -1
  69. package/dist/conditions/exports.js +31 -37
  70. package/dist/conditions/exports.js.map +1 -1
  71. package/dist/conditions/function.js +1 -1
  72. package/dist/conditions/function.js.map +1 -1
  73. package/dist/conditions/jsx.js +1 -1
  74. package/dist/conditions/jsx.js.map +1 -1
  75. package/dist/conditions/members.d.ts.map +1 -1
  76. package/dist/conditions/members.js +3 -2
  77. package/dist/conditions/members.js.map +1 -1
  78. package/dist/conditions/reverse-dependency.d.ts.map +1 -1
  79. package/dist/conditions/reverse-dependency.js +47 -2
  80. package/dist/conditions/reverse-dependency.js.map +1 -1
  81. package/dist/conditions/slice.js +1 -1
  82. package/dist/conditions/slice.js.map +1 -1
  83. package/dist/conditions/structural.js +1 -1
  84. package/dist/conditions/structural.js.map +1 -1
  85. package/dist/core/check-all.d.ts.map +1 -1
  86. package/dist/core/check-all.js +61 -7
  87. package/dist/core/check-all.js.map +1 -1
  88. package/dist/core/combinators.d.ts.map +1 -1
  89. package/dist/core/combinators.js +20 -27
  90. package/dist/core/combinators.js.map +1 -1
  91. package/dist/core/descendant-cache.d.ts.map +1 -1
  92. package/dist/core/descendant-cache.js +5 -7
  93. package/dist/core/descendant-cache.js.map +1 -1
  94. package/dist/core/diagnose.js +15 -7
  95. package/dist/core/diagnose.js.map +1 -1
  96. package/dist/core/disk-set.js +1 -1
  97. package/dist/core/disk-set.js.map +1 -1
  98. package/dist/core/element-cache.js +1 -1
  99. package/dist/core/element-cache.js.map +1 -1
  100. package/dist/core/exclusion-comments.d.ts +15 -50
  101. package/dist/core/exclusion-comments.d.ts.map +1 -1
  102. package/dist/core/exclusion-comments.js +4 -307
  103. package/dist/core/exclusion-comments.js.map +1 -1
  104. package/dist/core/execute-rule.d.ts +8 -0
  105. package/dist/core/execute-rule.d.ts.map +1 -1
  106. package/dist/core/execute-rule.js +99 -13
  107. package/dist/core/execute-rule.js.map +1 -1
  108. package/dist/core/glob-evaluator.js +2 -2
  109. package/dist/core/glob-evaluator.js.map +1 -1
  110. package/dist/core/invalidate-on-modify.d.ts +20 -0
  111. package/dist/core/invalidate-on-modify.d.ts.map +1 -0
  112. package/dist/core/invalidate-on-modify.js +26 -0
  113. package/dist/core/invalidate-on-modify.js.map +1 -0
  114. package/dist/core/line-index.d.ts.map +1 -1
  115. package/dist/core/line-index.js +6 -8
  116. package/dist/core/line-index.js.map +1 -1
  117. package/dist/core/metric-violation.d.ts +1 -1
  118. package/dist/core/module-edges.d.ts.map +1 -1
  119. package/dist/core/module-edges.js +26 -25
  120. package/dist/core/module-edges.js.map +1 -1
  121. package/dist/core/orphan-exclusions.d.ts.map +1 -1
  122. package/dist/core/orphan-exclusions.js +15 -5
  123. package/dist/core/orphan-exclusions.js.map +1 -1
  124. package/dist/core/path-universe.d.ts +10 -42
  125. package/dist/core/path-universe.d.ts.map +1 -1
  126. package/dist/core/path-universe.js +0 -20
  127. package/dist/core/path-universe.js.map +1 -1
  128. package/dist/core/project.d.ts.map +1 -1
  129. package/dist/core/project.js +6 -5
  130. package/dist/core/project.js.map +1 -1
  131. package/dist/core/rule-builder.d.ts +22 -1
  132. package/dist/core/rule-builder.d.ts.map +1 -1
  133. package/dist/core/rule-builder.js +38 -20
  134. package/dist/core/rule-builder.js.map +1 -1
  135. package/dist/core/rule-declaration.d.ts.map +1 -1
  136. package/dist/core/rule-declaration.js +14 -52
  137. package/dist/core/rule-declaration.js.map +1 -1
  138. package/dist/core/terminal-builder.d.ts +17 -13
  139. package/dist/core/terminal-builder.d.ts.map +1 -1
  140. package/dist/core/terminal-builder.js +41 -21
  141. package/dist/core/terminal-builder.js.map +1 -1
  142. package/dist/core/terminal-execution.d.ts +22 -6
  143. package/dist/core/terminal-execution.d.ts.map +1 -1
  144. package/dist/core/terminal-execution.js +39 -7
  145. package/dist/core/terminal-execution.js.map +1 -1
  146. package/dist/core/ts-comment-mask.d.ts +2 -0
  147. package/dist/core/ts-comment-mask.d.ts.map +1 -0
  148. package/dist/core/ts-comment-mask.js +102 -0
  149. package/dist/core/ts-comment-mask.js.map +1 -0
  150. package/dist/core/vacuity-diagnosis.js +1 -1
  151. package/dist/core/vacuity-diagnosis.js.map +1 -1
  152. package/dist/graphql/graphql-rule-builder.d.ts +95 -0
  153. package/dist/graphql/graphql-rule-builder.d.ts.map +1 -0
  154. package/dist/graphql/graphql-rule-builder.js +127 -0
  155. package/dist/graphql/graphql-rule-builder.js.map +1 -0
  156. package/dist/graphql/index.d.ts +1 -0
  157. package/dist/graphql/index.d.ts.map +1 -1
  158. package/dist/graphql/index.js +1 -0
  159. package/dist/graphql/index.js.map +1 -1
  160. package/dist/graphql/resolver-rule-builder.d.ts +22 -76
  161. package/dist/graphql/resolver-rule-builder.d.ts.map +1 -1
  162. package/dist/graphql/resolver-rule-builder.js +8 -130
  163. package/dist/graphql/resolver-rule-builder.js.map +1 -1
  164. package/dist/graphql/schema-loader.d.ts.map +1 -1
  165. package/dist/graphql/schema-loader.js +4 -3
  166. package/dist/graphql/schema-loader.js.map +1 -1
  167. package/dist/graphql/schema-predicates.d.ts.map +1 -1
  168. package/dist/graphql/schema-predicates.js +17 -12
  169. package/dist/graphql/schema-predicates.js.map +1 -1
  170. package/dist/graphql/schema-rule-builder.d.ts +21 -67
  171. package/dist/graphql/schema-rule-builder.d.ts.map +1 -1
  172. package/dist/graphql/schema-rule-builder.js +6 -120
  173. package/dist/graphql/schema-rule-builder.js.map +1 -1
  174. package/dist/helpers/baseline-generator.d.ts +9 -0
  175. package/dist/helpers/baseline-generator.d.ts.map +1 -1
  176. package/dist/helpers/baseline-generator.js +9 -0
  177. package/dist/helpers/baseline-generator.js.map +1 -1
  178. package/dist/helpers/baseline.d.ts.map +1 -1
  179. package/dist/helpers/baseline.js +4 -4
  180. package/dist/helpers/baseline.js.map +1 -1
  181. package/dist/helpers/body-traversal.d.ts.map +1 -1
  182. package/dist/helpers/body-traversal.js +13 -0
  183. package/dist/helpers/body-traversal.js.map +1 -1
  184. package/dist/helpers/callback-extractor.js +6 -38
  185. package/dist/helpers/callback-extractor.js.map +1 -1
  186. package/dist/helpers/complexity.d.ts +1 -1
  187. package/dist/helpers/complexity.js +1 -1
  188. package/dist/helpers/diff-aware.d.ts +11 -39
  189. package/dist/helpers/diff-aware.d.ts.map +1 -1
  190. package/dist/helpers/diff-aware.js +11 -79
  191. package/dist/helpers/diff-aware.js.map +1 -1
  192. package/dist/helpers/matchers.d.ts.map +1 -1
  193. package/dist/helpers/matchers.js +51 -67
  194. package/dist/helpers/matchers.js.map +1 -1
  195. package/dist/index.d.ts +15 -18
  196. package/dist/index.d.ts.map +1 -1
  197. package/dist/index.js +37 -18
  198. package/dist/index.js.map +1 -1
  199. package/dist/models/arch-function.d.ts +26 -2
  200. package/dist/models/arch-function.d.ts.map +1 -1
  201. package/dist/models/arch-function.js +51 -17
  202. package/dist/models/arch-function.js.map +1 -1
  203. package/dist/models/arch-jsx-element.d.ts.map +1 -1
  204. package/dist/models/arch-jsx-element.js +16 -17
  205. package/dist/models/arch-jsx-element.js.map +1 -1
  206. package/dist/predicates/jsx.d.ts.map +1 -1
  207. package/dist/predicates/jsx.js +2 -1
  208. package/dist/predicates/jsx.js.map +1 -1
  209. package/dist/presets/agent-guardrails.d.ts +29 -3
  210. package/dist/presets/agent-guardrails.d.ts.map +1 -1
  211. package/dist/presets/agent-guardrails.js +185 -1
  212. package/dist/presets/agent-guardrails.js.map +1 -1
  213. package/dist/presets/boundaries.d.ts +2 -2
  214. package/dist/presets/boundaries.d.ts.map +1 -1
  215. package/dist/presets/data-layer.d.ts +2 -2
  216. package/dist/presets/data-layer.d.ts.map +1 -1
  217. package/dist/presets/index.d.ts +4 -1
  218. package/dist/presets/index.d.ts.map +1 -1
  219. package/dist/presets/index.js +11 -1
  220. package/dist/presets/index.js.map +1 -1
  221. package/dist/presets/layered.d.ts +2 -2
  222. package/dist/presets/layered.d.ts.map +1 -1
  223. package/dist/presets/recommended.d.ts +3 -3
  224. package/dist/presets/recommended.d.ts.map +1 -1
  225. package/dist/presets/shared.d.ts +8 -11
  226. package/dist/presets/shared.d.ts.map +1 -1
  227. package/dist/presets/shared.js +57 -28
  228. package/dist/presets/shared.js.map +1 -1
  229. package/dist/rules/metrics-function.d.ts.map +1 -1
  230. package/dist/rules/metrics-function.js +59 -62
  231. package/dist/rules/metrics-function.js.map +1 -1
  232. package/dist/rules/metrics.d.ts.map +1 -1
  233. package/dist/rules/metrics.js +62 -59
  234. package/dist/rules/metrics.js.map +1 -1
  235. package/dist/smells/clusters.d.ts +78 -0
  236. package/dist/smells/clusters.d.ts.map +1 -0
  237. package/dist/smells/clusters.js +124 -0
  238. package/dist/smells/clusters.js.map +1 -0
  239. package/dist/smells/duplicate-bodies.d.ts +38 -4
  240. package/dist/smells/duplicate-bodies.d.ts.map +1 -1
  241. package/dist/smells/duplicate-bodies.js +93 -44
  242. package/dist/smells/duplicate-bodies.js.map +1 -1
  243. package/dist/smells/duplicate-report.d.ts +90 -0
  244. package/dist/smells/duplicate-report.d.ts.map +1 -0
  245. package/dist/smells/duplicate-report.js +344 -0
  246. package/dist/smells/duplicate-report.js.map +1 -0
  247. package/dist/smells/fingerprint.d.ts +12 -0
  248. package/dist/smells/fingerprint.d.ts.map +1 -1
  249. package/dist/smells/fingerprint.js +8 -2
  250. package/dist/smells/fingerprint.js.map +1 -1
  251. package/dist/smells/inconsistent-siblings.js +1 -1
  252. package/dist/smells/inconsistent-siblings.js.map +1 -1
  253. package/dist/smells/similar-pairs.d.ts +9 -8
  254. package/dist/smells/similar-pairs.d.ts.map +1 -1
  255. package/dist/smells/similar-pairs.js +83 -1
  256. package/dist/smells/similar-pairs.js.map +1 -1
  257. package/dist/smells/smell-builder.d.ts.map +1 -1
  258. package/dist/smells/smell-builder.js +3 -2
  259. package/dist/smells/smell-builder.js.map +1 -1
  260. package/dist/smells/variation.d.ts +47 -0
  261. package/dist/smells/variation.d.ts.map +1 -0
  262. package/dist/smells/variation.js +90 -0
  263. package/dist/smells/variation.js.map +1 -0
  264. package/dist/tsconfig/tsconfig-builder.d.ts.map +1 -1
  265. package/dist/tsconfig/tsconfig-builder.js +3 -2
  266. package/dist/tsconfig/tsconfig-builder.js.map +1 -1
  267. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"agent-guardrails.js","sourceRoot":"","sources":["../../src/presets/agent-guardrails.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-guardrails.js","sourceRoot":"","sources":["../../src/presets/agent-guardrails.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ArchViolation } from '@nielspeter/eess';
1
+ import type { CollectResult } from '@nielspeter/eess';
2
2
  import type { ImportOptions } from '../core/import-options.js';
3
3
  import type { ArchProject } from '../core/project.js';
4
4
  import type { RuleBuilderLike } from '@nielspeter/eess';
@@ -57,6 +57,6 @@ declare const RULE_IDS: readonly ["preset/boundaries/shared-discovery", "preset/
57
57
  export declare function strictBoundaries(p: ArchProject, options: StrictBoundariesOptions & {
58
58
  report: 'builders';
59
59
  }): RuleBuilderLike[];
60
- export declare function strictBoundaries(p: ArchProject, options: StrictBoundariesOptions): ArchViolation[];
60
+ export declare function strictBoundaries(p: ArchProject, options: StrictBoundariesOptions): CollectResult;
61
61
  export {};
62
62
  //# sourceMappingURL=boundaries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"boundaries.d.ts","sourceRoot":"","sources":["../../src/presets/boundaries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAIvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAWpD,+EAA+E;AAC/E,KAAK,sBAAsB,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;AAEvD,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB,CAAC,sBAAsB,CAAC;IACxF,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAA;IACf,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,qEAAqE;IACrE,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B;AAED,QAAA,MAAM,QAAQ,0OAOJ,CAAA;AAmFV;;;GAGG;AACH;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,WAAW,EACd,OAAO,EAAE,uBAAuB,GAAG;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GACxD,eAAe,EAAE,CAAA;AACpB,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,uBAAuB,GAAG,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"boundaries.d.ts","sourceRoot":"","sources":["../../src/presets/boundaries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAIvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAWpD,+EAA+E;AAC/E,KAAK,sBAAsB,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;AAEvD,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB,CAAC,sBAAsB,CAAC;IACxF,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAA;IACf,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,qEAAqE;IACrE,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B;AAED,QAAA,MAAM,QAAQ,0OAOJ,CAAA;AAmFV;;;GAGG;AACH;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,WAAW,EACd,OAAO,EAAE,uBAAuB,GAAG;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GACxD,eAAe,EAAE,CAAA;AACpB,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,uBAAuB,GAAG,aAAa,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { ArchViolation } from '@nielspeter/eess';
1
+ import type { CollectResult } from '@nielspeter/eess';
2
2
  import type { ArchProject } from '../core/project.js';
3
3
  import type { RuleBuilderLike } from '@nielspeter/eess';
4
4
  import type { PresetBaseOptions } from './shared.js';
@@ -35,6 +35,6 @@ declare const RULE_IDS: readonly ["preset/data/extend-base", "preset/data/typed-
35
35
  export declare function dataLayerIsolation(p: ArchProject, options: DataLayerIsolationOptions & {
36
36
  report: 'builders';
37
37
  }): RuleBuilderLike[];
38
- export declare function dataLayerIsolation(p: ArchProject, options: DataLayerIsolationOptions): ArchViolation[];
38
+ export declare function dataLayerIsolation(p: ArchProject, options: DataLayerIsolationOptions): CollectResult;
39
39
  export {};
40
40
  //# sourceMappingURL=data-layer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-layer.d.ts","sourceRoot":"","sources":["../../src/presets/data-layer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAGvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAWpD,+EAA+E;AAC/E,KAAK,wBAAwB,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;AAEzD,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB,CAAC,wBAAwB,CAAC;IAC5F,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAA;IACpB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED,QAAA,MAAM,QAAQ,kEAAmE,CAAA;AAEjF;;;;;;GAMG;AACH;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,WAAW,EACd,OAAO,EAAE,yBAAyB,GAAG;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GAC1D,eAAe,EAAE,CAAA;AACpB,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,WAAW,EACd,OAAO,EAAE,yBAAyB,GACjC,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"data-layer.d.ts","sourceRoot":"","sources":["../../src/presets/data-layer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAGvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAWpD,+EAA+E;AAC/E,KAAK,wBAAwB,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;AAEzD,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB,CAAC,wBAAwB,CAAC;IAC5F,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAA;IACpB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED,QAAA,MAAM,QAAQ,kEAAmE,CAAA;AAEjF;;;;;;GAMG;AACH;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,WAAW,EACd,OAAO,EAAE,yBAAyB,GAAG;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GAC1D,eAAe,EAAE,CAAA;AACpB,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,WAAW,EACd,OAAO,EAAE,yBAAyB,GACjC,aAAa,CAAA"}
@@ -10,6 +10,9 @@ export type { AgentGuardrailsOptions } from './agent-guardrails.js';
10
10
  export { agentGuardrails } from './agent-guardrails.js';
11
11
  export type { RecommendedOptions } from './recommended.js';
12
12
  export { recommended } from './recommended.js';
13
- export { dispatchRule, throwIfViolations } from '@nielspeter/eess';
13
+ export { dispatchRule } from '@nielspeter/eess';
14
+ export { finishPreset } from '@nielspeter/eess';
15
+ export type { PresetReportOptions, ReportMode } from '@nielspeter/eess';
16
+ export type { CollectResult } from '@nielspeter/eess';
14
17
  export type { PresetDelivery } from './shared.js';
15
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/presets/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,YAAY,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAElD,YAAY,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEpD,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAElD,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAO9C,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAMlE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/presets/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,YAAY,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAElD,YAAY,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEpD,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAElD,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAO9C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAW/C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAS/C,YAAY,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAevE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAMrD,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA"}
@@ -9,5 +9,15 @@ export { recommended } from './recommended.js';
9
9
  // import of either from `@nielspeter/eess-ts/presets` was a link-time error that
10
10
  // no changeset declared. Found by an adopter review diffing every subpath, not
11
11
  // just `.`.
12
- export { dispatchRule, throwIfViolations } from '@nielspeter/eess';
12
+ export { dispatchRule } from '@nielspeter/eess';
13
+ // `finishPreset` joins it, and the reason is this same subpath's history one
14
+ // paragraph up. Plan 0263 Phase 5 removed `throwIfViolations` from this barrel as well
15
+ // as the two roots, and `finishPreset(v, { report: 'throw' })` is the migration
16
+ // the changeset prints — which did not compile on this barrel, because the alias
17
+ // was published here and its replacement never was. `docs/api-reference.md`
18
+ // documented the alias under "Presets (`eess-ts/presets`)", so the adopter who
19
+ // followed the docs is exactly the one the migration would have failed. Found by
20
+ // an adopter review, the second time this subpath has been audited separately
21
+ // from the root and the second time that was the only way to see it.
22
+ export { finishPreset } from '@nielspeter/eess';
13
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/presets/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAG/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAGlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAGpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAGlD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAGvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,gFAAgF;AAChF,8EAA8E;AAC9E,iFAAiF;AACjF,+EAA+E;AAC/E,YAAY;AACZ,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/presets/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAG/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAGlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAGpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAGlD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAGvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,gFAAgF;AAChF,8EAA8E;AAC9E,iFAAiF;AACjF,+EAA+E;AAC/E,YAAY;AACZ,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE/C,6EAA6E;AAC7E,uFAAuF;AACvF,gFAAgF;AAChF,iFAAiF;AACjF,4EAA4E;AAC5E,+EAA+E;AAC/E,iFAAiF;AACjF,8EAA8E;AAC9E,qEAAqE;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { ArchViolation } from '@nielspeter/eess';
1
+ import type { CollectResult } from '@nielspeter/eess';
2
2
  import type { ImportOptions } from '../core/import-options.js';
3
3
  import type { ArchProject } from '../core/project.js';
4
4
  import type { RuleBuilderLike } from '@nielspeter/eess';
@@ -60,6 +60,6 @@ declare const RULE_IDS: readonly ["preset/layered/layer-order", "preset/layered/
60
60
  export declare function layeredArchitecture(p: ArchProject, options: LayeredArchitectureOptions & {
61
61
  report: 'builders';
62
62
  }): RuleBuilderLike[];
63
- export declare function layeredArchitecture(p: ArchProject, options: LayeredArchitectureOptions): ArchViolation[];
63
+ export declare function layeredArchitecture(p: ArchProject, options: LayeredArchitectureOptions): CollectResult;
64
64
  export {};
65
65
  //# sourceMappingURL=layered.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"layered.d.ts","sourceRoot":"","sources":["../../src/presets/layered.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAKvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AASpD,+EAA+E;AAC/E,KAAK,yBAAyB,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;AAE1D,MAAM,WAAW,0BAA2B,SAAQ,iBAAiB,CAAC,yBAAyB,CAAC;IAC9F,sGAAsG;IACtG,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,iEAAiE;IACjE,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,wFAAwF;IACxF,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,kHAAkH;IAClH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC7C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B;AAED,QAAA,MAAM,QAAQ,qLAMJ,CAAA;AAgGV;;;GAGG;AACH;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,WAAW,EACd,OAAO,EAAE,0BAA0B,GAAG;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GAC3D,eAAe,EAAE,CAAA;AACpB,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,WAAW,EACd,OAAO,EAAE,0BAA0B,GAClC,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"layered.d.ts","sourceRoot":"","sources":["../../src/presets/layered.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAKvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AASpD,+EAA+E;AAC/E,KAAK,yBAAyB,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;AAE1D,MAAM,WAAW,0BAA2B,SAAQ,iBAAiB,CAAC,yBAAyB,CAAC;IAC9F,sGAAsG;IACtG,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,iEAAiE;IACjE,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,wFAAwF;IACxF,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,kHAAkH;IAClH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC7C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B;AAED,QAAA,MAAM,QAAQ,qLAMJ,CAAA;AAgGV;;;GAGG;AACH;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,WAAW,EACd,OAAO,EAAE,0BAA0B,GAAG;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GAC3D,eAAe,EAAE,CAAA;AACpB,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,WAAW,EACd,OAAO,EAAE,0BAA0B,GAClC,aAAa,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { ArchViolation } from '@nielspeter/eess';
1
+ import type { CollectResult } from '@nielspeter/eess';
2
2
  import type { ArchProject } from '../core/project.js';
3
3
  import type { Condition } from '@nielspeter/eess';
4
4
  import type { ArchFunction } from '../models/arch-function.js';
@@ -62,7 +62,7 @@ declare const SPECS: readonly [{
62
62
  /**
63
63
  * Derived from `SPECS`, never restated. A hand-written union is a second list
64
64
  * that drifts the moment a rule is added — which is the whole shape of
65
- * [bug 0157](../../../../work/bugs/0157-a-typo-in-a-preset-override-key-is-a-silent-false-green.md)
65
+ * [bug 0157](../../../../work/bugs/fixed/0157-a-typo-in-a-preset-override-key-is-a-silent-false-green.md)
66
66
  * and of the census in plan 0078.
67
67
  */
68
68
  type RecommendedRuleId = (typeof SPECS)[number]['meta']['id'];
@@ -99,6 +99,6 @@ type RecommendedRuleId = (typeof SPECS)[number]['meta']['id'];
99
99
  export declare function recommended(p: ArchProject, options: RecommendedOptions & {
100
100
  report: 'builders';
101
101
  }): RuleBuilderLike[];
102
- export declare function recommended(p: ArchProject, options?: RecommendedOptions): ArchViolation[];
102
+ export declare function recommended(p: ArchProject, options?: RecommendedOptions): CollectResult;
103
103
  export {};
104
104
  //# sourceMappingURL=recommended.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recommended.d.ts","sourceRoot":"","sources":["../../src/presets/recommended.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAK9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAUpD,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB,CAAC,iBAAiB,CAAC;IAC9E;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAQD;;;;GAIG;AACH,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyC6B,CAAA;AAExC;;;;;GAKG;AACH,KAAK,iBAAiB,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAA;AAI7D;;;;;;;;;;;;;;;;;GAiBG;AACH;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE,WAAW,EACd,OAAO,EAAE,kBAAkB,GAAG;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GACnD,eAAe,EAAE,CAAA;AACpB,wBAAgB,WAAW,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"recommended.d.ts","sourceRoot":"","sources":["../../src/presets/recommended.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAK9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAUpD,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB,CAAC,iBAAiB,CAAC;IAC9E;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAQD;;;;GAIG;AACH,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyC6B,CAAA;AAExC;;;;;GAKG;AACH,KAAK,iBAAiB,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAA;AAI7D;;;;;;;;;;;;;;;;;GAiBG;AACH;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE,WAAW,EACd,OAAO,EAAE,kBAAkB,GAAG;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GACnD,eAAe,EAAE,CAAA;AACpB,wBAAgB,WAAW,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,aAAa,CAAA"}
@@ -1,4 +1,5 @@
1
- import type { ArchViolation, ReportMode, OutputFormat } from '@nielspeter/eess';
1
+ import type { ReportMode, OutputFormat } from '@nielspeter/eess';
2
+ import type { CollectResult } from '@nielspeter/eess';
2
3
  /**
3
4
  * What a preset can be asked to do with its rules.
4
5
  *
@@ -8,6 +9,7 @@ import type { ArchViolation, ReportMode, OutputFormat } from '@nielspeter/eess';
8
9
  * means the kernel's three emission modes stay exactly three.
9
10
  */
10
11
  export type PresetDelivery = ReportMode | 'builders';
12
+ import { validateOverrides } from '@nielspeter/eess';
11
13
  import type { Predicate } from '@nielspeter/eess';
12
14
  import type { Located } from '../predicates/identity.js';
13
15
  import type { RuleMetadata } from '@nielspeter/eess';
@@ -23,7 +25,7 @@ interface PresetRule {
23
25
  asSeverity(level: 'error' | 'warn'): this;
24
26
  /** Plan 0089's carrier — hoisted to `TerminalBuilder` by plan 0097, so every preset rule has it. */
25
27
  expectEmpty(): this;
26
- violations(): ArchViolation[];
28
+ violations(): CollectResult;
27
29
  }
28
30
  /**
29
31
  * Resolve a preset rule's effective severity and return it as a configured,
@@ -82,7 +84,7 @@ export declare function assertDiscovered(discovered: readonly unknown[], finding
82
84
  *
83
85
  * `TRuleId` is that preset's own rule ids as a literal union, so a misspelled
84
86
  * override key is a **compile error** rather than a silent no-op
85
- * ([bug 0157](../../../../work/bugs/0157-a-typo-in-a-preset-override-key-is-a-silent-false-green.md)).
87
+ * ([bug 0157](../../../../work/bugs/fixed/0157-a-typo-in-a-preset-override-key-is-a-silent-false-green.md)).
86
88
  * Measured before this: `'…/no-silent-cach': 'error'` left the rule at `warn`
87
89
  * and the build green — the escalation the author asked for simply did not
88
90
  * happen, and the only trace was a line on stderr.
@@ -98,7 +100,7 @@ export declare function assertDiscovered(discovered: readonly unknown[], finding
98
100
  */
99
101
  /**
100
102
  * An unknown override key, as a failing configuration finding —
101
- * [bug 0157](../../../../work/bugs/0157-a-typo-in-a-preset-override-key-is-a-silent-false-green.md).
103
+ * [bug 0157](../../../../work/bugs/fixed/0157-a-typo-in-a-preset-override-key-is-a-silent-false-green.md).
102
104
  *
103
105
  * `validateOverrides` writes a line to stderr and returns `void`. That is not a
104
106
  * signal: measured, `'…/no-silent-cach': 'error'` left the rule at `warn`, the
@@ -230,11 +232,6 @@ export interface PresetBaseOptions<TRuleId extends string = string> {
230
232
  */
231
233
  expectEmpty?: readonly TRuleId[];
232
234
  }
233
- /**
234
- * Validate override keys against known rule IDs.
235
- * Warns for unrecognized keys (likely typos).
236
- */
237
- export declare function validateOverrides(overrides: Partial<Record<string, RuleSeverity>> | undefined, knownIds: readonly string[]): void;
238
235
  /**
239
236
  * Match a user-supplied glob against the file path **or** its parent directory.
240
237
  *
@@ -266,6 +263,6 @@ export declare function deliver(builders: RuleBuilderLike[], options: {
266
263
  report?: PresetDelivery;
267
264
  format?: OutputFormat;
268
265
  reason?: string;
269
- } | undefined): RuleBuilderLike[] | ArchViolation[];
270
- export {};
266
+ } | undefined): RuleBuilderLike[] | CollectResult;
267
+ export { validateOverrides };
271
268
  //# sourceMappingURL=shared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/presets/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/presets/shared.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
- import { finishPreset, ArchRuleError } from '@nielspeter/eess';
1
+ import { finishPreset, ArchRuleError, validateOverrides, mergeCollectResults, collectResult, } from '@nielspeter/eess';
2
2
  import { callerAggregates } from '../core/execute-rule.js';
3
- import { UNSUPPRESSABLE } from '@nielspeter/eess';
3
+ import { UNSUPPRESSABLE } from '@nielspeter/eess/internal';
4
4
  import { resideInFile, resideInFolder } from '../predicates/identity.js';
5
5
  import { or } from '../core/combinators.js';
6
- import { writeStderr } from '@nielspeter/eess';
7
6
  /**
8
7
  * Resolve a preset rule's effective severity and return it as a configured,
9
8
  * UN-executed builder for the caller to spread into a rule array. `'off'` →
@@ -79,14 +78,18 @@ export function assertDiscovered(discovered, finding) {
79
78
  severity: 'error',
80
79
  bypassFilters: true,
81
80
  };
82
- return [{ violations: () => [violation] }];
81
+ // `examined: 0` and honest: these are CONFIGURATION findings, not rules that
82
+ // examined units. The receipt carries a violation, so the emitter's evidence
83
+ // gate passes it through untouched (ADR-014 §4 — a value already carrying a
84
+ // finding is red, and the emitter adds nothing to it).
85
+ return [{ violations: () => collectResult([violation], { examined: 0 }) }];
83
86
  }
84
87
  /**
85
88
  * Options every preset accepts.
86
89
  *
87
90
  * `TRuleId` is that preset's own rule ids as a literal union, so a misspelled
88
91
  * override key is a **compile error** rather than a silent no-op
89
- * ([bug 0157](../../../../work/bugs/0157-a-typo-in-a-preset-override-key-is-a-silent-false-green.md)).
92
+ * ([bug 0157](../../../../work/bugs/fixed/0157-a-typo-in-a-preset-override-key-is-a-silent-false-green.md)).
90
93
  * Measured before this: `'…/no-silent-cach': 'error'` left the rule at `warn`
91
94
  * and the build green — the escalation the author asked for simply did not
92
95
  * happen, and the only trace was a line on stderr.
@@ -102,7 +105,7 @@ export function assertDiscovered(discovered, finding) {
102
105
  */
103
106
  /**
104
107
  * An unknown override key, as a failing configuration finding —
105
- * [bug 0157](../../../../work/bugs/0157-a-typo-in-a-preset-override-key-is-a-silent-false-green.md).
108
+ * [bug 0157](../../../../work/bugs/fixed/0157-a-typo-in-a-preset-override-key-is-a-silent-false-green.md).
106
109
  *
107
110
  * `validateOverrides` writes a line to stderr and returns `void`. That is not a
108
111
  * signal: measured, `'…/no-silent-cach': 'error'` left the rule at `warn`, the
@@ -145,7 +148,11 @@ export function overrideFindings(overrides, knownIds) {
145
148
  UNSUPPRESSABLE,
146
149
  bypassFilters: true,
147
150
  }));
148
- return [{ violations: () => violations }];
151
+ // `examined: 0` and honest: these are CONFIGURATION findings, not rules that
152
+ // examined units. The receipt carries a violation, so the emitter's evidence
153
+ // gate passes it through untouched (ADR-014 §4 — a value already carrying a
154
+ // finding is red, and the emitter adds nothing to it).
155
+ return [{ violations: () => collectResult(violations, { examined: 0 }) }];
149
156
  }
150
157
  /**
151
158
  * Findings for `expectEmpty` ids that bind to no constructed rule — plan 0089.
@@ -203,7 +210,11 @@ export function declaredEmptyFindings(expectEmpty, constructedIds) {
203
210
  suggestion,
204
211
  bypassFilters: true,
205
212
  }));
206
- return [{ violations: () => violations }];
213
+ // `examined: 0` and honest: these are CONFIGURATION findings, not rules that
214
+ // examined units. The receipt carries a violation, so the emitter's evidence
215
+ // gate passes it through untouched (ADR-014 §4 — a value already carrying a
216
+ // finding is red, and the emitter adds nothing to it).
217
+ return [{ violations: () => collectResult(violations, { examined: 0 }) }];
207
218
  }
208
219
  /**
209
220
  * Guard a preset's *construction* step (plan 0100): every rule this preset can
@@ -253,22 +264,11 @@ export function assertEnabled(attempted, otherFindings, finding) {
253
264
  suggestion: `Set at least one of: ${finding.optionsHint}. ` + UNSUPPRESSABLE,
254
265
  bypassFilters: true,
255
266
  };
256
- return [{ violations: () => [violation] }];
257
- }
258
- /**
259
- * Validate override keys against known rule IDs.
260
- * Warns for unrecognized keys (likely typos).
261
- */
262
- export function validateOverrides(overrides, knownIds) {
263
- if (!overrides)
264
- return;
265
- const knownSet = new Set(knownIds);
266
- for (const key of Object.keys(overrides)) {
267
- if (!knownSet.has(key)) {
268
- writeStderr(`[eess] Override key '${key}' does not match any rule in this preset. ` +
269
- `Available rules: ${knownIds.join(', ')}`);
270
- }
271
- }
267
+ // `examined: 0` and honest: these are CONFIGURATION findings, not rules that
268
+ // examined units. The receipt carries a violation, so the emitter's evidence
269
+ // gate passes it through untouched (ADR-014 §4 — a value already carrying a
270
+ // finding is red, and the emitter adds nothing to it).
271
+ return [{ violations: () => collectResult([violation], { examined: 0 }) }];
272
272
  }
273
273
  /**
274
274
  * Match a user-supplied glob against the file path **or** its parent directory.
@@ -308,7 +308,19 @@ export function deliver(builders, options) {
308
308
  // options enforces, which is what ADR-008 states and what the docs teach.
309
309
  if (options?.report === 'builders')
310
310
  return builders;
311
- const violations = builders.flatMap((b) => b.violations());
311
+ // `flatMap` would drop every receipt's evidence on the floor — the exact site
312
+ // plan 0235's Phase 3 names. The kernel merge is fail-closed and is the only
313
+ // place the `examined` sum and the sourceEmpty/declaredEmpty precedence are
314
+ // stated once (bug 0205's class is four emitters restating that rule and
315
+ // disagreeing).
316
+ //
317
+ // A preset that constructed NO builders merges zero members: `examined: 0`,
318
+ // no declaration, no violations — and the emitter's gate then produces
319
+ // `emitter/pass-without-evidence`. That is the all-off case (bug 0261)
320
+ // falling out of the contract rather than needing a guard of its own, which
321
+ // is what ADR-014 §3's 2026-09-05 amendment settled: a declaration is one a
322
+ // caller made, never one eess infers from a config.
323
+ const violations = mergeCollectResults(builders.map((b) => b.violations()));
312
324
  const mode = options?.report ?? 'throw';
313
325
  // **Bug 0203 — enforce, but let an aggregating caller do the reporting.**
314
326
  //
@@ -326,9 +338,21 @@ export function deliver(builders, options) {
326
338
  // choices about emission that a caller made on purpose, and `'warn'`'s
327
339
  // violations do NOT ride a throw — suppressing them here would lose them.
328
340
  if (mode === 'throw' && callerAggregates()) {
329
- if (violations.length > 0)
330
- throw new ArchRuleError(violations, options?.reason);
331
- return violations;
341
+ // **The gate runs here too — bug 0206.** This branch used to return before
342
+ // `finishPreset` was ever called, so everything the finisher adds was
343
+ // invisible to an aggregating caller: an all-off preset threw nothing and
344
+ // reported nothing under `eess-ts check`, while the same preset on the
345
+ // default path reported correctly. Two doors, two verdicts, and only one of
346
+ // them tested — which is exactly what 0206 is about.
347
+ //
348
+ // `report: 'return'` because the aggregating caller owns emission (bug
349
+ // 0203); only the EMISSION moves, never the verdict. The receipt then rides
350
+ // the throw with the finding already in it, which is 0206's picked
351
+ // direction.
352
+ const gated = finishPreset(violations, { report: 'return' });
353
+ if (gated.length > 0)
354
+ throw new ArchRuleError(gated, options?.reason);
355
+ return gated;
332
356
  }
333
357
  return finishPreset(violations, {
334
358
  report: mode,
@@ -336,4 +360,9 @@ export function deliver(builders, options) {
336
360
  reason: options?.reason,
337
361
  });
338
362
  }
363
+ // The kernel's — this package carried a byte-identical copy differing only in
364
+ // two signature widths, which the kernel adopted. Re-exported (from the ROOT,
365
+ // not `/internal`, so ADR-011 clause 2 is satisfied) because `recommended` and
366
+ // `agent-guardrails` import it from here.
367
+ export { validateOverrides };
339
368
  //# sourceMappingURL=shared.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/presets/shared.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGjD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AACxE,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;AAG3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAiB9C;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,WAAW,CACzB,OAAmB,EACnB,IAAmC,EACnC,eAA6B,EAC7B,MAAqC,EACrC,WAAsB;IAEtB,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,eAAe,CAAA;IACjE,IAAI,SAAS,KAAK,KAAK;QAAE,OAAO,EAAE,CAAA;IAClC,6EAA6E;IAC7E,sEAAsE;IACtE,0EAA0E;IAC1E,yCAAyC;IACzC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC1B,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,EAAE,mBAAmB,EAAE,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAA;IACpF,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAA;AAC7F,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAU,EACV,EAAU,EACV,MAAqC;IAErC,OAAO,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;AACrF,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,yBAAyB,CAAC,EAAU;IAClD,OAAO,kBAAkB,EAAE,6BAA6B,CAAA;AAC1D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAA8B,EAC9B,OAAqD;IAErD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IACpC,MAAM,SAAS,GAAkB;QAC/B,IAAI,EAAE,OAAO,CAAC,EAAE;QAChB,MAAM,EAAE,OAAO,CAAC,EAAE;QAClB,OAAO,EAAE,OAAO,CAAC,EAAE;QACnB,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,CAAC;QACP,OAAO,EAAE,0CAA0C,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,MAAM,EAAE;QACrF,OAAO,EACL,oGAAoG;QACtG,UAAU,EAAE,OAAO,CAAC,MAAM;QAC1B,QAAQ,EAAE,OAAO;QACjB,aAAa,EAAE,IAAI;KACpB,CAAA;IACD,OAAO,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;AAC5C,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAA4D,EAC5D,QAA2B;IAE3B,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAA;IACzB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACvE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEnC,MAAM,UAAU,GAAoB,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxD,IAAI,EAAE,oBAAoB,GAAG,GAAG;QAChC,MAAM,EAAE,mBAAmB,GAAG,EAAE;QAChC,OAAO,EAAE,GAAG;QACZ,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,CAAC;QACP,OAAO,EACL,iBAAiB,GAAG,yDAAyD;YAC7E,yCAAyC;QAC3C,OAAO,EACL,2EAA2E;YAC3E,sDAAsD;QACxD,4EAA4E;QAC5E,wEAAwE;QACxE,UAAU,EACR,2DAA2D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAClF,cAAc;QAChB,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC,CAAA;IACH,OAAO,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,CAAA;AAC3C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,qBAAqB,CACnC,WAA0C,EAC1C,cAAiC;IAEjC,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACvD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAA;IACrC,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACxE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAEnC,8EAA8E;IAC9E,8EAA8E;IAC9E,mEAAmE;IACnE,uEAAuE;IACvE,8EAA8E;IAC9E,0EAA0E;IAC1E,+CAA+C;IAC/C,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAA;IAEtD,6EAA6E;IAC7E,4EAA4E;IAC5E,8EAA8E;IAC9E,4EAA4E;IAC5E,yEAAyE;IACzE,MAAM,UAAU,GACd,iBAAiB,CAAC,MAAM,KAAK,CAAC;QAC5B,CAAC,CAAC,oFAAoF;YACpF,6FAA6F;YAC7F,sFAAsF;YACtF,cAAc;QAChB,CAAC,CAAC,0DAA0D,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAC1F,wFAAwF;YACxF,cAAc,CAAA;IAEpB,MAAM,UAAU,GAAoB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACvD,IAAI,EAAE,uBAAuB,EAAE,GAAG;QAClC,MAAM,EAAE,uBAAuB,EAAE,EAAE;QACnC,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,CAAC;QACP,OAAO,EACL,sBAAsB,EAAE,iDAAiD;YACzE,iCAAiC;QACnC,OAAO,EACL,sFAAsF;YACtF,6EAA6E;QAC/E,UAAU;QACV,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC,CAAA;IACH,OAAO,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,CAAA;AAC3C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,aAAa,CAC3B,SAA4B,EAC5B,aAAyC,EACzC,OAAgE;IAEhE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IAC/D,MAAM,SAAS,GAAkB;QAC/B,IAAI,EAAE,OAAO,CAAC,EAAE;QAChB,MAAM,EAAE,OAAO,CAAC,EAAE;QAClB,OAAO,EAAE,OAAO,CAAC,EAAE;QACnB,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,CAAC;QACP,OAAO,EACL,GAAG,OAAO,CAAC,UAAU,wEAAwE;YAC7F,0FAA0F;YAC1F,iDAAiD;QACnD,OAAO,EACL,uFAAuF;YACvF,qFAAqF;QACvF,UAAU,EAAE,wBAAwB,OAAO,CAAC,WAAW,IAAI,GAAG,cAAc;QAC5E,aAAa,EAAE,IAAI;KACpB,CAAA;IACD,OAAO,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;AAC5C,CAAC;AAgED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAA4D,EAC5D,QAA2B;IAE3B,IAAI,CAAC,SAAS;QAAE,OAAM;IACtB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA;IAClC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,WAAW,CACT,wBAAwB,GAAG,4CAA4C;gBACrE,oBAAoB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5C,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,MAAM,CAAoB,IAAY,EAAE,MAAe;IACrE,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAI,IAAI,CAAC,EAAE,cAAc,CAAI,IAAI,CAAC,CAAC,CAAA;IACnE,8EAA8E;IAC9E,4EAA4E;IAC5E,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,IAAI,GAAG,EAAE,CAAA;AAC/F,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CACrB,QAA2B,EAC3B,OAAwF;IAExF,8EAA8E;IAC9E,+EAA+E;IAC/E,0EAA0E;IAC1E,IAAI,OAAO,EAAE,MAAM,KAAK,UAAU;QAAE,OAAO,QAAQ,CAAA;IACnD,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAA;IAC1D,MAAM,IAAI,GAAmB,OAAO,EAAE,MAAM,IAAI,OAAO,CAAA;IAEvD,0EAA0E;IAC1E,EAAE;IACF,+EAA+E;IAC/E,uEAAuE;IACvE,+EAA+E;IAC/E,8EAA8E;IAC9E,6DAA6D;IAC7D,EAAE;IACF,8EAA8E;IAC9E,sEAAsE;IACtE,gDAAgD;IAChD,EAAE;IACF,0EAA0E;IAC1E,uEAAuE;IACvE,0EAA0E;IAC1E,IAAI,IAAI,KAAK,OAAO,IAAI,gBAAgB,EAAE,EAAE,CAAC;QAC3C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QAC/E,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,OAAO,YAAY,CAAC,UAAU,EAAE;QAC9B,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,OAAO,EAAE,MAAM;QACvB,MAAM,EAAE,OAAO,EAAE,MAAM;KACxB,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/presets/shared.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"metrics-function.d.ts","sourceRoot":"","sources":["../../src/rules/metrics-function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,kBAAkB,CAAA;AAKnE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CA+BhF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CA6B3E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CA0BhF"}
1
+ {"version":3,"file":"metrics-function.d.ts","sourceRoot":"","sources":["../../src/rules/metrics-function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,kBAAkB,CAAA;AA6DnE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAQhF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAU3E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAQhF"}
@@ -1,5 +1,46 @@
1
1
  import { cyclomaticComplexity, linesOfCode } from '../helpers/complexity.js';
2
2
  import { metricViolation } from '../core/metric-violation.js';
3
+ /**
4
+ * A ceiling on one measurement of every function.
5
+ *
6
+ * `maxFunctionComplexity`, `maxFunctionLines` and `maxFunctionParameters` were
7
+ * the same walk three times over — `no-copy-paste` reported them at 96% — and
8
+ * `rules/metrics.ts` carries the class-member twin of this helper.
9
+ *
10
+ * `name` is derived ONCE and used for the message and the identity alike. Two
11
+ * expressions that agree in every branch but one is how bug 0068 happened:
12
+ * `fn.getName() ?? '<anonymous>'` beside a bare `fn.getName()` disagree for an
13
+ * anonymous function, which would have reproduced that defect inside its own
14
+ * fix. One derivation in one place is what makes them unable to disagree.
15
+ *
16
+ * `unit` is threaded rather than derived from `metric`: `lines` kept its name
17
+ * when `linesOfCode` stopped counting comments, and the baseline refuses to
18
+ * compare across a unit change precisely so that silent loosening cannot
19
+ * happen again (bug 0171).
20
+ */
21
+ function functionCeiling(threshold, spec) {
22
+ return {
23
+ description: spec.description,
24
+ evaluate(elements, context) {
25
+ const violations = [];
26
+ for (const fn of elements) {
27
+ const value = spec.measure(fn);
28
+ if (value <= threshold)
29
+ continue;
30
+ const name = fn.getName() ?? '<anonymous>';
31
+ violations.push(metricViolation(fn.getNode(), {
32
+ metric: spec.metric,
33
+ ...(spec.unit === undefined ? {} : { unit: spec.unit }),
34
+ // Long-hand, not `measured,` — see the note in `rules/metrics.ts`.
35
+ measured: value,
36
+ message: spec.message(name, value),
37
+ qualifiedName: name,
38
+ }, context));
39
+ }
40
+ return violations;
41
+ },
42
+ };
43
+ }
3
44
  /**
4
45
  * Function must not exceed the given cyclomatic complexity.
5
46
  *
@@ -16,30 +57,12 @@ import { metricViolation } from '../core/metric-violation.js';
16
57
  * ```
17
58
  */
18
59
  export function maxFunctionComplexity(threshold) {
19
- return {
60
+ return functionCeiling(threshold, {
20
61
  description: `have cyclomatic complexity <= ${String(threshold)}`,
21
- evaluate(elements, context) {
22
- const violations = [];
23
- for (const fn of elements) {
24
- const cc = cyclomaticComplexity(fn.getBody());
25
- if (cc > threshold) {
26
- // ONE derivation, used for the message and the identity alike. Two
27
- // expressions that agree in every branch but one is how bug 0068
28
- // happened: `fn.getName() ?? '<anonymous>'` beside a bare
29
- // `fn.getName()` disagree for an anonymous function, which would have
30
- // reproduced the same defect inside its own fix.
31
- const name = fn.getName() ?? '<anonymous>';
32
- violations.push(metricViolation(fn.getNode(), {
33
- metric: 'complexity',
34
- measured: cc,
35
- message: `${name} has cyclomatic complexity ${String(cc)} (max: ${String(threshold)})`,
36
- qualifiedName: name,
37
- }, context));
38
- }
39
- }
40
- return violations;
41
- },
42
- };
62
+ metric: 'complexity',
63
+ measure: (fn) => cyclomaticComplexity(fn.getBody()),
64
+ message: (name, cc) => `${name} has cyclomatic complexity ${String(cc)} (max: ${String(threshold)})`,
65
+ });
43
66
  }
44
67
  /**
45
68
  * Function must not exceed the given number of CODE lines — comments and blank
@@ -53,28 +76,15 @@ export function maxFunctionComplexity(threshold) {
53
76
  * ```
54
77
  */
55
78
  export function maxFunctionLines(threshold) {
56
- return {
79
+ return functionCeiling(threshold, {
57
80
  description: `have no more than ${String(threshold)} code lines`,
58
- evaluate(elements, context) {
59
- const violations = [];
60
- for (const fn of elements) {
61
- const loc = linesOfCode(fn.getNode());
62
- if (loc > threshold) {
63
- const name = fn.getName() ?? '<anonymous>'; // one derivation — see maxFunctionComplexity
64
- violations.push(metricViolation(fn.getNode(), {
65
- metric: 'lines',
66
- // `code-lines` since bug 0170 — the metric kept its name when it stopped
67
- // counting comments, and the baseline must not compare across that.
68
- unit: 'code-lines',
69
- measured: loc,
70
- message: `${name} has ${String(loc)} code lines (max: ${String(threshold)})`,
71
- qualifiedName: name,
72
- }, context));
73
- }
74
- }
75
- return violations;
76
- },
77
- };
81
+ metric: 'lines',
82
+ // `code-lines` since bug 0170 — the metric kept its name when it stopped
83
+ // counting comments, and the baseline must not compare across that.
84
+ unit: 'code-lines',
85
+ measure: (fn) => linesOfCode(fn.getNode()),
86
+ message: (name, loc) => `${name} has ${String(loc)} code lines (max: ${String(threshold)})`,
87
+ });
78
88
  }
79
89
  /**
80
90
  * Function must not have more than the given number of parameters.
@@ -91,24 +101,11 @@ export function maxFunctionLines(threshold) {
91
101
  * ```
92
102
  */
93
103
  export function maxFunctionParameters(threshold) {
94
- return {
104
+ return functionCeiling(threshold, {
95
105
  description: `have no more than ${String(threshold)} parameters`,
96
- evaluate(elements, context) {
97
- const violations = [];
98
- for (const fn of elements) {
99
- const params = fn.getParameters().length;
100
- if (params > threshold) {
101
- const name = fn.getName() ?? '<anonymous>'; // one derivation — see maxFunctionComplexity
102
- violations.push(metricViolation(fn.getNode(), {
103
- metric: 'parameters',
104
- measured: params,
105
- message: `${name} has ${String(params)} parameters (max: ${String(threshold)}) — use an options object`,
106
- qualifiedName: name,
107
- }, context));
108
- }
109
- }
110
- return violations;
111
- },
112
- };
106
+ metric: 'parameters',
107
+ measure: (fn) => fn.getParameters().length,
108
+ message: (name, params) => `${name} has ${String(params)} parameters (max: ${String(threshold)}) — use an options object`,
109
+ });
113
110
  }
114
111
  //# sourceMappingURL=metrics-function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metrics-function.js","sourceRoot":"","sources":["../../src/rules/metrics-function.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics-function.js","sourceRoot":"","sources":["../../src/rules/metrics-function.ts"],"names":[],"mappings":"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"}