dependency-cruiser 12.11.3 → 12.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +19 -19
- package/src/cache/options-compatible.js +2 -2
- package/src/cli/listeners/ndjson.js +1 -1
- package/src/cli/listeners/performance-log/format-helpers.js +7 -7
- package/src/cli/listeners/performance-log/index.js +1 -1
- package/src/enrich/summarize/summarize-options.js +1 -1
- package/src/meta.js +1 -1
- package/src/report/index.js +2 -0
- package/src/report/null.js +12 -0
- package/src/schema/cruise-result.schema.js +1 -1
- package/types/cruise-result.d.ts +6 -43
- package/types/options.d.ts +72 -1
- package/types/shared-types.d.ts +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dependency-cruiser",
|
|
3
|
-
"version": "12.
|
|
3
|
+
"version": "12.12.1",
|
|
4
4
|
"description": "Validate and visualize dependencies. With your rules. JavaScript, TypeScript, CoffeeScript. ES6, CommonJS, AMD.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"static analysis",
|
|
@@ -116,11 +116,11 @@
|
|
|
116
116
|
"scm:push:gitlab-mirror:commits": "git push gitlab-mirror",
|
|
117
117
|
"scm:push:gitlab-mirror:tags": "git push --tags gitlab-mirror",
|
|
118
118
|
"scm:stage": "git add .",
|
|
119
|
-
"test": "LANG=en_US.UTF-8 mocha",
|
|
120
|
-
"test:i": "LANG=en_US.UTF-8 mocha --grep \"^\\[[I]\\]\"",
|
|
121
|
-
"test:u": "LANG=en_US.UTF-8 mocha --grep \"^\\[[U]\\]\"",
|
|
122
|
-
"test:e": "LANG=en_US.UTF-8 mocha --grep \"^\\[[E]\\]\"",
|
|
123
|
-
"test:cover": "LANG=en_US.UTF-8 c8 mocha",
|
|
119
|
+
"test": "LANG=en_US.UTF-8 NODE_OPTIONS=--no-warnings mocha",
|
|
120
|
+
"test:i": "LANG=en_US.UTF-8 NODE_OPTIONS=--no-warnings mocha --grep \"^\\[[I]\\]\"",
|
|
121
|
+
"test:u": "LANG=en_US.UTF-8 NODE_OPTIONS=--no-warnings mocha --grep \"^\\[[U]\\]\"",
|
|
122
|
+
"test:e": "LANG=en_US.UTF-8 NODE_OPTIONS=--no-warnings mocha --grep \"^\\[[E]\\]\"",
|
|
123
|
+
"test:cover": "LANG=en_US.UTF-8 NODE_OPTIONS=--no-warnings c8 mocha",
|
|
124
124
|
"test:glob": "set -f && test \"`bin/dependency-cruise.js test/extract/__mocks__/gather-globbing/packages/**/src/**/*.js | grep \"no dependency violations found\"`\" = \"✔ no dependency violations found (6 modules, 0 dependencies cruised)\"",
|
|
125
125
|
"test:yarn-pnp": "npm-run-all test:yarn-pnp:cleanup test:yarn-pnp:cache-clean test:yarn-pnp:pack test:yarn-pnp:copy test:yarn-pnp:install test:yarn-pnp:version test:yarn-pnp:run test:yarn-pnp:test test:yarn-pnp:cleanup",
|
|
126
126
|
"test:yarn-pnp:pack": "npm pack",
|
|
@@ -167,25 +167,25 @@
|
|
|
167
167
|
"semver-try-require": "6.2.2",
|
|
168
168
|
"teamcity-service-messages": "0.1.14",
|
|
169
169
|
"tsconfig-paths-webpack-plugin": "4.0.1",
|
|
170
|
-
"watskeburt": "0.
|
|
170
|
+
"watskeburt": "0.11.1",
|
|
171
171
|
"wrap-ansi": "^7.0.0"
|
|
172
172
|
},
|
|
173
173
|
"devDependencies": {
|
|
174
|
-
"@babel/core": "7.21.
|
|
175
|
-
"@babel/plugin-transform-modules-commonjs": "7.21.
|
|
176
|
-
"@babel/preset-typescript": "7.21.
|
|
177
|
-
"@swc/core": "1.3.
|
|
174
|
+
"@babel/core": "7.21.8",
|
|
175
|
+
"@babel/plugin-transform-modules-commonjs": "7.21.5",
|
|
176
|
+
"@babel/preset-typescript": "7.21.5",
|
|
177
|
+
"@swc/core": "1.3.56",
|
|
178
178
|
"@types/lodash": "4.14.194",
|
|
179
|
-
"@types/node": "
|
|
179
|
+
"@types/node": "20.1.0",
|
|
180
180
|
"@types/prompts": "2.4.4",
|
|
181
|
-
"@typescript-eslint/eslint-plugin": "5.59.
|
|
182
|
-
"@typescript-eslint/parser": "5.59.
|
|
181
|
+
"@typescript-eslint/eslint-plugin": "5.59.2",
|
|
182
|
+
"@typescript-eslint/parser": "5.59.2",
|
|
183
183
|
"@vue/compiler-sfc": "3.2.47",
|
|
184
184
|
"c8": "7.13.0",
|
|
185
185
|
"chai": "4.3.7",
|
|
186
186
|
"chai-json-schema": "1.5.1",
|
|
187
187
|
"coffeescript": "2.7.0",
|
|
188
|
-
"eslint": "8.
|
|
188
|
+
"eslint": "8.40.0",
|
|
189
189
|
"eslint-config-moving-meadow": "4.0.2",
|
|
190
190
|
"eslint-config-prettier": "8.8.0",
|
|
191
191
|
"eslint-plugin-budapestian": "5.0.1",
|
|
@@ -194,17 +194,17 @@
|
|
|
194
194
|
"eslint-plugin-mocha": "10.1.0",
|
|
195
195
|
"eslint-plugin-node": "11.1.0",
|
|
196
196
|
"eslint-plugin-security": "1.7.1",
|
|
197
|
-
"eslint-plugin-unicorn": "^
|
|
197
|
+
"eslint-plugin-unicorn": "^47.0.0",
|
|
198
198
|
"husky": "8.0.3",
|
|
199
199
|
"intercept-stdout": "0.1.2",
|
|
200
|
-
"lint-staged": "13.2.
|
|
200
|
+
"lint-staged": "13.2.2",
|
|
201
201
|
"mocha": "10.2.0",
|
|
202
202
|
"normalize-newline": "^3.0.0",
|
|
203
203
|
"npm-run-all": "4.1.5",
|
|
204
|
-
"prettier": "2.8.
|
|
204
|
+
"prettier": "2.8.8",
|
|
205
205
|
"proxyquire": "2.1.3",
|
|
206
206
|
"shx": "0.3.4",
|
|
207
|
-
"svelte": "3.
|
|
207
|
+
"svelte": "3.59.0",
|
|
208
208
|
"symlink-dir": "5.1.1",
|
|
209
209
|
"typescript": "5.0.4",
|
|
210
210
|
"upem": "7.3.2",
|
|
@@ -117,8 +117,8 @@ function optionsAreCompatible(pOldOptions, pNewOptions) {
|
|
|
117
117
|
filterOptionIsCompatible(pOldOptions.collapse, pNewOptions.collapse) &&
|
|
118
118
|
limitIsCompatible(pOldOptions.maxDepth, pNewOptions.maxDepth) &&
|
|
119
119
|
optionIsCompatible(
|
|
120
|
-
pOldOptions.knownViolations,
|
|
121
|
-
pNewOptions.knownViolations
|
|
120
|
+
pOldOptions.knownViolations || [],
|
|
121
|
+
pNewOptions.knownViolations || []
|
|
122
122
|
) &&
|
|
123
123
|
optionIsCompatible(
|
|
124
124
|
pOldOptions.enhancedResolveOptions,
|
|
@@ -76,7 +76,7 @@ module.exports = function setUpNDJSONListener(
|
|
|
76
76
|
) {
|
|
77
77
|
let lState = {
|
|
78
78
|
runStartTime: new Date(Date.now()).toISOString(),
|
|
79
|
-
previousMessage: "
|
|
79
|
+
previousMessage: "nodejs starting",
|
|
80
80
|
previousTime: 0,
|
|
81
81
|
previousUserUsage: 0,
|
|
82
82
|
previousSystemUsage: 0,
|
|
@@ -38,13 +38,13 @@ function formatHeader() {
|
|
|
38
38
|
return chalk
|
|
39
39
|
.bold(
|
|
40
40
|
`${
|
|
41
|
-
pad("elapsed real") +
|
|
42
|
-
pad("user") +
|
|
43
|
-
pad("system") +
|
|
44
41
|
pad("∆ rss") +
|
|
45
42
|
pad("∆ heapTotal") +
|
|
46
43
|
pad("∆ heapUsed") +
|
|
47
|
-
pad("∆ external")
|
|
44
|
+
pad("∆ external") +
|
|
45
|
+
pad("⏱ system") +
|
|
46
|
+
pad("⏱ user") +
|
|
47
|
+
pad("⏱ real")
|
|
48
48
|
}after step...\n`
|
|
49
49
|
)
|
|
50
50
|
.concat(formatDividerLine());
|
|
@@ -73,13 +73,13 @@ function formatPerfLine({
|
|
|
73
73
|
message,
|
|
74
74
|
}) {
|
|
75
75
|
return `${
|
|
76
|
-
formatTime(elapsedTime) +
|
|
77
|
-
formatTime(elapsedUser, MS_PER_MICRO_SECOND) +
|
|
78
|
-
formatTime(elapsedSystem, MS_PER_MICRO_SECOND) +
|
|
79
76
|
formatMemory(deltaRss) +
|
|
80
77
|
formatMemory(deltaHeapTotal) +
|
|
81
78
|
formatMemory(deltaHeapUsed) +
|
|
82
79
|
formatMemory(deltaExternal) +
|
|
80
|
+
formatTime(elapsedSystem, MS_PER_MICRO_SECOND) +
|
|
81
|
+
formatTime(elapsedUser, MS_PER_MICRO_SECOND) +
|
|
82
|
+
formatTime(elapsedTime) +
|
|
83
83
|
message
|
|
84
84
|
}\n`;
|
|
85
85
|
}
|
|
@@ -30,7 +30,7 @@ module.exports = function setUpPerformanceLogListener(
|
|
|
30
30
|
pStream = process.stderr
|
|
31
31
|
) {
|
|
32
32
|
let lState = {
|
|
33
|
-
previousMessage: "
|
|
33
|
+
previousMessage: "nodejs starting",
|
|
34
34
|
previousTime: 0,
|
|
35
35
|
previousUserUsage: 0,
|
|
36
36
|
previousSystemUsage: 0,
|
|
@@ -26,10 +26,10 @@ const SHAREABLE_OPTIONS = [
|
|
|
26
26
|
"reaches",
|
|
27
27
|
"reporterOptions",
|
|
28
28
|
"rulesFile",
|
|
29
|
+
"tsConfig",
|
|
29
30
|
"tsPreCompilationDeps",
|
|
30
31
|
"webpackConfig",
|
|
31
32
|
// "progress", TODO: could be enabled
|
|
32
|
-
// "tsConfig", TODO: should be enabled
|
|
33
33
|
];
|
|
34
34
|
|
|
35
35
|
function makeOptionsPresentable(pOptions) {
|
package/src/meta.js
CHANGED
package/src/report/index.js
CHANGED
|
@@ -17,6 +17,7 @@ const metrics = require("./metrics");
|
|
|
17
17
|
const { getExternalPluginReporter } = require("./plugins");
|
|
18
18
|
const markdown = require("./markdown");
|
|
19
19
|
const mermaid = require("./mermaid");
|
|
20
|
+
const nullReporter = require("./null");
|
|
20
21
|
|
|
21
22
|
const TYPE2REPORTER = {
|
|
22
23
|
anon,
|
|
@@ -38,6 +39,7 @@ const TYPE2REPORTER = {
|
|
|
38
39
|
baseline,
|
|
39
40
|
metrics,
|
|
40
41
|
mermaid,
|
|
42
|
+
null: nullReporter,
|
|
41
43
|
};
|
|
42
44
|
|
|
43
45
|
/**
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the results of a cruise _only_ in an exitCode
|
|
3
|
+
*
|
|
4
|
+
* @param {import("../../types/cruise-result").ICruiseResult} pResults
|
|
5
|
+
* @returns {import("../../types/dependency-cruiser").IReporterOutput}
|
|
6
|
+
*/
|
|
7
|
+
module.exports = function nullReporter(pResults) {
|
|
8
|
+
return {
|
|
9
|
+
output: "",
|
|
10
|
+
exitCode: pResults.summary.error,
|
|
11
|
+
};
|
|
12
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* generated - don't edit */
|
|
2
|
-
module.exports={"title":"dependency-cruiser output format","$schema":"http://json-schema.org/draft-07/schema#","$id":"https://dependency-cruiser.js.org/schema/cruise-result.schema.json","type":"object","required":["summary","modules"],"additionalProperties":false,"properties":{"modules":{"$ref":"#/definitions/ModulesType"},"folders":{"$ref":"#/definitions/FoldersType"},"summary":{"$ref":"#/definitions/SummaryType"},"revisionData":{"$ref":"#/definitions/RevisionDataType"}},"definitions":{"ModulesType":{"type":"array","items":{"$ref":"#/definitions/ModuleType"}},"ModuleType":{"type":"object","required":["source","dependencies","valid"],"additionalProperties":false,"properties":{"source":{"type":"string"},"valid":{"type":"boolean"},"dependencies":{"$ref":"#/definitions/DependenciesType"},"dependents":{"type":"array","items":{"type":"string"}},"followable":{"type":"boolean"},"matchesDoNotFollow":{"type":"boolean"},"matchesFocus":{"type":"boolean"},"matchesReaches":{"type":"boolean"},"matchesHighlight":{"type":"boolean"},"coreModule":{"type":"boolean"},"couldNotResolve":{"type":"boolean"},"dependencyTypes":{"type":"array","items":{"$ref":"#/definitions/DependencyTypeType"}},"license":{"type":"string"},"orphan":{"type":"boolean"},"reachable":{"type":"array","items":{"$ref":"#/definitions/ReachableType"}},"reaches":{"type":"array","items":{"$ref":"#/definitions/ReachesType"}},"rules":{"type":"array","items":{"$ref":"#/definitions/RuleSummaryType"}},"consolidated":{"type":"boolean"},"instability":{"type":"number"}}},"ReachableType":{"type":"object","required":["value","asDefinedInRule","matchedFrom"],"additionalProperties":false,"properties":{"value":{"type":"boolean"},"asDefinedInRule":{"type":"string"},"matchedFrom":{"type":"string"}}},"ReachesType":{"type":"object","required":["modules","asDefinedInRule"],"additionalProperties":false,"properties":{"modules":{"type":"array","items":{"type":"object","required":["source","via"],"additionalProperties":false,"properties":{"source":{"type":"string"},"via":{"type":"array","items":{"type":"string"}}}}},"asDefinedInRule":{"type":"string"}}},"DependenciesType":{"type":"array","items":{"$ref":"#/definitions/DependencyType"}},"DependencyType":{"type":"object","required":["circular","coreModule","couldNotResolve","dependencyTypes","exoticallyRequired","dynamic","followable","module","moduleSystem","resolved","valid"],"additionalProperties":false,"properties":{"module":{"type":"string"},"protocol":{"type":"string","enum":["data:","file:","node:"]},"mimeType":{"type":"string"},"resolved":{"type":"string"},"coreModule":{"type":"boolean"},"dependencyTypes":{"type":"array","items":{"$ref":"#/definitions/DependencyTypeType"}},"license":{"type":"string"},"followable":{"type":"boolean"},"dynamic":{"type":"boolean"},"exoticallyRequired":{"type":"boolean"},"exoticRequire":{"type":"string"},"matchesDoNotFollow":{"type":"boolean"},"couldNotResolve":{"type":"boolean"},"preCompilationOnly":{"type":"boolean"},"typeOnly":{"type":"boolean"},"circular":{"type":"boolean"},"cycle":{"type":"array","items":{"type":"string"}},"moduleSystem":{"$ref":"#/definitions/ModuleSystemType"},"valid":{"type":"boolean"},"rules":{"type":"array","items":{"$ref":"#/definitions/RuleSummaryType"}},"instability":{"type":"number"}}},"DependencyTypeType":{"type":"string","enum":["aliased","core","deprecated","local","localmodule","npm","npm-bundled","npm-dev","npm-no-pkg","npm-optional","npm-peer","npm-unknown","undetermined","unknown","type-only"]},"ModuleSystemType":{"type":"string","enum":["cjs","es6","amd","tsd"]},"RuleSummaryType":{"type":"object","required":["name","severity"],"additionalProperties":false,"properties":{"name":{"type":"string"},"severity":{"$ref":"#/definitions/SeverityType"}}},"SeverityType":{"type":"string","enum":["error","warn","info","ignore"]},"FoldersType":{"type":"array","items":{"$ref":"#/definitions/FolderType"}},"FolderType":{"type":"object","required":["name","moduleCount"],"additionalProperties":false,"properties":{"name":{"type":"string"},"dependents":{"type":"array","items":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string"}}}},"dependencies":{"type":"array","items":{"type":"object","required":["name","valid","circular"],"additionalProperties":false,"properties":{"name":{"type":"string"},"instability":{"type":"number"},"valid":{"type":"boolean"},"circular":{"type":"boolean"},"cycle":{"type":"array","items":{"type":"string"}},"rules":{"type":"array","items":{"$ref":"#/definitions/RuleSummaryType"}}}}},"moduleCount":{"type":"number"},"afferentCouplings":{"type":"number"},"efferentCouplings":{"type":"number"},"instability":{"type":"number"}}},"SummaryType":{"type":"object","required":["violations","error","warn","info","totalCruised","optionsUsed"],"additionalProperties":false,"properties":{"violations":{"$ref":"#/definitions/ViolationsType"},"error":{"type":"number"},"warn":{"type":"number"},"info":{"type":"number"},"ignore":{"type":"number"},"totalCruised":{"type":"number"},"totalDependenciesCruised":{"type":"number"},"ruleSetUsed":{"$ref":"#/definitions/RuleSetType"},"optionsUsed":{"$ref":"#/definitions/OptionsUsedType"}}},"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":{"type":"string"}},"via":{"type":"array","items":{"type":"string"}},"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"}}},"ViolationTypeType":{"type":"string","enum":["dependency","module","reachability","cycle","instability","folder"]},"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"}}},"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/REAsStringsType"},"viaOnly":{"$ref":"#/definitions/REAsStringsType"},"viaNot":{"$ref":"#/definitions/REAsStringsType"},"viaSomeNot":{"$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"}}},"REAsStringsType":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"OptionsUsedType":{"type":"object","additionalProperties":false,"properties":{"doNotFollow":{"$ref":"#/definitions/CompoundDoNotFollowType"},"exclude":{"$ref":"#/definitions/CompoundExcludeType"},"includeOnly":{"oneOf":[{"$ref":"#/definitions/REAsStringsType"},{"$ref":"#/definitions/CompoundIncludeOnlyType"}]},"focus":{"$ref":"#/definitions/CompoundFocusType"},"reaches":{"$ref":"#/definitions/CompoundReachesType"},"highlight":{"$ref":"#/definitions/CompoundHighlightType"},"knownViolations":{"$ref":"#/definitions/ViolationsType"},"collapse":{"type":"string"},"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"]},"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"},"mainFiles":{"type":"array"},"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","enum":[false]},{"$ref":"#/definitions/CacheOptionsType"}]},"args":{"type":"string"},"rulesFile":{"type":"string"},"outputTo":{"type":"string"},"outputType":{"$ref":"#/definitions/OutputType"}}},"ModuleSystemsType":{"type":"array","items":{"$ref":"#/definitions/ModuleSystemType"}},"OutputType":{"oneOf":[{"type":"string","enum":["json","html","dot","ddot","cdot","archi","fdot","flat","csv","err","err-long","err-html","teamcity","anon","text","metrics","markdown","mermaid"]},{"type":"string","pattern":"^plugin:[^:]+$"}]},"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"}}},"CacheOptionsType":{"type":"object","additionalProperties":false,"properties":{"folder":{"type":"string"},"strategy":{"$ref":"#/definitions/CacheStrategyType"}}},"CacheStrategyType":{"type":"string","enum":["metadata","content"]},"RevisionDataType":{"type":"object","required":["SHA1","changes"],"properties":{"SHA1":{"type":"string"},"changes":{"type":"array","items":{"type":"object","required":["name","changeType"],"properties":{"name":{"type":"string"},"changeType":{"type":"string","enum":["added","copied","deleted","modified","renamed","type changed","unmerged","pairing broken","unknown","unmodified","untracked","ignored"]},"oldName":{"type":"string"},"checksum":{"type":"string"},"args":{"type":"array","items":{"type":"string"}},"rulesFile":{"type":"string"}}}}}}}}
|
|
2
|
+
module.exports={"title":"dependency-cruiser output format","$schema":"http://json-schema.org/draft-07/schema#","$id":"https://dependency-cruiser.js.org/schema/cruise-result.schema.json","type":"object","required":["summary","modules"],"additionalProperties":false,"properties":{"modules":{"$ref":"#/definitions/ModulesType"},"folders":{"$ref":"#/definitions/FoldersType"},"summary":{"$ref":"#/definitions/SummaryType"},"revisionData":{"$ref":"#/definitions/RevisionDataType"}},"definitions":{"ModulesType":{"type":"array","items":{"$ref":"#/definitions/ModuleType"}},"ModuleType":{"type":"object","required":["source","dependencies","valid"],"additionalProperties":false,"properties":{"source":{"type":"string"},"valid":{"type":"boolean"},"dependencies":{"$ref":"#/definitions/DependenciesType"},"dependents":{"type":"array","items":{"type":"string"}},"followable":{"type":"boolean"},"matchesDoNotFollow":{"type":"boolean"},"matchesFocus":{"type":"boolean"},"matchesReaches":{"type":"boolean"},"matchesHighlight":{"type":"boolean"},"coreModule":{"type":"boolean"},"couldNotResolve":{"type":"boolean"},"dependencyTypes":{"type":"array","items":{"$ref":"#/definitions/DependencyTypeType"}},"license":{"type":"string"},"orphan":{"type":"boolean"},"reachable":{"type":"array","items":{"$ref":"#/definitions/ReachableType"}},"reaches":{"type":"array","items":{"$ref":"#/definitions/ReachesType"}},"rules":{"type":"array","items":{"$ref":"#/definitions/RuleSummaryType"}},"consolidated":{"type":"boolean"},"instability":{"type":"number"},"checksum":{"type":"string"}}},"ReachableType":{"type":"object","required":["value","asDefinedInRule","matchedFrom"],"additionalProperties":false,"properties":{"value":{"type":"boolean"},"asDefinedInRule":{"type":"string"},"matchedFrom":{"type":"string"}}},"ReachesType":{"type":"object","required":["modules","asDefinedInRule"],"additionalProperties":false,"properties":{"modules":{"type":"array","items":{"type":"object","required":["source","via"],"additionalProperties":false,"properties":{"source":{"type":"string"},"via":{"type":"array","items":{"type":"string"}}}}},"asDefinedInRule":{"type":"string"}}},"DependenciesType":{"type":"array","items":{"$ref":"#/definitions/DependencyType"}},"DependencyType":{"type":"object","required":["circular","coreModule","couldNotResolve","dependencyTypes","exoticallyRequired","dynamic","followable","module","moduleSystem","resolved","valid"],"additionalProperties":false,"properties":{"module":{"type":"string"},"protocol":{"type":"string","enum":["data:","file:","node:"]},"mimeType":{"type":"string"},"resolved":{"type":"string"},"coreModule":{"type":"boolean"},"dependencyTypes":{"type":"array","items":{"$ref":"#/definitions/DependencyTypeType"}},"license":{"type":"string"},"followable":{"type":"boolean"},"dynamic":{"type":"boolean"},"exoticallyRequired":{"type":"boolean"},"exoticRequire":{"type":"string"},"matchesDoNotFollow":{"type":"boolean"},"couldNotResolve":{"type":"boolean"},"preCompilationOnly":{"type":"boolean"},"typeOnly":{"type":"boolean"},"circular":{"type":"boolean"},"cycle":{"type":"array","items":{"type":"string"}},"moduleSystem":{"$ref":"#/definitions/ModuleSystemType"},"valid":{"type":"boolean"},"rules":{"type":"array","items":{"$ref":"#/definitions/RuleSummaryType"}},"instability":{"type":"number"}}},"DependencyTypeType":{"type":"string","enum":["aliased","core","deprecated","local","localmodule","npm","npm-bundled","npm-dev","npm-no-pkg","npm-optional","npm-peer","npm-unknown","undetermined","unknown","type-only"]},"ModuleSystemType":{"type":"string","enum":["cjs","es6","amd","tsd"]},"RuleSummaryType":{"type":"object","required":["name","severity"],"additionalProperties":false,"properties":{"name":{"type":"string"},"severity":{"$ref":"#/definitions/SeverityType"}}},"SeverityType":{"type":"string","enum":["error","warn","info","ignore"]},"FoldersType":{"type":"array","items":{"$ref":"#/definitions/FolderType"}},"FolderType":{"type":"object","required":["name","moduleCount"],"additionalProperties":false,"properties":{"name":{"type":"string"},"dependents":{"type":"array","items":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string"}}}},"dependencies":{"type":"array","items":{"type":"object","required":["name","valid","circular"],"additionalProperties":false,"properties":{"name":{"type":"string"},"instability":{"type":"number"},"valid":{"type":"boolean"},"circular":{"type":"boolean"},"cycle":{"type":"array","items":{"type":"string"}},"rules":{"type":"array","items":{"$ref":"#/definitions/RuleSummaryType"}}}}},"moduleCount":{"type":"number"},"afferentCouplings":{"type":"number"},"efferentCouplings":{"type":"number"},"instability":{"type":"number"}}},"SummaryType":{"type":"object","required":["violations","error","warn","info","totalCruised","optionsUsed"],"additionalProperties":false,"properties":{"violations":{"$ref":"#/definitions/ViolationsType"},"error":{"type":"number"},"warn":{"type":"number"},"info":{"type":"number"},"ignore":{"type":"number"},"totalCruised":{"type":"number"},"totalDependenciesCruised":{"type":"number"},"ruleSetUsed":{"$ref":"#/definitions/RuleSetType"},"optionsUsed":{"$ref":"#/definitions/OptionsUsedType"}}},"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":{"type":"string"}},"via":{"type":"array","items":{"type":"string"}},"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"}}},"ViolationTypeType":{"type":"string","enum":["dependency","module","reachability","cycle","instability","folder"]},"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"}}},"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/REAsStringsType"},"viaOnly":{"$ref":"#/definitions/REAsStringsType"},"viaNot":{"$ref":"#/definitions/REAsStringsType"},"viaSomeNot":{"$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"}}},"REAsStringsType":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"OptionsUsedType":{"type":"object","additionalProperties":false,"properties":{"doNotFollow":{"$ref":"#/definitions/CompoundDoNotFollowType"},"exclude":{"$ref":"#/definitions/CompoundExcludeType"},"includeOnly":{"oneOf":[{"$ref":"#/definitions/REAsStringsType"},{"$ref":"#/definitions/CompoundIncludeOnlyType"}]},"focus":{"$ref":"#/definitions/CompoundFocusType"},"reaches":{"$ref":"#/definitions/CompoundReachesType"},"highlight":{"$ref":"#/definitions/CompoundHighlightType"},"knownViolations":{"$ref":"#/definitions/ViolationsType"},"collapse":{"type":"string"},"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"]},"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"},"mainFiles":{"type":"array"},"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","enum":[false]},{"$ref":"#/definitions/CacheOptionsType"}]},"args":{"type":"string"},"rulesFile":{"type":"string"},"outputTo":{"type":"string"},"outputType":{"$ref":"#/definitions/OutputType"}}},"ModuleSystemsType":{"type":"array","items":{"$ref":"#/definitions/ModuleSystemType"}},"OutputType":{"oneOf":[{"type":"string","enum":["json","html","dot","ddot","cdot","archi","fdot","flat","csv","err","err-long","err-html","teamcity","anon","text","metrics","markdown","mermaid","null"]},{"type":"string","pattern":"^plugin:[^:]+$"}]},"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"}}},"CacheOptionsType":{"type":"object","additionalProperties":false,"properties":{"folder":{"type":"string"},"strategy":{"$ref":"#/definitions/CacheStrategyType"}}},"CacheStrategyType":{"type":"string","enum":["metadata","content"]},"RevisionDataType":{"type":"object","required":["SHA1","changes"],"properties":{"SHA1":{"type":"string"},"changes":{"type":"array","items":{"type":"object","required":["name","changeType"],"properties":{"name":{"type":"string"},"changeType":{"type":"string","enum":["added","copied","deleted","modified","renamed","type changed","unmerged","pairing broken","unknown","unmodified","untracked","ignored"]},"oldName":{"type":"string"},"checksum":{"type":"string"},"args":{"type":"array","items":{"type":"string"}},"rulesFile":{"type":"string"}}}}}}}}
|
package/types/cruise-result.d.ts
CHANGED
|
@@ -139,6 +139,12 @@ export interface IModule {
|
|
|
139
139
|
* was asked to calculate metrics.
|
|
140
140
|
*/
|
|
141
141
|
instability?: number;
|
|
142
|
+
/**
|
|
143
|
+
* checksum of the contents of the module. This attribute is currently only
|
|
144
|
+
* available when the cruise was executed with caching and the cache strategy
|
|
145
|
+
* is 'content'.
|
|
146
|
+
*/
|
|
147
|
+
checksum?: string;
|
|
142
148
|
}
|
|
143
149
|
|
|
144
150
|
export interface IDependency {
|
|
@@ -352,51 +358,8 @@ export interface IOptions extends ICruiseOptions {
|
|
|
352
358
|
* The rules file used to validate the dependencies (if any)
|
|
353
359
|
*/
|
|
354
360
|
rulesFile?: string;
|
|
355
|
-
/**
|
|
356
|
-
* The TypeScript configuration file used (if any)
|
|
357
|
-
*/
|
|
358
|
-
tsConfig?: ITsConfig;
|
|
359
|
-
/**
|
|
360
|
-
* The webpack configuration options used for the cruise
|
|
361
|
-
*/
|
|
362
|
-
webpackConfig?: IWebpackConfig;
|
|
363
|
-
/**
|
|
364
|
-
* The Babel configuration file used (if any)
|
|
365
|
-
*/
|
|
366
|
-
babelConfig?: IBabelConfig;
|
|
367
|
-
}
|
|
368
|
-
|
|
369
|
-
export interface ITsConfig {
|
|
370
|
-
fileName?: string;
|
|
371
361
|
}
|
|
372
362
|
|
|
373
|
-
export interface IBabelConfig {
|
|
374
|
-
fileName?: string;
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
/**
|
|
378
|
-
* The webpack configuration options used for the cruise
|
|
379
|
-
*/
|
|
380
|
-
export interface IWebpackConfig {
|
|
381
|
-
/**
|
|
382
|
-
* The arguments used
|
|
383
|
-
*/
|
|
384
|
-
arguments?: { [key: string]: any };
|
|
385
|
-
/**
|
|
386
|
-
* The 'env' parameters passed
|
|
387
|
-
*/
|
|
388
|
-
env?: WebpackEnvType;
|
|
389
|
-
/**
|
|
390
|
-
* The name of the webpack configuration file used
|
|
391
|
-
*/
|
|
392
|
-
fileName?: string;
|
|
393
|
-
}
|
|
394
|
-
|
|
395
|
-
/**
|
|
396
|
-
* The 'env' parameters passed
|
|
397
|
-
*/
|
|
398
|
-
export type WebpackEnvType = { [key: string]: any } | string;
|
|
399
|
-
|
|
400
363
|
export interface IFolderDependency {
|
|
401
364
|
/**
|
|
402
365
|
* the (resolved) name of the dependency
|
package/types/options.d.ts
CHANGED
|
@@ -19,6 +19,37 @@ export type ProgressType =
|
|
|
19
19
|
| "ndjson"
|
|
20
20
|
| "none";
|
|
21
21
|
|
|
22
|
+
export interface ITsConfig {
|
|
23
|
+
fileName?: string;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface IBabelConfig {
|
|
27
|
+
fileName?: string;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* The 'env' parameters passed to webpack, if any
|
|
32
|
+
*/
|
|
33
|
+
export type WebpackEnvType = { [key: string]: any } | string;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* The webpack configuration options used for the cruise
|
|
37
|
+
*/
|
|
38
|
+
export interface IWebpackConfig {
|
|
39
|
+
/**
|
|
40
|
+
* The arguments used
|
|
41
|
+
*/
|
|
42
|
+
arguments?: { [key: string]: any };
|
|
43
|
+
/**
|
|
44
|
+
* The 'env' parameters passed
|
|
45
|
+
*/
|
|
46
|
+
env?: WebpackEnvType;
|
|
47
|
+
/**
|
|
48
|
+
* The name of the webpack configuration file used
|
|
49
|
+
*/
|
|
50
|
+
fileName?: string;
|
|
51
|
+
}
|
|
52
|
+
|
|
22
53
|
export interface ICruiseOptions {
|
|
23
54
|
/**
|
|
24
55
|
* if true, will attempt to validate with the rules in ruleSet.
|
|
@@ -175,7 +206,7 @@ export interface ICruiseOptions {
|
|
|
175
206
|
/*
|
|
176
207
|
* List of strings you have in use in addition to cjs/ es6 requires
|
|
177
208
|
* & imports to declare module dependencies. Use this e.g. if you've
|
|
178
|
-
*
|
|
209
|
+
* re-declared require (`const want = require`), use a require-wrapper
|
|
179
210
|
* (like semver-try-require) or use window.require as a hack
|
|
180
211
|
*
|
|
181
212
|
* Defaults to `[]`
|
|
@@ -186,6 +217,31 @@ export interface ICruiseOptions {
|
|
|
186
217
|
*/
|
|
187
218
|
reporterOptions?: IReporterOptions;
|
|
188
219
|
|
|
220
|
+
/**
|
|
221
|
+
* TypeScript project file ('tsconfig.json') to use for (1) compilation
|
|
222
|
+
* and (2) resolution (e.g. with the paths property)",
|
|
223
|
+
*/
|
|
224
|
+
tsConfig?: ITsConfig;
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Webpack configuration to use to get resolve options from
|
|
228
|
+
*/
|
|
229
|
+
webpackConfig?: IWebpackConfig;
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* Babel configuration (e.g. '.babelrc.json') to use.
|
|
233
|
+
*/
|
|
234
|
+
babelConfig?: IBabelConfig;
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Overrides the parser dependency-cruiser will use - EXPERIMENTAL
|
|
238
|
+
*
|
|
239
|
+
* Note that you'll _very_ likely not need this - dependency-cruiser will
|
|
240
|
+
* typically sort out what the best parser for the job is out of the ones
|
|
241
|
+
* available
|
|
242
|
+
*/
|
|
243
|
+
parser?: "acorn" | "tsc" | "swc";
|
|
244
|
+
|
|
189
245
|
/**
|
|
190
246
|
* Options used in module resolution that for dependency-cruiser's
|
|
191
247
|
* use cannot go in a webpack config.
|
|
@@ -218,6 +274,18 @@ export interface ICruiseOptions {
|
|
|
218
274
|
* tsconfig contains paths/ aliases.
|
|
219
275
|
*/
|
|
220
276
|
extensions?: string[];
|
|
277
|
+
/**
|
|
278
|
+
* A list of main fields in manifests (package.json s). Typically you'd want
|
|
279
|
+
* to keep leave this this on its default (['main']) , but if you e.g. use
|
|
280
|
+
* external packages that only expose types, and you still want references
|
|
281
|
+
* to these types to be resolved you could expand this to ['main', 'types']
|
|
282
|
+
*/
|
|
283
|
+
mainFields?: string[];
|
|
284
|
+
/**
|
|
285
|
+
* A list of files to consider 'main' files, defaults to ['index']. Only set
|
|
286
|
+
* this when you have really special needs that warrant it.
|
|
287
|
+
*/
|
|
288
|
+
mainFiles?: string[];
|
|
221
289
|
/**
|
|
222
290
|
* Options to pass to the resolver (webpack's 'enhanced resolve') regarding
|
|
223
291
|
* caching.
|
|
@@ -240,6 +308,7 @@ export interface ICruiseOptions {
|
|
|
240
308
|
cacheDuration: number;
|
|
241
309
|
};
|
|
242
310
|
};
|
|
311
|
+
|
|
243
312
|
/**
|
|
244
313
|
* Whether or not to show progress feedback when the command line
|
|
245
314
|
* app is running.
|
|
@@ -259,11 +328,13 @@ export interface ICruiseOptions {
|
|
|
259
328
|
*/
|
|
260
329
|
maximumLevel?: -1 | 40 | 50 | 60 | 70 | 80 | 99;
|
|
261
330
|
};
|
|
331
|
+
|
|
262
332
|
/**
|
|
263
333
|
* When this flag is set to true, dependency-cruiser will calculate (stability) metrics
|
|
264
334
|
* for all modules and folders. Defaults to false.
|
|
265
335
|
*/
|
|
266
336
|
metrics?: boolean;
|
|
337
|
+
|
|
267
338
|
/**
|
|
268
339
|
* - false: don't use caching.
|
|
269
340
|
* - true or empty object: use caching with the default settings
|
package/types/shared-types.d.ts
CHANGED