@nielspeter/eess-ts 0.10.1 → 0.12.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 (46) hide show
  1. package/dist/builders/class-rule-builder.d.ts +5 -4
  2. package/dist/builders/class-rule-builder.d.ts.map +1 -1
  3. package/dist/builders/class-rule-builder.js +5 -4
  4. package/dist/builders/class-rule-builder.js.map +1 -1
  5. package/dist/builders/type-rule-builder.d.ts +2 -1
  6. package/dist/builders/type-rule-builder.d.ts.map +1 -1
  7. package/dist/builders/type-rule-builder.js +2 -1
  8. package/dist/builders/type-rule-builder.js.map +1 -1
  9. package/dist/conditions/class.d.ts +6 -4
  10. package/dist/conditions/class.d.ts.map +1 -1
  11. package/dist/conditions/class.js +6 -4
  12. package/dist/conditions/class.js.map +1 -1
  13. package/dist/core/check-all.js +1 -1
  14. package/dist/core/diagnose.d.ts.map +1 -1
  15. package/dist/core/diagnose.js +22 -6
  16. package/dist/core/diagnose.js.map +1 -1
  17. package/dist/core/disk-set.d.ts +85 -22
  18. package/dist/core/disk-set.d.ts.map +1 -1
  19. package/dist/core/disk-set.js +223 -67
  20. package/dist/core/disk-set.js.map +1 -1
  21. package/dist/core/glob-diagnosis.d.ts +45 -11
  22. package/dist/core/glob-diagnosis.d.ts.map +1 -1
  23. package/dist/core/glob-diagnosis.js +98 -22
  24. package/dist/core/glob-diagnosis.js.map +1 -1
  25. package/dist/core/terminal-builder.d.ts.map +1 -1
  26. package/dist/core/terminal-builder.js +80 -21
  27. package/dist/core/terminal-builder.js.map +1 -1
  28. package/dist/core/vacuity-diagnosis.d.ts.map +1 -1
  29. package/dist/core/vacuity-diagnosis.js +161 -40
  30. package/dist/core/vacuity-diagnosis.js.map +1 -1
  31. package/dist/helpers/baseline.d.ts.map +1 -1
  32. package/dist/helpers/baseline.js +3 -7
  33. package/dist/helpers/baseline.js.map +1 -1
  34. package/dist/helpers/heritage.d.ts +19 -5
  35. package/dist/helpers/heritage.d.ts.map +1 -1
  36. package/dist/helpers/heritage.js +72 -8
  37. package/dist/helpers/heritage.js.map +1 -1
  38. package/dist/predicates/class.d.ts +7 -5
  39. package/dist/predicates/class.d.ts.map +1 -1
  40. package/dist/predicates/class.js +7 -5
  41. package/dist/predicates/class.js.map +1 -1
  42. package/dist/predicates/type.d.ts +3 -2
  43. package/dist/predicates/type.d.ts.map +1 -1
  44. package/dist/predicates/type.js +47 -13
  45. package/dist/predicates/type.js.map +1 -1
  46. package/package.json +2 -2
@@ -1,8 +1,9 @@
1
1
  import { DECLARE_INSTEAD, isFaultPosition, UNSUPPRESSABLE } from '@nielspeter/eess/internal';
2
- import { diagnoseGlob, isSyntacticFault, syntacticFault, FAULT_ADVICE, ON_DISK_ADVICE, } from './glob-diagnosis.js';
2
+ import { deadSiteRoute, diagnoseGlob, CARDINALITY_REMEDY, FAULT_ADVICE, ON_DISK_ADVICE, ROUTE_HOLDS_IN_ANY_PROJECT, } from './glob-diagnosis.js';
3
3
  import { globSitesOf, isDeadGlobTree, isDeadSite } from './glob-evaluator.js';
4
4
  import { pathUniverse } from './path-universe.js';
5
- import { cardinalityDeadSiteIsAtFault, contradictsAbsence, diskSet } from './disk-set.js';
5
+ import { diskSet } from './disk-set.js';
6
+ import { NAMED_CONSUMERS } from './disk-set.js';
6
7
  import { emptyProjectAdvice, loadedNothing } from './empty-project-advice.js';
