dependency-cruiser 17.3.2 → 17.3.3-beta-2
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/bin/depcruise-baseline.mjs +43 -43
- package/bin/depcruise-fmt.mjs +89 -89
- package/bin/dependency-cruise.mjs +171 -171
- package/configs/plugins/3d-reporter-plugin.mjs +36 -36
- package/configs/plugins/stats-reporter-plugin.mjs +51 -51
- package/configs/recommended-strict.cjs +5 -5
- package/configs/recommended-warn-only.cjs +5 -5
- package/configs/recommended.cjs +22 -22
- package/configs/rules/no-circular.cjs +10 -10
- package/configs/rules/no-deprecated-core.cjs +10 -10
- package/configs/rules/no-duplicate-dependency-types.cjs +17 -17
- package/configs/rules/no-non-package-json.cjs +11 -11
- package/configs/rules/no-orphans.cjs +18 -18
- package/configs/rules/not-to-deprecated.cjs +10 -10
- package/configs/rules/not-to-unresolvable.cjs +10 -10
- package/package.json +170 -170
- package/src/cache/cache.mjs +139 -139
- package/src/cache/content-strategy.mjs +88 -88
- package/src/cache/find-content-changes.mjs +58 -58
- package/src/cache/helpers.mjs +52 -52
- package/src/cache/metadata-strategy.mjs +83 -83
- package/src/cache/options-compatible.mjs +56 -109
- package/src/cli/assert-node-environment-suitable.mjs +7 -7
- package/src/cli/defaults.mjs +5 -5
- package/src/cli/format-meta-info.mjs +22 -22
- package/src/cli/format.mjs +28 -28
- package/src/cli/index.mjs +145 -145
- package/src/cli/init-config/build-config.mjs +94 -94
- package/src/cli/init-config/environment-helpers.mjs +77 -77
- package/src/cli/init-config/find-extensions.mjs +27 -27
- package/src/cli/init-config/get-user-input.mjs +151 -151
- package/src/cli/init-config/index.mjs +88 -88
- package/src/cli/init-config/normalize-init-options.mjs +47 -47
- package/src/cli/init-config/utl.mjs +4 -4
- package/src/cli/init-config/validators.mjs +10 -10
- package/src/cli/init-config/write-config.mjs +21 -21
- package/src/cli/init-config/write-run-scripts-to-manifest.mjs +103 -107
- package/src/cli/listeners/cli-feedback.mjs +49 -49
- package/src/cli/listeners/ndjson.mjs +66 -66
- package/src/cli/listeners/performance-log/format-helpers.mjs +63 -63
- package/src/cli/listeners/performance-log/handlers.mjs +56 -56
- package/src/cli/listeners/performance-log/index.mjs +37 -37
- package/src/cli/normalize-cli-options.mjs +182 -182
- package/src/cli/tools/wrap-stream-in-html.mjs +37 -37
- package/src/cli/utl/assert-file-existence.mjs +7 -7
- package/src/cli/utl/io.mjs +28 -31
- package/src/config-utl/extract-babel-config.mjs +69 -69
- package/src/config-utl/extract-depcruise-config/index.mjs +54 -54
- package/src/config-utl/extract-depcruise-config/merge-configs.mjs +63 -63
- package/src/config-utl/extract-depcruise-config/read-config.mjs +9 -9
- package/src/config-utl/extract-depcruise-options.mjs +9 -9
- package/src/config-utl/extract-known-violations.mjs +49 -49
- package/src/config-utl/extract-ts-config.mjs +46 -48
- package/src/config-utl/extract-webpack-resolve-config.mjs +88 -88
- package/src/config-utl/make-absolute.mjs +5 -5
- package/src/enrich/add-validations.mjs +13 -13
- package/src/enrich/derive/circular.mjs +49 -49
- package/src/enrich/derive/dependents.mjs +27 -27
- package/src/enrich/derive/folders/aggregate-to-folders.mjs +104 -104
- package/src/enrich/derive/folders/index.mjs +19 -19
- package/src/enrich/derive/folders/utl.mjs +18 -18
- package/src/enrich/derive/metrics/get-module-metrics.mjs +27 -27
- package/src/enrich/derive/metrics/index.mjs +8 -8
- package/src/enrich/derive/module-utl.mjs +18 -18
- package/src/enrich/derive/orphan/index.mjs +18 -18
- package/src/enrich/derive/orphan/is-orphan.mjs +9 -9
- package/src/enrich/derive/reachable.mjs +165 -168
- package/src/enrich/enrich-modules.mjs +25 -25
- package/src/enrich/index.mjs +15 -15
- package/src/enrich/soften-known-violations.mjs +90 -90
- package/src/enrich/summarize/add-rule-set-used.mjs +13 -13
- package/src/enrich/summarize/get-stats.mjs +17 -17
- package/src/enrich/summarize/index.mjs +18 -18
- package/src/enrich/summarize/is-same-violation.mjs +30 -30
- package/src/enrich/summarize/summarize-folders.mjs +35 -35
- package/src/enrich/summarize/summarize-modules.mjs +97 -97
- package/src/enrich/summarize/summarize-options.mjs +71 -71
- package/src/extract/acorn/estree-helpers.mjs +66 -66
- package/src/extract/acorn/extract-amd-deps.mjs +63 -64
- package/src/extract/acorn/extract-cjs-deps.mjs +83 -83
- package/src/extract/acorn/extract-es6-deps.mjs +54 -54
- package/src/extract/acorn/extract-stats.mjs +4 -4
- package/src/extract/acorn/extract.mjs +28 -28
- package/src/extract/acorn/parse.mjs +37 -37
- package/src/extract/clear-caches.mjs +7 -7
- package/src/extract/extract-dependencies.mjs +109 -109
- package/src/extract/extract-stats.mjs +21 -21
- package/src/extract/gather-initial-sources.mjs +64 -64
- package/src/extract/helpers.mjs +73 -71
- package/src/extract/index.mjs +120 -120
- package/src/extract/resolve/determine-dependency-types.mjs +166 -169
- package/src/extract/resolve/external-module-helpers.mjs +76 -76
- package/src/extract/resolve/get-manifest.mjs +79 -79
- package/src/extract/resolve/index.mjs +175 -164
- package/src/extract/resolve/is-built-in.mjs +22 -24
- package/src/extract/resolve/merge-manifests.mjs +43 -43
- package/src/extract/resolve/module-classifiers.mjs +229 -229
- package/src/extract/resolve/resolve-amd.mjs +44 -44
- package/src/extract/resolve/resolve-cjs.mjs +40 -40
- package/src/extract/resolve/resolve-helpers.mjs +20 -20
- package/src/extract/resolve/resolve.mjs +26 -26
- package/src/extract/swc/dependency-visitor.mjs +211 -211
- package/src/extract/swc/extract-swc-deps.mjs +4 -4
- package/src/extract/swc/extract.mjs +7 -7
- package/src/extract/swc/parse.mjs +12 -12
- package/src/extract/transpile/babel-wrap.mjs +9 -9
- package/src/extract/transpile/coffeescript-wrap.mjs +21 -21
- package/src/extract/transpile/index.mjs +47 -47
- package/src/extract/transpile/javascript-wrap.mjs +6 -6
- package/src/extract/transpile/livescript-wrap.mjs +5 -5
- package/src/extract/transpile/meta.mjs +80 -80
- package/src/extract/transpile/svelte-preprocess.mjs +73 -73
- package/src/extract/transpile/svelte-wrap.mjs +19 -19
- package/src/extract/transpile/try-import-available.mjs +26 -27
- package/src/extract/transpile/typescript-wrap.mjs +39 -39
- package/src/extract/transpile/vue-template-wrap.cjs +43 -43
- package/src/extract/tsc/extract-stats.mjs +4 -4
- package/src/extract/tsc/extract-typescript-deps.mjs +429 -398
- package/src/extract/tsc/extract.mjs +22 -22
- package/src/extract/tsc/parse.mjs +21 -21
- package/src/graph-utl/add-focus.mjs +35 -35
- package/src/graph-utl/compare.mjs +24 -24
- package/src/graph-utl/consolidate-module-dependencies.mjs +35 -35
- package/src/graph-utl/consolidate-modules.mjs +33 -33
- package/src/graph-utl/consolidate-to-folder.mjs +13 -13
- package/src/graph-utl/consolidate-to-pattern.mjs +34 -34
- package/src/graph-utl/filter-bank.mjs +74 -69
- package/src/graph-utl/indexed-module-graph.mjs +227 -225
- package/src/graph-utl/match-facade.mjs +3 -3
- package/src/graph-utl/rule-set.mjs +20 -20
- package/src/graph-utl/strip-self-transitions.mjs +6 -6
- package/src/main/cruise.mjs +81 -81
- package/src/main/files-and-dirs/normalize.mjs +7 -7
- package/src/main/format.mjs +11 -14
- package/src/main/helpers.mjs +25 -25
- package/src/main/index.mjs +8 -8
- package/src/main/options/assert-validity.mjs +100 -100
- package/src/main/options/defaults.mjs +11 -11
- package/src/main/options/normalize.mjs +158 -160
- package/src/main/report-wrap.mjs +37 -37
- package/src/main/resolve-options/normalize.mjs +127 -128
- package/src/main/rule-set/assert-validity.mjs +67 -73
- package/src/main/rule-set/normalize.mjs +81 -79
- package/src/meta.cjs +15 -16
- package/src/report/anon/anonymize-path-element.mjs +20 -34
- package/src/report/anon/anonymize-path.mjs +11 -11
- package/src/report/anon/index.mjs +119 -119
- package/src/report/anon/random-string.mjs +23 -23
- package/src/report/azure-devops.mjs +75 -99
- package/src/report/baseline.mjs +9 -9
- package/src/report/csv.mjs +13 -13
- package/src/report/d2.mjs +105 -105
- package/src/report/dot/default-theme.mjs +152 -152
- package/src/report/dot/index.mjs +146 -146
- package/src/report/dot/module-utl.mjs +72 -72
- package/src/report/dot/prepare-custom-level.mjs +20 -20
- package/src/report/dot/prepare-flat-level.mjs +11 -11
- package/src/report/dot/prepare-folder-level.mjs +12 -13
- package/src/report/dot/theming.mjs +73 -73
- package/src/report/dot-webpage/dot-module.mjs +36 -36
- package/src/report/dot-webpage/svg-in-html-snippets/script.cjs +208 -210
- package/src/report/dot-webpage/svg-in-html-snippets/style.css +51 -51
- package/src/report/dot-webpage/wrap-in-html.mjs +7 -7
- package/src/report/error-html/index.mjs +49 -49
- package/src/report/error-html/utl.mjs +99 -99
- package/src/report/error-long.mjs +1 -1
- package/src/report/error.mjs +93 -93
- package/src/report/html/index.mjs +48 -48
- package/src/report/identity.mjs +4 -4
- package/src/report/index.mjs +33 -33
- package/src/report/json.mjs +4 -4
- package/src/report/markdown.mjs +120 -120
- package/src/report/mermaid.mjs +111 -111
- package/src/report/metrics.mjs +185 -185
- package/src/report/null.mjs +4 -4
- package/src/report/plugins.mjs +41 -41
- package/src/report/teamcity.mjs +150 -150
- package/src/report/text.mjs +42 -42
- package/src/report/utl/dependency-to-incidence-transformer.mjs +32 -32
- package/src/report/utl/index.mjs +53 -53
- package/src/schema/configuration.validate.mjs +1 -0
- package/src/schema/cruise-result.validate.mjs +1 -0
- package/src/schema/utl.mjs +6 -0
- package/src/utl/array-util.mjs +25 -25
- package/src/utl/bus.mjs +12 -12
- package/src/utl/extract-root-module-name.cjs +8 -8
- package/src/utl/find-all-files.mjs +54 -54
- package/src/utl/get-extension.mjs +2 -2
- package/src/utl/object-util.mjs +21 -22
- package/src/utl/path-to-posix.mjs +5 -5
- package/src/utl/regex-util.mjs +20 -20
- package/src/utl/try-import.mjs +42 -41
- package/src/utl/try-require.cjs +23 -23
- package/src/utl/wrap-and-indent.mjs +33 -33
- package/src/validate/index.mjs +65 -65
- package/src/validate/match-dependency-rule.mjs +47 -47
- package/src/validate/match-folder-dependency-rule.mjs +27 -27
- package/src/validate/match-module-rule-helpers.mjs +76 -76
- package/src/validate/match-module-rule.mjs +12 -12
- package/src/validate/matchers.mjs +162 -162
- package/src/validate/rule-classifiers.mjs +9 -9
- package/src/validate/violates-required-rule.mjs +23 -23
- package/types/cache-options.d.mts +27 -27
- package/types/config-utl/extract-babel-config.d.mts +1 -1
- package/types/config-utl/extract-depcruise-config.d.mts +3 -3
- package/types/config-utl/extract-depcruise-options.d.mts +1 -1
- package/types/config-utl/extract-ts-config.d.mts +1 -1
- package/types/config-utl/extract-webpack-resolve-config.d.mts +3 -3
- package/types/configuration.d.mts +10 -10
- package/types/cruise-result.d.mts +414 -414
- package/types/dependency-cruiser.d.mts +52 -52
- package/types/filter-types.d.mts +45 -45
- package/types/options.d.mts +430 -430
- package/types/plugins/3d-reporter-plugin.d.mts +9 -9
- package/types/plugins/mermaid-reporter-plugin.d.mts +10 -10
- package/types/plugins/stats-reporter-plugin.d.mts +9 -9
- package/types/reporter-options.d.mts +196 -196
- package/types/resolve-options.d.mts +23 -23
- package/types/restrictions.d.mts +174 -174
- package/types/rule-set.d.mts +132 -132
- package/types/rule-summary.d.mts +14 -14
- package/types/shared-types.d.mts +89 -89
- package/types/strict-filter-types.d.mts +52 -52
- package/types/strict-options.d.mts +34 -34
- package/types/strict-restrictions.d.mts +25 -25
- package/types/strict-rule-set.d.mts +36 -36
- package/types/violations.d.mts +40 -40
- package/src/schema/README.md +0 -5
- package/src/schema/baseline-violations.schema.mjs +0 -1
- package/src/schema/configuration.schema.mjs +0 -1
- package/src/schema/cruise-result.schema.mjs +0 -1
- package/types/README.md +0 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { IReporterOutput, ICruiseResult } from "../dependency-cruiser.mjs";
|
|
2
2
|
|
|
3
3
|
declare module "3d-reporter-plugin" {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Sample plugin: 3d representation
|
|
6
|
+
*
|
|
7
|
+
* @param {ICruiseResult} pCruiseResult - the output of a dependency-cruise adhering to dependency-cruiser's cruise result schema
|
|
8
|
+
* @return {IReporterOutput} - output: a string, exitCode: 0
|
|
9
|
+
*/
|
|
10
|
+
export default function ThreeDReporterPlugin(
|
|
11
|
+
pCruiseResult: ICruiseResult,
|
|
12
|
+
): IReporterOutput;
|
|
13
13
|
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { IReporterOutput, ICruiseResult } from "../dependency-cruiser.mjs";
|
|
2
2
|
|
|
3
3
|
declare module "mermaid-reporter-plugin" {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Mermaid reporter plugin
|
|
6
|
+
*
|
|
7
|
+
* @deprecated use the mermaid reporter baked into the dependency-cruiser itself (--output-type mermaid)
|
|
8
|
+
* @param {ICruiseResult} pCruiseResult - the output of a dependency-cruise adhering to dependency-cruiser's cruise result schema
|
|
9
|
+
* @return {IReporterOutput} - output: the module graph in mermaid format, exitCode: 0
|
|
10
|
+
*/
|
|
11
|
+
export default function statsReporterPlugin(
|
|
12
|
+
pCruiseResult: ICruiseResult,
|
|
13
|
+
): IReporterOutput;
|
|
14
14
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { IReporterOutput, ICruiseResult } from "../dependency-cruiser.mjs";
|
|
2
2
|
|
|
3
3
|
declare module "stats-reporter-plugin" {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Sample plugin: stats in json format
|
|
6
|
+
*
|
|
7
|
+
* @param {ICruiseResult} pCruiseResult - the output of a dependency-cruise adhering to dependency-cruiser's cruise result schema
|
|
8
|
+
* @return {IReporterOutput} - output: output: some stats on modules and dependencies in json format, exitCode: 0
|
|
9
|
+
*/
|
|
10
|
+
export default function statsReporterPlugin(
|
|
11
|
+
pCruiseResult: ICruiseResult,
|
|
12
|
+
): IReporterOutput;
|
|
13
13
|
}
|
|
@@ -1,230 +1,230 @@
|
|
|
1
1
|
import type {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
IExcludeType,
|
|
3
|
+
IFocusType,
|
|
4
|
+
IIncludeOnlyType,
|
|
5
|
+
IReachesType,
|
|
6
6
|
} from "./filter-types.mjs";
|
|
7
7
|
|
|
8
8
|
export interface IReporterOptions {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Options to tweak the output of the anonymous reporter
|
|
11
|
+
*/
|
|
12
|
+
anon?: IAnonReporterOptions;
|
|
13
|
+
/**
|
|
14
|
+
* Options to tweak the output of the archi/ cdot reporter
|
|
15
|
+
*/
|
|
16
|
+
archi?: IDotReporterOptions;
|
|
17
|
+
/**
|
|
18
|
+
* Options to tweak the output of the dot reporter
|
|
19
|
+
*/
|
|
20
|
+
dot?: IDotReporterOptions;
|
|
21
|
+
/**
|
|
22
|
+
* Options to tweak the output of the ddot reporter
|
|
23
|
+
*/
|
|
24
|
+
ddot?: IDotReporterOptions;
|
|
25
|
+
/**
|
|
26
|
+
* Options to tweak the output of the flat /fdot reporter
|
|
27
|
+
*/
|
|
28
|
+
flat?: IDotReporterOptions;
|
|
29
|
+
/**
|
|
30
|
+
* Options to tweak the output of the metrics reporter
|
|
31
|
+
*/
|
|
32
|
+
metrics?: IMetricsReporterOptions;
|
|
33
|
+
/**
|
|
34
|
+
* Options to show and hide sections of the markdown reporter and to provide
|
|
35
|
+
* alternate boilerplate text.
|
|
36
|
+
*/
|
|
37
|
+
markdown?: IMarkdownReporterOptions;
|
|
38
|
+
/**
|
|
39
|
+
* Options that influence rendition of the mermaid reporter
|
|
40
|
+
*/
|
|
41
|
+
mermaid?: IMermaidReporterOptions;
|
|
42
|
+
/**
|
|
43
|
+
* Options that influence rendition of the text reporter
|
|
44
|
+
*/
|
|
45
|
+
text?: ITextReporterOptions;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
export interface IReporterFiltersType {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
exclude: IExcludeType;
|
|
50
|
+
includeOnly: IIncludeOnlyType;
|
|
51
|
+
focus: IFocusType;
|
|
52
|
+
reaches: IReachesType;
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
export interface IAnonReporterOptions {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
56
|
+
/**
|
|
57
|
+
* List of words to use to replace path elements of file names in the output
|
|
58
|
+
* with so the output isn't directly traceable to its intended purpose.
|
|
59
|
+
* When the list is exhausted, the anon reporter will use random strings
|
|
60
|
+
* patterned after the original file name in stead. The list is empty
|
|
61
|
+
* by default.
|
|
62
|
+
*
|
|
63
|
+
* Read more in https://github.com/sverweij/dependency-cruiser/blob/main/doc/cli.md#anon---obfuscated-json",
|
|
64
|
+
*/
|
|
65
|
+
wordlist?: string[];
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
export interface IDotReporterOptions {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
69
|
+
/**
|
|
70
|
+
* Regular expressions to collapse to. For the "dot" reporter defaults
|
|
71
|
+
* to null, but "node_modules/[^/]+" is recommended for most use cases.
|
|
72
|
+
*/
|
|
73
|
+
collapsePattern?: string | string[];
|
|
74
|
+
/**
|
|
75
|
+
* filters to apply to the reporter before rendering it (e.g. to leave
|
|
76
|
+
* out details from the graphical output that are not relevant for the
|
|
77
|
+
* goal of the report)
|
|
78
|
+
*/
|
|
79
|
+
filters?: IReporterFiltersType;
|
|
80
|
+
/**
|
|
81
|
+
* When passed the value 'true', shows instability metrics in the
|
|
82
|
+
* output if dependency-cruiser calculated them. Doesn't show them
|
|
83
|
+
* in all other cases. Defaults to false",
|
|
84
|
+
*/
|
|
85
|
+
showMetrics?: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* A bunch of criteria to (conditionally) theme the dot output
|
|
88
|
+
*/
|
|
89
|
+
theme?: IDotTheme;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
export interface IDotTheme {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
93
|
+
/**
|
|
94
|
+
* If passed with the value 'true', the passed theme replaces the default
|
|
95
|
+
* one. In all other cases it extends the default theme
|
|
96
|
+
*/
|
|
97
|
+
replace?: boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Name- value pairs of GraphViz dot (global) attributes.
|
|
100
|
+
*/
|
|
101
|
+
graph?: any;
|
|
102
|
+
/**
|
|
103
|
+
* Name- value pairs of GraphViz dot node attributes.
|
|
104
|
+
*/
|
|
105
|
+
node?: any;
|
|
106
|
+
/**
|
|
107
|
+
* Name- value pairs of GraphViz dot edge attributes.
|
|
108
|
+
*/
|
|
109
|
+
edge?: any;
|
|
110
|
+
/**
|
|
111
|
+
* List of criteria and attributes to apply for modules when the criteria are
|
|
112
|
+
* met. Conditions can use any module attribute. Attributes can be any
|
|
113
|
+
* that are valid in GraphViz dot nodes.
|
|
114
|
+
*/
|
|
115
|
+
modules?: IDotThemeEntry[];
|
|
116
|
+
/**
|
|
117
|
+
* List of criteria and attributes to apply for dependencies when the criteria
|
|
118
|
+
* are met. Conditions can use any dependency attribute. Attributes can be any
|
|
119
|
+
* that are valid in GraphViz dot edges.
|
|
120
|
+
*/
|
|
121
|
+
dependencies?: IDotThemeEntry[];
|
|
122
122
|
}
|
|
123
123
|
|
|
124
124
|
export interface IDotThemeEntry {
|
|
125
|
-
|
|
126
|
-
|
|
125
|
+
criteria: any;
|
|
126
|
+
attributes: any;
|
|
127
127
|
}
|
|
128
128
|
|
|
129
129
|
export interface IMetricsReporterOptions {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
130
|
+
hideModules?: boolean;
|
|
131
|
+
hideFolders?: boolean;
|
|
132
|
+
oderBy?: MetricsOrderByType;
|
|
133
133
|
}
|
|
134
134
|
|
|
135
135
|
export interface IMarkdownReporterOptions {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
136
|
+
/**
|
|
137
|
+
* Whether or not to show a title in the report. Defaults to true.
|
|
138
|
+
*/
|
|
139
|
+
showTitle?: boolean;
|
|
140
|
+
/**
|
|
141
|
+
* The text to show as a title of the report. E.g.
|
|
142
|
+
* '## dependency-cruiser forbidden dependency check - results'.
|
|
143
|
+
* When left out shows a default value.
|
|
144
|
+
*/
|
|
145
|
+
title?: string;
|
|
146
|
+
/**
|
|
147
|
+
* Whether or not to show a summary in the report. Defaults to true.
|
|
148
|
+
*/
|
|
149
|
+
showSummary?: boolean;
|
|
150
|
+
/**
|
|
151
|
+
* Whether or not to give the summary a header. Defaults to true.
|
|
152
|
+
*/
|
|
153
|
+
showSummaryHeader?: boolean;
|
|
154
|
+
/**
|
|
155
|
+
* The text to show as a header on top of the summary. E.g. '### Summary'"
|
|
156
|
+
* When left out shows a default value.
|
|
157
|
+
*/
|
|
158
|
+
summaryHeader?: string;
|
|
159
|
+
/**
|
|
160
|
+
* Whether or not to show high level stats in the summary. Defaults to true.
|
|
161
|
+
*/
|
|
162
|
+
showStatsSummary?: boolean;
|
|
163
|
+
/**
|
|
164
|
+
* Whether or not to show a list of violated rules in the summary. Defaults to true.
|
|
165
|
+
*/
|
|
166
|
+
showRulesSummary?: boolean;
|
|
167
|
+
/**
|
|
168
|
+
* Whether or not to show rules in the list of rules for which all violations are ignored.
|
|
169
|
+
* Defaults to true.
|
|
170
|
+
*/
|
|
171
|
+
includeIgnoredInSummary?: boolean;
|
|
172
|
+
/**
|
|
173
|
+
* Whether or not to show a detailed list of violations. Defaults to true.
|
|
174
|
+
*/
|
|
175
|
+
showDetails?: boolean;
|
|
176
|
+
/**
|
|
177
|
+
* Whether or not to show ignored violations in the detailed list. Defaults to true.
|
|
178
|
+
*/
|
|
179
|
+
includeIgnoredInDetails?: boolean;
|
|
180
|
+
/**
|
|
181
|
+
* Whether or not to give the detailed list of violations a header. Defaults to true.
|
|
182
|
+
*/
|
|
183
|
+
showDetailsHeader?: boolean;
|
|
184
|
+
/**
|
|
185
|
+
* The text to show as a header on top of the detailed list of violations. E.g. '### All violations'
|
|
186
|
+
* When left out shows a default value.
|
|
187
|
+
*/
|
|
188
|
+
detailsHeader?: boolean;
|
|
189
|
+
/**
|
|
190
|
+
* Whether or not to collapse the list of violations in a <details> block. Defaults to true.
|
|
191
|
+
*/
|
|
192
|
+
collapseDetails?: boolean;
|
|
193
|
+
/**
|
|
194
|
+
* The text to in the <summary> section of the <details> block. E.g. 'click to see all violations'
|
|
195
|
+
* When left out shows a default value.
|
|
196
|
+
*/
|
|
197
|
+
collapsedMessage?: string;
|
|
198
|
+
/**
|
|
199
|
+
* The text to show when no violations were found. E.g. 'No violations found'.
|
|
200
|
+
* When left out shows a default value.
|
|
201
|
+
*/
|
|
202
|
+
noViolationsMessage?: string;
|
|
203
|
+
/**
|
|
204
|
+
* Whether or not to show a footer (with version & run date) at the bottom of the report.
|
|
205
|
+
* Defaults to true
|
|
206
|
+
*/
|
|
207
|
+
showFooter?: boolean;
|
|
208
208
|
}
|
|
209
209
|
|
|
210
210
|
export interface IMermaidReporterOptions {
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
211
|
+
/**
|
|
212
|
+
* Whether or not to compresses the output text. Defaults to true.
|
|
213
|
+
*/
|
|
214
|
+
minify?: boolean;
|
|
215
215
|
}
|
|
216
216
|
|
|
217
217
|
export interface ITextReporterOptions {
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
218
|
+
/**
|
|
219
|
+
* Whether or not to highlight modules that are focused with the --focus
|
|
220
|
+
* command line option (/ general option). Defaults to false
|
|
221
|
+
*/
|
|
222
|
+
highlightFocused?: boolean;
|
|
223
223
|
}
|
|
224
224
|
|
|
225
225
|
export type MetricsOrderByType =
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
226
|
+
| "instability"
|
|
227
|
+
| "moduleCount"
|
|
228
|
+
| "afferentCouplings"
|
|
229
|
+
| "efferentCouplings"
|
|
230
|
+
| "name";
|
|
@@ -7,28 +7,28 @@ import type { ResolveOptions, CachedInputFileSystem } from "enhanced-resolve";
|
|
|
7
7
|
* purposes
|
|
8
8
|
*/
|
|
9
9
|
interface IResolveOptions extends ResolveOptions {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
10
|
+
/**
|
|
11
|
+
*
|
|
12
|
+
* Without bustTheCache (or with the value `false`) the resolver
|
|
13
|
+
* is initialized only once per session. If the attribute
|
|
14
|
+
* equals `true` the resolver is initialized on each call
|
|
15
|
+
* (which is slower, but might is useful in some situations,
|
|
16
|
+
* like in executing unit tests that verify if different
|
|
17
|
+
* passed options yield different results))
|
|
18
|
+
*/
|
|
19
|
+
bustTheCache?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* We're exclusively using CachedInputFileSystem, hence the
|
|
22
|
+
* rude override
|
|
23
|
+
*/
|
|
24
|
+
fileSystem: CachedInputFileSystem;
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
26
|
+
/**
|
|
27
|
+
* If true also tries to find out whether an external dependency has
|
|
28
|
+
* been deprecated. Flagged because that's a relatively expensive
|
|
29
|
+
* operation. Typically there's no need to set it as dependency-cruiser
|
|
30
|
+
* will derive this from the rule set (if there's at least one rule
|
|
31
|
+
* looking for deprecations it flips this flag to true)
|
|
32
|
+
*/
|
|
33
|
+
resolveDeprecations: boolean;
|
|
34
34
|
}
|