dependency-cruiser 16.2.4 → 16.3.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/package.json +2 -2
- package/src/cache/options-compatible.mjs +1 -0
- package/src/enrich/derive/folders/aggregate-to-folders.mjs +28 -10
- package/src/extract/{ast-extractors → acorn}/estree-helpers.mjs +3 -3
- package/src/extract/acorn/extract-stats.mjs +6 -0
- package/src/extract/acorn/extract.mjs +32 -0
- package/src/extract/clear-caches.mjs +6 -6
- package/src/extract/{get-dependencies.mjs → extract-dependencies.mjs} +37 -109
- package/src/extract/extract-stats.mjs +48 -0
- package/src/extract/helpers.mjs +20 -1
- package/src/extract/index.mjs +13 -3
- package/src/extract/resolve/merge-manifests.mjs +6 -8
- package/src/extract/{ast-extractors → swc}/extract-swc-deps.mjs +1 -1
- package/src/extract/swc/extract.mjs +20 -0
- package/src/extract/transpile/index.mjs +3 -3
- package/src/extract/tsc/extract-stats.mjs +6 -0
- package/src/extract/tsc/extract.mjs +29 -0
- package/src/graph-utl/consolidate-module-dependencies.mjs +3 -6
- package/src/main/options/normalize.mjs +1 -4
- package/src/main/report-wrap.mjs +7 -2
- package/src/meta.cjs +1 -1
- package/src/report/dot/default-theme.mjs +4 -0
- package/src/report/dot-webpage/dot-module.mjs +2 -3
- package/src/report/metrics.mjs +226 -72
- package/src/report/utl/index.mjs +3 -0
- package/src/schema/configuration.schema.mjs +1 -1
- package/src/schema/cruise-result.schema.mjs +1 -1
- package/src/utl/array-util.mjs +4 -0
- package/types/cruise-result.d.mts +11 -0
- package/types/options.d.mts +10 -1
- package/types/shared-types.d.mts +15 -0
- /package/src/extract/{ast-extractors → acorn}/extract-amd-deps.mjs +0 -0
- /package/src/extract/{ast-extractors → acorn}/extract-cjs-deps.mjs +0 -0
- /package/src/extract/{ast-extractors → acorn}/extract-es6-deps.mjs +0 -0
- /package/src/extract/{parse/to-javascript-ast.mjs → acorn/parse.mjs} +0 -0
- /package/src/extract/{ast-extractors/swc-dependency-visitor.mjs → swc/dependency-visitor.mjs} +0 -0
- /package/src/extract/{parse/to-swc-ast.mjs → swc/parse.mjs} +0 -0
- /package/src/extract/{ast-extractors → tsc}/extract-typescript-deps.mjs +0 -0
- /package/src/extract/{parse/to-typescript-ast.mjs → tsc/parse.mjs} +0 -0
package/src/meta.cjs
CHANGED
|
@@ -138,6 +138,10 @@ export default {
|
|
|
138
138
|
},
|
|
139
139
|
attributes: { arrowhead: "onormal", penwidth: "1.0" },
|
|
140
140
|
},
|
|
141
|
+
{
|
|
142
|
+
criteria: { dependencyTypes: ["export"] },
|
|
143
|
+
attributes: { arrowhead: "inv" },
|
|
144
|
+
},
|
|
141
145
|
{
|
|
142
146
|
criteria: { dependencyTypes: "core" },
|
|
143
147
|
attributes: { style: "dashed", penwidth: "1.0" },
|
|
@@ -24,7 +24,7 @@ function convert(pDot, pOptions) {
|
|
|
24
24
|
},
|
|
25
25
|
);
|
|
26
26
|
if (status === 0) {
|
|
27
|
-
return stdout.toString("
|
|
27
|
+
return stdout.toString("utf8");
|
|
28
28
|
} else if (error) {
|
|
29
29
|
throw error;
|
|
30
30
|
} else {
|
|
@@ -61,8 +61,6 @@ function isAvailable(pOptions) {
|
|
|
61
61
|
* @returns {IReporterOutput}
|
|
62
62
|
*/
|
|
63
63
|
export default function dotWebpage(pResults, pDotWebpageReporterOptions) {
|
|
64
|
-
const { output } = dotModuleReporter(pResults, pDotWebpageReporterOptions);
|
|
65
|
-
|
|
66
64
|
if (!isAvailable(pDotWebpageReporterOptions)) {
|
|
67
65
|
throw new Error(
|
|
68
66
|
"GraphViz dot, which is required for the 'x-dot-webpage' reporter doesn't " +
|
|
@@ -70,6 +68,7 @@ export default function dotWebpage(pResults, pDotWebpageReporterOptions) {
|
|
|
70
68
|
"instruction on how to get it on your system: https://www.graphviz.org/download/",
|
|
71
69
|
);
|
|
72
70
|
}
|
|
71
|
+
const { output } = dotModuleReporter(pResults, pDotWebpageReporterOptions);
|
|
73
72
|
return {
|
|
74
73
|
output: wrapInHTML(convert(output, pDotWebpageReporterOptions)),
|
|
75
74
|
exitCode: 0,
|
package/src/report/metrics.mjs
CHANGED
|
@@ -1,65 +1,164 @@
|
|
|
1
1
|
import { EOL } from "node:os";
|
|
2
2
|
import chalk from "chalk";
|
|
3
|
-
import { formatPercentage } from "./utl/index.mjs";
|
|
3
|
+
import { formatNumber, formatPercentage } from "./utl/index.mjs";
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
)} ${"Ca".padStart(METRIC_WIDTH + 1)} ${"Ce".padStart(
|
|
13
|
-
METRIC_WIDTH + 1
|
|
14
|
-
)} ${"I (%)".padStart(METRIC_WIDTH + 1)}`;
|
|
15
|
-
}
|
|
5
|
+
/**
|
|
6
|
+
* @typedef {"string"|"integer"|"percent"} ColumnFormatType
|
|
7
|
+
* @typedef {{title: string; format: ColumnFormatType; width: string}} IColumnMetaData
|
|
8
|
+
* @typedef {Map<string,IColumnMetaData>} IMeta
|
|
9
|
+
* @typedef {{name: string; moduleCount: number; afferentCouplings:number; efferentCouplings:number; instability:number; size:number; topLevelStatementCount:number;}} IData
|
|
10
|
+
* @typedef {{meta: IMeta; data: IData[]}} ITableObject
|
|
11
|
+
*/
|
|
16
12
|
|
|
17
|
-
|
|
18
|
-
return `${"-".repeat(pMaxNameWidth)} ${"-".repeat(
|
|
19
|
-
METRIC_WIDTH + 1
|
|
20
|
-
)} ${"-".repeat(METRIC_WIDTH + 1)} ${"-".repeat(
|
|
21
|
-
METRIC_WIDTH + 1
|
|
22
|
-
)} ${"-".repeat(METRIC_WIDTH + 1)}`;
|
|
23
|
-
}
|
|
13
|
+
const METRIC_WIDTH = 5;
|
|
24
14
|
|
|
25
|
-
function
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
15
|
+
function getMetricsFromFolder({
|
|
16
|
+
name,
|
|
17
|
+
moduleCount,
|
|
18
|
+
afferentCouplings,
|
|
19
|
+
efferentCouplings,
|
|
20
|
+
instability,
|
|
21
|
+
experimentalStats,
|
|
22
|
+
}) {
|
|
23
|
+
const lReturnValue = {
|
|
24
|
+
type: "folder",
|
|
25
|
+
name,
|
|
26
|
+
moduleCount,
|
|
27
|
+
afferentCouplings,
|
|
28
|
+
efferentCouplings,
|
|
29
|
+
instability,
|
|
30
|
+
};
|
|
31
|
+
if (experimentalStats) {
|
|
32
|
+
lReturnValue.size = experimentalStats.size;
|
|
33
|
+
lReturnValue.topLevelStatementCount =
|
|
34
|
+
experimentalStats.topLevelStatementCount;
|
|
35
|
+
}
|
|
36
|
+
return lReturnValue;
|
|
44
37
|
}
|
|
45
38
|
|
|
46
|
-
|
|
47
|
-
|
|
39
|
+
/**
|
|
40
|
+
*
|
|
41
|
+
* @param {import("../../types/cruise-result.mjs").IModule} param0
|
|
42
|
+
* @returns
|
|
43
|
+
*/
|
|
44
|
+
function getMetricsFromModule({
|
|
45
|
+
source,
|
|
46
|
+
dependents,
|
|
47
|
+
dependencies,
|
|
48
|
+
instability,
|
|
49
|
+
experimentalStats,
|
|
50
|
+
}) {
|
|
51
|
+
const lReturnValue = {
|
|
52
|
+
type: "module",
|
|
48
53
|
name: source,
|
|
49
54
|
moduleCount: 1,
|
|
50
55
|
afferentCouplings: dependents.length,
|
|
51
56
|
efferentCouplings: dependencies.length,
|
|
52
57
|
instability,
|
|
53
58
|
};
|
|
59
|
+
if (experimentalStats) {
|
|
60
|
+
lReturnValue.size = experimentalStats.size;
|
|
61
|
+
lReturnValue.topLevelStatementCount =
|
|
62
|
+
experimentalStats.topLevelStatementCount;
|
|
63
|
+
}
|
|
64
|
+
return lReturnValue;
|
|
54
65
|
}
|
|
55
66
|
|
|
56
67
|
function metricsAreCalculable(pModule) {
|
|
57
|
-
return Object.
|
|
68
|
+
return Object.hasOwn(pModule, "instability");
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function componentIsCalculable(pComponent) {
|
|
72
|
+
return (
|
|
73
|
+
Number.isInteger(pComponent.moduleCount) && pComponent.moduleCount > -1
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
*
|
|
79
|
+
* @param {{modules: import("../../types/cruise-result.mjs").IModule[]; folders: import("../../types/cruise-result.mjs").IFolder[];}} param0
|
|
80
|
+
* @param {smallIntegerWidth:number; largeIntegerWidth: number} param1
|
|
81
|
+
* @returns {ITableObject}
|
|
82
|
+
*/
|
|
83
|
+
// eslint-disable-next-line max-lines-per-function
|
|
84
|
+
function transformToTableObject(
|
|
85
|
+
{ modules, folders },
|
|
86
|
+
{ smallIntegerWidth, largeIntegerWidth },
|
|
87
|
+
) {
|
|
88
|
+
const lReturnValue = {
|
|
89
|
+
meta: new Map([
|
|
90
|
+
["type", { width: 6, title: "type", format: "string" }],
|
|
91
|
+
["name", { width: 0, title: "name", format: "string" }],
|
|
92
|
+
[
|
|
93
|
+
"moduleCount",
|
|
94
|
+
{
|
|
95
|
+
width: smallIntegerWidth,
|
|
96
|
+
title: "N",
|
|
97
|
+
format: "integer",
|
|
98
|
+
},
|
|
99
|
+
],
|
|
100
|
+
[
|
|
101
|
+
"afferentCouplings",
|
|
102
|
+
{
|
|
103
|
+
width: smallIntegerWidth,
|
|
104
|
+
title: "Ca",
|
|
105
|
+
format: "integer",
|
|
106
|
+
},
|
|
107
|
+
],
|
|
108
|
+
[
|
|
109
|
+
"efferentCouplings",
|
|
110
|
+
{
|
|
111
|
+
width: smallIntegerWidth,
|
|
112
|
+
title: "Ce",
|
|
113
|
+
format: "integer",
|
|
114
|
+
},
|
|
115
|
+
],
|
|
116
|
+
[
|
|
117
|
+
"instability",
|
|
118
|
+
{
|
|
119
|
+
width: smallIntegerWidth,
|
|
120
|
+
title: "I (%)",
|
|
121
|
+
format: "percent",
|
|
122
|
+
},
|
|
123
|
+
],
|
|
124
|
+
[
|
|
125
|
+
"size",
|
|
126
|
+
{
|
|
127
|
+
width: largeIntegerWidth,
|
|
128
|
+
title: "size",
|
|
129
|
+
format: "integer",
|
|
130
|
+
},
|
|
131
|
+
],
|
|
132
|
+
[
|
|
133
|
+
"topLevelStatementCount",
|
|
134
|
+
{
|
|
135
|
+
width: smallIntegerWidth,
|
|
136
|
+
title: "#tls",
|
|
137
|
+
format: "integer",
|
|
138
|
+
},
|
|
139
|
+
],
|
|
140
|
+
]),
|
|
141
|
+
data: [],
|
|
142
|
+
};
|
|
143
|
+
lReturnValue.data = folders
|
|
144
|
+
.map(getMetricsFromFolder)
|
|
145
|
+
.concat(modules.filter(metricsAreCalculable).map(getMetricsFromModule))
|
|
146
|
+
.filter(componentIsCalculable);
|
|
147
|
+
|
|
148
|
+
const lMaxNameWidth = lReturnValue.data
|
|
149
|
+
.map(({ name }) => name.length)
|
|
150
|
+
.concat(lReturnValue.meta.get("name").title.length)
|
|
151
|
+
.sort((pLeft, pRight) => pLeft - pRight)
|
|
152
|
+
.pop();
|
|
153
|
+
lReturnValue.meta.get("name").width = lMaxNameWidth;
|
|
154
|
+
|
|
155
|
+
return lReturnValue;
|
|
58
156
|
}
|
|
59
157
|
|
|
60
158
|
function orderByNumber(pAttributeName) {
|
|
61
|
-
|
|
62
|
-
|
|
159
|
+
return (pLeft, pRight) =>
|
|
160
|
+
// eslint-disable-next-line security/detect-object-injection
|
|
161
|
+
(pRight[pAttributeName] || 0) - (pLeft[pAttributeName] || 0);
|
|
63
162
|
}
|
|
64
163
|
|
|
65
164
|
function orderByString(pAttributeName) {
|
|
@@ -67,43 +166,98 @@ function orderByString(pAttributeName) {
|
|
|
67
166
|
// eslint-disable-next-line security/detect-object-injection
|
|
68
167
|
pLeft[pAttributeName].localeCompare(pRight[pAttributeName]);
|
|
69
168
|
}
|
|
169
|
+
/**
|
|
170
|
+
* @param {IMeta} pMetaData
|
|
171
|
+
* @returns {string}
|
|
172
|
+
*/
|
|
173
|
+
function formatToTextHeader(pMetaData) {
|
|
174
|
+
return Array.from(pMetaData.values())
|
|
175
|
+
.map(({ title, width, format }) =>
|
|
176
|
+
format === "string" ? title.padEnd(width + 1) : title.padStart(width + 1),
|
|
177
|
+
)
|
|
178
|
+
.join(" ");
|
|
179
|
+
}
|
|
70
180
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
181
|
+
/**
|
|
182
|
+
* @param {IMeta} pMetaData
|
|
183
|
+
* @returns {string}
|
|
184
|
+
*/
|
|
185
|
+
function formatToTextDemarcationLine(pMetaData) {
|
|
186
|
+
return Array.from(pMetaData.values())
|
|
187
|
+
.map(({ width }) => "-".repeat(width + 1))
|
|
188
|
+
.join(" ");
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* @param {IData[]} pData
|
|
193
|
+
* @param {IMeta} pMetaData
|
|
194
|
+
* @returns {string}
|
|
195
|
+
*/
|
|
196
|
+
function formatToTextData(pData, pMetaData) {
|
|
197
|
+
return pData
|
|
198
|
+
.map((pRow) => {
|
|
199
|
+
return Object.keys(pRow)
|
|
200
|
+
.map((pKey) => {
|
|
201
|
+
const lMeta = pMetaData.get(pKey);
|
|
202
|
+
if (lMeta.format === "string") {
|
|
203
|
+
// eslint-disable-next-line security/detect-object-injection
|
|
204
|
+
return pRow[pKey].padEnd(lMeta.width + 1);
|
|
205
|
+
}
|
|
206
|
+
if (lMeta.format === "percent") {
|
|
207
|
+
// eslint-disable-next-line security/detect-object-injection
|
|
208
|
+
return formatPercentage(pRow[pKey]).padStart(lMeta.width + 1);
|
|
209
|
+
}
|
|
210
|
+
// eslint-disable-next-line security/detect-object-injection
|
|
211
|
+
return Number.isInteger(pRow[pKey])
|
|
212
|
+
? // eslint-disable-next-line security/detect-object-injection
|
|
213
|
+
formatNumber(pRow[pKey]).padStart(lMeta.width + 1)
|
|
214
|
+
: "".padStart(lMeta.width + 1);
|
|
215
|
+
})
|
|
216
|
+
.join(" ");
|
|
217
|
+
})
|
|
218
|
+
.join(EOL);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* @param {IData[]} pData
|
|
223
|
+
* @param {IMeta} pMetaData
|
|
224
|
+
* @returns {string}
|
|
225
|
+
*/
|
|
226
|
+
function formatToTextTable(pData, pMetaData) {
|
|
227
|
+
return [chalk.bold(formatToTextHeader(pMetaData))]
|
|
228
|
+
.concat(formatToTextDemarcationLine(pMetaData))
|
|
229
|
+
.concat(formatToTextData(pData, pMetaData))
|
|
230
|
+
.join(EOL)
|
|
231
|
+
.concat(EOL);
|
|
75
232
|
}
|
|
76
233
|
|
|
234
|
+
/**
|
|
235
|
+
*
|
|
236
|
+
* @param {{modules: import("../../types/cruise-result.mjs").IModule[]; folders: import("../../types/cruise-result.mjs").IFolder[];}} param0
|
|
237
|
+
* @param {{orderBy: string; hideFolders: boolean; hideModules: boolean; experimentalStats: boolean;}} param1
|
|
238
|
+
* @returns {string}
|
|
239
|
+
*/
|
|
77
240
|
function transformMetricsToTable(
|
|
78
241
|
{ modules, folders },
|
|
79
|
-
{ orderBy, hideFolders, hideModules }
|
|
242
|
+
{ orderBy, hideFolders, hideModules },
|
|
80
243
|
) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
244
|
+
/** @type {ITableObject} */
|
|
245
|
+
const lObject = transformToTableObject(
|
|
246
|
+
{ modules, folders },
|
|
247
|
+
{
|
|
248
|
+
smallIntegerWidth: METRIC_WIDTH,
|
|
249
|
+
largeIntegerWidth: METRIC_WIDTH + METRIC_WIDTH,
|
|
250
|
+
},
|
|
87
251
|
);
|
|
88
|
-
|
|
89
|
-
.
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
return [chalk.bold(getHeader(lMaxNameWidth))]
|
|
95
|
-
.concat(getDemarcationLine(lMaxNameWidth))
|
|
96
|
-
.concat(
|
|
97
|
-
getMetricsTable(
|
|
98
|
-
lComponents
|
|
99
|
-
.filter(componentIsCalculable)
|
|
100
|
-
.sort(orderByString("name"))
|
|
101
|
-
.sort(orderByNumber(orderBy || "instability")),
|
|
102
|
-
lMaxNameWidth
|
|
103
|
-
)
|
|
252
|
+
let lComponents = lObject.data
|
|
253
|
+
.filter(
|
|
254
|
+
(pComponent) =>
|
|
255
|
+
(!hideModules && pComponent.type === "module") ||
|
|
256
|
+
(!hideFolders && pComponent.type === "folder"),
|
|
104
257
|
)
|
|
105
|
-
.
|
|
106
|
-
.
|
|
258
|
+
.sort(orderByString("name"))
|
|
259
|
+
.sort(orderByNumber(orderBy || "instability"));
|
|
260
|
+
return formatToTextTable(lComponents, lObject.meta);
|
|
107
261
|
}
|
|
108
262
|
|
|
109
263
|
/**
|
package/src/report/utl/index.mjs
CHANGED
|
@@ -7,6 +7,9 @@ export const formatPercentage = new Intl.NumberFormat(undefined, {
|
|
|
7
7
|
style: "percent",
|
|
8
8
|
}).format;
|
|
9
9
|
|
|
10
|
+
// eslint-disable-next-line no-undefined
|
|
11
|
+
export const formatNumber = new Intl.NumberFormat(undefined).format;
|
|
12
|
+
|
|
10
13
|
export function formatViolation(
|
|
11
14
|
pViolation,
|
|
12
15
|
pViolationType2Formatter,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
/* generated - don't edit */export default {"title":"dependency-cruiser configuration","$schema":"http://json-schema.org/draft-07/schema#","$id":"https://dependency-cruiser.js.org/schema/configuration.schema.json","type":"object","additionalProperties":false,"properties":{"$schema":{"type":"string"},"forbidden":{"type":"array","items":{"$ref":"#/definitions/ForbiddenRuleType"}},"allowed":{"type":"array","items":{"$ref":"#/definitions/AllowedRuleType"}},"allowedSeverity":{"$ref":"#/definitions/SeverityType"},"required":{"type":"array","items":{"$ref":"#/definitions/RequiredRuleType"}},"options":{"$ref":"#/definitions/OptionsType"},"extends":{"$ref":"#/definitions/ExtendsType"}},"definitions":{"RuleSetType":{"type":"object","additionalProperties":false,"properties":{"forbidden":{"type":"array","items":{"$ref":"#/definitions/ForbiddenRuleType"}},"allowed":{"type":"array","items":{"$ref":"#/definitions/AllowedRuleType"}},"allowedSeverity":{"$ref":"#/definitions/SeverityType"},"required":{"type":"array","items":{"$ref":"#/definitions/RequiredRuleType"}}}},"AllowedRuleType":{"oneOf":[{"$ref":"#/definitions/RegularAllowedRuleType"},{"$ref":"#/definitions/ReachabilityAllowedRuleType"}]},"RegularAllowedRuleType":{"type":"object","required":["from","to"],"additionalProperties":false,"properties":{"comment":{"type":"string"},"scope":{"type":"string","enum":["module","folder"]},"from":{"$ref":"#/definitions/FromRestrictionType"},"to":{"$ref":"#/definitions/ToRestrictionType"}}},"ReachabilityAllowedRuleType":{"type":"object","required":["from","to"],"additionalProperties":false,"properties":{"comment":{"type":"string"},"scope":{"type":"string","enum":["module","folder"]},"from":{"$ref":"#/definitions/ReachabilityFromRestrictionType"},"to":{"$ref":"#/definitions/ReachabilityToRestrictionType"}}},"ForbiddenRuleType":{"oneOf":[{"$ref":"#/definitions/RegularForbiddenRuleType"},{"$ref":"#/definitions/ReachabilityForbiddenRuleType"},{"$ref":"#/definitions/DependentsForbiddenRuleType"}]},"RegularForbiddenRuleType":{"type":"object","required":["from","to"],"additionalProperties":false,"properties":{"name":{"type":"string"},"severity":{"$ref":"#/definitions/SeverityType"},"scope":{"type":"string","enum":["module","folder"]},"comment":{"type":"string"},"from":{"$ref":"#/definitions/FromRestrictionType"},"to":{"$ref":"#/definitions/ToRestrictionType"}}},"DependentsForbiddenRuleType":{"type":"object","required":["module","from"],"additionalProperties":false,"properties":{"name":{"type":"string"},"severity":{"$ref":"#/definitions/SeverityType"},"scope":{"type":"string","enum":["module","folder"]},"comment":{"type":"string"},"module":{"$ref":"#/definitions/DependentsModuleRestrictionType"},"from":{"$ref":"#/definitions/DependentsFromRestrictionType"}}},"ReachabilityForbiddenRuleType":{"type":"object","required":["from","to"],"additionalProperties":false,"properties":{"name":{"type":"string"},"severity":{"$ref":"#/definitions/SeverityType"},"scope":{"type":"string","enum":["module","folder"]},"comment":{"type":"string"},"from":{"$ref":"#/definitions/ReachabilityFromRestrictionType"},"to":{"$ref":"#/definitions/ReachabilityToRestrictionType"}}},"RequiredRuleType":{"type":"object","required":["module","to"],"additionalProperties":false,"properties":{"name":{"type":"string"},"severity":{"$ref":"#/definitions/SeverityType"},"scope":{"type":"string","enum":["module","folder"]},"comment":{"type":"string"},"module":{"$ref":"#/definitions/RequiredModuleRestrictionType"},"to":{"$ref":"#/definitions/RequiredToRestrictionType"}}},"MiniDependencyRestrictionType":{"oneOf":[{"$ref":"#/definitions/REAsStringsType"},{"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"},"pathNot":{"$ref":"#/definitions/REAsStringsType"},"dependencyTypes":{"type":"array","items":{"$ref":"#/definitions/DependencyTypeType"}},"dependencyTypesNot":{"type":"array","items":{"$ref":"#/definitions/DependencyTypeType"}}}}]},"FromRestrictionType":{"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"},"pathNot":{"$ref":"#/definitions/REAsStringsType"},"orphan":{"type":"boolean"}}},"ReachabilityFromRestrictionType":{"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"},"pathNot":{"$ref":"#/definitions/REAsStringsType"}}},"ToRestrictionType":{"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"},"pathNot":{"$ref":"#/definitions/REAsStringsType"},"couldNotResolve":{"type":"boolean"},"circular":{"type":"boolean"},"dynamic":{"type":"boolean"},"exoticallyRequired":{"type":"boolean"},"exoticRequire":{"$ref":"#/definitions/REAsStringsType"},"exoticRequireNot":{"$ref":"#/definitions/REAsStringsType"},"preCompilationOnly":{"type":"boolean"},"dependencyTypes":{"type":"array","items":{"$ref":"#/definitions/DependencyTypeType"}},"dependencyTypesNot":{"type":"array","items":{"$ref":"#/definitions/DependencyTypeType"}},"moreThanOneDependencyType":{"type":"boolean"},"license":{"$ref":"#/definitions/REAsStringsType"},"licenseNot":{"$ref":"#/definitions/REAsStringsType"},"via":{"$ref":"#/definitions/MiniDependencyRestrictionType"},"viaOnly":{"$ref":"#/definitions/MiniDependencyRestrictionType"},"viaNot":{"deprecated":true,"$ref":"#/definitions/REAsStringsType"},"viaSomeNot":{"deprecated":true,"$ref":"#/definitions/REAsStringsType"},"moreUnstable":{"type":"boolean"}}},"DependentsModuleRestrictionType":{"required":[],"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"},"pathNot":{"$ref":"#/definitions/REAsStringsType"},"numberOfDependentsLessThan":{"type":"integer","minimum":0,"maximum":100},"numberOfDependentsMoreThan":{"type":"integer","minimum":0,"maximum":100}}},"DependentsFromRestrictionType":{"required":[],"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"},"pathNot":{"$ref":"#/definitions/REAsStringsType"}}},"ReachabilityToRestrictionType":{"required":["reachable"],"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"},"pathNot":{"$ref":"#/definitions/REAsStringsType"},"reachable":{"type":"boolean"}}},"RequiredModuleRestrictionType":{"required":[],"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"},"pathNot":{"$ref":"#/definitions/REAsStringsType"}}},"RequiredToRestrictionType":{"required":[],"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"}}},"DependencyTypeType":{"type":"string","enum":["aliased-subpath-import","aliased-tsconfig-base-url","aliased-tsconfig-paths","aliased-tsconfig","aliased-webpack","aliased-workspace","aliased","amd-define","amd-require","amd-exotic-require","core","deprecated","dynamic-import","exotic-require","export","import-equals","import","local","localmodule","npm-bundled","npm-dev","npm-no-pkg","npm-optional","npm-peer","npm-unknown","npm","pre-compilation-only","require","triple-slash-amd-dependency","triple-slash-directive","triple-slash-file-reference","triple-slash-type-reference","type-import","type-only","undetermined","unknown"]},"REAsStringsType":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"SeverityType":{"type":"string","enum":["error","warn","info","ignore"]},"OptionsType":{"type":"object","additionalProperties":false,"properties":{"doNotFollow":{"oneOf":[{"$ref":"#/definitions/REAsStringsType"},{"$ref":"#/definitions/CompoundDoNotFollowType"}]},"exclude":{"oneOf":[{"$ref":"#/definitions/REAsStringsType"},{"$ref":"#/definitions/CompoundExcludeType"}]},"includeOnly":{"oneOf":[{"$ref":"#/definitions/REAsStringsType"},{"$ref":"#/definitions/CompoundIncludeOnlyType"}]},"focus":{"oneOf":[{"$ref":"#/definitions/REAsStringsType"},{"$ref":"#/definitions/CompoundFocusType"}]},"reaches":{"oneOf":[{"$ref":"#/definitions/REAsStringsType"},{"$ref":"#/definitions/CompoundReachesType"}]},"highlight":{"oneOf":[{"$ref":"#/definitions/REAsStringsType"},{"$ref":"#/definitions/CompoundHighlightType"}]},"knownViolations":{"$ref":"#/definitions/ViolationsType"},"collapse":{"oneOf":[{"type":"string"},{"type":"integer","minimum":1,"maximum":9}]},"maxDepth":{"type":"integer","minimum":0,"maximum":99},"moduleSystems":{"$ref":"#/definitions/ModuleSystemsType"},"prefix":{"type":"string"},"preserveSymlinks":{"type":"boolean"},"combinedDependencies":{"type":"boolean"},"tsConfig":{"type":"object","additionalProperties":false,"properties":{"fileName":{"type":"string"}}},"tsPreCompilationDeps":{"oneOf":[{"type":"boolean"},{"type":"string","enum":["specify"]}]},"extraExtensionsToScan":{"type":"array","items":{"type":"string"}},"externalModuleResolutionStrategy":{"type":"string","enum":["node_modules","yarn-pnp"]},"builtInModules":{"type":"object","additionalProperties":false,"properties":{"override":{"type":"array","items":{"type":"string"}},"add":{"type":"array","items":{"type":"string"}}}},"forceDeriveDependents":{"type":"boolean"},"webpackConfig":{"type":"object","additionalProperties":false,"properties":{"fileName":{"type":"string"},"env":{"oneOf":[{"type":"object"},{"type":"string"}]},"arguments":{"type":"object"}}},"enhancedResolveOptions":{"type":"object","additionalProperties":false,"properties":{"exportsFields":{"type":"array","items":{"type":"string"}},"conditionNames":{"type":"array","items":{"type":"string"}},"extensions":{"type":"array","items":{"type":"string"}},"mainFields":{"type":"array","items":{"type":"string"}},"mainFiles":{"type":"array"},"aliasFields":{"type":"array","items":{"type":"string"}},"cachedInputFileSystem":{"type":"object","additionalProperties":false,"properties":{"cacheDuration":{"type":"integer","minimum":0,"maximum":1800000}}}}},"babelConfig":{"type":"object","additionalProperties":false,"properties":{"fileName":{"type":"string"}}},"parser":{"type":"string","enum":["acorn","swc","tsc"]},"exoticRequireStrings":{"type":"array","items":{"type":"string"}},"reporterOptions":{"$ref":"#/definitions/ReporterOptionsType"},"progress":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["cli-feedback","performance-log","ndjson","none"]},"maximumLevel":{"type":"number","enum":[-1,40,50,60,70,80,99]}}},"metrics":{"type":"boolean"},"baseDir":{"type":"string"},"cache":{"oneOf":[{"type":"boolean"},{"deprecated":true,"type":"string"},{"$ref":"#/definitions/CacheOptionsType"}]}}},"ModuleSystemType":{"type":"string","enum":["cjs","es6","amd","tsd"]},"ModuleSystemsType":{"type":"array","items":{"$ref":"#/definitions/ModuleSystemType"}},"CompoundExcludeType":{"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"},"dynamic":{"type":"boolean"}}},"CompoundDoNotFollowType":{"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"},"dependencyTypes":{"type":"array","items":{"$ref":"#/definitions/DependencyTypeType"}}}},"CompoundIncludeOnlyType":{"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"}}},"CompoundFocusType":{"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"},"depth":{"type":"number","minimum":1,"maximum":4}}},"CompoundReachesType":{"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"}}},"CompoundHighlightType":{"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"}}},"ReporterOptionsType":{"type":"object","additionalProperties":false,"properties":{"anon":{"$ref":"#/definitions/AnonReporterOptionsType"},"archi":{"$ref":"#/definitions/DotReporterOptionsType"},"dot":{"$ref":"#/definitions/DotReporterOptionsType"},"ddot":{"$ref":"#/definitions/DotReporterOptionsType"},"flat":{"$ref":"#/definitions/DotReporterOptionsType"},"markdown":{"$ref":"#/definitions/MarkdownReporterOptionsType"},"metrics":{"$ref":"#/definitions/MetricsReporterOptionsType"},"mermaid":{"$ref":"#/definitions/MermaidReporterOptionsType"},"text":{"$ref":"#/definitions/TextReporterOptionsType"}}},"AnonReporterOptionsType":{"type":"object","additionalProperties":false,"properties":{"wordlist":{"type":"array","items":{"type":"string"}}}},"MetricsReporterOptionsType":{"type":"object","additionalProperties":false,"properties":{"orderBy":{"type":"string","enum":["instability","moduleCount","afferentCouplings","efferentCouplings","name"]},"hideModules":{"type":"boolean"},"hideFolders":{"type":"boolean"}}},"MarkdownReporterOptionsType":{"type":"object","additionalProperties":false,"properties":{"showTitle":{"type":"boolean"},"title":{"type":"string"},"showSummary":{"type":"boolean"},"showSummaryHeader":{"type":"boolean"},"summaryHeader":{"type":"string"},"showStatsSummary":{"type":"boolean"},"showRulesSummary":{"type":"boolean"},"includeIgnoredInSummary":{"type":"boolean"},"showDetails":{"type":"boolean"},"includeIgnoredInDetails":{"type":"boolean"},"showDetailsHeader":{"type":"boolean"},"detailsHeader":{"type":"string"},"collapseDetails":{"type":"boolean"},"collapsedMessage":{"type":"string"},"noViolationsMessage":{"type":"string"},"showFooter":{"type":"boolean"}}},"MermaidReporterOptionsType":{"type":"object","additionalProperties":false,"properties":{"minify":{"type":"boolean"}}},"TextReporterOptionsType":{"type":"object","additionalProperties":false,"properties":{"highlightFocused":{"type":"boolean"}}},"DotReporterOptionsType":{"type":"object","additionalProperties":false,"properties":{"collapsePattern":{"$ref":"#/definitions/REAsStringsType"},"filters":{"$ref":"#/definitions/ReporterFiltersType"},"showMetrics":{"type":"boolean"},"theme":{"$ref":"#/definitions/DotThemeType"}}},"DotThemeType":{"type":"object","additionalProperties":false,"properties":{"replace":{"type":"boolean"},"graph":{"type":"object"},"node":{"type":"object"},"edge":{"type":"object"},"modules":{"$ref":"#/definitions/DotThemeArrayType"},"dependencies":{"$ref":"#/definitions/DotThemeArrayType"}}},"DotThemeArrayType":{"type":"array","items":{"$ref":"#/definitions/DotThemeEntryType"}},"DotThemeEntryType":{"type":"object","additionalProperties":false,"properties":{"criteria":{"type":"object"},"attributes":{"type":"object"}}},"ReporterFiltersType":{"type":"object","additionalProperties":false,"properties":{"exclude":{"$ref":"#/definitions/CompoundExcludeType"},"includeOnly":{"$ref":"#/definitions/CompoundIncludeOnlyType"},"focus":{"$ref":"#/definitions/CompoundFocusType"},"reaches":{"$ref":"#/definitions/CompoundReachesType"}}},"ViolationsType":{"type":"array","items":{"$ref":"#/definitions/ViolationType"}},"ViolationType":{"type":"object","required":["from","to","rule"],"additionalProperties":false,"properties":{"from":{"type":"string"},"to":{"type":"string"},"type":{"$ref":"#/definitions/ViolationTypeType"},"rule":{"$ref":"#/definitions/RuleSummaryType"},"cycle":{"type":"array","items":{"$ref":"#/definitions/MiniDependency"}},"via":{"type":"array","items":{"$ref":"#/definitions/MiniDependency"}},"metrics":{"type":"object","required":["from","to"],"additionalProperties":false,"properties":{"from":{"type":"object","required":["instability"],"additionalProperties":false,"properties":{"instability":{"type":"number"}}},"to":{"type":"object","required":["instability"],"additionalProperties":false,"properties":{"instability":{"type":"number"}}}}},"comment":{"type":"string"}}},"RuleSummaryType":{"type":"object","required":["name","severity"],"additionalProperties":false,"properties":{"name":{"type":"string"},"severity":{"$ref":"#/definitions/SeverityType"}}},"ViolationTypeType":{"type":"string","enum":["dependency","module","reachability","cycle","instability","folder"]},"MiniDependency":{"type":"object","required":["name","dependencyTypes"],"additionalProperties":false,"properties":{"name":{"type":"string"},"dependencyTypes":{"type":"array","items":{"$ref":"#/definitions/DependencyTypeType"}}}},"CacheOptionsType":{"type":"object","additionalProperties":false,"properties":{"folder":{"type":"string"},"strategy":{"$ref":"#/definitions/CacheStrategyType"},"compress":{"type":"boolean","default":false}}},"CacheStrategyType":{"type":"string","enum":["metadata","content"]},"ExtendsType":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}}}
|
|
1
|
+
/* generated - don't edit */export default {"title":"dependency-cruiser configuration","$schema":"http://json-schema.org/draft-07/schema#","$id":"https://dependency-cruiser.js.org/schema/configuration.schema.json","type":"object","additionalProperties":false,"properties":{"$schema":{"type":"string"},"forbidden":{"type":"array","items":{"$ref":"#/definitions/ForbiddenRuleType"}},"allowed":{"type":"array","items":{"$ref":"#/definitions/AllowedRuleType"}},"allowedSeverity":{"$ref":"#/definitions/SeverityType"},"required":{"type":"array","items":{"$ref":"#/definitions/RequiredRuleType"}},"options":{"$ref":"#/definitions/OptionsType"},"extends":{"$ref":"#/definitions/ExtendsType"}},"definitions":{"RuleSetType":{"type":"object","additionalProperties":false,"properties":{"forbidden":{"type":"array","items":{"$ref":"#/definitions/ForbiddenRuleType"}},"allowed":{"type":"array","items":{"$ref":"#/definitions/AllowedRuleType"}},"allowedSeverity":{"$ref":"#/definitions/SeverityType"},"required":{"type":"array","items":{"$ref":"#/definitions/RequiredRuleType"}}}},"AllowedRuleType":{"oneOf":[{"$ref":"#/definitions/RegularAllowedRuleType"},{"$ref":"#/definitions/ReachabilityAllowedRuleType"}]},"RegularAllowedRuleType":{"type":"object","required":["from","to"],"additionalProperties":false,"properties":{"comment":{"type":"string"},"scope":{"type":"string","enum":["module","folder"]},"from":{"$ref":"#/definitions/FromRestrictionType"},"to":{"$ref":"#/definitions/ToRestrictionType"}}},"ReachabilityAllowedRuleType":{"type":"object","required":["from","to"],"additionalProperties":false,"properties":{"comment":{"type":"string"},"scope":{"type":"string","enum":["module","folder"]},"from":{"$ref":"#/definitions/ReachabilityFromRestrictionType"},"to":{"$ref":"#/definitions/ReachabilityToRestrictionType"}}},"ForbiddenRuleType":{"oneOf":[{"$ref":"#/definitions/RegularForbiddenRuleType"},{"$ref":"#/definitions/ReachabilityForbiddenRuleType"},{"$ref":"#/definitions/DependentsForbiddenRuleType"}]},"RegularForbiddenRuleType":{"type":"object","required":["from","to"],"additionalProperties":false,"properties":{"name":{"type":"string"},"severity":{"$ref":"#/definitions/SeverityType"},"scope":{"type":"string","enum":["module","folder"]},"comment":{"type":"string"},"from":{"$ref":"#/definitions/FromRestrictionType"},"to":{"$ref":"#/definitions/ToRestrictionType"}}},"DependentsForbiddenRuleType":{"type":"object","required":["module","from"],"additionalProperties":false,"properties":{"name":{"type":"string"},"severity":{"$ref":"#/definitions/SeverityType"},"scope":{"type":"string","enum":["module","folder"]},"comment":{"type":"string"},"module":{"$ref":"#/definitions/DependentsModuleRestrictionType"},"from":{"$ref":"#/definitions/DependentsFromRestrictionType"}}},"ReachabilityForbiddenRuleType":{"type":"object","required":["from","to"],"additionalProperties":false,"properties":{"name":{"type":"string"},"severity":{"$ref":"#/definitions/SeverityType"},"scope":{"type":"string","enum":["module","folder"]},"comment":{"type":"string"},"from":{"$ref":"#/definitions/ReachabilityFromRestrictionType"},"to":{"$ref":"#/definitions/ReachabilityToRestrictionType"}}},"RequiredRuleType":{"type":"object","required":["module","to"],"additionalProperties":false,"properties":{"name":{"type":"string"},"severity":{"$ref":"#/definitions/SeverityType"},"scope":{"type":"string","enum":["module","folder"]},"comment":{"type":"string"},"module":{"$ref":"#/definitions/RequiredModuleRestrictionType"},"to":{"$ref":"#/definitions/RequiredToRestrictionType"}}},"MiniDependencyRestrictionType":{"oneOf":[{"$ref":"#/definitions/REAsStringsType"},{"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"},"pathNot":{"$ref":"#/definitions/REAsStringsType"},"dependencyTypes":{"type":"array","items":{"$ref":"#/definitions/DependencyTypeType"}},"dependencyTypesNot":{"type":"array","items":{"$ref":"#/definitions/DependencyTypeType"}}}}]},"FromRestrictionType":{"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"},"pathNot":{"$ref":"#/definitions/REAsStringsType"},"orphan":{"type":"boolean"}}},"ReachabilityFromRestrictionType":{"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"},"pathNot":{"$ref":"#/definitions/REAsStringsType"}}},"ToRestrictionType":{"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"},"pathNot":{"$ref":"#/definitions/REAsStringsType"},"couldNotResolve":{"type":"boolean"},"circular":{"type":"boolean"},"dynamic":{"type":"boolean"},"exoticallyRequired":{"type":"boolean"},"exoticRequire":{"$ref":"#/definitions/REAsStringsType"},"exoticRequireNot":{"$ref":"#/definitions/REAsStringsType"},"preCompilationOnly":{"type":"boolean"},"dependencyTypes":{"type":"array","items":{"$ref":"#/definitions/DependencyTypeType"}},"dependencyTypesNot":{"type":"array","items":{"$ref":"#/definitions/DependencyTypeType"}},"moreThanOneDependencyType":{"type":"boolean"},"license":{"$ref":"#/definitions/REAsStringsType"},"licenseNot":{"$ref":"#/definitions/REAsStringsType"},"via":{"$ref":"#/definitions/MiniDependencyRestrictionType"},"viaOnly":{"$ref":"#/definitions/MiniDependencyRestrictionType"},"viaNot":{"deprecated":true,"$ref":"#/definitions/REAsStringsType"},"viaSomeNot":{"deprecated":true,"$ref":"#/definitions/REAsStringsType"},"moreUnstable":{"type":"boolean"}}},"DependentsModuleRestrictionType":{"required":[],"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"},"pathNot":{"$ref":"#/definitions/REAsStringsType"},"numberOfDependentsLessThan":{"type":"integer","minimum":0,"maximum":100},"numberOfDependentsMoreThan":{"type":"integer","minimum":0,"maximum":100}}},"DependentsFromRestrictionType":{"required":[],"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"},"pathNot":{"$ref":"#/definitions/REAsStringsType"}}},"ReachabilityToRestrictionType":{"required":["reachable"],"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"},"pathNot":{"$ref":"#/definitions/REAsStringsType"},"reachable":{"type":"boolean"}}},"RequiredModuleRestrictionType":{"required":[],"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"},"pathNot":{"$ref":"#/definitions/REAsStringsType"}}},"RequiredToRestrictionType":{"required":[],"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"}}},"DependencyTypeType":{"type":"string","enum":["aliased-subpath-import","aliased-tsconfig-base-url","aliased-tsconfig-paths","aliased-tsconfig","aliased-webpack","aliased-workspace","aliased","amd-define","amd-require","amd-exotic-require","core","deprecated","dynamic-import","exotic-require","export","import-equals","import","local","localmodule","npm-bundled","npm-dev","npm-no-pkg","npm-optional","npm-peer","npm-unknown","npm","pre-compilation-only","require","triple-slash-amd-dependency","triple-slash-directive","triple-slash-file-reference","triple-slash-type-reference","type-import","type-only","undetermined","unknown"]},"REAsStringsType":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"SeverityType":{"type":"string","enum":["error","warn","info","ignore"]},"OptionsType":{"type":"object","additionalProperties":false,"properties":{"doNotFollow":{"oneOf":[{"$ref":"#/definitions/REAsStringsType"},{"$ref":"#/definitions/CompoundDoNotFollowType"}]},"exclude":{"oneOf":[{"$ref":"#/definitions/REAsStringsType"},{"$ref":"#/definitions/CompoundExcludeType"}]},"includeOnly":{"oneOf":[{"$ref":"#/definitions/REAsStringsType"},{"$ref":"#/definitions/CompoundIncludeOnlyType"}]},"focus":{"oneOf":[{"$ref":"#/definitions/REAsStringsType"},{"$ref":"#/definitions/CompoundFocusType"}]},"reaches":{"oneOf":[{"$ref":"#/definitions/REAsStringsType"},{"$ref":"#/definitions/CompoundReachesType"}]},"highlight":{"oneOf":[{"$ref":"#/definitions/REAsStringsType"},{"$ref":"#/definitions/CompoundHighlightType"}]},"knownViolations":{"$ref":"#/definitions/ViolationsType"},"collapse":{"oneOf":[{"type":"string"},{"type":"integer","minimum":1,"maximum":9}]},"maxDepth":{"type":"integer","minimum":0,"maximum":99},"moduleSystems":{"$ref":"#/definitions/ModuleSystemsType"},"prefix":{"type":"string"},"preserveSymlinks":{"type":"boolean"},"combinedDependencies":{"type":"boolean"},"tsConfig":{"type":"object","additionalProperties":false,"properties":{"fileName":{"type":"string"}}},"tsPreCompilationDeps":{"oneOf":[{"type":"boolean"},{"type":"string","enum":["specify"]}]},"extraExtensionsToScan":{"type":"array","items":{"type":"string"}},"externalModuleResolutionStrategy":{"type":"string","enum":["node_modules","yarn-pnp"]},"builtInModules":{"type":"object","additionalProperties":false,"properties":{"override":{"type":"array","items":{"type":"string"}},"add":{"type":"array","items":{"type":"string"}}}},"forceDeriveDependents":{"type":"boolean"},"webpackConfig":{"type":"object","additionalProperties":false,"properties":{"fileName":{"type":"string"},"env":{"oneOf":[{"type":"object"},{"type":"string"}]},"arguments":{"type":"object"}}},"enhancedResolveOptions":{"type":"object","additionalProperties":false,"properties":{"exportsFields":{"type":"array","items":{"type":"string"}},"conditionNames":{"type":"array","items":{"type":"string"}},"extensions":{"type":"array","items":{"type":"string"}},"mainFields":{"type":"array","items":{"type":"string"}},"mainFiles":{"type":"array"},"aliasFields":{"type":"array","items":{"type":"string"}},"cachedInputFileSystem":{"type":"object","additionalProperties":false,"properties":{"cacheDuration":{"type":"integer","minimum":0,"maximum":1800000}}}}},"babelConfig":{"type":"object","additionalProperties":false,"properties":{"fileName":{"type":"string"}}},"parser":{"type":"string","enum":["acorn","tsc","swc"]},"exoticRequireStrings":{"type":"array","items":{"type":"string"}},"reporterOptions":{"$ref":"#/definitions/ReporterOptionsType"},"progress":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["cli-feedback","performance-log","ndjson","none"]},"maximumLevel":{"type":"number","enum":[-1,40,50,60,70,80,99]}}},"metrics":{"type":"boolean"},"experimentalStats":{"type":"boolean"},"baseDir":{"type":"string"},"cache":{"oneOf":[{"type":"boolean"},{"deprecated":true,"type":"string"},{"$ref":"#/definitions/CacheOptionsType"}]}}},"ModuleSystemType":{"type":"string","enum":["cjs","es6","amd","tsd"]},"ModuleSystemsType":{"type":"array","items":{"$ref":"#/definitions/ModuleSystemType"}},"CompoundExcludeType":{"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"},"dynamic":{"type":"boolean"}}},"CompoundDoNotFollowType":{"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"},"dependencyTypes":{"type":"array","items":{"$ref":"#/definitions/DependencyTypeType"}}}},"CompoundIncludeOnlyType":{"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"}}},"CompoundFocusType":{"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"},"depth":{"type":"number","minimum":1,"maximum":4}}},"CompoundReachesType":{"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"}}},"CompoundHighlightType":{"type":"object","additionalProperties":false,"properties":{"path":{"$ref":"#/definitions/REAsStringsType"}}},"ReporterOptionsType":{"type":"object","additionalProperties":false,"properties":{"anon":{"$ref":"#/definitions/AnonReporterOptionsType"},"archi":{"$ref":"#/definitions/DotReporterOptionsType"},"dot":{"$ref":"#/definitions/DotReporterOptionsType"},"ddot":{"$ref":"#/definitions/DotReporterOptionsType"},"flat":{"$ref":"#/definitions/DotReporterOptionsType"},"markdown":{"$ref":"#/definitions/MarkdownReporterOptionsType"},"metrics":{"$ref":"#/definitions/MetricsReporterOptionsType"},"mermaid":{"$ref":"#/definitions/MermaidReporterOptionsType"},"text":{"$ref":"#/definitions/TextReporterOptionsType"}}},"AnonReporterOptionsType":{"type":"object","additionalProperties":false,"properties":{"wordlist":{"type":"array","items":{"type":"string"}}}},"MetricsReporterOptionsType":{"type":"object","additionalProperties":false,"properties":{"orderBy":{"type":"string","enum":["instability","moduleCount","afferentCouplings","efferentCouplings","name","size","topLevelStatementCount"]},"hideModules":{"type":"boolean"},"hideFolders":{"type":"boolean"}}},"MarkdownReporterOptionsType":{"type":"object","additionalProperties":false,"properties":{"showTitle":{"type":"boolean"},"title":{"type":"string"},"showSummary":{"type":"boolean"},"showSummaryHeader":{"type":"boolean"},"summaryHeader":{"type":"string"},"showStatsSummary":{"type":"boolean"},"showRulesSummary":{"type":"boolean"},"includeIgnoredInSummary":{"type":"boolean"},"showDetails":{"type":"boolean"},"includeIgnoredInDetails":{"type":"boolean"},"showDetailsHeader":{"type":"boolean"},"detailsHeader":{"type":"string"},"collapseDetails":{"type":"boolean"},"collapsedMessage":{"type":"string"},"noViolationsMessage":{"type":"string"},"showFooter":{"type":"boolean"}}},"MermaidReporterOptionsType":{"type":"object","additionalProperties":false,"properties":{"minify":{"type":"boolean"}}},"TextReporterOptionsType":{"type":"object","additionalProperties":false,"properties":{"highlightFocused":{"type":"boolean"}}},"DotReporterOptionsType":{"type":"object","additionalProperties":false,"properties":{"collapsePattern":{"$ref":"#/definitions/REAsStringsType"},"filters":{"$ref":"#/definitions/ReporterFiltersType"},"showMetrics":{"type":"boolean"},"theme":{"$ref":"#/definitions/DotThemeType"}}},"DotThemeType":{"type":"object","additionalProperties":false,"properties":{"replace":{"type":"boolean"},"graph":{"type":"object"},"node":{"type":"object"},"edge":{"type":"object"},"modules":{"$ref":"#/definitions/DotThemeArrayType"},"dependencies":{"$ref":"#/definitions/DotThemeArrayType"}}},"DotThemeArrayType":{"type":"array","items":{"$ref":"#/definitions/DotThemeEntryType"}},"DotThemeEntryType":{"type":"object","additionalProperties":false,"properties":{"criteria":{"type":"object"},"attributes":{"type":"object"}}},"ReporterFiltersType":{"type":"object","additionalProperties":false,"properties":{"exclude":{"$ref":"#/definitions/CompoundExcludeType"},"includeOnly":{"$ref":"#/definitions/CompoundIncludeOnlyType"},"focus":{"$ref":"#/definitions/CompoundFocusType"},"reaches":{"$ref":"#/definitions/CompoundReachesType"}}},"ViolationsType":{"type":"array","items":{"$ref":"#/definitions/ViolationType"}},"ViolationType":{"type":"object","required":["from","to","rule"],"additionalProperties":false,"properties":{"from":{"type":"string"},"to":{"type":"string"},"type":{"$ref":"#/definitions/ViolationTypeType"},"rule":{"$ref":"#/definitions/RuleSummaryType"},"cycle":{"type":"array","items":{"$ref":"#/definitions/MiniDependency"}},"via":{"type":"array","items":{"$ref":"#/definitions/MiniDependency"}},"metrics":{"type":"object","required":["from","to"],"additionalProperties":false,"properties":{"from":{"type":"object","required":["instability"],"additionalProperties":false,"properties":{"instability":{"type":"number"}}},"to":{"type":"object","required":["instability"],"additionalProperties":false,"properties":{"instability":{"type":"number"}}}}},"comment":{"type":"string"}}},"RuleSummaryType":{"type":"object","required":["name","severity"],"additionalProperties":false,"properties":{"name":{"type":"string"},"severity":{"$ref":"#/definitions/SeverityType"}}},"ViolationTypeType":{"type":"string","enum":["dependency","module","reachability","cycle","instability","folder"]},"MiniDependency":{"type":"object","required":["name","dependencyTypes"],"additionalProperties":false,"properties":{"name":{"type":"string"},"dependencyTypes":{"type":"array","items":{"$ref":"#/definitions/DependencyTypeType"}}}},"CacheOptionsType":{"type":"object","additionalProperties":false,"properties":{"folder":{"type":"string"},"strategy":{"$ref":"#/definitions/CacheStrategyType"},"compress":{"type":"boolean","default":false}}},"CacheStrategyType":{"type":"string","enum":["metadata","content"]},"ExtendsType":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}}}
|