7
8
  /**
8
9
  * The unit noun, singular when there is one of it — plan 0099.
@@ -171,39 +172,29 @@ function deadSelectorViolation(facts, site, universe, project) {
171
172
  // reintroduced one cause over, and again with no test asserting the message. The new row
172
173
  // asserted booleans.
173
174
  //
174
- // The threshold — WHICH classification contradicts an absence claim — is
175
- // `contradictsAbsence`'s, never re-spelled here. It was hand-copied as
176
- // `=== 'holds-typescript'` in the first draft of this fix, which is the precedent
177
- // `disk-set.ts` records one function above: `isFaultPosition` grew two hand-maintained
178
- // copies, they disagreed about `discovery`, and `doctor` reported a dead layer glob while
179
- // the build stayed green.
180
- //
181
- // The INPUT is `diagnosis.onDisk` and deliberately not `diskSet(project).classify(glob)`,
182
- // and the two are not interchangeable. `classify` answers about any path, always;
183
- // `diagnosis.onDisk` is `undefined` unless the disk was the deciding question —
184
- // `diagnoseGlob` returns before consulting it for a syntactic fault and for
185
- // `file-not-folder`. The remedy needs "was the tsconfig the lever", which is the second
186
- // question. Reading `classify` here would tell a `file-not-folder` author to widen an
187
- // `include` that cannot help them, because the glob names a file and the predicate reads
188
- // directories.
189
- const onDiskContradicts = diagnosis.onDisk !== undefined && contradictsAbsence(diagnosis.onDisk);
175
+ // Both the remedy and the scope come from the ROUTE, and the route is the same value the
176
+ // ADMISSION gate uses — so the reason a finding exists and the reason its message gives
177
+ // cannot be two derivations. They were: the gate asked `classify(glob)` while the message
178
+ // read `diagnosis.onDisk`, and those disagree for a glob naming a file, so such a glob was
179
+ // admitted because the disk contradicted the claim and then told to widen an `include` that
180
+ // can never make a directory read match a file (bug 0363). Three fixes to this one sentence
181
+ // had each keyed it on something nearer to hand than the actual reason.
182
+ const route = deadSiteRoute(diagnosis);
190
183
  const remedy = !isCardinality
191
184
  ? 'Correct the glob, or remove the rule.'
192
- : onDiskContradicts
193
- ? 'Widen the tsconfig include to cover this path, or correct the selector — ' +
194
- 'do not delete this rule, it is what detected the gap.'
195
- : 'Correct the selector — this rule has not been enforcing anything. Do not delete it.';
196
- // "in this project" understates a syntactic fault by exactly the scope that invites the
197
- // tsconfig reading: such a glob can never match in ANY project, which is why no
198
- // filesystem answer is relevant to it.
199
- //
200
- // A property of the glob TEXT, so it is keyed on the text and on nothing else. The first
201
- // draft also required `isCardinality && !onDiskContradicts`: the second conjunct is dead
202
- // (a syntactic fault leaves `onDisk` undefined, so it is never false when the third is
203
- // true — measured: deleting it reddened nothing), and the first made the same broken glob
204
- // print two different scope claims depending on whether the author wrote `.notExist()` or
205
- // `.notImportFrom()`. Three review lenses flagged the same conjunct independently.
206
- const scope = isSyntacticFault(diagnosis.fault)
185
+ : // NEVER "remove the rule" for a cardinality rule, on any route or none. The finding is
186
+ // unsuppressable, so deletion is the only achievable exit, and the rule is the thing
187
+ // that noticed — which is the ADR-009 rule 2 defect this family has already shipped
188
+ // once. A first draft of this collapsed `route === undefined` into the non-cardinality
189
+ // arm and reached that sentence; enforcement review measured it, with the `Fix:` line
190
+ // reading "this path exists but contains no TypeScript. Correct the glob, or remove the
191
+ // rule." on a `.notExist()` rule. `CARDINALITY_REMEDY`'s own docstring forbids it.
192
+ route === undefined
193
+ ? 'Correct the selector — this rule has not been enforcing anything. Do not delete it.'
194
+ : CARDINALITY_REMEDY[route];
195
+ // "in this project" understates a fault that holds everywhere by exactly the scope that
196
+ // invites the tsconfig reading, and the route is what knows which it is.
197
+ const scope = route !== undefined && ROUTE_HOLDS_IN_ANY_PROJECT[route]
207
198
  ? 'can never match anything in any project'
208
199
  : 'can never match anything in this project';
209
200
  const advice = `This rule's ${what} ${site.origin} ${scope}, ` +
@@ -300,7 +291,28 @@ export function evidenceFloor(facts, violations, examined) {
300
291
  // is unremarkable and nobody looks.
301
292
  if (facts.assertsCardinality()) {
302
293
  const onDisk = cardinalitySelectorMissedDisk(facts, project);
303
- return onDisk.length > 0 ? onDisk : violations;
294
+ if (onDisk.length > 0)
295
+ return onDisk;
296
+ // The exemption above is only sound while the disk can ANSWER. When the walk
297
+ // gave up, `classify` says `not-determined` for every glob — so this rule is
298
+ // not passing, it is unexamined, and returning `violations` (empty) is the
299
+ // fail-open bug 0359 records: one walk over budget silenced every cardinality
300
+ // rule in the run at once, for a reason unrelated to any of their paths.
301
+ // …and only for a rule the disk was ever going to DECIDE. A cardinality rule
302
+ // selecting by name, decorator or predicate has no path glob, so the walk's failure
303
+ // changed nothing for it: blaming it would be a confidently wrong message, and
304
+ // consulting `diskSet` at all would walk the whole repository for an answer that
305
+ // cannot be used — falsifying this module's own "lazy, only from an already-firing
306
+ // fault" claim. Found by independent validation of
307
+ // [ADR-016](../../../../adr/016-a-bounded-instrument-limits-knowledge-never-the-verdict.md),
308
+ // measured red before this guard existed. That shape stays uncovered, which the 0.10
309
+ // changeset already says plainly; uncovered is honest, blamed is not.
310
+ const exhausted = project === undefined || !hasDiskDecidableGlob(facts)
311
+ ? undefined
312
+ : diskSet(project).exhaustion;
313
+ if (exhausted !== undefined)
314
+ return [walkExhaustedViolation(facts, exhausted)];
315
+ return violations;
304
316
  }
305
317
  // The author said empty is the point. `declaresEmpty()` — not
306
318
  // `_expectEmpty` — because `CrossProjectBuilder` declares per side and
@@ -342,6 +354,88 @@ function emptyProjectViolation(facts, project) {
342
354
  bypassFilters: true,
343
355
  };
344
356
  }
357
+ /**
358
+ * Does this rule carry a glob whose emptiness the FILESYSTEM could decide?
359
+ *
360
+ * The same population `cardinalitySelectorMissedDisk` narrows to — a fault-position site —
361
+ * asked before the walk rather than after it, so a rule the disk cannot decide never
362
+ * triggers one. Without this, a name-selecting `.notExist()` walked the whole repository and
363
+ * was then told the walk's failure had left its absence unchecked, which it had not.
364
+ */
365
+ function hasDiskDecidableGlob(facts) {
366
+ return facts
367
+ .globs()
368
+ .some((tree) => globSitesOf(tree).some((site) => isFaultPosition(site.position)));
369
+ }
370
+ /**
371
+ * The walk gave up, so this rule was never checked — [bug 0359](../../../../work/bugs/fixed/0359-a-disk-walk-that-gave-up-reports-nothing-and-now-decides-a-verdict.md).
372
+ *
373
+ * **Identity is the WALK, not the rule.** `ruleId`, `rule` and `element` are all
374
+ * constant per project, so `dedupeConfigFindings` — which keys on
375
+ * `(file, ruleId ?? rule, element)` — collapses every affected rule into one report
376
+ * and appends its own count of how many. One walk, one failure, one thing to say.
377
+ *
378
+ * **`ruleId` is the load-bearing half, and setting `rule` alone is not enough.** The
379
+ * builder stamps `ruleId` with each rule's own id on the way out, and the key prefers
380
+ * `ruleId`. The first draft of this set only `rule`, claimed one report in this very
381
+ * docstring, and produced one per rule — the ADR-009 rule 4 noise it says it avoids.
382
+ * Measured by `it('three rules that all lost the check collapse to one report')`,
383
+ * which was written because the claim had been asserted rather than run.
384
+ *
385
+ * That collapse happens in `check-all.ts`, the CLI path. A consumer calling
386
+ * `violations()` directly still receives one per rule, which is correct: each of
387
+ * those rules really did lose its floor. An earlier draft of this claimed
388
+ * `emptyProjectViolation` was the precedent for one-per-project; measured, that
389
+ * one is per-rule, and the count came from `dedupeConfigFindings` all along
390
+ * ([spike 0368](../../../../work/spikes/0368-what-the-exhaustion-finding-can-tell-an-adopter-to-do.md)).
391
+ *
392
+ * **The remedy names directories.** ADR-009 rule 2 — a stated fix that cannot be
393
+ * carried out is worse than none, and "your repository is too large" is not a fix
394
+ * an adopter can act on. Pruning removes 88.9% of entries in a repository with no
395
+ * generated output at all, so a repository that exhausts is overwhelmingly
396
+ * carrying trees that should never have been walked. Naming the largest is
397
+ * something to DO.
398
+ */
399
+ function walkExhaustedViolation(facts, exhaustion) {
400
+ const described = facts.describeRule();
401
+ const named = exhaustion.consumers.slice(0, NAMED_CONSUMERS);
402
+ const total = exhaustion.consumers.reduce((sum, c) => sum + c.entries, 0);
403
+ const share = (n) => (total === 0 ? '0%' : `${Math.round((n / total) * 100)}%`);
404
+ const list = named.map((c) => `${c.dir} (${c.entries} entries, ${share(c.entries)})`).join(', ');
405
+ const advice = `The filesystem walk that decides this rule gave up after ${exhaustion.budget} ` +
406
+ `directory entries, so the absence it asserts was never actually checked — and ` +
407
+ `every other cardinality rule whose selector the filesystem decides lost the same ` +
408
+ `check, for a reason that has nothing to do with any of their paths. ` +
409
+ `Largest first, what the walk read under ${exhaustion.root}: ${list}. ` +
410
+ `${UNSUPPRESSABLE}`;
411
+ const remedy = `Stop the walk reaching generated output: delete or relocate the directories above ` +
412
+ `that hold build, cache or framework output — that is what exhausts the budget, not ` +
413
+ `the size of your repository. If one of them is code your rules genuinely scope to, ` +
414
+ `this rule cannot be checked here and the gap is real, not a configuration mistake.`;
415
+ return {
416
+ // CONSTANT per project, deliberately: this is the dedupe key, and keying it on
417
+ // the rule would defeat the collapse and report the same walk N times.
418
+ rule: 'eess-ts: disk walk',
419
+ // ALSO `ruleId`, and that is the load-bearing half. `dedupeConfigFindings` keys
420
+ // on `ruleId ?? rule`, and the builder stamps `ruleId` with each rule's own id
421
+ // on the way out — so setting `rule` alone left three rules with three distinct
422
+ // keys and no collapse. Measured: the first draft of this claimed one report and
423
+ // produced one per rule.
424
+ ruleId: 'eess-ts: disk walk',
425
+ element: exhaustion.root,
426
+ file: '',
427
+ line: 0,
428
+ message: advice,
429
+ // Its own remedy, never the author's (bug 0021).
430
+ suggestion: remedy,
431
+ because: `A cardinality rule is exempt from the evidence floor because examining zero is ` +
432
+ `what it asserts. That exemption is only sound while the filesystem can say ` +
433
+ `whether the path is really gone. Above the walk's budget it cannot, so the rule ` +
434
+ `is not passing — it is unexamined, and ${described.id || described.rule || facts.ruleClass.name} ` +
435
+ `would otherwise have reported nothing at all.`,
436
+ bypassFilters: true,
437
+ };
438
+ }
345
439
  /**
346
440
  * A declaration that has expired — plan 0099.
347
441
  *
@@ -485,12 +579,39 @@ function cardinalitySelectorMissedDisk(facts, project) {
485
579
  // properties of the glob text rather than of what loaded, and 0357 dropped them here for
486
580
  // one rule shape. Collected as a set because the filter below sees an `ArchViolation`,
487
581
  // whose `element` is the glob, not the site that carries `kind` and `base`.
488
- const syntacticallyBroken = new Set(trees.flatMap((tree) => globSitesOf(tree)
489
- .filter((site) => isFaultPosition(site.position) &&
490
- syntacticFault(site.glob, site.kind, site.base) !== undefined)
491
- .map((site) => site.glob)));
492
- return deadSitesIn(facts, trees, project).selector.filter((v) => v.element !== undefined &&
493
- cardinalityDeadSiteIsAtFault(project, v.element, syntacticallyBroken.has(v.element)));
582
+ // The ROUTE per glob, from the sites this function already walks — one owner, shared with
583
+ // the message. The previous shape derived admission from `(glob, hasSyntacticFault)` and the
584
+ // message from `diagnosis.onDisk`, and those disagree for a glob naming a file: bug 0363.
585
+ const universe = pathUniverse(project);
586
+ const disk = diskSet(project);
587
+ // A DISJUNCTION over sites, not a last-one-wins assignment. One glob text can sit at two
588
+ // fault-position sites with different `kind`/`base` — `GlobBase`'s docstring says the base
589
+ // affects the verdict — and `Map.set` overwrote, so the second site's `undefined` erased the
590
+ // first site's route and the finding was filtered out. Measured by enforcement review:
591
+ // `.resideInFolder(G).resideInFile(G)` went green in `check` while `doctor` reported, which
592
+ // is exactly the disagreement `doctor-and-check-agree-about-a-ratchet.test.ts` exists to
593
+ // forbid — and `doctor` keys per site, so it was right and this was wrong.
594
+ //
595
+ // Keeping the first defined route restores what the predicate this replaced actually did:
596
+ // `hasSyntacticFault || contradictsAbsence(...)` is a disjunction, and the syntactic half
597
+ // was a SET over all sites.
598
+ const routeByGlob = new Map();
599
+ for (const tree of trees)
600
+ for (const site of globSitesOf(tree)) {
601
+ if (!isFaultPosition(site.position))
602
+ continue;
603
+ // `diagnoseGlob`'s contract: "Call only on a site already known to be dead." Without
604
+ // this the loop diagnosed LIVE sites, and a live site's answer decided a dead site's
605
+ // admission.
606
+ if (!isDeadSite(site, universe))
607
+ continue;
608
+ if (routeByGlob.has(site.glob))
609
+ continue;
610
+ const route = deadSiteRoute(diagnoseGlob(site, universe, disk));
611
+ if (route !== undefined)
612
+ routeByGlob.set(site.glob, route);
613
+ }
614
+ return deadSitesIn(facts, trees, project).selector.filter((v) => v.element !== undefined && routeByGlob.has(v.element));
494
615
  }
495
616
  /** The value behind `TerminalBuilder.zeroSubjectsAdvice()`. */
