@nielspeter/eess-ts 0.4.0 → 0.5.0

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 (264) 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.js +1 -1
  33. package/dist/cli/commands/doctor.js.map +1 -1
  34. package/dist/cli/commands/explain.js +1 -1
  35. package/dist/cli/commands/explain.js.map +1 -1
  36. package/dist/cli/commands/init.js +1 -1
  37. package/dist/cli/commands/init.js.map +1 -1
  38. package/dist/cli/import-rule-module.d.ts.map +1 -1
  39. package/dist/cli/import-rule-module.js +1 -14
  40. package/dist/cli/import-rule-module.js.map +1 -1
  41. package/dist/cli/index.d.ts.map +1 -1
  42. package/dist/cli/index.js +4 -11
  43. package/dist/cli/index.js.map +1 -1
  44. package/dist/cli/load-rules.d.ts.map +1 -1
  45. package/dist/cli/load-rules.js +5 -4
  46. package/dist/cli/load-rules.js.map +1 -1
  47. package/dist/cli/resolve-config.d.ts +0 -8
  48. package/dist/cli/resolve-config.d.ts.map +1 -1
  49. package/dist/cli/resolve-config.js +18 -48
  50. package/dist/cli/resolve-config.js.map +1 -1
  51. package/dist/cli/rule-file-findings.d.ts.map +1 -1
  52. package/dist/cli/rule-file-findings.js +60 -2
  53. package/dist/cli/rule-file-findings.js.map +1 -1
  54. package/dist/cli/watch.d.ts +13 -43
  55. package/dist/cli/watch.d.ts.map +1 -1
  56. package/dist/cli/watch.js +8 -148
  57. package/dist/cli/watch.js.map +1 -1
  58. package/dist/conditions/call.d.ts.map +1 -1
  59. package/dist/conditions/call.js +4 -3
  60. package/dist/conditions/call.js.map +1 -1
  61. package/dist/conditions/cross-layer.js +2 -2
  62. package/dist/conditions/cross-layer.js.map +1 -1
  63. package/dist/conditions/dependency.js +2 -2
  64. package/dist/conditions/dependency.js.map +1 -1
  65. package/dist/conditions/exports.d.ts.map +1 -1
  66. package/dist/conditions/exports.js +31 -37
  67. package/dist/conditions/exports.js.map +1 -1
  68. package/dist/conditions/function.js +1 -1
  69. package/dist/conditions/function.js.map +1 -1
  70. package/dist/conditions/jsx.js +1 -1
  71. package/dist/conditions/jsx.js.map +1 -1
  72. package/dist/conditions/members.d.ts.map +1 -1
  73. package/dist/conditions/members.js +3 -2
  74. package/dist/conditions/members.js.map +1 -1
  75. package/dist/conditions/reverse-dependency.d.ts.map +1 -1
  76. package/dist/conditions/reverse-dependency.js +47 -2
  77. package/dist/conditions/reverse-dependency.js.map +1 -1
  78. package/dist/conditions/slice.js +1 -1
  79. package/dist/conditions/slice.js.map +1 -1
  80. package/dist/conditions/structural.js +1 -1
  81. package/dist/conditions/structural.js.map +1 -1
  82. package/dist/core/check-all.d.ts.map +1 -1
  83. package/dist/core/check-all.js +61 -7
  84. package/dist/core/check-all.js.map +1 -1
  85. package/dist/core/combinators.d.ts.map +1 -1
  86. package/dist/core/combinators.js +20 -27
  87. package/dist/core/combinators.js.map +1 -1
  88. package/dist/core/descendant-cache.d.ts.map +1 -1
  89. package/dist/core/descendant-cache.js +5 -7
  90. package/dist/core/descendant-cache.js.map +1 -1
  91. package/dist/core/diagnose.js +15 -7
  92. package/dist/core/diagnose.js.map +1 -1
  93. package/dist/core/disk-set.js +1 -1
  94. package/dist/core/disk-set.js.map +1 -1
  95. package/dist/core/element-cache.js +1 -1
  96. package/dist/core/element-cache.js.map +1 -1
  97. package/dist/core/exclusion-comments.d.ts +15 -50
  98. package/dist/core/exclusion-comments.d.ts.map +1 -1
  99. package/dist/core/exclusion-comments.js +4 -307
  100. package/dist/core/exclusion-comments.js.map +1 -1
  101. package/dist/core/execute-rule.d.ts +8 -0
  102. package/dist/core/execute-rule.d.ts.map +1 -1
  103. package/dist/core/execute-rule.js +99 -13
  104. package/dist/core/execute-rule.js.map +1 -1
  105. package/dist/core/glob-evaluator.js +2 -2
  106. package/dist/core/glob-evaluator.js.map +1 -1
  107. package/dist/core/invalidate-on-modify.d.ts +20 -0
  108. package/dist/core/invalidate-on-modify.d.ts.map +1 -0
  109. package/dist/core/invalidate-on-modify.js +26 -0
  110. package/dist/core/invalidate-on-modify.js.map +1 -0
  111. package/dist/core/line-index.d.ts.map +1 -1
  112. package/dist/core/line-index.js +6 -8
  113. package/dist/core/line-index.js.map +1 -1
  114. package/dist/core/metric-violation.d.ts +1 -1
  115. package/dist/core/module-edges.d.ts.map +1 -1
  116. package/dist/core/module-edges.js +26 -25
  117. package/dist/core/module-edges.js.map +1 -1
  118. package/dist/core/orphan-exclusions.d.ts.map +1 -1
  119. package/dist/core/orphan-exclusions.js +15 -5
  120. package/dist/core/orphan-exclusions.js.map +1 -1
  121. package/dist/core/path-universe.d.ts +10 -42
  122. package/dist/core/path-universe.d.ts.map +1 -1
  123. package/dist/core/path-universe.js +0 -20
  124. package/dist/core/path-universe.js.map +1 -1
  125. package/dist/core/project.d.ts.map +1 -1
  126. package/dist/core/project.js +6 -5
  127. package/dist/core/project.js.map +1 -1
  128. package/dist/core/rule-builder.d.ts +22 -1
  129. package/dist/core/rule-builder.d.ts.map +1 -1
  130. package/dist/core/rule-builder.js +38 -20
  131. package/dist/core/rule-builder.js.map +1 -1
  132. package/dist/core/rule-declaration.d.ts.map +1 -1
  133. package/dist/core/rule-declaration.js +14 -52
  134. package/dist/core/rule-declaration.js.map +1 -1
  135. package/dist/core/terminal-builder.d.ts +17 -13
  136. package/dist/core/terminal-builder.d.ts.map +1 -1
  137. package/dist/core/terminal-builder.js +41 -21
  138. package/dist/core/terminal-builder.js.map +1 -1
  139. package/dist/core/terminal-execution.d.ts +22 -6
  140. package/dist/core/terminal-execution.d.ts.map +1 -1
  141. package/dist/core/terminal-execution.js +39 -7
  142. package/dist/core/terminal-execution.js.map +1 -1
  143. package/dist/core/ts-comment-mask.d.ts +2 -0
  144. package/dist/core/ts-comment-mask.d.ts.map +1 -0
  145. package/dist/core/ts-comment-mask.js +102 -0
  146. package/dist/core/ts-comment-mask.js.map +1 -0
  147. package/dist/core/vacuity-diagnosis.js +1 -1
  148. package/dist/core/vacuity-diagnosis.js.map +1 -1
  149. package/dist/graphql/graphql-rule-builder.d.ts +95 -0
  150. package/dist/graphql/graphql-rule-builder.d.ts.map +1 -0
  151. package/dist/graphql/graphql-rule-builder.js +127 -0
  152. package/dist/graphql/graphql-rule-builder.js.map +1 -0
  153. package/dist/graphql/index.d.ts +1 -0
  154. package/dist/graphql/index.d.ts.map +1 -1
  155. package/dist/graphql/index.js +1 -0
  156. package/dist/graphql/index.js.map +1 -1
  157. package/dist/graphql/resolver-rule-builder.d.ts +22 -76
  158. package/dist/graphql/resolver-rule-builder.d.ts.map +1 -1
  159. package/dist/graphql/resolver-rule-builder.js +8 -130
  160. package/dist/graphql/resolver-rule-builder.js.map +1 -1
  161. package/dist/graphql/schema-loader.d.ts.map +1 -1
  162. package/dist/graphql/schema-loader.js +4 -3
  163. package/dist/graphql/schema-loader.js.map +1 -1
  164. package/dist/graphql/schema-predicates.d.ts.map +1 -1
  165. package/dist/graphql/schema-predicates.js +17 -12
  166. package/dist/graphql/schema-predicates.js.map +1 -1
  167. package/dist/graphql/schema-rule-builder.d.ts +21 -67
  168. package/dist/graphql/schema-rule-builder.d.ts.map +1 -1
  169. package/dist/graphql/schema-rule-builder.js +6 -120
  170. package/dist/graphql/schema-rule-builder.js.map +1 -1
  171. package/dist/helpers/baseline-generator.d.ts +9 -0
  172. package/dist/helpers/baseline-generator.d.ts.map +1 -1
  173. package/dist/helpers/baseline-generator.js +9 -0
  174. package/dist/helpers/baseline-generator.js.map +1 -1
  175. package/dist/helpers/baseline.d.ts.map +1 -1
  176. package/dist/helpers/baseline.js +4 -4
  177. package/dist/helpers/baseline.js.map +1 -1
  178. package/dist/helpers/body-traversal.d.ts.map +1 -1
  179. package/dist/helpers/body-traversal.js +13 -0
  180. package/dist/helpers/body-traversal.js.map +1 -1
  181. package/dist/helpers/callback-extractor.js +6 -38
  182. package/dist/helpers/callback-extractor.js.map +1 -1
  183. package/dist/helpers/complexity.d.ts +1 -1
  184. package/dist/helpers/complexity.js +1 -1
  185. package/dist/helpers/diff-aware.d.ts +11 -39
  186. package/dist/helpers/diff-aware.d.ts.map +1 -1
  187. package/dist/helpers/diff-aware.js +11 -79
  188. package/dist/helpers/diff-aware.js.map +1 -1
  189. package/dist/helpers/matchers.d.ts.map +1 -1
  190. package/dist/helpers/matchers.js +51 -67
  191. package/dist/helpers/matchers.js.map +1 -1
  192. package/dist/index.d.ts +15 -18
  193. package/dist/index.d.ts.map +1 -1
  194. package/dist/index.js +26 -18
  195. package/dist/index.js.map +1 -1
  196. package/dist/models/arch-function.d.ts +26 -2
  197. package/dist/models/arch-function.d.ts.map +1 -1
  198. package/dist/models/arch-function.js +51 -17
  199. package/dist/models/arch-function.js.map +1 -1
  200. package/dist/models/arch-jsx-element.d.ts.map +1 -1
  201. package/dist/models/arch-jsx-element.js +16 -17
  202. package/dist/models/arch-jsx-element.js.map +1 -1
  203. package/dist/predicates/jsx.d.ts.map +1 -1
  204. package/dist/predicates/jsx.js +2 -1
  205. package/dist/predicates/jsx.js.map +1 -1
  206. package/dist/presets/agent-guardrails.d.ts +29 -3
  207. package/dist/presets/agent-guardrails.d.ts.map +1 -1
  208. package/dist/presets/agent-guardrails.js +185 -1
  209. package/dist/presets/agent-guardrails.js.map +1 -1
  210. package/dist/presets/boundaries.d.ts +2 -2
  211. package/dist/presets/boundaries.d.ts.map +1 -1
  212. package/dist/presets/data-layer.d.ts +2 -2
  213. package/dist/presets/data-layer.d.ts.map +1 -1
  214. package/dist/presets/index.d.ts +4 -1
  215. package/dist/presets/index.d.ts.map +1 -1
  216. package/dist/presets/index.js +11 -1
  217. package/dist/presets/index.js.map +1 -1
  218. package/dist/presets/layered.d.ts +2 -2
  219. package/dist/presets/layered.d.ts.map +1 -1
  220. package/dist/presets/recommended.d.ts +3 -3
  221. package/dist/presets/recommended.d.ts.map +1 -1
  222. package/dist/presets/shared.d.ts +8 -11
  223. package/dist/presets/shared.d.ts.map +1 -1
  224. package/dist/presets/shared.js +57 -28
  225. package/dist/presets/shared.js.map +1 -1
  226. package/dist/rules/metrics-function.d.ts.map +1 -1
  227. package/dist/rules/metrics-function.js +59 -62
  228. package/dist/rules/metrics-function.js.map +1 -1
  229. package/dist/rules/metrics.d.ts.map +1 -1
  230. package/dist/rules/metrics.js +62 -59
  231. package/dist/rules/metrics.js.map +1 -1
  232. package/dist/smells/clusters.d.ts +78 -0
  233. package/dist/smells/clusters.d.ts.map +1 -0
  234. package/dist/smells/clusters.js +124 -0
  235. package/dist/smells/clusters.js.map +1 -0
  236. package/dist/smells/duplicate-bodies.d.ts +38 -4
  237. package/dist/smells/duplicate-bodies.d.ts.map +1 -1
  238. package/dist/smells/duplicate-bodies.js +93 -44
  239. package/dist/smells/duplicate-bodies.js.map +1 -1
  240. package/dist/smells/duplicate-report.d.ts +90 -0
  241. package/dist/smells/duplicate-report.d.ts.map +1 -0
  242. package/dist/smells/duplicate-report.js +344 -0
  243. package/dist/smells/duplicate-report.js.map +1 -0
  244. package/dist/smells/fingerprint.d.ts +12 -0
  245. package/dist/smells/fingerprint.d.ts.map +1 -1
  246. package/dist/smells/fingerprint.js +8 -2
  247. package/dist/smells/fingerprint.js.map +1 -1
  248. package/dist/smells/inconsistent-siblings.js +1 -1
  249. package/dist/smells/inconsistent-siblings.js.map +1 -1
  250. package/dist/smells/similar-pairs.d.ts +9 -8
  251. package/dist/smells/similar-pairs.d.ts.map +1 -1
  252. package/dist/smells/similar-pairs.js +83 -1
  253. package/dist/smells/similar-pairs.js.map +1 -1
  254. package/dist/smells/smell-builder.d.ts.map +1 -1
  255. package/dist/smells/smell-builder.js +3 -2
  256. package/dist/smells/smell-builder.js.map +1 -1
  257. package/dist/smells/variation.d.ts +47 -0
  258. package/dist/smells/variation.d.ts.map +1 -0
  259. package/dist/smells/variation.js +90 -0
  260. package/dist/smells/variation.js.map +1 -0
  261. package/dist/tsconfig/tsconfig-builder.d.ts.map +1 -1
  262. package/dist/tsconfig/tsconfig-builder.js +3 -2
  263. package/dist/tsconfig/tsconfig-builder.js.map +1 -1
  264. package/package.json +3 -2
