@nielspeter/eess-ts 0.11.0 → 0.13.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.
- package/dist/builders/class-rule-builder.d.ts +5 -4
- package/dist/builders/class-rule-builder.d.ts.map +1 -1
- package/dist/builders/class-rule-builder.js +5 -4
- package/dist/builders/class-rule-builder.js.map +1 -1
- package/dist/builders/type-rule-builder.d.ts +2 -1
- package/dist/builders/type-rule-builder.d.ts.map +1 -1
- package/dist/builders/type-rule-builder.js +2 -1
- package/dist/builders/type-rule-builder.js.map +1 -1
- package/dist/conditions/class.d.ts +6 -4
- package/dist/conditions/class.d.ts.map +1 -1
- package/dist/conditions/class.js +6 -4
- package/dist/conditions/class.js.map +1 -1
- package/dist/core/check-all.js +1 -1
- package/dist/core/glob-diagnosis.d.ts.map +1 -1
- package/dist/core/glob-diagnosis.js +27 -8
- package/dist/core/glob-diagnosis.js.map +1 -1
- package/dist/core/terminal-builder.d.ts.map +1 -1
- package/dist/core/terminal-builder.js +80 -21
- package/dist/core/terminal-builder.js.map +1 -1
- package/dist/helpers/baseline.d.ts.map +1 -1
- package/dist/helpers/baseline.js +3 -7
- package/dist/helpers/baseline.js.map +1 -1
- package/dist/helpers/heritage.d.ts +19 -5
- package/dist/helpers/heritage.d.ts.map +1 -1
- package/dist/helpers/heritage.js +72 -8
- package/dist/helpers/heritage.js.map +1 -1
- package/dist/predicates/class.d.ts +7 -5
- package/dist/predicates/class.d.ts.map +1 -1
- package/dist/predicates/class.js +7 -5
- package/dist/predicates/class.js.map +1 -1
- package/dist/predicates/type.d.ts +3 -2
- package/dist/predicates/type.d.ts.map +1 -1
- package/dist/predicates/type.js +47 -13
- package/dist/predicates/type.js.map +1 -1
- package/package.json +2 -2
|
@@ -58,13 +58,14 @@ export declare class ClassRuleBuilder extends RuleBuilder<ClassDeclaration> {
|
|
|
58
58
|
*/
|
|
59
59
|
areNotExported(): this;
|
|
60
60
|
/**
|
|
61
|
-
* After `.that()`: filter classes that extend the given class
|
|
62
|
-
* After `.should()`: assert matched classes extend
|
|
61
|
+
* After `.that()`: filter classes that extend the given class, directly or through
|
|
62
|
+
* intermediate classes (ADR-017). After `.should()`: assert matched classes extend it.
|
|
63
63
|
*/
|
|
64
64
|
extend(className: string): this;
|
|
65
65
|
/**
|
|
66
|
-
* After `.that()`: filter classes that implement the given interface
|
|
67
|
-
* After `.should()`: assert
|
|
66
|
+
* After `.that()`: filter classes that implement the given interface — in their own clause,
|
|
67
|
+
* an ancestor's, or through an interface that extends it (ADR-017). After `.should()`: assert
|
|
68
|
+
* matched classes implement it.
|
|
68
69
|
*/
|
|
69
70
|
implement(interfaceName: string): this;
|
|
70
71
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class-rule-builder.d.ts","sourceRoot":"","sources":["../../src/builders/class-rule-builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAmD/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AA6B9D,qBAAa,gBAAiB,SAAQ,WAAW,CAAC,gBAAgB,CAAC;gBACrD,OAAO,EAAE,WAAW;IAIhC,SAAS,CAAC,WAAW,IAAI,gBAAgB,EAAE;IA6B3C;;;OAGG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKhD;;;;;;;OAOG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI1C;;;;;;;OAOG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIxC;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhC;;;OAGG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC;;;;;;;OAOG;IACH,WAAW,IAAI,IAAI;IAInB;;;;;;;OAOG;IACH,cAAc,IAAI,IAAI;IAMtB;;;OAGG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI/B
|
|
1
|
+
{"version":3,"file":"class-rule-builder.d.ts","sourceRoot":"","sources":["../../src/builders/class-rule-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -128,15 +128,16 @@ export class ClassRuleBuilder extends RuleBuilder {
|
|
|
128
128
|
}
|
|
129
129
|
// --- Class-specific predicate methods ---
|
|
130
130
|
/**
|
|
131
|
-
* After `.that()`: filter classes that extend the given class
|
|
132
|
-
* After `.should()`: assert matched classes extend
|
|
131
|
+
* After `.that()`: filter classes that extend the given class, directly or through
|
|
132
|
+
* intermediate classes (ADR-017). After `.should()`: assert matched classes extend it.
|
|
133
133
|
*/
|
|
134
134
|
extend(className) {
|
|
135
135
|
return this.dualUse(conditionExtend(className), predicateExtend(className));
|
|
136
136
|
}
|
|
137
137
|
/**
|
|
138
|
-
* After `.that()`: filter classes that implement the given interface
|
|
139
|
-
* After `.should()`: assert
|
|
138
|
+
* After `.that()`: filter classes that implement the given interface — in their own clause,
|
|
139
|
+
* an ancestor's, or through an interface that extends it (ADR-017). After `.should()`: assert
|
|
140
|
+
* matched classes implement it.
|
|
140
141
|
*/
|
|
141
142
|
implement(interfaceName) {
|
|
142
143
|
return this.dualUse(conditionImplement(interfaceName), predicateImplement(interfaceName));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class-rule-builder.js","sourceRoot":"","sources":["../../src/builders/class-rule-builder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"class-rule-builder.js","sourceRoot":"","sources":["../../src/builders/class-rule-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,7 +59,8 @@ export declare class TypeRuleBuilder extends RuleBuilder<TypeDeclaration> {
|
|
|
59
59
|
*/
|
|
60
60
|
havePropertyOfType(name: string, matcher: TypeMatcher): this;
|
|
61
61
|
/**
|
|
62
|
-
* Narrows the selection to types that extend the type `name
|
|
62
|
+
* Narrows the selection to types that extend the type `name` — for an interface, directly
|
|
63
|
+
* or through another interface (ADR-017).
|
|
63
64
|
*
|
|
64
65
|
* **Predicate only**, unlike the dual-use methods on this builder: it never
|
|
65
66
|
* becomes an assertion. Written after `.should()` it still filters, and the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-rule-builder.d.ts","sourceRoot":"","sources":["../../src/builders/type-rule-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAA;AA6B9B;;;;;;;;;;;;GAYG;AACH,qBAAa,eAAgB,SAAQ,WAAW,CAAC,eAAe,CAAC;gBACnD,OAAO,EAAE,WAAW;IAIhC;;;OAGG;IACH,SAAS,CAAC,WAAW,IAAI,eAAe,EAAE;IAa1C;;;;;;;OAOG;IACH,aAAa,IAAI,IAAI;IAIrB;;;;;;;OAOG;IACH,cAAc,IAAI,IAAI;IAItB;;;;;;;OAOG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhC;;;;;;;OAOG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI;IAI5D
|
|
1
|
+
{"version":3,"file":"type-rule-builder.d.ts","sourceRoot":"","sources":["../../src/builders/type-rule-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAA;AA6B9B;;;;;;;;;;;;GAYG;AACH,qBAAa,eAAgB,SAAQ,WAAW,CAAC,eAAe,CAAC;gBACnD,OAAO,EAAE,WAAW;IAIhC;;;OAGG;IACH,SAAS,CAAC,WAAW,IAAI,eAAe,EAAE;IAa1C;;;;;;;OAOG;IACH,aAAa,IAAI,IAAI;IAIrB;;;;;;;OAOG;IACH,cAAc,IAAI,IAAI;IAItB;;;;;;;OAOG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhC;;;;;;;OAOG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI;IAI5D;;;;;;;;OAQG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM9B;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI;IAI1D;;;;OAIG;IACH,UAAU,IAAI,IAAI;IAIlB;;;;OAIG;IACH,QAAQ,IAAI,IAAI;IAIhB,sEAAsE;IACtE,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMhD;;;;OAIG;IACH,iBAAiB,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAI3C;;;;OAIG;IACH,oBAAoB,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAI9C;;;;OAIG;IACH,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3C;;;;OAIG;IACH,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI9C;;;;OAIG;IACH,0BAA0B,IAAI,IAAI;IAIlC;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMhC;;;OAGG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKhD;;;;;;;OAOG;IACH,WAAW,IAAI,IAAI;IAInB;;;;;;;OAOG;IACH,cAAc,IAAI,IAAI;IAItB;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhC;;;OAGG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAGnC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,WAAW,GAAG,eAAe,CAErD"}
|
|
@@ -84,7 +84,8 @@ export class TypeRuleBuilder extends RuleBuilder {
|
|
|
84
84
|
return this.addPredicate(havePropertyOfType(name, matcher));
|
|
85
85
|
}
|
|
86
86
|
/**
|
|
87
|
-
* Narrows the selection to types that extend the type `name
|
|
87
|
+
* Narrows the selection to types that extend the type `name` — for an interface, directly
|
|
88
|
+
* or through another interface (ADR-017).
|
|
88
89
|
*
|
|
89
90
|
* **Predicate only**, unlike the dual-use methods on this builder: it never
|
|
90
91
|
* becomes an assertion. Written after `.should()` it still filters, and the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-rule-builder.js","sourceRoot":"","sources":["../../src/builders/type-rule-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAErD,OAAO,EACL,aAAa,EACb,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,UAAU,GAEX,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EACL,iBAAiB,IAAI,uBAAuB,EAC5C,oBAAoB,IAAI,0BAA0B,EAClD,oBAAoB,IAAI,0BAA0B,EAClD,uBAAuB,IAAI,6BAA6B,EACxD,0BAA0B,IAAI,gCAAgC,EAC9D,aAAa,IAAI,mBAAmB,GACrC,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,UAAU,IAAI,mBAAmB,EACjC,QAAQ,IAAI,iBAAiB,EAC7B,gBAAgB,IAAI,yBAAyB,EAC7C,YAAY,IAAI,qBAAqB,EACrC,cAAc,IAAI,uBAAuB,GAC1C,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC9E,OAAO,EACL,gBAAgB,IAAI,wBAAwB,EAC5C,YAAY,IAAI,oBAAoB,EACpC,cAAc,IAAI,sBAAsB,EACxC,WAAW,IAAI,mBAAmB,EAClC,cAAc,IAAI,sBAAsB,GACzC,MAAM,2BAA2B,CAAA;AAElC,kFAAkF;AAClF,MAAM,KAAK,GAAG,kBAAkB,EAAmB,CAAA;AAEnD;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,eAAgB,SAAQ,WAA4B;IAC/D,YAAY,OAAoB;QAC9B,KAAK,CAAC,OAAO,CAAC,CAAA;IAChB,CAAC;IAED;;;OAGG;IACO,WAAW;QACnB,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE;YACnD,MAAM,QAAQ,GAAsB,EAAE,CAAA;YACtC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC/C,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,CAAA;gBACpC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,CAAA;YACvC,CAAC;YACD,OAAO,QAAQ,CAAA;QACjB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,mCAAmC;IAEnC;;;;;;;OAOG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED;;;;;;;OAOG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAA;IAC5C,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;IAC9C,CAAC;IAED;;;;;;;OAOG;IACH,kBAAkB,CAAC,IAAY,EAAE,OAAoB;QACnD,OAAO,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;IAC7D,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"type-rule-builder.js","sourceRoot":"","sources":["../../src/builders/type-rule-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,15 @@ import type { ClassDeclaration } from 'ts-morph';
|
|
|
2
2
|
import type { Condition } from '@nielspeter/eess';
|
|
3
3
|
import type { TypeMatcher } from '../helpers/type-matchers.js';
|
|
4
4
|
/**
|
|
5
|
-
* Assert that classes
|
|
6
|
-
*
|
|
5
|
+
* Assert that classes extend the named base class, directly or through intermediate classes
|
|
6
|
+
* (bug 0295, ADR-017) — at each level written as its name, or through an aliased import, a
|
|
7
|
+
* namespace member or a mixin call.
|
|
7
8
|
*/
|
|
8
9
|
export declare function shouldExtend(className: string): Condition<ClassDeclaration>;
|
|
9
10
|
/**
|
|
10
|
-
* Assert that classes implement the named interface in their own `implements` clause
|
|
11
|
-
*
|
|
11
|
+
* Assert that classes implement the named interface — in their own `implements` clause, an
|
|
12
|
+
* ancestor class's, or through an interface that extends it (bug 0295, ADR-017) — at each level
|
|
13
|
+
* as written, or through an aliased import.
|
|
12
14
|
*/
|
|
13
15
|
export declare function shouldImplement(interfaceName: string): Condition<ClassDeclaration>;
|
|
14
16
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class.d.ts","sourceRoot":"","sources":["../../src/conditions/class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAwB,MAAM,UAAU,CAAA;AACtE,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,kBAAkB,CAAA;AAInE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAG9D
|
|
1
|
+
{"version":3,"file":"class.d.ts","sourceRoot":"","sources":["../../src/conditions/class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAwB,MAAM,UAAU,CAAA;AACtE,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,kBAAkB,CAAA;AAInE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAG9D;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAM3E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAMlF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAM/E;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAYtF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAyBvF;AAkDD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAW1F"}
|
package/dist/conditions/class.js
CHANGED
|
@@ -2,15 +2,17 @@ import { elementCondition } from './helpers.js';
|
|
|
2
2
|
import { createViolation, getElementName } from '../core/violation.js';
|
|
3
3
|
import { extendsByName, implementsByName } from '../helpers/heritage.js';
|
|
4
4
|
/**
|
|
5
|
-
* Assert that classes
|
|
6
|
-
*
|
|
5
|
+
* Assert that classes extend the named base class, directly or through intermediate classes
|
|
6
|
+
* (bug 0295, ADR-017) — at each level written as its name, or through an aliased import, a
|
|
7
|
+
* namespace member or a mixin call.
|
|
7
8
|
*/
|
|
8
9
|
export function shouldExtend(className) {
|
|
9
10
|
return elementCondition(`extend "${className}"`, (cls) => extendsByName(cls, className), (cls) => `${getElementName(cls)} does not extend "${className}"`);
|
|
10
11
|
}
|
|
11
12
|
/**
|
|
12
|
-
* Assert that classes implement the named interface in their own `implements` clause
|
|
13
|
-
*
|
|
13
|
+
* Assert that classes implement the named interface — in their own `implements` clause, an
|
|
14
|
+
* ancestor class's, or through an interface that extends it (bug 0295, ADR-017) — at each level
|
|
15
|
+
* as written, or through an aliased import.
|
|
14
16
|
*/
|
|
15
17
|
export function shouldImplement(interfaceName) {
|
|
16
18
|
return elementCondition(`implement "${interfaceName}"`, (cls) => implementsByName(cls, interfaceName), (cls) => `${getElementName(cls)} does not implement "${interfaceName}"`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class.js","sourceRoot":"","sources":["../../src/conditions/class.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAEtE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAExE
|
|
1
|
+
{"version":3,"file":"class.js","sourceRoot":"","sources":["../../src/conditions/class.ts"],"names":[],"mappings":"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"}
|
package/dist/core/check-all.js
CHANGED
|
@@ -76,7 +76,7 @@ export function checkAll(rules, options) {
|
|
|
76
76
|
// ADR-008: this function owns its reporting below, so the gate runs under
|
|
77
77
|
// `report: 'return'` and hands the findings back instead of emitting them.
|
|
78
78
|
// An emitter finding carries `bypassFilters`, so it survives both the baseline
|
|
79
|
-
// (`packages/core/src/baseline.ts:
|
|
79
|
+
// (`packages/core/src/baseline.ts:279`) and the diff filter, and it is
|
|
80
80
|
// error-severity, so it rides the throw at the bottom.
|
|
81
81
|
//
|
|
82
82
|
// One option, one finding (plan 0074). A preset fans a single bad option out
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glob-diagnosis.d.ts","sourceRoot":"","sources":["../../src/core/glob-diagnosis.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAGpD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,YAAY,GAAG,iBAAiB,GAAG,UAAU,CAAA;AAErF,UAAU,aAAa;IACrB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,2EAA2E;AAC3E,eAAO,MAAM,SAAS,gEAAgE,CAAA;AAEtF;;;;;;;;;;GAUG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAGlD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EACtB,IAAI,GAAE,QAAQ,CAAC,MAAM,CAAc,GAClC,aAAa,GAAG,YAAY,GAAG,SAAS,CAiB1C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,OAAO,GAChB,aAAa,CA0Bf;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,cAAc,GAAG,sBAAsB,CAAA;AAEjF,wBAAgB,aAAa,CAAC,SAAS,EAAE,aAAa,GAAG,aAAa,GAAG,SAAS,CAsBjF;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"glob-diagnosis.d.ts","sourceRoot":"","sources":["../../src/core/glob-diagnosis.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAGpD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,YAAY,GAAG,iBAAiB,GAAG,UAAU,CAAA;AAErF,UAAU,aAAa;IACrB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,2EAA2E;AAC3E,eAAO,MAAM,SAAS,gEAAgE,CAAA;AAEtF;;;;;;;;;;GAUG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAGlD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EACtB,IAAI,GAAE,QAAQ,CAAC,MAAM,CAAc,GAClC,aAAa,GAAG,YAAY,GAAG,SAAS,CAiB1C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE,OAAO,GAChB,aAAa,CA0Bf;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,cAAc,GAAG,sBAAsB,CAAA;AAEjF,wBAAgB,aAAa,CAAC,SAAS,EAAE,aAAa,GAAG,aAAa,GAAG,SAAS,CAsBjF;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CA4BtE,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAY/E,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAgB5D,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoC3D,CAAA"}
|
|
@@ -119,13 +119,25 @@ export const CARDINALITY_REMEDY = {
|
|
|
119
119
|
syntactic: 'Correct the selector — this rule has not been enforcing anything. Do not delete it.',
|
|
120
120
|
// The tsconfig cannot help either, for a different reason: the predicate reads the
|
|
121
121
|
// directory portion and the glob names a file, so no `include` makes it match.
|
|
122
|
-
//
|
|
123
|
-
//
|
|
124
|
-
//
|
|
125
|
-
//
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
//
|
|
122
|
+
//
|
|
123
|
+
// **The rule for this table, stated where a table author will see it:** the CAUSE in
|
|
124
|
+
// `FAULT_ADVICE` owns the concrete edit, and a route remedy here must neither repeat it nor
|
|
125
|
+
// choose between its options. For a cardinality rule the `Fix:` line is `${cause}. ${remedy}`,
|
|
126
|
+
// so anything said here is said a second time, and the remedy is the LAST sentence — where an
|
|
127
|
+
// agent reading `Fix:` acts.
|
|
128
|
+
//
|
|
129
|
+
// History, kept because it is the argument for getting this wrong again. 0363's review had this
|
|
130
|
+
// name `resideInFile()` verbatim, which duplicated the cause in one sentence. Bug 0372's first
|
|
131
|
+
// fix removed that by saying "name the DIRECTORY you mean" — and product review measured the
|
|
132
|
+
// consequence: the cause offers TWO edits (`resideInFile()` for a file, `/**` for a directory),
|
|
133
|
+
// and a last sentence naming only one of them overrides the cause. For a `.notExist()` rule,
|
|
134
|
+
// meaning a file is the common case ("legacy/old.ts must not come back"), and an agent told to
|
|
135
|
+
// name a directory widens the rule to the parent folder — changing what it asserts. So it
|
|
136
|
+
// defers to the cause's choice instead, and stays a distinct sentence from `syntactic` so a
|
|
137
|
+
// hand-rolled copy of this table remains detectable (0363's S7).
|
|
138
|
+
// See [bug 0372](../../../../work/bugs/fixed/0372-the-file-not-folder-sentence-says-it-can-never-match-twice.md).
|
|
139
|
+
'names-a-file': 'Apply whichever of those two fixes you meant — this rule has not been enforcing anything. ' +
|
|
140
|
+
'Do not delete it.',
|
|
129
141
|
'contradicted-by-disk': 'Widen the tsconfig include to cover this path, or correct the selector — ' +
|
|
130
142
|
'do not delete this rule, it is what detected the gap.',
|
|
131
143
|
};
|
|
@@ -156,7 +168,14 @@ export const ROUTE_HOLDS_IN_ANY_PROJECT = {
|
|
|
156
168
|
export const FAULT_ADVICE = {
|
|
157
169
|
'dot-segment': 'a "./" segment never occurs in an absolute file path — remove it and anchor instead ("./src/x/**" -> "**/src/x/**")',
|
|
158
170
|
unanchored: 'these are matched against ABSOLUTE file paths, so a project-relative glob matches nothing — prefix these with "**/"',
|
|
159
|
-
|
|
171
|
+
// NO scope claim here — the headline owns scope, and states it correctly as "in this project"
|
|
172
|
+
// (the same text matches fine where that name is a directory). A cause that also states scope
|
|
173
|
+
// can only repeat the headline or contradict it. The first version said "so it can never
|
|
174
|
+
// match", unqualified; the second qualified it "as a folder glob", which product review showed
|
|
175
|
+
// is STILL universal — `**/src/domain/user.ts` matches as a folder glob where `user.ts` is a
|
|
176
|
+
// directory. Qualifying by shape fixed the wrong axis. "Used where a directory is read"
|
|
177
|
+
// already says why it fails here — [bug 0372](../../../../work/bugs/fixed/0372-the-file-not-folder-sentence-says-it-can-never-match-twice.md).
|
|
178
|
+
'file-not-folder': 'this matches a FILE but is used where a directory is read — use resideInFile() for a file, or append "/**" to name the files inside a directory',
|
|
160
179
|
'no-match': 'these are anchored but matched no file. Common causes: the glob names a directory rather than the files inside it (append "/**"), a path segment is misspelled, or the directory holds no source files',
|
|
161
180
|
};
|
|
162
181
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glob-diagnosis.js","sourceRoot":"","sources":["../../src/core/glob-diagnosis.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"glob-diagnosis.js","sourceRoot":"","sources":["../../src/core/glob-diagnosis.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-builder.d.ts","sourceRoot":"","sources":["../../src/core/terminal-builder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"terminal-builder.d.ts","sourceRoot":"","sources":["../../src/core/terminal-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { collectWithAssertionGuard as runWithGuard } from './terminal-execution.js';
|
|
2
2
|
import { zeroSubjectsAdviceOf, zeroSubjectsViolationOf } from './vacuity-diagnosis.js';
|
|
3
3
|
import { collectResult } from '@nielspeter/eess';
|
|
4
|
+
import path from 'node:path';
|
|
4
5
|
import { severityFor, subjectOf } from '@nielspeter/eess/internal';
|
|
6
|
+
import { discoverNamedRepository, portableTokens } from '@nielspeter/eess/internal';
|
|
5
7
|
import { recordExclusions } from '@nielspeter/eess/internal';
|
|
6
8
|
import { executeCheck, executeWarn, applyFilters } from './execute-rule.js';
|
|
7
9
|
import { shallowClone } from '@nielspeter/eess/internal';
|
|
@@ -63,6 +65,70 @@ function hasIdentityCollision(violations) {
|
|
|
63
65
|
}
|
|
64
66
|
return false;
|
|
65
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* The repository a deferred warning's subjects are made portable against (bug 0389, spike 0392):
|
|
70
|
+
* the named repository above the project's tsconfig, or none when the builder names no project.
|
|
71
|
+
* One per builder: a root found per finding was measured to let an entry for one package accept the
|
|
72
|
+
* same finding in another. No repository, no portable form; the raw subject stays, exactly as
|
|
73
|
+
* before the fix.
|
|
74
|
+
*/
|
|
75
|
+
function repositoryOf(project) {
|
|
76
|
+
return project === undefined
|
|
77
|
+
? undefined
|
|
78
|
+
: discoverNamedRepository(path.dirname(project.tsConfigPath));
|
|
79
|
+
}
|
|
80
|
+
/** The form the advice prints and a portable entry is compared against. */
|
|
81
|
+
function portableSubject(v, repo) {
|
|
82
|
+
const raw = subjectOf(v);
|
|
83
|
+
return repo === undefined ? raw : portableTokens(raw, repo);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Whether a finding's raw subject (identity, or element and message) already spells the portable
|
|
87
|
+
* syntax (spike 0393). An entry for such a finding would be indistinguishable from another finding's
|
|
88
|
+
* portable form, so a rule that has one gets no portable matching: it compares raw subjects, exactly
|
|
89
|
+
* as `main` did. Read before exclusions, like the collision guard.
|
|
90
|
+
*/
|
|
91
|
+
function spellsPortableSyntax(violations) {
|
|
92
|
+
return violations.some((v) => subjectOf(v).includes(PORTABLE_MARKER));
|
|
93
|
+
}
|
|
94
|
+
const PORTABLE_MARKER = '<root:';
|
|
95
|
+
/**
|
|
96
|
+
* Whether a deferred warning's `accepted` list holds this finding: its raw subject, which is what a
|
|
97
|
+
* list written before the fix holds, or its portable form (bug 0389). The entry itself is never
|
|
98
|
+
* rewritten: scrubbing the accepted side let a raw list written for one file match another.
|
|
99
|
+
*/
|
|
100
|
+
function isAccepted(accepted, v, repo) {
|
|
101
|
+
return accepted.includes(subjectOf(v)) || accepted.includes(portableSubject(v, repo));
|
|
102
|
+
}
|
|
103
|
+
/** The text `deferredWarningAdvice()` returns, by cause. */
|
|
104
|
+
function deferredWarningMessage(name, cause, acceptedCount, subjects, spelling = []) {
|
|
105
|
+
if (cause === 'portable-syntax') {
|
|
106
|
+
return (`"${name}" is a deferred warning, and portable matching is off for it: these findings' ` +
|
|
107
|
+
`subjects (identity, or element and message) contain \`${PORTABLE_MARKER}\`, the syntax a ` +
|
|
108
|
+
`portable \`accepted\` entry is written in, so an entry for one could not be told apart from ` +
|
|
109
|
+
`another finding's portable form: ${spelling.join(', ')}. Entries are compared by raw subject ` +
|
|
110
|
+
`only until no subject contains \`${PORTABLE_MARKER}\` (findings excluded with \`.excluding()\` ` +
|
|
111
|
+
`count too). To restore it, change that identity or give the finding one, and remove the ` +
|
|
112
|
+
`finding's old entry from \`accepted\`: kept, it can equal another finding's portable form. ` +
|
|
113
|
+
`Not in the list: ${subjects.join(', ')}.`);
|
|
114
|
+
}
|
|
115
|
+
if (cause === 'collision') {
|
|
116
|
+
return (`"${name}" is a deferred warning, but its findings are not reliably identifiable: two or ` +
|
|
117
|
+
`more share one subject (rule + element + message, with no producer-set \`identity\`), so ` +
|
|
118
|
+
`the repair that keeps them distinct assigns a POSITIONAL "#1"/"#2" suffix — not stable ` +
|
|
119
|
+
`across runs, so a fixed finding and a genuinely new one can land on the same suffix and ` +
|
|
120
|
+
`\`accepted\` would silently treat the new one as already-known debt. Every finding here is ` +
|
|
121
|
+
`escalated to error until this is fixed: qualify the condition's message, or set ` +
|
|
122
|
+
`ArchViolation.identity explicitly, so each finding's subject is unique on its own.`);
|
|
123
|
+
}
|
|
124
|
+
const n = subjects.length;
|
|
125
|
+
return (`"${name}" is a deferred warning (accepted: ${String(acceptedCount)} finding` +
|
|
126
|
+
`${acceptedCount === 1 ? '' : 's'}), and ${String(n)} current ` +
|
|
127
|
+
`finding${n === 1 ? '' : 's'} ${n === 1 ? 'is' : 'are'} not in ` +
|
|
128
|
+
`that list — a new finding this deferral did not accept, which will fail at check() time: ` +
|
|
129
|
+
`${subjects.join(', ')}. Either fix it, or extend \`accepted\` if it is genuinely more debt of ` +
|
|
130
|
+
`the same kind you already deferred.`);
|
|
131
|
+
}
|
|
66
132
|
/**
|
|
67
133
|
* The declaration half of every rule builder: what the author states.
|
|
68
134
|
*
|
|
@@ -699,10 +765,16 @@ export class TerminalBuilder extends RuleDeclaration {
|
|
|
699
765
|
// subject with a positional `#1`/`#2` suffix — see `hasIdentityCollision`'s
|
|
700
766
|
// own doc comment for why checking post-repair identities would miss
|
|
701
767
|
// exactly the case this exists to catch. Only computed when it can matter.
|
|
702
|
-
const
|
|
768
|
+
const deferred = sev === 'warn' && this._acceptedWarnings !== undefined;
|
|
769
|
+
const unsafe = deferred && hasIdentityCollision(raw);
|
|
770
|
+
// One repository per run, looked up once rather than per finding; none when a subject already
|
|
771
|
+
// spells the portable syntax, so that rule matches raw subjects only (spike 0393).
|
|
772
|
+
const repo = deferred && !unsafe && !spellsPortableSyntax(raw)
|
|
773
|
+
? repositoryOf(this.getProject())
|
|
774
|
+
: undefined;
|
|
703
775
|
return collectResult(filtered.map((v) => ({
|
|
704
776
|
...v,
|
|
705
|
-
severity: severityFor(v, unsafe ? 'error' : this.fallbackSeverityFor(v, sev)),
|
|
777
|
+
severity: severityFor(v, unsafe ? 'error' : this.fallbackSeverityFor(v, sev, repo)),
|
|
706
778
|
})), evidence);
|
|
707
779
|
}
|
|
708
780
|
/**
|
|
@@ -714,10 +786,10 @@ export class TerminalBuilder extends RuleDeclaration {
|
|
|
714
786
|
* An ADVISORY warning (`_acceptedWarnings` `undefined`) is unaffected — `sev`
|
|
715
787
|
* passes through unchanged, exactly today's behaviour.
|
|
716
788
|
*/
|
|
717
|
-
fallbackSeverityFor(v, sev) {
|
|
789
|
+
fallbackSeverityFor(v, sev, repo) {
|
|
718
790
|
if (sev !== 'warn' || this._acceptedWarnings === undefined)
|
|
719
791
|
return sev;
|
|
720
|
-
return this._acceptedWarnings
|
|
792
|
+
return isAccepted(this._acceptedWarnings, v, repo) ? 'warn' : 'error';
|
|
721
793
|
}
|
|
722
794
|
/**
|
|
723
795
|
* Execute the rule and throw `ArchRuleError` if any violations are found.
|
|
@@ -769,23 +841,10 @@ export class TerminalBuilder extends RuleDeclaration {
|
|
|
769
841
|
if (breaching.length === 0)
|
|
770
842
|
return '';
|
|
771
843
|
const described = this.describeRule();
|
|
772
|
-
const
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
`the repair that keeps them distinct assigns a POSITIONAL "#1"/"#2" suffix — not stable ` +
|
|
777
|
-
`across runs, so a fixed finding and a genuinely new one can land on the same suffix and ` +
|
|
778
|
-
`\`accepted\` would silently treat the new one as already-known debt. Every finding here is ` +
|
|
779
|
-
`escalated to error until this is fixed: qualify the condition's message, or set ` +
|
|
780
|
-
`ArchViolation.identity explicitly, so each finding's subject is unique on its own.`);
|
|
781
|
-
}
|
|
782
|
-
const subjects = breaching.map((v) => subjectOf(v));
|
|
783
|
-
return (`"${name}" is a deferred warning (accepted: ${String(this._acceptedWarnings.length)} finding` +
|
|
784
|
-
`${this._acceptedWarnings.length === 1 ? '' : 's'}), and ${String(breaching.length)} current ` +
|
|
785
|
-
`finding${breaching.length === 1 ? '' : 's'} ${breaching.length === 1 ? 'is' : 'are'} not in ` +
|
|
786
|
-
`that list — a new finding this deferral did not accept, which will fail at check() time: ` +
|
|
787
|
-
`${subjects.join(', ')}. Either fix it, or extend \`accepted\` if it is genuinely more debt of ` +
|
|
788
|
-
`the same kind you already deferred.`);
|
|
844
|
+
const raw = this.collectWithAssertionGuard();
|
|
845
|
+
const portableOff = spellsPortableSyntax(raw);
|
|
846
|
+
const repo = portableOff ? undefined : repositoryOf(this.getProject());
|
|
847
|
+
return deferredWarningMessage(described.id || described.rule || this.constructor.name, hasIdentityCollision(raw) ? 'collision' : portableOff ? 'portable-syntax' : undefined, this._acceptedWarnings.length, breaching.map((v) => portableSubject(v, repo)), raw.map((v) => subjectOf(v)).filter((subject) => subject.includes(PORTABLE_MARKER)));
|
|
789
848
|
}
|
|
790
849
|
/**
|
|
791
850
|
* The advice for a rule that examined zero units — plan 0099.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-builder.js","sourceRoot":"","sources":["../../src/core/terminal-builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"terminal-builder.js","sourceRoot":"","sources":["../../src/core/terminal-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseline.d.ts","sourceRoot":"","sources":["../../src/helpers/baseline.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAWrD;;;;;;;;;;;;;;;;;;;;GAoBG;AA8CH,eAAO,MAAM,YAAY,IAAI,CAAA;AAE7B;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAA;IACZ,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAA;IACZ,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,sFAAsF;AACtF,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,iGAAiG;IACjG,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AA0CD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAA;IACb,qBAAqB;IACrB,UAAU,EAAE,aAAa,EAAE,CAAA;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,wBAAgB,aAAa,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAY7E;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"baseline.d.ts","sourceRoot":"","sources":["../../src/helpers/baseline.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAWrD;;;;;;;;;;;;;;;;;;;;GAoBG;AA8CH,eAAO,MAAM,YAAY,IAAI,CAAA;AAE7B;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAA;IACZ,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAA;IACZ,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAA;IACZ,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,sFAAsF;AACtF,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,iGAAiG;IACjG,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AA0CD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAA;IACb,qBAAqB;IACrB,UAAU,EAAE,aAAa,EAAE,CAAA;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,wBAAgB,aAAa,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAY7E;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAE3E;AAOD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,QAAQ,CAkF1F;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,aAAa,EAAE,EAC3B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,eAAoB,GAC5B,aAAa,CAsDf;AAkED;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC5B,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,2BAA2B;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,oEAAoE;IACpE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,oEAAoE;IACpE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,iEAAiE;IACjE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,gEAAgE;IAChE,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;CAClC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CA8ChE;AAED;;GAEG;AACH,qBAAa,QAAQ;IAWjB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC5B;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAfpB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EACxB,IAAI,EAAE,MAAM,EACZ,WAAW,GAAE,MAAqB,EAClC,UAAU,CAAC,EAAE,MAAM,YAAA;IACpC;;;;OAIG;IACc,aAAa,GAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAa;IACvE;;;;OAIG;IACc,oBAAoB,GAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAa;IAG7F;;;OAGG;IACH;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO;IAI3C;;;;;;;OAOG;IACH,OAAO,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO;IA4B1C;;;;;;OAMG;IACH,OAAO,CAAC,KAAK;IAYb;;;;;;;;;OASG;IACH,SAAS,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE;IA2CvD;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;IAe/B;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAQ/B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,uBAAuB;IA2B/B,iDAAiD;IACjD,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
|
package/dist/helpers/baseline.js
CHANGED
|
@@ -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 {
|
|
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)}::${
|
|
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
|
-
|
|
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.
|
|
10
|
-
*
|
|
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`
|
|
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
|
-
/**
|
|
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":"
|
|
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"}
|
package/dist/helpers/heritage.js
CHANGED
|
@@ -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.
|
|
9
|
-
*
|
|
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
|
-
|
|
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
|
-
/**
|
|
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
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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":"
|
|
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
|
|
5
|
-
*
|
|
6
|
-
*
|
|
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
|
|
11
|
-
* an
|
|
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
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class.d.ts","sourceRoot":"","sources":["../../src/predicates/class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAGjD
|
|
1
|
+
{"version":3,"file":"class.d.ts","sourceRoot":"","sources":["../../src/predicates/class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAGjD;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAKrE;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAK5E;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAKvE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAKhF;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAKzD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAKzE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAS7E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAK3E"}
|
package/dist/predicates/class.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { decoratorNames, extendsByName, implementsByName } from '../helpers/heritage.js';
|
|
2
2
|
/**
|
|
3
|
-
* Matches classes
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* Matches classes that extend the named class, directly or through intermediate classes (bug
|
|
4
|
+
* 0295, ADR-017) — at each level written as its name, or through an aliased import, a namespace
|
|
5
|
+
* member or a mixin call. `class Foo extends Bar` and `class Baz extends Foo` both match
|
|
6
|
+
* `extend('Bar')`.
|
|
6
7
|
*/
|
|
7
8
|
export function extend(className) {
|
|
8
9
|
return {
|
|
@@ -11,8 +12,9 @@ export function extend(className) {
|
|
|
11
12
|
};
|
|
12
13
|
}
|
|
13
14
|
/**
|
|
14
|
-
* Matches classes
|
|
15
|
-
* an
|
|
15
|
+
* Matches classes that implement the interface: in their own `implements` clause, an ancestor
|
|
16
|
+
* class's, or through an interface that extends it (bug 0295, ADR-017) — at each level as
|
|
17
|
+
* written, or through an aliased import.
|
|
16
18
|
*/
|
|
17
19
|
export function implement(interfaceName) {
|
|
18
20
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class.js","sourceRoot":"","sources":["../../src/predicates/class.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAExF
|
|
1
|
+
{"version":3,"file":"class.js","sourceRoot":"","sources":["../../src/predicates/class.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAExF;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,SAAiB;IACtC,OAAO;QACL,WAAW,EAAE,WAAW,SAAS,GAAG;QACpC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC;KAC7C,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,aAAqB;IAC7C,OAAO;QACL,WAAW,EAAE,cAAc,aAAa,GAAG;QAC3C,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,aAAa,CAAC;KACpD,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO;QACL,WAAW,EAAE,mBAAmB,IAAI,EAAE;QACtC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KACjF,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,OAAO;QACL,WAAW,EAAE,2BAA2B,MAAM,CAAC,KAAK,CAAC,EAAE;QACvD,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KAC7F,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO;QACL,WAAW,EAAE,cAAc;QAC3B,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE;KAChC,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO;QACL,WAAW,EAAE,sBAAsB,IAAI,GAAG;QAC1C,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS;KACjD,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO;QACL,WAAW,EAAE,wBAAwB,MAAM,CAAC,KAAK,CAAC,EAAE;QACpD,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CACZ,GAAG,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;YACxB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC,CAAC;KACL,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO;QACL,WAAW,EAAE,wBAAwB,IAAI,GAAG;QAC5C,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,SAAS;KACnD,CAAA;AACH,CAAC"}
|
|
@@ -38,8 +38,9 @@ export declare function haveProperty(name: string): Predicate<TypeDeclaration>;
|
|
|
38
38
|
*/
|
|
39
39
|
export declare function havePropertyOfType(name: string, matcher: TypeMatcher): Predicate<TypeDeclaration>;
|
|
40
40
|
/**
|
|
41
|
-
* Matches interfaces that
|
|
42
|
-
* aliased import or a namespace
|
|
41
|
+
* Matches interfaces that extend the given type name, directly or through another interface
|
|
42
|
+
* (bug 0295, ADR-017) — at each level as written, or through an aliased import or a namespace
|
|
43
|
+
* member.
|
|
43
44
|
* For type aliases, checks if the type text references the name.
|
|
44
45
|
*
|
|
45
46
|
* @example
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/predicates/type.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/predicates/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAE1B,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAG9D;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,oBAAoB,GAAG,oBAAoB,CAAA;AAEzE;;;;;GAKG;AACH,wBAAgB,aAAa,IAAI,SAAS,CAAC,eAAe,CAAC,CAK1D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,SAAS,CAAC,eAAe,CAAC,CAK3D;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,eAAe,CAAC,CAQrE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC,eAAe,CAAC,CASjG;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,eAAe,CAAC,CAsBnE"}
|
package/dist/predicates/type.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Node } from 'ts-morph';
|
|
2
|
-
import { clauseResolvesTo } from '../helpers/heritage.js';
|
|
1
|
+
import { Node, } from 'ts-morph';
|
|
2
|
+
import { clauseResolvesTo, interfaceChainReaches } from '../helpers/heritage.js';
|
|
3
3
|
/**
|
|
4
4
|
* Matches only InterfaceDeclaration elements.
|
|
5
5
|
*
|
|
@@ -60,8 +60,9 @@ export function havePropertyOfType(name, matcher) {
|
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
62
|
/**
|
|
63
|
-
* Matches interfaces that
|
|
64
|
-
* aliased import or a namespace
|
|
63
|
+
* Matches interfaces that extend the given type name, directly or through another interface
|
|
64
|
+
* (bug 0295, ADR-017) — at each level as written, or through an aliased import or a namespace
|
|
65
|
+
* member.
|
|
65
66
|
* For type aliases, checks if the type text references the name.
|
|
66
67
|
*
|
|
67
68
|
* @example
|
|
@@ -71,22 +72,55 @@ export function extendType(name) {
|
|
|
71
72
|
return {
|
|
72
73
|
description: `extend type "${name}"`,
|
|
73
74
|
test: (element) => {
|
|
75
|
+
const escaped = name.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
76
|
+
const clauseRegex = new RegExp(`^${escaped}(\\b|$|<)`);
|
|
77
|
+
const clauseNames = (ext) => clauseRegex.test(ext.getText()) || clauseResolvesTo(ext, name);
|
|
74
78
|
if (Node.isInterfaceDeclaration(element)) {
|
|
75
|
-
|
|
76
|
-
const nameRegex = new RegExp(`^${escaped}(\\b|$|<)`);
|
|
77
|
-
return element
|
|
78
|
-
.getExtends()
|
|
79
|
-
.some((ext) => nameRegex.test(ext.getText()) || clauseResolvesTo(ext, name));
|
|
79
|
+
return interfaceChainReaches(element, clauseNames);
|
|
80
80
|
}
|
|
81
|
-
// For type aliases,
|
|
82
|
-
//
|
|
81
|
+
// For type aliases, test the printed type. For most aliases that prints as the alias's own
|
|
82
|
+
// name, which is why `{ bar: BaseConfig }` does not match — not the word boundary. It also
|
|
83
|
+
// matches a module path and some generic arguments (bug 0384).
|
|
83
84
|
const typeText = element.getType().getText();
|
|
84
|
-
const nameRegex = new RegExp(`\\b${
|
|
85
|
-
|
|
85
|
+
const nameRegex = new RegExp(`\\b${escaped}\\b`);
|
|
86
|
+
// The printed type is the alias's own name for most aliases, so an intersection — the
|
|
87
|
+
// alias shape most likely to mean "extends" — never matched (bug 0376). The type node
|
|
88
|
+
// is read as well: kept beside the printed-type test, so what matched before still does.
|
|
89
|
+
return nameRegex.test(typeText) || intersectionNames(element.getTypeNode(), name, clauseNames);
|
|
86
90
|
},
|
|
87
91
|
};
|
|
88
92
|
}
|
|
89
93
|
// --- Internal helpers ---
|
|
94
|
+
/**
|
|
95
|
+
* Whether an alias's type node is an intersection with a member that names `name` — as
|
|
96
|
+
* written, as resolved (an aliased import), or through the member interface's own `extends`
|
|
97
|
+
* chain (ADR-017). Parentheses and nested intersections are looked through. Only an
|
|
98
|
+
* intersection is read: a member of a union, or a property of an object type, does not make
|
|
99
|
+
* the alias extend it.
|
|
100
|
+
*/
|
|
101
|
+
function intersectionNames(node, name, clauseNames) {
|
|
102
|
+
if (node === undefined)
|
|
103
|
+
return false;
|
|
104
|
+
if (Node.isParenthesizedTypeNode(node)) {
|
|
105
|
+
return intersectionNames(node.getTypeNode(), name, clauseNames);
|
|
106
|
+
}
|
|
107
|
+
if (!Node.isIntersectionTypeNode(node))
|
|
108
|
+
return false;
|
|
109
|
+
return node.getTypeNodes().some((member) => {
|
|
110
|
+
// A nested intersection always arrives parenthesised: the parser flattens `A & B & C`.
|
|
111
|
+
if (Node.isParenthesizedTypeNode(member)) {
|
|
112
|
+
return intersectionNames(member, name, clauseNames);
|
|
113
|
+
}
|
|
114
|
+
if (!Node.isTypeReference(member))
|
|
115
|
+
return false;
|
|
116
|
+
if (member.getTypeName().getText() === name)
|
|
117
|
+
return true;
|
|
118
|
+
const symbol = member.getType().getSymbol();
|
|
119
|
+
if (symbol?.getName() === name)
|
|
120
|
+
return true;
|
|
121
|
+
return (symbol?.getDeclarations() ?? []).some((d) => Node.isInterfaceDeclaration(d) && interfaceChainReaches(d, clauseNames));
|
|
122
|
+
});
|
|
123
|
+
}
|
|
90
124
|
/**
|
|
91
125
|
* Resolve a TypeDeclaration to its ts-morph Type.
|
|
92
126
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/predicates/type.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/predicates/type.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nielspeter/eess-ts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"description": "Architecture testing for TypeScript — the TS dialect of the eess family (formerly ts-archunit)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
}
|
|
116
116
|
},
|
|
117
117
|
"dependencies": {
|
|
118
|
-
"@nielspeter/eess": "^0.
|
|
118
|
+
"@nielspeter/eess": "^0.7.0",
|
|
119
119
|
"jiti": "^2.6.1",
|
|
120
120
|
"picomatch": "^4.0.4",
|
|
121
121
|
"ts-morph": "^27.0.2"
|