496
617
  export function zeroSubjectsAdviceOf(facts) {
@@ -1 +1 @@
1
- {"version":3,"file":"vacuity-diagnosis.js","sourceRoot":"","sources":["../../src/core/vacuity-diagnosis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vacuity-diagnosis.js","sourceRoot":"","sources":["../../src/core/vacuity-diagnosis.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"baseline.d.ts","sourceRoot":"","sources":["../../src/helpers/baseline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseline.d.ts","sourceRoot":"","sources":["../../src/helpers/baseline.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import fs from 'node:fs';
2
2
  import path from 'node:path';
3
3
  import { createHash } from 'node:crypto';
4
- import { subjectOf } from '@nielspeter/eess/internal';
4
+ import { portableSubjectOf } from '@nielspeter/eess/internal';
5
5
  import { discoverIdentityRoot, normalizeIdentityText, toPortablePath, } from '@nielspeter/eess/internal';
6
6
  import { writeStderr } from '@nielspeter/eess/internal';
7
7
  import { descriptionChangeFinding, unmatchedBaselineFinding } from './baseline-diagnostics.js';
@@ -153,7 +153,7 @@ export function hashViolation(violation, root) {
153
153
  // ONE definition, shared with `disambiguateIdentities` — see `subjectOf`. It used to be
154
154
  // spelled out here and copied there, guarded by a test asserting the copies agree; the copy
155
155
  // is gone because `helpers/` may import from `core/` and a shared definition cannot diverge.
156
- const content = `${scrub(violation.rule)}::${scrub(subjectOf(violation))}`;
156
+ const content = `${scrub(violation.rule)}::${portableSubjectOf(violation, root)}`;
157
157
  return createHash('sha256').update(content).digest('hex').slice(0, 16);
158
158
  }
159
159
  /**
@@ -177,11 +177,7 @@ export function hashViolation(violation, root) {
177
177
  * changed. Measured before this was built.
178
178
  */
179
179
  export function hashSubject(violation, root) {
180
- const scrub = (text) => root === undefined ? text : normalizeIdentityText(text, root);
181
- return createHash('sha256')
182
- .update(scrub(subjectOf(violation)))
183
- .digest('hex')
184
- .slice(0, 16);
180
+ return createHash('sha256').update(portableSubjectOf(violation, root)).digest('hex').slice(0, 16);
185
181
  }
186
182
  /** Forward slashes so the recorded root reads the same on Windows and CI. */
187
183
  function toPosix(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"baseline.js","sourceRoot":"","sources":["../../src/helpers/baseline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseline.js","sourceRoot":"","sources":["../../src/helpers/baseline.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ClassDeclaration, Decorator, ExpressionWithTypeArguments } from 'ts-morph';
1
+ import type { ClassDeclaration, Decorator, ExpressionWithTypeArguments, InterfaceDeclaration } from 'ts-morph';
2
2
  /**
3
3
  * Heritage and decorator names, as written and as resolved (bug 0296).
4
4
  *
@@ -6,15 +6,29 @@ import type { ClassDeclaration, Decorator, ExpressionWithTypeArguments } from 't
6
6
  * import, a namespace member or a mixin call was missed. Each check here keeps the written
7
7
  * comparison — a namespace-qualified name and a base the checker cannot resolve still match
8
8
  * exactly as before — and adds the name the checker resolves the clause to. That only ever
9
- * adds matches. Only the DIRECT clause is read: a grandchild is not a direct child, which is
10
- * bug 0295's question, not this one.
9
+ * adds matches.
10
+ *
11
+ * Each check walks the chain (bug 0295, ADR-017): a grandchild of `Base` extends `Base`. At every
12
+ * level the clause is compared as written and as resolved, so a level the checker cannot resolve
13
+ * still matches by its text — the walk adds matches to the direct check and never removes one.
14
+ * It stops where it cannot climb, and says nothing: a base it cannot resolve has no clauses to
15
+ * read (bug 0373), and a class expression, an intersection or a class named in `implements`
16
+ * is not walked (bug 0375).
11
17
  */
12
18
  /** Whether a heritage clause (`implements X`, an interface's `extends X`) resolves to `name`. */
13
19
  export declare function clauseResolvesTo(clause: ExpressionWithTypeArguments, name: string): boolean;
14
- /** Whether `cls` names `className` as its direct base, as written or as resolved. */
20
+ /** Whether `cls` reaches `className` through its `extends` chain, as written or as resolved. */
15
21
  export declare function extendsByName(cls: ClassDeclaration, className: string): boolean;
16
- /** Whether `cls` names `interfaceName` in its own `implements` clause, as written or as resolved. */
22
+ /**
23
+ * Whether `cls` reaches `interfaceName` — through its own `implements` clause, an ancestor's,
24
+ * or an interface either one extends — as written or as resolved.
25
+ */
17
26
  export declare function implementsByName(cls: ClassDeclaration, interfaceName: string): boolean;
27
+ /**
28
+ * Whether an interface's `extends` chain holds a clause satisfying `matches` — the caller
29
+ * supplies how one level is compared, and this supplies the walk.
30
+ */
31
+ export declare function interfaceChainReaches(iface: InterfaceDeclaration, matches: (clause: ExpressionWithTypeArguments) => boolean): boolean;
18
32
  /**
19
33
  * The names a decorator answers to: as written, and — when it is an imported alias — the name
20
34
  * of the declaration it stands for. Only an alias symbol is asked for its target: only an alias
@@ -1 +1 @@
1
- {"version":3,"file":"heritage.d.ts","sourceRoot":"","sources":["../../src/helpers/heritage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAA;AAExF;;;;;;;;;GASG;AAEH,iGAAiG;AACjG,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3F;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAM/E;AAED,qGAAqG;AACrG,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAQtF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,MAAM,EAAE,CAKtE"}
1
+ {"version":3,"file":"heritage.d.ts","sourceRoot":"","sources":["../../src/helpers/heritage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,SAAS,EACT,2BAA2B,EAC3B,oBAAoB,EACrB,MAAM,UAAU,CAAA;AAEjB;;;;;;;;;;;;;;;GAeG;AAEH,iGAAiG;AACjG,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3F;AA8DD,gGAAgG;AAChG,wBAAgB,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAE/E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAItF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,oBAAoB,EAC3B,OAAO,EAAE,CAAC,MAAM,EAAE,2BAA2B,KAAK,OAAO,GACxD,OAAO,CAET;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,MAAM,EAAE,CAKtE"}
@@ -1,3 +1,4 @@
1
+ import { Node } from 'ts-morph';
1
2
  /**
2
3
  * Heritage and decorator names, as written and as resolved (bug 0296).
3
4
  *
@@ -5,26 +6,89 @@
5
6
  * import, a namespace member or a mixin call was missed. Each check here keeps the written
6
7
  * comparison — a namespace-qualified name and a base the checker cannot resolve still match
7
8
  * exactly as before — and adds the name the checker resolves the clause to. That only ever
8
- * adds matches. Only the DIRECT clause is read: a grandchild is not a direct child, which is
9
- * bug 0295's question, not this one.
9
+ * adds matches.
10
+ *
11
+ * Each check walks the chain (bug 0295, ADR-017): a grandchild of `Base` extends `Base`. At every
12
+ * level the clause is compared as written and as resolved, so a level the checker cannot resolve
13
+ * still matches by its text — the walk adds matches to the direct check and never removes one.
14
+ * It stops where it cannot climb, and says nothing: a base it cannot resolve has no clauses to
15
+ * read (bug 0373), and a class expression, an intersection or a class named in `implements`
16
+ * is not walked (bug 0375).
10
17
  */
11
18
  /** Whether a heritage clause (`implements X`, an interface's `extends X`) resolves to `name`. */
12
19
  export function clauseResolvesTo(clause, name) {
13
20
  return clause.getType().getSymbol()?.getName() === name;
14
21
  }
15
22
  /** Whether `cls` names `className` as its direct base, as written or as resolved. */
16
- export function extendsByName(cls, className) {
23
+ function directlyExtends(cls, className) {
17
24
  const clause = cls.getExtends();
18
25
  if (clause === undefined)
19
26
  return false;
20
27
  return (clause.getExpression().getText() === className || cls.getBaseClass()?.getName() === className);
21
28
  }
22
- /** Whether `cls` names `interfaceName` in its own `implements` clause, as written or as resolved. */
29
+ /**
30
+ * `cls` and every class it reaches through `extends`. There is no cycle guard because the
31
+ * checker breaks every circular chain, leaving some class on it with no base class — measured
32
+ * over a self-extend, a pair, a cross-file pair, a declaration merge, a JS file and an ambient
33
+ * pair (a mixin shape ends for another reason: the walk does not climb a mixin call). A guard
34
+ * that cannot fire is not a guard. If this ever stopped holding, the circular-chain tests would
35
+ * fail with `RangeError: Invalid array length` when the chain array overflows — no test timeout
36
+ * can interrupt a synchronous loop. How long that takes depends on the cycle, not on this code:
37
+ * reviews forcing a loop measured 11 s to about 87 s for one looping shape, and a run over the
38
+ * whole block of shapes did not finish in 200 s.
39
+ */
40
+ function classChain(cls) {
41
+ const chain = [];
42
+ for (let cur = cls; cur !== undefined; cur = cur.getBaseClass()) {
43
+ chain.push(cur);
44
+ }
45
+ return chain;
46
+ }
47
+ /** The interface declarations a heritage clause resolves to; none when it does not resolve. */
48
+ function interfacesOf(clause) {
49
+ return (clause.getType().getSymbol()?.getDeclarations() ?? []).filter((d) => Node.isInterfaceDeclaration(d));
50
+ }
51
+ /** Whether a heritage clause names `name`, as written or as resolved. */
52
+ function clauseNames(clause, name) {
53
+ return clause.getExpression().getText() === name || clauseResolvesTo(clause, name);
54
+ }
55
+ /**
56
+ * Whether any of `clauses`, or any clause of an interface they reach through `extends`,
57
+ * satisfies `matches`. `seen` holds the interfaces already walked, so a cycle ends the walk.
58
+ */
59
+ function clausesReach(clauses, matches, seen) {
60
+ for (const clause of clauses) {
61
+ if (matches(clause))
62
+ return true;
63
+ for (const iface of interfacesOf(clause)) {
64
+ if (seen.has(iface))
65
+ continue;
66
+ seen.add(iface);
67
+ if (clausesReach(iface.getExtends(), matches, seen))
68
+ return true;
69
+ }
70
+ }
71
+ return false;
72
+ }
73
+ /** Whether `cls` reaches `className` through its `extends` chain, as written or as resolved. */
74
+ export function extendsByName(cls, className) {
75
+ return classChain(cls).some((c) => directlyExtends(c, className));
76
+ }
77
+ /**
78
+ * Whether `cls` reaches `interfaceName` — through its own `implements` clause, an ancestor's,
79
+ * or an interface either one extends — as written or as resolved.
80
+ */
23
81
  export function implementsByName(cls, interfaceName) {
24
- return cls
25
- .getImplements()
26
- .some((clause) => clause.getExpression().getText() === interfaceName ||
27
- clauseResolvesTo(clause, interfaceName));
82
+ const seen = new Set();
83
+ const matches = (clause) => clauseNames(clause, interfaceName);
84
+ return classChain(cls).some((c) => clausesReach(c.getImplements(), matches, seen));
85
+ }
86
+ /**
87
+ * Whether an interface's `extends` chain holds a clause satisfying `matches` — the caller
88
+ * supplies how one level is compared, and this supplies the walk.
89
+ */
90
+ export function interfaceChainReaches(iface, matches) {
91
+ return clausesReach(iface.getExtends(), matches, new Set([iface]));
28
92
  }
29
93
  /**
30
94
  * The names a decorator answers to: as written, and — when it is an imported alias — the name
@@ -1 +1 @@
1
- {"version":3,"file":"heritage.js","sourceRoot":"","sources":["../../src/helpers/heritage.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,iGAAiG;AACjG,MAAM,UAAU,gBAAgB,CAAC,MAAmC,EAAE,IAAY;IAChF,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AACzD,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,aAAa,CAAC,GAAqB,EAAE,SAAiB;IACpE,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,CAAA;IAC/B,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACtC,OAAO,CACL,MAAM,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,KAAK,SAAS,IAAI,GAAG,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,KAAK,SAAS,CAC9F,CAAA;AACH,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,gBAAgB,CAAC,GAAqB,EAAE,aAAqB;IAC3E,OAAO,GAAG;SACP,aAAa,EAAE;SACf,IAAI,CACH,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,KAAK,aAAa;QAClD,gBAAgB,CAAC,MAAM,EAAE,aAAa,CAAC,CAC1C,CAAA;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,SAAoB;IACjD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,CAAA;IACnC,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,CAAA;IAClD,MAAM,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAC5F,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;AACnF,CAAC"}
1
+ {"version":3,"file":"heritage.js","sourceRoot":"","sources":["../../src/helpers/heritage.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,16 @@
1
1
  import type { ClassDeclaration } from 'ts-morph';
2
2
  import type { Predicate } from '@nielspeter/eess';
3
3
  /**
4
- * Matches classes whose direct base is the named class — written as its name, or through an
5
- * aliased import, a namespace member or a mixin call. `class Foo extends Bar` matches
6
- * `extend('Bar')`. A class that reaches `Bar` through an intermediate class is not matched.
4
+ * Matches classes that extend the named class, directly or through intermediate classes (bug
5
+ * 0295, ADR-017) — at each level written as its name, or through an aliased import, a namespace
6
+ * member or a mixin call. `class Foo extends Bar` and `class Baz extends Foo` both match
7
+ * `extend('Bar')`.
7
8
  */
8
9
  export declare function extend(className: string): Predicate<ClassDeclaration>;
9
10
  /**
10
- * Matches classes whose own `implements` clause names the interface — as written, or through
11
- * an aliased import.
11
+ * Matches classes that implement the interface: in their own `implements` clause, an ancestor
12
+ * class's, or through an interface that extends it (bug 0295, ADR-017) — at each level as
13
+ * written, or through an aliased import.
12
14
  */
13
15
  export declare function implement(interfaceName: string): Predicate<ClassDeclaration>;
14
16
  /**