@@ -1,5 +1,38 @@
1
+ import { ArchConfigError } from '@nielspeter/eess';
1
2
  import { Node as NodeClass, Scope, SyntaxKind, } from 'ts-morph';
2
3
  import { collectObjectLiteralFunctions } from '../core/object-literal-functions.js';
4
+ /**
5
+ * Wrap a callable node as an `ArchFunction`, taking its name from the caller.
6
+ *
7
+ * Four adapters wrote this object out by hand — `fromArrowExpression`,
8
+ * `fromFunctionExpression` and `fromMethodDeclaration` in
9
+ * `helpers/callback-extractor.ts`, plus the object-literal branch below —
10
+ * which `no-copy-paste` reported at 100%. Every field but the name reads the
11
+ * same way off any of the three node kinds, and `getName` is the caller's
12
+ * because only the caller knows: a callback argument is anonymous, a function
13
+ * expression may name itself, and an object-literal value is named by its
14
+ * property-key path.
15
+ *
16
+ * `isExported: false` and `getScope: 'public'` are facts about this shape
17
+ * rather than defaults: none of these nodes is a declaration that `export` can
18
+ * precede, and none carries an access modifier. Reading them off the node
19
+ * would return the enclosing declaration's answer, which is a different
20
+ * subject from the one the violation names.
21
+ */
22
+ export function fromCallableNode(node, getName) {
23
+ return {
24
+ getName,
25
+ getSourceFile: () => node.getSourceFile(),
26
+ isExported: () => false,
27
+ isAsync: () => node.isAsync(),
28
+ getParameters: () => node.getParameters(),
29
+ getReturnType: () => node.getReturnType(),
30
+ getBody: () => node.getBody(),
31
+ getNode: () => node,
32
+ getScope: () => 'public',
33
+ getStartLineNumber: () => node.getStartLineNumber(),
34
+ };
35
+ }
3
36
  /**
4
37
  * Create an ArchFunction from a FunctionDeclaration.
5
38
  */
