@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,10 +1,29 @@
1
- import { isDescribable } from '@nielspeter/eess';
1
+ import { isDescribable, writeStderr } from '@nielspeter/eess/internal';
2
2
  import { loadRuleFiles } from '../load-rules.js';
3
3
  /**
4
4
  * Dump all active rules as structured JSON or markdown.
5
5
  */
6
6
  export async function runExplain(args) {
7
- const builders = await loadRuleFiles(args.ruleFiles);
7
+ // `check` and `doctor` both wrap this load; `explain` did not, so a rule file
8
+ // that fails to load left Node's own `ERR_MODULE_NOT_FOUND` stack on stderr
9
+ // with no mention of which file or why. Bug 0223's reporter hit exactly that,
10
+ // and the repair for the specifier substitution did not cover it: a typo in a
11
+ // sibling path is far more common than the substitution, and it was the one
12
+ // command of three answering with Node internals.
13
+ //
14
+ // It already failed CLOSED — the process exits non-zero either way. What
15
+ // changes is that the reader is told what happened.
16
+ let builders;
17
+ try {
18
+ builders = await loadRuleFiles(args.ruleFiles);
19
+ }
20
+ catch (error) {
21
+ writeStderr(`Error: ${args.ruleFiles.join(', ')} could not be loaded ` +
22
+ `(${error instanceof Error ? error.message : String(error)}), so there is ` +
23
+ `nothing to explain.\n`);
24
+ process.exitCode = 1;
25
+ return;
26
+ }
8
27
  const descriptions = [];
9
28
  for (const builder of builders) {
10
29
  if (isDescribable(builder)) {
@@ -1 +1 @@
1
- {"version":3,"file":"explain.js","sourceRoot":"","sources":["../../../src/cli/commands/explain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explain.js","sourceRoot":"","sources":["../../../src/cli/commands/explain.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import fs from 'node:fs';
2
- import { isRecord } from '@nielspeter/eess';
2
+ import { isRecord } from '@nielspeter/eess/internal';
3
3
  import path from 'node:path';
4
4
  /** "Floor" presets — a universal rule set scoped to your source glob. */
5
5
  const FLOOR_PRESETS = ['recommended', 'agent-guardrails'];
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,21 @@
1
1
  /**
2
2
  * Load a rule file or config module — natively when Node can, via jiti when it cannot.
3
3
  *
4
- * **Native first, and that ordering is the whole design.** A rule file loaded
5
- * through jiti gets jiti's own module registry, so the copy of eess-ts it imports
6
- * is a DIFFERENT instance from the CLI's. Two things break silently when that
7
- * happens, both measured (plan 0165):
4
+ * **Native first, and that ordering is the whole design — but not for the reason
5
+ * this comment used to give.** It said a rule file loaded through jiti "gets
6
+ * jiti's own module registry, so the copy of eess-ts it imports is a DIFFERENT
7
+ * instance from the CLI's". Measured and false: under the pinned jiti 2.7.0 a
8
+ * transpiled rule file resolves its bare specifiers to the instances the host
9
+ * already holds. A second physical copy on disk splits them; the loader does not.
10
+ * [Bug 0199](../../../../work/bugs/fixed/0199-a-bare-preset-call-throws-before-baseline-filtering.md)
11
+ * had already disproved the same claim three ways, and this file kept repeating it.
12
+ *
13
+ * The real reason to load natively is that the loader decides which PROGRAMS are
14
+ * valid rule files: jiti transpiles, so it accepts TypeScript that Node's
15
+ * strip-only mode refuses. See ADR-015.
16
+ *
17
+ * The two hazards plan 0165 named are recorded below because the SECOND physical
18
+ * copy case is real and neither is fixed by a loader choice:
8
19
  *
9
20
  * - `instanceof ArchRuleError` is false for an error that is one, so
10
21
  * `check.ts` skipped `ruleFileTruncated()` and a truncated run said nothing
@@ -24,6 +35,14 @@
24
35
  * `npm init -y` writes. Everything else rethrows, including an `ArchRuleError`
25
36
  * thrown by a self-executing rule file, which must never be retried (a second
26
37
  * execution would print its findings twice).
38
+ *
39
+ * **The second condition does not involve jiti at all.** Bug 0223: under
40
+ * `"type": "module"`, a rule file importing `./sibling.js` — the specifier
41
+ * TypeScript REQUIRES — fails with `ERR_MODULE_NOT_FOUND`, because Node performs
42
+ * no `.js` → `.ts` substitution. Widening the jiti fallback to cover it was the
43
+ * obvious fix and the wrong one: it would reopen both hazards above. Instead the
44
+ * process loader is taught the substitution and the NATIVE import is retried, so
45
+ * the rule file still lands in this registry.
27
46
  */
28
47
  export declare function importRuleModule(file: string, fresh: boolean): Promise<unknown>;
29
48
  //# sourceMappingURL=import-rule-module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-rule-module.d.ts","sourceRoot":"","sources":["../../src/cli/import-rule-module.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAarF"}
1
+ {"version":3,"file":"import-rule-module.d.ts","sourceRoot":"","sources":["../../src/cli/import-rule-module.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBrF"}
@@ -1,12 +1,24 @@
1
1
  import { createJiti } from 'jiti';
2
2
  import { importFresh } from './watch.js';
3
+ import { isModuleFormatRefusal, isTypeScriptSpecifierMiss, enableTypeScriptSpecifierResolution, } from '@nielspeter/eess/internal';
3
4
  /**
4
5
  * Load a rule file or config module — natively when Node can, via jiti when it cannot.
5
6
  *
6
- * **Native first, and that ordering is the whole design.** A rule file loaded
7
- * through jiti gets jiti's own module registry, so the copy of eess-ts it imports
8
- * is a DIFFERENT instance from the CLI's. Two things break silently when that
9
- * happens, both measured (plan 0165):
7
+ * **Native first, and that ordering is the whole design — but not for the reason
8
+ * this comment used to give.** It said a rule file loaded through jiti "gets
9
+ * jiti's own module registry, so the copy of eess-ts it imports is a DIFFERENT
10
+ * instance from the CLI's". Measured and false: under the pinned jiti 2.7.0 a
11
+ * transpiled rule file resolves its bare specifiers to the instances the host
12
+ * already holds. A second physical copy on disk splits them; the loader does not.
13
+ * [Bug 0199](../../../../work/bugs/fixed/0199-a-bare-preset-call-throws-before-baseline-filtering.md)
14
+ * had already disproved the same claim three ways, and this file kept repeating it.
15
+ *
16
+ * The real reason to load natively is that the loader decides which PROGRAMS are
17
+ * valid rule files: jiti transpiles, so it accepts TypeScript that Node's
18
+ * strip-only mode refuses. See ADR-015.
19
+ *
20
+ * The two hazards plan 0165 named are recorded below because the SECOND physical
21
+ * copy case is real and neither is fixed by a loader choice:
10
22
  *
11
23
  * - `instanceof ArchRuleError` is false for an error that is one, so
12
24
  * `check.ts` skipped `ruleFileTruncated()` and a truncated run said nothing
@@ -26,12 +38,26 @@ import { importFresh } from './watch.js';
26
38
  * `npm init -y` writes. Everything else rethrows, including an `ArchRuleError`
27
39
  * thrown by a self-executing rule file, which must never be retried (a second
28
40
  * execution would print its findings twice).
41
+ *
42
+ * **The second condition does not involve jiti at all.** Bug 0223: under
43
+ * `"type": "module"`, a rule file importing `./sibling.js` — the specifier
44
+ * TypeScript REQUIRES — fails with `ERR_MODULE_NOT_FOUND`, because Node performs
45
+ * no `.js` → `.ts` substitution. Widening the jiti fallback to cover it was the
46
+ * obvious fix and the wrong one: it would reopen both hazards above. Instead the
47
+ * process loader is taught the substitution and the NATIVE import is retried, so
48
+ * the rule file still lands in this registry.
29
49
  */
30
50
  export async function importRuleModule(file, fresh) {
31
51
  try {
32
52
  return fresh ? await importFresh(file) : await import(file);
33
53
  }
34
54
  catch (error) {
55
+ if (isTypeScriptSpecifierMiss(error)) {
56
+ // Resolution only — same loader, same registry. Retried once: if it fails
57
+ // again the specifier named something that is genuinely not there.
58
+ enableTypeScriptSpecifierResolution();
59
+ return fresh ? await importFresh(file) : await import(file);
60
+ }
35
61
  if (!isModuleFormatRefusal(error))
36
62
  throw error;
37
63
  // jiti transpiles to CJS, so the host's `"type": "commonjs"` stops mattering.
@@ -43,18 +69,4 @@ export async function importRuleModule(file, fresh) {
43
69
  return jiti.import(file);
44
70
  }
45
71
  }
46
- /**
47
- * Did Node refuse this file for its MODULE FORMAT, rather than for anything the
48
- * file does?
49
- *
50
- * Narrow on purpose. A broad `catch` that fell back to jiti on any error would
51
- * re-execute a rule file that had already run — doubling its output — and would
52
- * hide a genuine syntax error behind a second, differently-worded failure.
53
- */
54
- function isModuleFormatRefusal(error) {
55
- if (!(error instanceof SyntaxError))
56
- return false;
57
- return (error.message.includes('Cannot use import statement outside a module') ||
58
- error.message.includes("Unexpected token 'export'"));
59
- }
60
72
  //# sourceMappingURL=import-rule-module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-rule-module.js","sourceRoot":"","sources":["../../src/cli/import-rule-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAY,EAAE,KAAc;IACjE,IAAI,CAAC;QACH,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAA;IAC7D,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;YAAE,MAAM,KAAK,CAAA;QAC9C,8EAA8E;QAC9E,4EAA4E;QAC5E,qDAAqD;QACrD,MAAM,IAAI,GAAG,KAAK;YAChB,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;YACrE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC;QAAE,OAAO,KAAK,CAAA;IACjD,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,8CAA8C,CAAC;QACtE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CACpD,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"import-rule-module.js","sourceRoot":"","sources":["../../src/cli/import-rule-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,mCAAmC,GACpC,MAAM,2BAA2B,CAAA;AAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAY,EAAE,KAAc;IACjE,IAAI,CAAC;QACH,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAA;IAC7D,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,0EAA0E;YAC1E,mEAAmE;YACnE,mCAAmC,EAAE,CAAA;YACrC,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAA;QAC7D,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;YAAE,MAAM,KAAK,CAAA;QAC9C,8EAA8E;QAC9E,4EAA4E;QAC5E,qDAAqD;QACrD,MAAM,IAAI,GAAG,KAAK;YAChB,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;YACrE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AA2DA,UAAU,UAAU;IAClB,MAAM,EAAE;QACN,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,KAAK,CAAC,EAAE,OAAO,CAAA;QACf,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,KAAK,CAAC,EAAE,OAAO,CAAA;QACf,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,aAAa,CAAC,EAAE,OAAO,CAAA;QACvB,GAAG,CAAC,EAAE,OAAO,CAAA;QACb,KAAK,CAAC,EAAE,OAAO,CAAA;KAChB,CAAA;IACD,WAAW,EAAE,MAAM,EAAE,CAAA;CACtB;AAGD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAyBvD;AAsGD,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmGvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AA2DA,UAAU,UAAU;IAClB,MAAM,EAAE;QACN,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,KAAK,CAAC,EAAE,OAAO,CAAA;QACf,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,KAAK,CAAC,EAAE,OAAO,CAAA;QACf,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,aAAa,CAAC,EAAE,OAAO,CAAA;QACvB,GAAG,CAAC,EAAE,OAAO,CAAA;QACb,KAAK,CAAC,EAAE,OAAO,CAAA;KAChB,CAAA;IACD,WAAW,EAAE,MAAM,EAAE,CAAA;CACtB;AAGD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAyBvD;AA6FD,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmGvD"}
package/dist/cli/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { parseArgs } from 'node:util';
2
- import { isRecord } from '@nielspeter/eess';
2
+ import { isRecord, requireRuleFiles } from '@nielspeter/eess/internal';
3
3
  import { readFileSync } from 'node:fs';
4
4
  import { fileURLToPath } from 'node:url';
5
5
  import path from 'node:path';
@@ -82,16 +82,9 @@ export function parseCliArgs(args) {
82
82
  });
83
83
  }
84
84
  /** Require rule files to be specified, printing an error and setting exit code if missing. */
85
- function requireRuleFiles(ruleFiles) {
86
- if (ruleFiles.length > 0)
87
- return true;
88
- console.error('Error: No rule files specified. Pass rule files as arguments or set them in config.');
89
- process.exitCode = 1;
90
- return false;
91
- }
92
85
  /** Handle the `check` subcommand. */
93
86
  async function handleCheck(ruleFiles, values, config, format, baseline, changed, base) {
94
- if (!requireRuleFiles(ruleFiles))
87
+ if (!requireRuleFiles(ruleFiles, 'eess-ts.config.ts'))
95
88
  return;
96
89
  if (values.watch === true) {
97
90
  const watchDirs = config.watchDirs ?? ['src'];
@@ -128,7 +121,7 @@ async function handleCheck(ruleFiles, values, config, format, baseline, changed,
128
121
  }
129
122
  /** Handle the `baseline` subcommand. */
130
123
  async function handleBaseline(ruleFiles, output) {
131
- if (!requireRuleFiles(ruleFiles))
124
+ if (!requireRuleFiles(ruleFiles, 'eess-ts.config.ts'))
132
125
  return;
133
126
  const code = await runBaseline({ ruleFiles, output });
134
127
  if (code !== 0)
@@ -156,7 +149,7 @@ function isValidFormat(command, format) {
156
149
  }
157
150
  /** Handle the `explain` subcommand. */
158
151
  async function handleExplain(ruleFiles, markdown, format) {
159
- if (!requireRuleFiles(ruleFiles))
152
+ if (!requireRuleFiles(ruleFiles, 'eess-ts.config.ts'))
160
153
  return;
161
154
  await runExplain({ ruleFiles, markdown, format });
162
155
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"load-rules.d.ts","sourceRoot":"","sources":["../../src/cli/load-rules.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAIvD,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAEvD,UAAU,WAAW;IACnB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,eAAe,EAAE,CAAC,CAkC5B"}
1
+ {"version":3,"file":"load-rules.d.ts","sourceRoot":"","sources":["../../src/cli/load-rules.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAIvD,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAEvD,UAAU,WAAW;IACnB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,eAAe,EAAE,CAAC,CAmC5B"}
@@ -1,6 +1,7 @@
1
+ import { ArchConfigError } from '@nielspeter/eess';
1
2
  import path from 'node:path';
2
3
  import { importRuleModule } from './import-rule-module.js';
3
- import { isNullaryCallable } from '@nielspeter/eess';
4
+ import { isNullaryCallable } from '@nielspeter/eess/internal';
4
5
  /**
5
6
  * Load rule files (supports `.ts` and `.js`/`.mjs`).
6
7
  *
@@ -28,7 +29,7 @@ export async function loadRuleFiles(files, options) {
28
29
  // with `tests/cli/load-rules.test.ts` carrying eess's assertions.
29
30
  items.forEach((item, index) => {
30
31
  if (!isRuleBuilderLike(item)) {
31
- throw new Error(`Rule file "${file}": default export entry [${index}] is not a rule builder ` +
32
+ throw new ArchConfigError('loadRuleFiles', `Rule file "${file}": default export entry [${index}] is not a rule builder ` +
32
33
  `(got ${describeValue(item)}). Every entry must be a builder with a .check() ` +
33
34
  `method — e.g. \`modules(p).that()…\`. A preset that returns void cannot be placed ` +
34
35
  `directly in the array; call it in its own statement, or export a builder.`);
@@ -55,10 +56,10 @@ function resolveExported(exported, file) {
55
56
  if (Array.isArray(result)) {
56
57
  return result;
57
58
  }
58
- throw new Error(`Rule file "${file}": default-exported function must return an array of rule builders ` +
59
+ throw new ArchConfigError('resolveExported', `Rule file "${file}": default-exported function must return an array of rule builders ` +
59
60
  `(got ${describeValue(result)}).`);
60
61
  }
61
- throw new Error(`Rule file "${file}": default export must be an array of rule builders, or a function ` +
62
+ throw new ArchConfigError('resolveExported', `Rule file "${file}": default export must be an array of rule builders, or a function ` +
62
63
  `returning one (got ${describeValue(exported)}). Add \`export default [ …builders ]\`.`);
63
64
  }
64
65
  /** Short human-readable description of an unexpected value, for error messages. */
@@ -1 +1 @@
1
- {"version":3,"file":"load-rules.js","sourceRoot":"","sources":["../../src/cli/load-rules.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAYpD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAe,EACf,OAAqB;IAErB,MAAM,QAAQ,GAAsB,EAAE,CAAA;IAEtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACnC,MAAM,GAAG,GAAY,MAAM,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,KAAK,IAAI,CAAC,CAAA;QAE9E,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;QACpC,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC7C,2EAA2E;QAC3E,gEAAgE;QAChE,2EAA2E;QAC3E,wEAAwE;QACxE,kDAAkD;QAClD,EAAE;QACF,oEAAoE;QACpE,4EAA4E;QAC5E,0EAA0E;QAC1E,0EAA0E;QAC1E,kEAAkE;QAClE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CACb,cAAc,IAAI,4BAA4B,KAAK,0BAA0B;oBAC3E,QAAQ,aAAa,CAAC,IAAI,CAAC,mDAAmD;oBAC9E,oFAAoF;oBACpF,2EAA2E,CAC9E,CAAA;YACH,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,QAAiB,EAAE,IAAY;IACtD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,MAAM,MAAM,GAAY,QAAQ,EAAE,CAAA;QAClC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAA;QACf,CAAC;QACD,MAAM,IAAI,KAAK,CACb,cAAc,IAAI,qEAAqE;YACrF,QAAQ,aAAa,CAAC,MAAM,CAAC,IAAI,CACpC,CAAA;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CACb,cAAc,IAAI,qEAAqE;QACrF,sBAAsB,aAAa,CAAC,QAAQ,CAAC,0CAA0C,CAC1F,CAAA;AACH,CAAC;AAED,mFAAmF;AACnF,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAA;IACjC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,UAAU,CAAA;IAC3C,OAAO,OAAO,KAAK,CAAA;AACrB,CAAC;AAED,SAAS,cAAc,CAAC,GAAY;IAClC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACjE,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,yEAAyE;IACzE,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC,OAAO,CAAA;IACpB,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvE,OAAO,KAAK,CAAA;IACd,CAAC;IACD,yDAAyD;IACzD,OAAO,YAAY,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,UAAU,CAAA;AACxE,CAAC"}
1
+ {"version":3,"file":"load-rules.js","sourceRoot":"","sources":["../../src/cli/load-rules.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,3 @@
1
1
  import type { CliConfig } from './config.js';
2
- /**
3
- * Resolve CLI configuration from an explicit path or by searching for a config file.
4
- *
5
- * Config resolution order:
6
- * 1. CLI flags (highest priority) — handled by caller
7
- * 2. eess-ts.config.ts in project root
8
- * 3. Defaults (project: 'tsconfig.json', format: 'auto')
9
- */
10
2
  export declare function resolveConfig(explicitPath?: string): Promise<CliConfig>;
11
3
  //# sourceMappingURL=resolve-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-config.d.ts","sourceRoot":"","sources":["../../src/cli/resolve-config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAI5C;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAU7E"}
1
+ {"version":3,"file":"resolve-config.d.ts","sourceRoot":"","sources":["../../src/cli/resolve-config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAgB5C,wBAAsB,aAAa,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAS7E"}
@@ -1,71 +1,41 @@
1
1
  import path from 'node:path';
2
+ import { findConfigFile, extractSharedConfig, isRecord } from '@nielspeter/eess/internal';
2
3
  import { importRuleModule } from './import-rule-module.js';
3
- import { isRecord } from '@nielspeter/eess';
4
- import fs from 'node:fs';
5
- const CONFIG_FILENAMES = ['eess-ts.config.ts', 'eess-ts.config.js'];
6
4
  /**
7
- * Resolve CLI configuration from an explicit path or by searching for a config file.
5
+ * Resolve CLI configuration from an explicit path or by searching for one.
8
6
  *
9
7
  * Config resolution order:
10
8
  * 1. CLI flags (highest priority) — handled by caller
11
9
  * 2. eess-ts.config.ts in project root
12
10
  * 3. Defaults (project: 'tsconfig.json', format: 'auto')
11
+ *
12
+ * Finding the file and validating the shared fields are the kernel's — they were
13
+ * duplicated with `eess-mermaid` (`findConfigFile` scored 100%). What stays here
14
+ * is this dialect's own filenames, its own two extra fields, and its loader.
13
15
  */
16
+ const CONFIG_FILENAMES = ['eess-ts.config.ts', 'eess-ts.config.js'];
14
17
  export async function resolveConfig(explicitPath) {
15
- const configPath = explicitPath ?? findConfigFile();
18
+ const configPath = explicitPath ?? findConfigFile(CONFIG_FILENAMES);
16
19
  if (configPath === undefined)
17
20
  return {};
18
21
  // Native `import()` first, jiti only if Node refuses the file's module format
19
22
  // — see `import-rule-module.ts`. A config in a `"type": "commonjs"` project is
20
23
  // bug 0074; a config in an ESM project must share the CLI's module registry.
21
24
  const mod = await importRuleModule(path.resolve(configPath), false);
22
- return extractDefault(mod);
23
- }
24
- function findConfigFile() {
25
- const cwd = process.cwd();
26
- for (const name of CONFIG_FILENAMES) {
27
- const candidate = path.join(cwd, name);
28
- if (fs.existsSync(candidate))
29
- return candidate;
30
- }
31
- return undefined;
25
+ return { ...extractSharedConfig(mod), ...tsOnlyFields(mod) };
32
26
  }
33
- /**
34
- * Extract the default export from an ESM module.
35
- * Supports both `export default config` and `module.exports = config`.
36
- */
37
- function extractDefault(mod) {
38
- if (mod === null || mod === undefined || typeof mod !== 'object') {
27
+ /** `project` and `baseline` — the two fields no other dialect has. */
28
+ function tsOnlyFields(mod) {
29
+ if (!isRecord(mod) || !('default' in mod))
39
30
  return {};
40
- }
41
- // Dynamic import returns a module namespace — 'in' narrows safely
42
- if (!('default' in mod)) {
43
- return {};
44
- }
45
31
  const defaultExport = mod.default;
46
- if (defaultExport === null || defaultExport === undefined || typeof defaultExport !== 'object') {
47
- return {};
48
- }
49
- // Runtime validate: only pick known CliConfig fields
50
32
  if (!isRecord(defaultExport))
51
33
  return {};
52
- const obj = defaultExport;
53
- const config = {};
54
- if (typeof obj['project'] === 'string')
55
- config.project = obj['project'];
56
- if (typeof obj['baseline'] === 'string')
57
- config.baseline = obj['baseline'];
58
- if (typeof obj['format'] === 'string') {
59
- // A guard over the literal union, so the narrowing is the check rather than
60
- // a cast that repeats it. `includes` on a `string[]` cannot narrow; a
61
- // predicate over the same list can.
62
- const isFormat = (v) => ['terminal', 'json', 'github', 'auto'].some((f) => f === v);
63
- if (isFormat(obj['format'])) {
64
- config.format = obj['format'];
65
- }
66
- }
67
- if (Array.isArray(obj['rules']))
68
- config.rules = obj['rules'].filter((r) => typeof r === 'string');
69
- return config;
34
+ const out = {};
35
+ if (typeof defaultExport['project'] === 'string')
36
+ out.project = defaultExport['project'];
37
+ if (typeof defaultExport['baseline'] === 'string')
38
+ out.baseline = defaultExport['baseline'];
39
+ return out;
70
40
  }
71
41
  //# sourceMappingURL=resolve-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-config.js","sourceRoot":"","sources":["../../src/cli/resolve-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-config.js","sourceRoot":"","sources":["../../src/cli/resolve-config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAG1D;;;;;;;;;;;GAWG;AACH,MAAM,gBAAgB,GAAG,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAA;AAEnE,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,YAAqB;IACvD,MAAM,UAAU,GAAG,YAAY,IAAI,cAAc,CAAC,gBAAgB,CAAC,CAAA;IACnE,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IAEvC,8EAA8E;IAC9E,+EAA+E;IAC/E,6EAA6E;IAC7E,MAAM,GAAG,GAAY,MAAM,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAA;IAC5E,OAAO,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAA;AAC9D,CAAC;AAED,sEAAsE;AACtE,SAAS,YAAY,CAAC,GAAY;IAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IACpD,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAA;IACjC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,EAAE,CAAA;IACvC,MAAM,GAAG,GAA4C,EAAE,CAAA;IACvD,IAAI,OAAO,aAAa,CAAC,SAAS,CAAC,KAAK,QAAQ;QAAE,GAAG,CAAC,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;IACxF,IAAI,OAAO,aAAa,CAAC,UAAU,CAAC,KAAK,QAAQ;QAAE,GAAG,CAAC,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;IAC3F,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"rule-file-findings.d.ts","sourceRoot":"","sources":["../../src/cli/rule-file-findings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAIrD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,SAAS,aAAa,EAAE,EACpC,IAAI,EAAE,MAAM,GACX,aAAa,EAAE,CAEjB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,aAAa,CA0B9F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,GAChB,aAAa,EAAE,CAEjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,aAAa,CAqBhF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAC/C,aAAa,CAkDf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAsBtE"}
1
+ {"version":3,"file":"rule-file-findings.d.ts","sourceRoot":"","sources":["../../src/cli/rule-file-findings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAKrD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,SAAS,aAAa,EAAE,EACpC,IAAI,EAAE,MAAM,GACX,aAAa,EAAE,CAEjB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,aAAa,CA0B9F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,GAChB,aAAa,EAAE,CASjB;AA2DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,aAAa,CAqBhF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAC/C,aAAa,CAkDf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAsBtE"}
@@ -1,4 +1,4 @@
1
- import { isArchRuleError } from '@nielspeter/eess';
1
+ import { isArchRuleError, isArchConfigError } from '@nielspeter/eess';
2
2
  import { basename } from 'node:path';
3
3
  /**
4
4
  * Attribute findings that have no source location of their own to the rule file
@@ -94,7 +94,65 @@ export function ruleFileFailure(file, error, ruleFiles) {
94
94
  * did with everything else.
95
95
  */
96
96
  export function failureOrViolations(file, error, ruleFiles) {
97
- return isArchRuleError(error) ? error.violations : [ruleFileFailure(file, error, ruleFiles)];
97
+ if (isArchRuleError(error))
98
+ return error.violations;
99
+ // Bug 0241. `ArchConfigError` knows WHAT was misconfigured, so it is the one
100
+ // error here that can carry a specific remedy without guessing — which is the
101
+ // whole reason the type exists, and it shipped with 17 throw sites and nothing
102
+ // reading it. Ordered after the rule-error branch, never before: a rule file
103
+ // that self-executes a failing check reports its own findings.
104
+ if (isArchConfigError(error))
105
+ return [ruleFileMisconfigured(file, error, ruleFiles)];
106
+ return [ruleFileFailure(file, error, ruleFiles)];
107
+ }
108
+ /**
109
+ * A rule file misconfigured something eess offers, and eess knows which thing.
110
+ *
111
+ * The sibling `ruleFileFailure` is deliberately vague because it answers for any
112
+ * error a rule file can raise, and naming one cause for all of them is ADR-009
113
+ * rule 2's defect. This one is the opposite case and gets the opposite
114
+ * treatment: the thrower named its subject — `havePropertyNamed`,
115
+ * `requireGraphQL`, `workspace` — so the remedy can point at the call instead of
116
+ * hedging about what the message might mean.
117
+ *
118
+ * The distinction is for the reader this project actually ships to. "Your rule
119
+ * file is wrong, fix the argument" and "eess crashed" ask an agent for opposite
120
+ * next actions, and before this they rendered identically.
121
+ *
122
+ * NOT exported, unlike its sibling `ruleFileFailure`. Nothing outside this
123
+ * module calls it — `failureOrViolations` is the seam, and the tests drive it
124
+ * through that. Exporting it anyway would have added a fourth instance of the
125
+ * exact shape bug 0241 is about, in the fix for bug 0241; `check:arch`'s
126
+ * no-unused-exports rule said so before this comment existed.
127
+ */
128
+ function ruleFileMisconfigured(file, error, ruleFiles) {
129
+ const others = ruleFiles > 1 ? ' The other rule files in this run were still checked.' : '';
130
+ // The cause, when it adds something. `schema-loader.ts` throws the same
131
+ // subject for "the graphql package is not installed" and "it is installed but
132
+ // failed to load", and only the cause separates them — its own fix records
133
+ // that discarding it "used to be reported as 'not installed' too, discarding
134
+ // the one line that would have told the reader what actually happened".
135
+ // Nothing rendered `cause` before this, so that line was reaching nobody.
136
+ const cause = error.cause instanceof Error ? error.cause.message : undefined;
137
+ const detail = cause !== undefined && !error.message.includes(cause)
138
+ ? `${error.message} (${cause})`
139
+ : error.message;
140
+ return {
141
+ // The subject, not the file's basename: the thing to open is the CALL. The
142
+ // file is already in `file`, and the generic path uses the basename there.
143
+ rule: 'eess-ts: rule file',
144
+ element: error.subject,
145
+ file,
146
+ line: 1,
147
+ message: `${error.subject} is misconfigured in this rule file, so its rules enforced nothing in ` +
148
+ `this run: ${detail}${others}`,
149
+ // Specific, because this error earned it. `ruleFileFailure`'s remedy has to
150
+ // hedge ("if it names a builder method…"); this one does not, and asserting
151
+ // that it does not is how the two stay distinguishable.
152
+ suggestion: `Fix the call to ${error.subject} in this rule file. This is a fault in how the rule was ` +
153
+ `configured, not a finding about the code under test — editing the code cannot clear it.`,
154
+ bypassFilters: true,
155
+ };
98
156
  }
99
157
  /**
100
158
  * A rule file stopped evaluating partway, so the rules after that point never ran.
@@ -1 +1 @@
1
- {"version":3,"file":"rule-file-findings.js","sourceRoot":"","sources":["../../src/cli/rule-file-findings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rule-file-findings.js","sourceRoot":"","sources":["../../src/cli/rule-file-findings.ts"],"names":[],"mappings":"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"}