@harness-engineering/core 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.
- package/dist/architecture/matchers.d.mts +2 -0
- package/dist/architecture/matchers.d.ts +2 -0
- package/dist/architecture/matchers.js +1784 -0
- package/dist/architecture/matchers.mjs +10 -0
- package/dist/chunk-ZHGBWFYD.mjs +1827 -0
- package/dist/index.d.mts +885 -23
- package/dist/index.d.ts +885 -23
- package/dist/index.js +2286 -320
- package/dist/index.mjs +1205 -1026
- package/dist/matchers-D20x48U9.d.mts +353 -0
- package/dist/matchers-D20x48U9.d.ts +353 -0
- package/package.json +11 -3
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
declare const ArchMetricCategorySchema: z.ZodEnum<["circular-deps", "layer-violations", "complexity", "coupling", "forbidden-imports", "module-size", "dependency-depth"]>;
|
|
4
|
+
type ArchMetricCategory = z.infer<typeof ArchMetricCategorySchema>;
|
|
5
|
+
declare const ViolationSchema: z.ZodObject<{
|
|
6
|
+
id: z.ZodString;
|
|
7
|
+
file: z.ZodString;
|
|
8
|
+
category: z.ZodOptional<z.ZodEnum<["circular-deps", "layer-violations", "complexity", "coupling", "forbidden-imports", "module-size", "dependency-depth"]>>;
|
|
9
|
+
detail: z.ZodString;
|
|
10
|
+
severity: z.ZodEnum<["error", "warning"]>;
|
|
11
|
+
}, "strip", z.ZodTypeAny, {
|
|
12
|
+
file: string;
|
|
13
|
+
id: string;
|
|
14
|
+
severity: "error" | "warning";
|
|
15
|
+
detail: string;
|
|
16
|
+
category?: "complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth" | undefined;
|
|
17
|
+
}, {
|
|
18
|
+
file: string;
|
|
19
|
+
id: string;
|
|
20
|
+
severity: "error" | "warning";
|
|
21
|
+
detail: string;
|
|
22
|
+
category?: "complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth" | undefined;
|
|
23
|
+
}>;
|
|
24
|
+
type Violation = z.infer<typeof ViolationSchema>;
|
|
25
|
+
declare const MetricResultSchema: z.ZodObject<{
|
|
26
|
+
category: z.ZodEnum<["circular-deps", "layer-violations", "complexity", "coupling", "forbidden-imports", "module-size", "dependency-depth"]>;
|
|
27
|
+
scope: z.ZodString;
|
|
28
|
+
value: z.ZodNumber;
|
|
29
|
+
violations: z.ZodArray<z.ZodObject<{
|
|
30
|
+
id: z.ZodString;
|
|
31
|
+
file: z.ZodString;
|
|
32
|
+
category: z.ZodOptional<z.ZodEnum<["circular-deps", "layer-violations", "complexity", "coupling", "forbidden-imports", "module-size", "dependency-depth"]>>;
|
|
33
|
+
detail: z.ZodString;
|
|
34
|
+
severity: z.ZodEnum<["error", "warning"]>;
|
|
35
|
+
}, "strip", z.ZodTypeAny, {
|
|
36
|
+
file: string;
|
|
37
|
+
id: string;
|
|
38
|
+
severity: "error" | "warning";
|
|
39
|
+
detail: string;
|
|
40
|
+
category?: "complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth" | undefined;
|
|
41
|
+
}, {
|
|
42
|
+
file: string;
|
|
43
|
+
id: string;
|
|
44
|
+
severity: "error" | "warning";
|
|
45
|
+
detail: string;
|
|
46
|
+
category?: "complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth" | undefined;
|
|
47
|
+
}>, "many">;
|
|
48
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
49
|
+
}, "strip", z.ZodTypeAny, {
|
|
50
|
+
value: number;
|
|
51
|
+
scope: string;
|
|
52
|
+
category: "complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth";
|
|
53
|
+
violations: {
|
|
54
|
+
file: string;
|
|
55
|
+
id: string;
|
|
56
|
+
severity: "error" | "warning";
|
|
57
|
+
detail: string;
|
|
58
|
+
category?: "complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth" | undefined;
|
|
59
|
+
}[];
|
|
60
|
+
metadata?: Record<string, unknown> | undefined;
|
|
61
|
+
}, {
|
|
62
|
+
value: number;
|
|
63
|
+
scope: string;
|
|
64
|
+
category: "complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth";
|
|
65
|
+
violations: {
|
|
66
|
+
file: string;
|
|
67
|
+
id: string;
|
|
68
|
+
severity: "error" | "warning";
|
|
69
|
+
detail: string;
|
|
70
|
+
category?: "complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth" | undefined;
|
|
71
|
+
}[];
|
|
72
|
+
metadata?: Record<string, unknown> | undefined;
|
|
73
|
+
}>;
|
|
74
|
+
type MetricResult = z.infer<typeof MetricResultSchema>;
|
|
75
|
+
declare const CategoryBaselineSchema: z.ZodObject<{
|
|
76
|
+
value: z.ZodNumber;
|
|
77
|
+
violationIds: z.ZodArray<z.ZodString, "many">;
|
|
78
|
+
}, "strip", z.ZodTypeAny, {
|
|
79
|
+
value: number;
|
|
80
|
+
violationIds: string[];
|
|
81
|
+
}, {
|
|
82
|
+
value: number;
|
|
83
|
+
violationIds: string[];
|
|
84
|
+
}>;
|
|
85
|
+
type CategoryBaseline = z.infer<typeof CategoryBaselineSchema>;
|
|
86
|
+
declare const ArchBaselineSchema: z.ZodObject<{
|
|
87
|
+
version: z.ZodLiteral<1>;
|
|
88
|
+
updatedAt: z.ZodString;
|
|
89
|
+
updatedFrom: z.ZodString;
|
|
90
|
+
metrics: z.ZodRecord<z.ZodEnum<["circular-deps", "layer-violations", "complexity", "coupling", "forbidden-imports", "module-size", "dependency-depth"]>, z.ZodObject<{
|
|
91
|
+
value: z.ZodNumber;
|
|
92
|
+
violationIds: z.ZodArray<z.ZodString, "many">;
|
|
93
|
+
}, "strip", z.ZodTypeAny, {
|
|
94
|
+
value: number;
|
|
95
|
+
violationIds: string[];
|
|
96
|
+
}, {
|
|
97
|
+
value: number;
|
|
98
|
+
violationIds: string[];
|
|
99
|
+
}>>;
|
|
100
|
+
}, "strip", z.ZodTypeAny, {
|
|
101
|
+
version: 1;
|
|
102
|
+
updatedAt: string;
|
|
103
|
+
updatedFrom: string;
|
|
104
|
+
metrics: Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", {
|
|
105
|
+
value: number;
|
|
106
|
+
violationIds: string[];
|
|
107
|
+
}>>;
|
|
108
|
+
}, {
|
|
109
|
+
version: 1;
|
|
110
|
+
updatedAt: string;
|
|
111
|
+
updatedFrom: string;
|
|
112
|
+
metrics: Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", {
|
|
113
|
+
value: number;
|
|
114
|
+
violationIds: string[];
|
|
115
|
+
}>>;
|
|
116
|
+
}>;
|
|
117
|
+
type ArchBaseline = z.infer<typeof ArchBaselineSchema>;
|
|
118
|
+
declare const CategoryRegressionSchema: z.ZodObject<{
|
|
119
|
+
category: z.ZodEnum<["circular-deps", "layer-violations", "complexity", "coupling", "forbidden-imports", "module-size", "dependency-depth"]>;
|
|
120
|
+
baselineValue: z.ZodNumber;
|
|
121
|
+
currentValue: z.ZodNumber;
|
|
122
|
+
delta: z.ZodNumber;
|
|
123
|
+
}, "strip", z.ZodTypeAny, {
|
|
124
|
+
category: "complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth";
|
|
125
|
+
baselineValue: number;
|
|
126
|
+
currentValue: number;
|
|
127
|
+
delta: number;
|
|
128
|
+
}, {
|
|
129
|
+
category: "complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth";
|
|
130
|
+
baselineValue: number;
|
|
131
|
+
currentValue: number;
|
|
132
|
+
delta: number;
|
|
133
|
+
}>;
|
|
134
|
+
type CategoryRegression = z.infer<typeof CategoryRegressionSchema>;
|
|
135
|
+
declare const ArchDiffResultSchema: z.ZodObject<{
|
|
136
|
+
passed: z.ZodBoolean;
|
|
137
|
+
newViolations: z.ZodArray<z.ZodObject<{
|
|
138
|
+
id: z.ZodString;
|
|
139
|
+
file: z.ZodString;
|
|
140
|
+
category: z.ZodOptional<z.ZodEnum<["circular-deps", "layer-violations", "complexity", "coupling", "forbidden-imports", "module-size", "dependency-depth"]>>;
|
|
141
|
+
detail: z.ZodString;
|
|
142
|
+
severity: z.ZodEnum<["error", "warning"]>;
|
|
143
|
+
}, "strip", z.ZodTypeAny, {
|
|
144
|
+
file: string;
|
|
145
|
+
id: string;
|
|
146
|
+
severity: "error" | "warning";
|
|
147
|
+
detail: string;
|
|
148
|
+
category?: "complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth" | undefined;
|
|
149
|
+
}, {
|
|
150
|
+
file: string;
|
|
151
|
+
id: string;
|
|
152
|
+
severity: "error" | "warning";
|
|
153
|
+
detail: string;
|
|
154
|
+
category?: "complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth" | undefined;
|
|
155
|
+
}>, "many">;
|
|
156
|
+
resolvedViolations: z.ZodArray<z.ZodString, "many">;
|
|
157
|
+
preExisting: z.ZodArray<z.ZodString, "many">;
|
|
158
|
+
regressions: z.ZodArray<z.ZodObject<{
|
|
159
|
+
category: z.ZodEnum<["circular-deps", "layer-violations", "complexity", "coupling", "forbidden-imports", "module-size", "dependency-depth"]>;
|
|
160
|
+
baselineValue: z.ZodNumber;
|
|
161
|
+
currentValue: z.ZodNumber;
|
|
162
|
+
delta: z.ZodNumber;
|
|
163
|
+
}, "strip", z.ZodTypeAny, {
|
|
164
|
+
category: "complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth";
|
|
165
|
+
baselineValue: number;
|
|
166
|
+
currentValue: number;
|
|
167
|
+
delta: number;
|
|
168
|
+
}, {
|
|
169
|
+
category: "complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth";
|
|
170
|
+
baselineValue: number;
|
|
171
|
+
currentValue: number;
|
|
172
|
+
delta: number;
|
|
173
|
+
}>, "many">;
|
|
174
|
+
}, "strip", z.ZodTypeAny, {
|
|
175
|
+
passed: boolean;
|
|
176
|
+
newViolations: {
|
|
177
|
+
file: string;
|
|
178
|
+
id: string;
|
|
179
|
+
severity: "error" | "warning";
|
|
180
|
+
detail: string;
|
|
181
|
+
category?: "complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth" | undefined;
|
|
182
|
+
}[];
|
|
183
|
+
resolvedViolations: string[];
|
|
184
|
+
preExisting: string[];
|
|
185
|
+
regressions: {
|
|
186
|
+
category: "complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth";
|
|
187
|
+
baselineValue: number;
|
|
188
|
+
currentValue: number;
|
|
189
|
+
delta: number;
|
|
190
|
+
}[];
|
|
191
|
+
}, {
|
|
192
|
+
passed: boolean;
|
|
193
|
+
newViolations: {
|
|
194
|
+
file: string;
|
|
195
|
+
id: string;
|
|
196
|
+
severity: "error" | "warning";
|
|
197
|
+
detail: string;
|
|
198
|
+
category?: "complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth" | undefined;
|
|
199
|
+
}[];
|
|
200
|
+
resolvedViolations: string[];
|
|
201
|
+
preExisting: string[];
|
|
202
|
+
regressions: {
|
|
203
|
+
category: "complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth";
|
|
204
|
+
baselineValue: number;
|
|
205
|
+
currentValue: number;
|
|
206
|
+
delta: number;
|
|
207
|
+
}[];
|
|
208
|
+
}>;
|
|
209
|
+
type ArchDiffResult = z.infer<typeof ArchDiffResultSchema>;
|
|
210
|
+
declare const ThresholdConfigSchema: z.ZodRecord<z.ZodEnum<["circular-deps", "layer-violations", "complexity", "coupling", "forbidden-imports", "module-size", "dependency-depth"]>, z.ZodUnion<[z.ZodNumber, z.ZodRecord<z.ZodString, z.ZodNumber>]>>;
|
|
211
|
+
type ThresholdConfig = z.infer<typeof ThresholdConfigSchema>;
|
|
212
|
+
declare const ArchConfigSchema: z.ZodObject<{
|
|
213
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
214
|
+
baselinePath: z.ZodDefault<z.ZodString>;
|
|
215
|
+
thresholds: z.ZodDefault<z.ZodRecord<z.ZodEnum<["circular-deps", "layer-violations", "complexity", "coupling", "forbidden-imports", "module-size", "dependency-depth"]>, z.ZodUnion<[z.ZodNumber, z.ZodRecord<z.ZodString, z.ZodNumber>]>>>;
|
|
216
|
+
modules: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodEnum<["circular-deps", "layer-violations", "complexity", "coupling", "forbidden-imports", "module-size", "dependency-depth"]>, z.ZodUnion<[z.ZodNumber, z.ZodRecord<z.ZodString, z.ZodNumber>]>>>>;
|
|
217
|
+
}, "strip", z.ZodTypeAny, {
|
|
218
|
+
thresholds: Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>;
|
|
219
|
+
modules: Record<string, Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>>;
|
|
220
|
+
enabled: boolean;
|
|
221
|
+
baselinePath: string;
|
|
222
|
+
}, {
|
|
223
|
+
thresholds?: Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>> | undefined;
|
|
224
|
+
modules?: Record<string, Partial<Record<"complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth", number | Record<string, number>>>> | undefined;
|
|
225
|
+
enabled?: boolean | undefined;
|
|
226
|
+
baselinePath?: string | undefined;
|
|
227
|
+
}>;
|
|
228
|
+
type ArchConfig = z.infer<typeof ArchConfigSchema>;
|
|
229
|
+
declare const ConstraintRuleSchema: z.ZodObject<{
|
|
230
|
+
id: z.ZodString;
|
|
231
|
+
category: z.ZodEnum<["circular-deps", "layer-violations", "complexity", "coupling", "forbidden-imports", "module-size", "dependency-depth"]>;
|
|
232
|
+
description: z.ZodString;
|
|
233
|
+
scope: z.ZodString;
|
|
234
|
+
targets: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
235
|
+
}, "strip", z.ZodTypeAny, {
|
|
236
|
+
scope: string;
|
|
237
|
+
id: string;
|
|
238
|
+
description: string;
|
|
239
|
+
category: "complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth";
|
|
240
|
+
targets?: string[] | undefined;
|
|
241
|
+
}, {
|
|
242
|
+
scope: string;
|
|
243
|
+
id: string;
|
|
244
|
+
description: string;
|
|
245
|
+
category: "complexity" | "coupling" | "circular-deps" | "layer-violations" | "forbidden-imports" | "module-size" | "dependency-depth";
|
|
246
|
+
targets?: string[] | undefined;
|
|
247
|
+
}>;
|
|
248
|
+
type ConstraintRule = z.infer<typeof ConstraintRuleSchema>;
|
|
249
|
+
/**
|
|
250
|
+
* Collector interface for architecture metric collection.
|
|
251
|
+
* Each collector is responsible for a single metric category.
|
|
252
|
+
* Cannot be expressed as a Zod schema because it has methods.
|
|
253
|
+
*/
|
|
254
|
+
interface Collector {
|
|
255
|
+
category: ArchMetricCategory;
|
|
256
|
+
collect(config: ArchConfig, rootDir: string): Promise<MetricResult[]>;
|
|
257
|
+
getRules(config: ArchConfig, rootDir: string): ConstraintRule[];
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
interface MatcherContext {
|
|
261
|
+
isNot: boolean;
|
|
262
|
+
equals: (a: unknown, b: unknown) => boolean;
|
|
263
|
+
}
|
|
264
|
+
interface ArchHandle {
|
|
265
|
+
readonly kind: 'arch-handle';
|
|
266
|
+
readonly scope: string;
|
|
267
|
+
readonly rootDir: string;
|
|
268
|
+
readonly config?: Partial<ArchConfig> | undefined;
|
|
269
|
+
}
|
|
270
|
+
interface ArchitectureOptions {
|
|
271
|
+
rootDir?: string;
|
|
272
|
+
config?: Partial<ArchConfig> | undefined;
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Factory for project-wide architecture handle.
|
|
276
|
+
* Returns a handle (not a promise) that matchers consume.
|
|
277
|
+
*/
|
|
278
|
+
declare function architecture(options?: ArchitectureOptions): ArchHandle;
|
|
279
|
+
/**
|
|
280
|
+
* Factory for module-scoped architecture handle.
|
|
281
|
+
* Named `archModule` to avoid conflict with the `module` reserved word
|
|
282
|
+
* in certain strict-mode contexts.
|
|
283
|
+
*/
|
|
284
|
+
declare function archModule(modulePath: string, options?: ArchitectureOptions): ArchHandle;
|
|
285
|
+
declare function toHaveNoCircularDeps(this: MatcherContext, received: ArchHandle & {
|
|
286
|
+
_mockResults?: MetricResult[];
|
|
287
|
+
}): Promise<{
|
|
288
|
+
pass: boolean;
|
|
289
|
+
message: () => string;
|
|
290
|
+
}>;
|
|
291
|
+
declare function toHaveNoLayerViolations(this: MatcherContext, received: ArchHandle & {
|
|
292
|
+
_mockResults?: MetricResult[];
|
|
293
|
+
}): Promise<{
|
|
294
|
+
pass: boolean;
|
|
295
|
+
message: () => string;
|
|
296
|
+
}>;
|
|
297
|
+
declare function toMatchBaseline(this: MatcherContext, received: ArchHandle & {
|
|
298
|
+
_mockDiff?: ArchDiffResult;
|
|
299
|
+
}, options?: {
|
|
300
|
+
tolerance?: number;
|
|
301
|
+
}): Promise<{
|
|
302
|
+
pass: boolean;
|
|
303
|
+
message: () => string;
|
|
304
|
+
}>;
|
|
305
|
+
declare function toHaveMaxComplexity(this: MatcherContext, received: ArchHandle & {
|
|
306
|
+
_mockResults?: MetricResult[];
|
|
307
|
+
}, maxComplexity: number): Promise<{
|
|
308
|
+
pass: boolean;
|
|
309
|
+
message: () => string;
|
|
310
|
+
}>;
|
|
311
|
+
declare function toHaveMaxCoupling(this: MatcherContext, received: ArchHandle & {
|
|
312
|
+
_mockResults?: MetricResult[];
|
|
313
|
+
}, limits: {
|
|
314
|
+
fanIn?: number;
|
|
315
|
+
fanOut?: number;
|
|
316
|
+
}): Promise<{
|
|
317
|
+
pass: boolean;
|
|
318
|
+
message: () => string;
|
|
319
|
+
}>;
|
|
320
|
+
declare function toHaveMaxFileCount(this: MatcherContext, received: ArchHandle & {
|
|
321
|
+
_mockResults?: MetricResult[];
|
|
322
|
+
}, maxFiles: number): Promise<{
|
|
323
|
+
pass: boolean;
|
|
324
|
+
message: () => string;
|
|
325
|
+
}>;
|
|
326
|
+
declare function toNotDependOn(this: MatcherContext, received: ArchHandle & {
|
|
327
|
+
_mockResults?: MetricResult[];
|
|
328
|
+
}, forbiddenModule: string): Promise<{
|
|
329
|
+
pass: boolean;
|
|
330
|
+
message: () => string;
|
|
331
|
+
}>;
|
|
332
|
+
declare function toHaveMaxDepDepth(this: MatcherContext, received: ArchHandle & {
|
|
333
|
+
_mockResults?: MetricResult[];
|
|
334
|
+
}, maxDepth: number): Promise<{
|
|
335
|
+
pass: boolean;
|
|
336
|
+
message: () => string;
|
|
337
|
+
}>;
|
|
338
|
+
/**
|
|
339
|
+
* Vitest custom matchers for architecture assertions.
|
|
340
|
+
* Usage: expect.extend(archMatchers) in vitest.setup.ts
|
|
341
|
+
*/
|
|
342
|
+
declare const archMatchers: {
|
|
343
|
+
toHaveNoCircularDeps: typeof toHaveNoCircularDeps;
|
|
344
|
+
toHaveNoLayerViolations: typeof toHaveNoLayerViolations;
|
|
345
|
+
toMatchBaseline: typeof toMatchBaseline;
|
|
346
|
+
toHaveMaxComplexity: typeof toHaveMaxComplexity;
|
|
347
|
+
toHaveMaxCoupling: typeof toHaveMaxCoupling;
|
|
348
|
+
toHaveMaxFileCount: typeof toHaveMaxFileCount;
|
|
349
|
+
toNotDependOn: typeof toNotDependOn;
|
|
350
|
+
toHaveMaxDepDepth: typeof toHaveMaxDepDepth;
|
|
351
|
+
};
|
|
352
|
+
|
|
353
|
+
export { type ArchConfig as A, type Collector as C, type MetricResult as M, type ThresholdConfig as T, type Violation as V, type ConstraintRule as a, type ArchMetricCategory as b, type ArchBaseline as c, type ArchDiffResult as d, ArchBaselineSchema as e, ArchConfigSchema as f, ArchDiffResultSchema as g, type ArchHandle as h, ArchMetricCategorySchema as i, type ArchitectureOptions as j, type CategoryBaseline as k, CategoryBaselineSchema as l, type CategoryRegression as m, CategoryRegressionSchema as n, ConstraintRuleSchema as o, MetricResultSchema as p, ThresholdConfigSchema as q, ViolationSchema as r, archMatchers as s, archModule as t, architecture as u };
|