@@ -23,10 +56,11 @@ export function fromFunctionDeclaration(decl) {
23
56
  *
24
57
  * Precondition: caller must verify the initializer is an ArrowFunction.
25
58
  */
26
- export function fromArrowVariableDeclaration(decl) {
27
- const arrow = decl.getInitializerIfKind(SyntaxKind.ArrowFunction);
59
+ export function fromFunctionInitializerDeclaration(decl) {
60
+ const arrow = decl.getInitializerIfKind(SyntaxKind.ArrowFunction) ??
61
+ decl.getInitializerIfKind(SyntaxKind.FunctionExpression);
28
62
  if (!arrow)
29
- throw new Error('Expected arrow function initializer');
63
+ throw new ArchConfigError('fromFunctionInitializerDeclaration', 'Expected an arrow function or function expression initializer');
30
64
  return {
31
65
  getName: () => decl.getName(),
32
66
  getSourceFile: () => decl.getSourceFile(),
@@ -111,8 +145,14 @@ export function collectFunctions(sourceFile, options) {
111
145
  }
112
146
  // Pattern 2: const arrow functions
113
147
  for (const varDecl of sourceFile.getVariableDeclarations()) {
114
- if (varDecl.getInitializerIfKind(SyntaxKind.ArrowFunction)) {
115
- functions.push(fromArrowVariableDeclaration(varDecl));
148
+ // ArrowFunction and FunctionExpression both. `const a = function () {}` is
149
+ // an ordinary shape and was collected by nothing — bug 0224 measured `eval`
150
+ // passing the `recommended` floor inside one, because the element never
151
+ // reached the rule at all. (Distinct from the concise-arrow half of that
152
+ // bug, which was a traversal gap, not a collection gap.)
153
+ if (varDecl.getInitializerIfKind(SyntaxKind.ArrowFunction) ??
154
+ varDecl.getInitializerIfKind(SyntaxKind.FunctionExpression)) {
155
+ functions.push(fromFunctionInitializerDeclaration(varDecl));
116
156
  }
117
157
  }
118
158
  // Pattern 3: class methods
@@ -194,18 +234,7 @@ export function fromObjectLiteralFunction(node, keyPath) {
194
234
  if (NodeClass.isArrowFunction(node) ||
195
235
  NodeClass.isFunctionExpression(node) ||
196
236
  NodeClass.isMethodDeclaration(node)) {
197
- return {
198
- getName: () => name,
199
- getSourceFile: () => node.getSourceFile(),
200
- isExported: () => false,
201
- isAsync: () => node.isAsync(),
202
- getParameters: () => node.getParameters(),
203
- getReturnType: () => node.getReturnType(),
204
- getBody: () => node.getBody(),
205
- getNode: () => node,
206
- getStartLineNumber: () => node.getStartLineNumber(),
207
- getScope: () => 'public',
208
- };
237
+ return fromCallableNode(node, () => name);
209
238
  }
210
239
  return undefined;
211
240
  }
@@ -222,4 +251,9 @@ function qualifiedName(keyPath) {
222
251
  })
223
252
  .join('');
224
253
  }
254
+ /**
255
+ * @deprecated Use {@link fromFunctionInitializerDeclaration} — it handles
256
+ * `function () {}` initializers as well as arrows (bug 0224).
257
+ */
258
+ export const fromArrowVariableDeclaration = fromFunctionInitializerDeclaration;
225
259
  //# sourceMappingURL=arch-function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"arch-function.js","sourceRoot":"","sources":["../../src/models/arch-function.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arch-function.js","sourceRoot":"","sources":["../../src/models/arch-function.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"arch-jsx-element.d.ts","sourceRoot":"","sources":["../../src/models/arch-jsx-element.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,qBAAqB,EAE1B,KAAK,UAAU,EAGhB,MAAM,UAAU,CAAA;AAEjB;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAiHtC,CAAA;AAEV;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,OAAO,IAAI,MAAM,CAAA;IAEjB,2CAA2C;IAC3C,aAAa,IAAI,UAAU,CAAA;IAE3B;;;OAGG;IACH,aAAa,IAAI,OAAO,CAAA;IAExB;;OAEG;IACH,WAAW,IAAI,OAAO,CAAA;IAEtB;;;;;;;;OAQG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IAE9C;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAEnC;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE,CAAA;IAE7B,+EAA+E;IAC/E,WAAW,IAAI,OAAO,CAAA;IAEtB,gCAAgC;IAChC,OAAO,IAAI,UAAU,GAAG,qBAAqB,CAAA;IAE7C,4CAA4C;IAC5C,kBAAkB,IAAI,MAAM,CAAA;CAC7B;AAiDD;;GAEG;AAEH,wBAAgB,cAAc,CAAC,EAAE,EAAE,UAAU,GAAG,cAAc,CAgB7D;AAED;;GAEG;AAEH,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,qBAAqB,GAAG,cAAc,CAenF;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,cAAc,EAAE,CAa3E"}
1
+ {"version":3,"file":"arch-jsx-element.d.ts","sourceRoot":"","sources":["../../src/models/arch-jsx-element.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,qBAAqB,EAE1B,KAAK,UAAU,EAGhB,MAAM,UAAU,CAAA;AAEjB;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAiHtC,CAAA;AAEV;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,OAAO,IAAI,MAAM,CAAA;IAEjB,2CAA2C;IAC3C,aAAa,IAAI,UAAU,CAAA;IAE3B;;;OAGG;IACH,aAAa,IAAI,OAAO,CAAA;IAExB;;OAEG;IACH,WAAW,IAAI,OAAO,CAAA;IAEtB;;;;;;;;OAQG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IAE9C;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAEnC;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE,CAAA;IAE7B,+EAA+E;IAC/E,WAAW,IAAI,OAAO,CAAA;IAEtB,gCAAgC;IAChC,OAAO,IAAI,UAAU,GAAG,qBAAqB,CAAA;IAE7C,4CAA4C;IAC5C,kBAAkB,IAAI,MAAM,CAAA;CAC7B;AAiDD;;GAEG;AAEH,wBAAgB,cAAc,CAAC,EAAE,EAAE,UAAU,GAAG,cAAc,CAG7D;AAED;;GAEG;AAEH,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,qBAAqB,GAAG,cAAc,CAEnF;AA+BD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,cAAc,EAAE,CAa3E"}
@@ -172,35 +172,34 @@ function buildAttributeAccessors(getAttrs) {
172
172
  // eess-exclude eess/no-unused-exports: consumed by the test suite; the build tsconfig this gate reads excludes tests, so `src` is the only usage it can see
173
173
  export function fromJsxElement(el) {
174
174
  const opening = el.getOpeningElement();
175
- const tagName = opening.getTagNameNode().getText();
176
- const htmlTag = isHtmlTag(tagName);
177
- const attrs = buildAttributeAccessors(() => opening.getAttributes());
178
- return {
179
- getName: () => tagName,
180
- getSourceFile: () => el.getSourceFile(),
181
- isHtmlElement: () => htmlTag,
182
- isComponent: () => !htmlTag,
183
- ...attrs,
184
- hasChildren: () => true,
185
- getNode: () => el,
186
- getStartLineNumber: () => el.getStartLineNumber(),
187
- };
175
+ return jsxElementOf(el, opening.getTagNameNode().getText(), () => opening.getAttributes(), true);
188
176
  }
189
177
  /**
190
178
  * Create an ArchJsxElement from a JsxSelfClosingElement (no children).
191
179
  */
192
180
  // eess-exclude eess/no-unused-exports: consumed by the test suite; the build tsconfig this gate reads excludes tests, so `src` is the only usage it can see
193
181
  export function fromJsxSelfClosingElement(el) {
194
- const tagName = el.getTagNameNode().getText();
182
+ return jsxElementOf(el, el.getTagNameNode().getText(), () => el.getAttributes(), false);
183
+ }
184
+ /**
185
+ * The `ArchJsxElement` shape, from whichever node carries the tag.
186
+ *
187
+ * `<X>…</X>` and `<X />` differ in exactly two things — where the attributes
188
+ * hang, and whether children are possible — and the two constructors were
189
+ * otherwise byte-identical, which `no-copy-paste` reported at 91%. The rest is
190
+ * a definition, not a coincidence: `isComponent` is `!isHtmlElement` and must
191
+ * stay so, since an element that answered false to both would be excluded by
192
+ * every JSX rule at once and reported by none.
193
+ */
194
+ function jsxElementOf(el, tagName, attributes, hasChildren) {
195
195
  const htmlTag = isHtmlTag(tagName);
196
- const attrs = buildAttributeAccessors(() => el.getAttributes());
197
196
  return {
198
197
  getName: () => tagName,
199
198
  getSourceFile: () => el.getSourceFile(),
200
199
  isHtmlElement: () => htmlTag,
201
200
  isComponent: () => !htmlTag,
202
- ...attrs,
203
- hasChildren: () => false,
201
+ ...buildAttributeAccessors(attributes),
202
+ hasChildren: () => hasChildren,
204
203
  getNode: () => el,
205
204
  getStartLineNumber: () => el.getStartLineNumber(),
206
205
  };
@@ -1 +1 @@
1
- {"version":3,"file":"arch-jsx-element.js","sourceRoot":"","sources":["../../src/models/arch-jsx-element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arch-jsx-element.js","sourceRoot":"","sources":["../../src/models/arch-jsx-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,IAAI,GACL,MAAM,UAAU,CAAA;AAEjB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,GAAG;IACH,MAAM;IACN,SAAS;IACT,MAAM;IACN,SAAS;IACT,OAAO;IACP,OAAO;IACP,GAAG;IACH,MAAM;IACN,KAAK;IACL,KAAK;IACL,YAAY;IACZ,MAAM;IACN,IAAI;IACJ,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,MAAM;IACN,MAAM;IACN,KAAK;IACL,UAAU;IACV,MAAM;IACN,UAAU;IACV,IAAI;IACJ,KAAK;IACL,SAAS;IACT,KAAK;IACL,QAAQ;IACR,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,UAAU;IACV,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,GAAG;IACH,QAAQ;IACR,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,OAAO;IACP,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,UAAU;IACV,QAAQ;IACR,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,GAAG;IACH,SAAS;IACT,KAAK;IACL,UAAU;IACV,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,GAAG;IACH,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,OAAO;IACP,KAAK;IACL,SAAS;IACT,KAAK;IACL,OAAO;IACP,OAAO;IACP,IAAI;IACJ,UAAU;IACV,UAAU;IACV,OAAO;IACP,IAAI;IACJ,OAAO;IACP,MAAM;IACN,OAAO;IACP,IAAI;IACJ,OAAO;IACP,GAAG;IACH,IAAI;IACJ,KAAK;IACL,OAAO;IACP,KAAK;CACG,CAAA;AA6DV;;;;;GAKG;AACH,SAAS,SAAS,CAAC,OAAe;IAChC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAC5B,OAAO,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,CAAC,WAAW,EAAE,CAAA;AACzE,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,CAAmB;IAC3C,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;AAC/B,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB,CAAC,QAAkC;IACjE,SAAS,UAAU;QACjB,OAAO,QAAQ,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAC5C,CAAC;IAED,OAAO;QACL,YAAY,CAAC,IAAY;YACvB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,CAAA;YACzE,IAAI,CAAC,IAAI;gBAAE,OAAO,SAAS,CAAA;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;YAClC,IAAI,CAAC,IAAI;gBAAE,OAAO,SAAS,CAAA,CAAC,sBAAsB;YAClD,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC,eAAe,EAAE,CAAA;YAC7D,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;QACvB,CAAC;QACD,YAAY,CAAC,IAAY;YACvB,OAAO,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,CAAA;QACrE,CAAC;QACD,iBAAiB;YACf,OAAO,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;QAC3D,CAAC;KACF,CAAA;AACH,CAAC;AAED;;GAEG;AACH,4JAA4J;AAC5J,MAAM,UAAU,cAAc,CAAC,EAAc;IAC3C,MAAM,OAAO,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAA;IACtC,OAAO,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,CAAA;AAClG,CAAC;AAED;;GAEG;AACH,4JAA4J;AAC5J,MAAM,UAAU,yBAAyB,CAAC,EAAyB;IACjE,OAAO,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,KAAK,CAAC,CAAA;AACzF,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,YAAY,CACnB,EAAsC,EACtC,OAAe,EACf,UAAoC,EACpC,WAAoB;IAEpB,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;IAClC,OAAO;QACL,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO;QACtB,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE;QACvC,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO;QAC5B,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO;QAC3B,GAAG,uBAAuB,CAAC,UAAU,CAAC;QACtC,WAAW,EAAE,GAAG,EAAE,CAAC,WAAW;QAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;QACjB,kBAAkB,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,kBAAkB,EAAE;KAClD,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAsB;IACvD,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,EAAE,CAAA;IACzC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAA;IAEvE,MAAM,QAAQ,GAAqB,EAAE,CAAA;IACrC,UAAU,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE;QACpC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;QACrC,CAAC;aAAM,IAAI,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAA;QAChD,CAAC;IACH,CAAC,CAAC,CAAA;IACF,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"jsx.d.ts","sourceRoot":"","sources":["../../src/predicates/jsx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAEnE;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,cAAc,CAAC,CAgB5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,cAAc,CAAC,CAe3E;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,cAAc,CAAC,CAKrE;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,MAAM,GACrB,SAAS,CAAC,cAAc,CAAC,CAW3B"}
1
+ {"version":3,"file":"jsx.d.ts","sourceRoot":"","sources":["../../src/predicates/jsx.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAEnE;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,cAAc,CAAC,CAiB5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,cAAc,CAAC,CAe3E;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,cAAc,CAAC,CAKrE;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GAAG,MAAM,GACrB,SAAS,CAAC,cAAc,CAAC,CAW3B"}
@@ -1,3 +1,4 @@
1
+ import { ArchConfigError } from '@nielspeter/eess';
1
2
  /**
2
3
  * Matches HTML intrinsic elements with the given tag names.
3
4
  * At least one tag name is required — throws if called with zero tags.
@@ -8,7 +9,7 @@
8
9
  */
9
10
  export function areHtmlElements(...tags) {
10
11
  if (tags.length === 0) {
11
- throw new Error('areHtmlElements() requires at least one tag name. ' +
12
+ throw new ArchConfigError('areHtmlElements', 'areHtmlElements() requires at least one tag name. ' +
12
13
  'Use areHtmlElements(...STANDARD_HTML_TAGS) for all standard HTML elements.');
13
14
  }
14
15
  const tagSet = new Set(tags);
@@ -1 +1 @@
1
- {"version":3,"file":"jsx.js","sourceRoot":"","sources":["../../src/predicates/jsx.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,GAAG,IAAc;IAC/C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,oDAAoD;YAClD,4EAA4E,CAC/E,CAAA;IACH,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;IAC5B,MAAM,IAAI,GACR,IAAI,CAAC,MAAM,IAAI,CAAC;QACd,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY;QACvC,CAAC,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,qBAAqB,CAAA;IAChG,OAAO;QACL,WAAW,EAAE,IAAI;QACjB,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;KAC5E,CAAA;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,GAAG,KAAe;IAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,WAAW,EAAE,wBAAwB;YACrC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE;SACzC,CAAA;IACH,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;IAC9B,OAAO;QACL,WAAW,EACT,KAAK,CAAC,MAAM,KAAK,CAAC;YAChB,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,cAAc;YAChC,CAAC,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc;QAC9C,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;KAC3E,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO;QACL,WAAW,EAAE,mBAAmB,IAAI,GAAG;QACvC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC;KAC9C,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,KAAsB;IAEtB,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC1E,OAAO;QACL,WAAW,EAAE,mBAAmB,IAAI,cAAc,SAAS,EAAE;QAC7D,IAAI,CAAC,OAAO;YACV,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;YAC5C,IAAI,SAAS,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAA;YACzC,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,SAAS,KAAK,KAAK,CAAA;YACzD,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC9B,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"jsx.js","sourceRoot":"","sources":["../../src/predicates/jsx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAIlD;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,GAAG,IAAc;IAC/C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,eAAe,CACvB,iBAAiB,EACjB,oDAAoD;YAClD,4EAA4E,CAC/E,CAAA;IACH,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;IAC5B,MAAM,IAAI,GACR,IAAI,CAAC,MAAM,IAAI,CAAC;QACd,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY;QACvC,CAAC,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,qBAAqB,CAAA;IAChG,OAAO;QACL,WAAW,EAAE,IAAI;QACjB,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;KAC5E,CAAA;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,GAAG,KAAe;IAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,WAAW,EAAE,wBAAwB;YACrC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE;SACzC,CAAA;IACH,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAA;IAC9B,OAAO;QACL,WAAW,EACT,KAAK,CAAC,MAAM,KAAK,CAAC;YAChB,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,cAAc;YAChC,CAAC,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc;QAC9C,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;KAC3E,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO;QACL,WAAW,EAAE,mBAAmB,IAAI,GAAG;QACvC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC;KAC9C,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,KAAsB;IAEtB,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC1E,OAAO;QACL,WAAW,EAAE,mBAAmB,IAAI,cAAc,SAAS,EAAE;QAC7D,IAAI,CAAC,OAAO;YACV,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;YAC5C,IAAI,SAAS,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAA;YACzC,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,SAAS,KAAK,KAAK,CAAA;YACzD,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC9B,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -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';
@@ -8,7 +8,7 @@ import type { PresetBaseOptions } from './shared.js';
8
8
  * the set is not closed. A typo in the API name is therefore still accepted by
9
9
  * the type — the runtime finding is what covers that arm.
10
10
  */
11
- type AgentGuardrailsRuleId = `preset/agent/no-inline-logic/${string}` | 'preset/agent/no-generic-errors' | 'preset/agent/no-stubs' | 'preset/agent/no-empty-bodies' | 'preset/agent/no-copy-paste';
11
+ type AgentGuardrailsRuleId = `preset/agent/no-inline-logic/${string}` | 'preset/agent/no-generic-errors' | 'preset/agent/no-stubs' | 'preset/agent/no-empty-bodies' | 'preset/agent/no-copy-paste' | 'preset/agent/no-verdict-outside-rules';
12
12
  export interface AgentGuardrailsOptions extends PresetBaseOptions<AgentGuardrailsRuleId> {
13
13
  /** Glob for the source files the rules apply to. */
14
14
  src: string;
@@ -18,6 +18,32 @@ export interface AgentGuardrailsOptions extends PresetBaseOptions<AgentGuardrail
18
18
  noStubs?: boolean;
19
19
  noEmptyBodies?: boolean;
20
20
  noCopyPaste?: boolean;
21
+ /**
22
+ * Ban eess at runtime, and every emitter call, outside a file that is meant to
23
+ * write a verdict — [plan 0237](../../../../work/plans/completed/0237-eess-runtime-use-only-in-rule-files.md),
24
+ * reaching the two residuals ADR-014 states its own contract cannot.
25
+ */
26
+ noVerdictOutsideRules?: boolean;
27
+ /**
28
+ * Where else eess may be used as a value. **Extends**
29
+ * {@link DEFAULT_RULE_FILES} rather than replacing it, so an adopter naming
30
+ * `scripts/**` does not thereby red every one of their rule files.
31
+ *
32
+ * A list, and ADR-009 rule 3's corollary is right to be wary of one — a marker
33
+ * an agent can stamp to go green is worse than none. Two things make this one
34
+ * honest. It lives in the preset's options, so stamping it is a visible line in
35
+ * the config diff, exactly like `overrides`: a Tier 5 defence, review-enforced,
36
+ * and named as such rather than dressed as a mechanism. And a file named here
37
+ * is still under ADR-014 the moment it calls an emitter — the list decides
38
+ * WHERE a verdict may be written, not whether it needs evidence.
39
+ *
40
+ * An entry matching no file is reported as
41
+ * `preset/agent/rule-files-matches-nothing`, so the list cannot rot in silence.
42
+ * An unanchored entry (`scripts/**`) is matched relative to the tsconfig root,
43
+ * exactly as `resideInFile` does it — the check and the rule share one
44
+ * derivation rather than two that can drift apart.
45
+ */
46
+ ruleFiles?: string[];
21
47
  }
22
48
  /**
23
49
  * `report` names a delivery mode; omitting it returns the un-executed builders.
@@ -34,6 +60,6 @@ export interface AgentGuardrailsOptions extends PresetBaseOptions<AgentGuardrail
34
60
  export declare function agentGuardrails(p: ArchProject, options: AgentGuardrailsOptions & {
35
61
  report: 'builders';
36
62
  }): RuleBuilderLike[];
37
- export declare function agentGuardrails(p: ArchProject, options: AgentGuardrailsOptions): ArchViolation[];
63
+ export declare function agentGuardrails(p: ArchProject, options: AgentGuardrailsOptions): CollectResult;
38
64
  export {};
39
65
  //# sourceMappingURL=agent-guardrails.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-guardrails.d.ts","sourceRoot":"","sources":["../../src/presets/agent-guardrails.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AASrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAYpD;;;;;GAKG;AACH,KAAK,qBAAqB,GACtB,gCAAgC,MAAM,EAAE,GACxC,gCAAgC,GAChC,uBAAuB,GACvB,8BAA8B,GAC9B,4BAA4B,CAAA;AAEhC,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB,CAAC,qBAAqB,CAAC;IACtF,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAA;IACX,sFAAsF;IACtF,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAwBD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,CAAC,EAAE,WAAW,EACd,OAAO,EAAE,sBAAsB,GAAG;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GACvD,eAAe,EAAE,CAAA;AACpB,wBAAgB,eAAe,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,sBAAsB,GAAG,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"agent-guardrails.d.ts","sourceRoot":"","sources":["../../src/presets/agent-guardrails.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAmBrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAYpD;;;;;GAKG;AACH,KAAK,qBAAqB,GACtB,gCAAgC,MAAM,EAAE,GACxC,gCAAgC,GAChC,uBAAuB,GACvB,8BAA8B,GAC9B,4BAA4B,GAC5B,uCAAuC,CAAA;AAE3C,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB,CAAC,qBAAqB,CAAC;IACtF,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAA;IACX,sFAAsF;IACtF,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB;AAkFD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,CAAC,EAAE,WAAW,EACd,OAAO,EAAE,sBAAsB,GAAG;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GACvD,eAAe,EAAE,CAAA;AACpB,wBAAgB,eAAe,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,sBAAsB,GAAG,aAAa,CAAA"}
@@ -1,9 +1,72 @@
1
1
  import { functions } from '../builders/function-rule-builder.js';
2
+ import { modules } from '../builders/module-rule-builder.js';
3
+ import { resideInFile } from '../predicates/identity.js';
4
+ import { not, or } from '../core/combinators.js';
5
+ import { isDeadSite } from '../core/glob-evaluator.js';
6
+ import { isProjectRelative } from '../core/project-relative.js';
7
+ import { pathUniverse } from '../core/path-universe.js';
8
+ import { collectResult } from '@nielspeter/eess';
9
+ import { UNSUPPRESSABLE } from '@nielspeter/eess/internal';
2
10
  import { call } from '../helpers/matchers.js';
3
11
  import { functionNoGenericErrors } from '../rules/errors.js';
4
12
  import { noStubComments, noEmptyBodies } from '../rules/hygiene.js';
5
13
  import { smells } from '../smells/index.js';
6
14
  import { overrideFindings, validateOverrides, declareEmptyIfListed, presetDeclarationSpelling, declaredEmptyFindings, assertEnabled, deliver, } from './shared.js';
15
+ /**
16
+ * The rule-file kinds exempt without the caller naming anything — proposal 009's
17
+ * own list. `*.spec.ts` is here because an earlier draft of plan 0237 dropped it
18
+ * with no reason given, and half the ecosystem names tests that way.
19
+ */
20
+ const DEFAULT_RULE_FILES = ['**/*.rules.ts', '**/*.test.ts', '**/*.spec.ts'];
21
+ /**
22
+ * Every specifier shape, not only the bare package.
23
+ *
24
+ * Measured with picomatch before this list was written: `@nielspeter/eess` and
25
+ * `@nielspeter/eess-*` alone match NONE of `@nielspeter/eess/internal`,
26
+ * `@nielspeter/eess-ts/presets` or `@nielspeter/eess-md/rules/adr` — and those
27
+ * subpath shapes are what real code imports, this repo's own guardrails script
28
+ * included. An earlier draft shipped the two bare globs.
29
+ */
30
+ const EESS_PACKAGES = [
31
+ '@nielspeter/eess',
32
+ '@nielspeter/eess/**',
33
+ '@nielspeter/eess-*',
34
+ '@nielspeter/eess-*/**',
35
+ ];
36
+ /**
37
+ * The emitters, anchored on the callee.
38
+ *
39
+ * `(^|\.)` so `import * as eess` followed by `eess.finishPreset(...)` is caught
40
+ * — the consuming project that measured the field failure had exactly that
41
+ * escape in its own first version of this rule. A RENAMED import
42
+ * (`finishPreset as done`) escapes this leg and is caught by the import leg, so
43
+ * the two conditions cover each other's blind spot.
44
+ *
45
+ * **The two legs cover each other for a STATIC renamed import, and NOT for a
46
+ * dynamic one.** `import { finishPreset as done }` escapes this regex and is
47
+ * caught by the import leg — asserted, not assumed. But
48
+ * `const { finishPreset: done } = await import('@nielspeter/eess')` escapes
49
+ * BOTH on one line: the import leg because `TYPE_IMPORT_KINDS` sets
50
+ * `dynamic: false` by design, this one because the callee text is `done`. That
51
+ * is [bug 0264](../../../../work/bugs/0264-a-dynamic-import-escapes-the-verdict-rule.md),
52
+ * found by review, pinned by a KNOWN-GAP test, and named here rather than left
53
+ * for the next reader to discover — an unstated ceiling reads as coverage.
54
+ *
55
+ * `dispatchRule` is deliberately absent: it is the sanctioned preset-authoring
56
+ * call. That is not what spares a preset module, though — such a module imports
57
+ * `dispatchRule` at runtime, so the import leg reds it whatever this regex says.
58
+ * A preset module is a verdict file by definition and belongs in `ruleFiles`.
59
+ *
60
+ * `throwIfViolations` stays although plan 0263 Phase 5 removed it from this
61
+ * kernel's public surface, and the reason it stays is the reason it was listed:
62
+ * this preset runs against an ADOPTER's code, not ours. An adopter pinned to an
63
+ * older `@nielspeter/eess` still has the alias and can still call it outside a
64
+ * rule file, which is exactly the misuse this regex exists to catch. Dropping
65
+ * the name the day our own export went would open that gap for every consumer
66
+ * who has not upgraded. A dead name in a regex costs nothing; a missing one
67
+ * costs a silent pass.
68
+ */
69
+ const EMITTERS = /(^|\.)(finishPreset|reportViolations|throwIfViolations)$/;
7
70
  /**
8
71
  * Preset targeting the mistakes AI coding agents make most often — inline
9
72
  * logic, generic errors, stub comments, empty bodies, copy-paste.
@@ -98,12 +161,48 @@ export function agentGuardrails(p, options) {
98
161
  imperative: 'Do NOT duplicate a function body — extract the shared logic',
99
162
  }, 'warn');
100
163
  }
164
+ if (options.noVerdictOutsideRules) {
165
+ // The exemption EXTENDS the default; an adopter naming `scripts/**` must not
166
+ // lose `*.rules.ts` by doing so.
167
+ const ruleFiles = [...DEFAULT_RULE_FILES, ...(options.ruleFiles ?? [])];
168
+ push(modules(p)
169
+ .that()
170
+ .resideInFile(options.src)
171
+ .and()
172
+ // `not(or(...))` rather than a `notResideInFile` the builder does not
173
+ // have. Both combinators compose the globs their inputs declare, so the
174
+ // exclusion is a declared site rather than an opaque one — it just is
175
+ // not a site the dead-glob pipeline will ever call a fault, which is
176
+ // what `ruleFilesFindings` below exists for.
177
+ .satisfy(not(or(...ruleFiles.map((glob) => resideInFile(glob)))))
178
+ .should()
179
+ .onlyHaveTypeImportsFrom(...EESS_PACKAGES)
180
+ .andShould()
181
+ .notContain(call(EMITTERS)), {
182
+ id: 'preset/agent/no-verdict-outside-rules',
183
+ because: 'outside a rule file nothing counts what was examined, so a pass there is a claim with ' +
184
+ 'no evidence — a loop that skips every item looks identical to one that checked them all',
185
+ // The remedy must NOT lead with "move it into a *.rules.ts file": the
186
+ // same hand-written loop moved there is inside the exemption and green,
187
+ // so an agent following that Fix line would un-detect the problem rather
188
+ // than remediate it (ADR-009 rule 2).
189
+ suggestion: 'express the check as a Condition and reach the verdict through a builder (.check(), or ' +
190
+ 'a preset), so the evidence floor sees it; moving the same loop into a *.rules.ts file ' +
191
+ 'hides it, it does not fix it. If this module is a gate script that finishes through an ' +
192
+ 'emitter, name it in ruleFiles',
193
+ imperative: 'Do NOT import eess as a value (only `import type`), or call ' +
194
+ 'finishPreset/reportViolations, outside a rule file, a test, or a file listed in ' +
195
+ 'ruleFiles — and inside one, reach the verdict through a builder, never a hand-written ' +
196
+ 'loop: a green built by hand certifies nothing',
197
+ }, 'error');
198
+ }
101
199
  // Unknown override keys FIRST: they say the configuration is wrong, which
102
200
  // the reader needs before any finding produced under it (bug 0038).
103
201
  // `constructed` is recorded at the `push` site above, not re-derived here.
104
202
  const otherFindings = [
105
203
  ...overrideProblems,
106
204
  ...declaredEmptyFindings(options.expectEmpty, constructed),
205
+ ...ruleFilesFindings(p, options),
107
206
  ];
108
207
  return deliver([
109
208
  ...otherFindings,
@@ -113,7 +212,7 @@ export function agentGuardrails(p, options) {
113
212
  ...assertEnabled(attempted, otherFindings, {
114
213
  id: 'preset/agent/constructs-nothing',
115
214
  presetName: 'agentGuardrails',
116
- optionsHint: 'noInlineLogic, noGenericErrors, noStubs, noEmptyBodies, noCopyPaste',
215
+ optionsHint: 'noInlineLogic, noGenericErrors, noStubs, noEmptyBodies, noCopyPaste, noVerdictOutsideRules',
117
216
  }),
118
217
  ...builders,
119
218
  ], options);
@@ -140,6 +239,7 @@ const STATIC_RULE_IDS = [
140
239
  'preset/agent/no-stubs',
141
240
  'preset/agent/no-empty-bodies',
142
241
  'preset/agent/no-copy-paste',
242
+ 'preset/agent/no-verdict-outside-rules',
143
243
  ];
144
244
  /**
145
245
  * Rule ids the given options WOULD generate if every flag were on — for
@@ -187,6 +287,90 @@ function collectRuleIds(options) {
187
287
  ids.push('preset/agent/no-empty-bodies');
188
288
  if (options.noCopyPaste)
189
289
  ids.push('preset/agent/no-copy-paste');
290
+ if (options.noVerdictOutsideRules)
291
+ ids.push('preset/agent/no-verdict-outside-rules');
190
292
  return ids;
191
293
  }
294
+ /**
295
+ * A `ruleFiles` entry that matches no file in the project.
296
+ *
297
+ * **Why this is its own check and not the dead-glob pipeline** — plan 0237's
298
+ * build finding. The exclusion is `not(or(...))`, and `isDeadSite` opens with
299
+ * `if ((site.polarity ?? 'positive') === 'negative') return false`, because
300
+ * `not(dead)` over-selects rather than under-selecting. Exclusion sites are
301
+ * never faults either: "a condition glob matching nothing is indistinguishable
302
+ * from an armed tripwire that has not fired". Both decisions are correct and
303
+ * neither is weakened here.
304
+ *
305
+ * So the question is asked differently: `isDeadSite` about each caller-supplied
306
+ * glob **on its own, at positive polarity**. Same computation, same
307
+ * `syntacticFault` anchoring — so this check and `doctor`'s pre-flight cannot
308
+ * disagree about what matches nothing.
309
+ *
310
+ * **Only the caller's entries.** {@link DEFAULT_RULE_FILES} is never reported: a
311
+ * project with no `*.spec.ts` is ordinary, the defaults are not the caller's to
312
+ * fix, and reporting them would red the preset out of the box.
313
+ *
314
+ * The finding is legibility, not a hole, and says so. A dead entry is already
315
+ * fail-CLOSED — an exemption that exempts nothing reds the files it names rather
316
+ * than going quiet. What it prevents is the loop: without it a typo surfaces as
317
+ * "your gate script violates no-verdict-outside-rules", whose remedy says "name
318
+ * it in ruleFiles", which the adopter did — with a typo.
319
+ */
320
+ function ruleFilesFindings(p, options) {
321
+ if (options.noVerdictOutsideRules !== true)
322
+ return [];
323
+ const declared = options.ruleFiles ?? [];
324
+ if (declared.length === 0)
325
+ return [];
326
+ const universe = pathUniverse(p);
327
+ // Asked at POSITIVE polarity and `position: 'discovery'`, deliberately. In the
328
+ // rule this same glob sits negated inside an exclusion, where `isDeadSite`
329
+ // answers `false` by design (twice over). Here the question is the honest one:
330
+ // "does this glob, by itself, match anything?"
331
+ //
332
+ // **`base` is DERIVED, not hard-coded, and that is the whole correctness of
333
+ // this check.** An architect review measured what a hard-coded
334
+ // `base: 'absolute'` did: `ruleFiles: ['gates/**']` genuinely exempted
335
+ // `gates/check-corpus.ts` — `resideInFile` falls back to matching the path
336
+ // relative to the tsconfig root for an unanchored glob (plan 0067 C) — while
337
+ // this producer reported "matches no file in this project, so it exempts
338
+ // nothing" about the same string. Both in one run. That is two derivations
339
+ // disagreeing about one glob, which is the failure this project spends most
340
+ // of its guards on, and the remedy it printed told the adopter to WIDEN a
341
+ // correctly-scoped exemption to silence a finding that was wrong.
342
+ //
343
+ // So the derivation is `resideInFile`'s own, taken from the same helper:
344
+ // every other site that stamps a `GlobSite` does `relative ? 'normalized' :
345
+ // 'absolute'` (`identity.ts:83`, `:114`, `:157`), and this one now does too.
346
+ const dead = declared.filter((glob) => isDeadSite({
347
+ glob,
348
+ kind: 'file-path',
349
+ base: isProjectRelative(glob) ? 'normalized' : 'absolute',
350
+ position: 'discovery',
351
+ origin: `ruleFiles entry "${glob}"`,
352
+ }, universe));
353
+ if (dead.length === 0)
354
+ return [];
355
+ const violations = dead.map((glob) => ({
356
+ rule: `preset ruleFiles '${glob}'`,
357
+ ruleId: 'preset/agent/rule-files-matches-nothing',
358
+ element: glob,
359
+ file: '',
360
+ line: 0,
361
+ message: `ruleFiles entry '${glob}' matches no file in this project, so it exempts nothing.`,
362
+ because: 'an exemption that exempts nothing is not a weaker exemption, it is a typo — and the rule ' +
363
+ 'it was meant to quiet will red the very files the entry names, sending the reader back to ' +
364
+ 'a list that already says what they meant',
365
+ suggestion: `Correct the glob or remove it. An unanchored glob like 'scripts/**' is matched ` +
366
+ `against the path relative to your tsconfig root, so it is already correct for a ` +
367
+ `top-level directory; '**/scripts/**' matches one at any depth. Check the spelling ` +
368
+ `and the depth before widening. ` +
369
+ UNSUPPRESSABLE,
370
+ bypassFilters: true,
371
+ }));
372
+ // `examined: 0` and honest: a CONFIGURATION finding, not a rule that examined
373
+ // units. The receipt carries a violation, so ADR-014 §4 passes it through.
374
+ return [{ violations: () => collectResult(violations, { examined: 0 }) }];
375
+ }
192
376
  //# sourceMappingURL=agent-guardrails.js.map
@@ -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"}