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
package/types/options.d.mts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { IBaselineViolations } from "./baseline-violations.mjs";
|
|
2
2
|
import type { ICacheOptions } from "./cache-options.mjs";
|
|
3
3
|
import type {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
IDoNotFollowType,
|
|
5
|
+
IExcludeType,
|
|
6
|
+
IFocusType,
|
|
7
|
+
IHighlightType,
|
|
8
|
+
IIncludeOnlyType,
|
|
9
|
+
IReachesType,
|
|
10
10
|
} from "./filter-types.mjs";
|
|
11
11
|
import type { IReporterOptions } from "./reporter-options.mjs";
|
|
12
12
|
import type { IFlattenedRuleSet } from "./rule-set.mjs";
|
|
@@ -14,18 +14,18 @@ import type { ModuleSystemType, OutputType } from "./shared-types.mjs";
|
|
|
14
14
|
|
|
15
15
|
export type ExternalModuleResolutionStrategyType = "node_modules" | "yarn-pnp";
|
|
16
16
|
export type ProgressType =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
| "cli-feedback"
|
|
18
|
+
| "performance-log"
|
|
19
|
+
| "ndjson"
|
|
20
|
+
| "none";
|
|
21
21
|
export type ParserType = "acorn" | "tsc" | "swc";
|
|
22
22
|
|
|
23
23
|
export interface ITsConfig {
|
|
24
|
-
|
|
24
|
+
fileName?: string;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
export interface IBabelConfig {
|
|
28
|
-
|
|
28
|
+
fileName?: string;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
/**
|
|
@@ -37,438 +37,438 @@ export type WebpackEnvType = { [key: string]: any } | string;
|
|
|
37
37
|
* The webpack configuration options used for the cruise
|
|
38
38
|
*/
|
|
39
39
|
export interface IWebpackConfig {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
40
|
+
/**
|
|
41
|
+
* The arguments used
|
|
42
|
+
*/
|
|
43
|
+
arguments?: { [key: string]: any };
|
|
44
|
+
/**
|
|
45
|
+
* The 'env' parameters passed
|
|
46
|
+
*/
|
|
47
|
+
env?: WebpackEnvType;
|
|
48
|
+
/**
|
|
49
|
+
* The name of the webpack configuration file used
|
|
50
|
+
*/
|
|
51
|
+
fileName?: string;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
export interface ICruiseOptions {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
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
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
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
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
55
|
+
/**
|
|
56
|
+
* if true, will attempt to validate with the rules in ruleSet.
|
|
57
|
+
* Default false.
|
|
58
|
+
*/
|
|
59
|
+
validate?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* An object containing the rules to validate against.
|
|
62
|
+
*
|
|
63
|
+
* This ain't in none of the json schemas, but is used internally _instead_
|
|
64
|
+
* of the rule set defined on global configuration level. Judo
|
|
65
|
+
* (a.o. flattening out extended rule sets) done in ../src/cli/normalize-cli-options.mjs
|
|
66
|
+
*/
|
|
67
|
+
ruleSet?: IFlattenedRuleSet;
|
|
68
|
+
/**
|
|
69
|
+
* The (root) configuration file the cruise options came from.
|
|
70
|
+
*/
|
|
71
|
+
rulesFile?: string;
|
|
72
|
+
/**
|
|
73
|
+
* regular expression describing which dependencies the function
|
|
74
|
+
* should cruise, but not resolve or follow any further
|
|
75
|
+
*
|
|
76
|
+
* ... or conditions that describe what dependencies not to follow
|
|
77
|
+
*/
|
|
78
|
+
doNotFollow?: string | string[] | IDoNotFollowType;
|
|
79
|
+
/**
|
|
80
|
+
* regular expression describing which dependencies the function
|
|
81
|
+
* should not cruise
|
|
82
|
+
*/
|
|
83
|
+
exclude?: string | string[] | IExcludeType;
|
|
84
|
+
/**
|
|
85
|
+
* regular expression describing which dependencies the function
|
|
86
|
+
* should cruise - anything not matching this will be skipped
|
|
87
|
+
*/
|
|
88
|
+
includeOnly?: string | string[] | IIncludeOnlyType;
|
|
89
|
+
/**
|
|
90
|
+
* dependency-cruiser will include modules matching this regular expression
|
|
91
|
+
* in its output, as well as their neighbours (direct dependencies and
|
|
92
|
+
* dependents)
|
|
93
|
+
*/
|
|
94
|
+
focus?: string | string[] | IFocusType;
|
|
95
|
+
/**
|
|
96
|
+
* dependency-cruiser will include modules matching this regular expression
|
|
97
|
+
* in its output, as well as _any_ module that reaches them - either directly
|
|
98
|
+
* or via via.
|
|
99
|
+
*/
|
|
100
|
+
reaches?: string | string[] | IReachesType;
|
|
101
|
+
/**
|
|
102
|
+
* dependency-cruiser will mark modules that have changed since the
|
|
103
|
+
* specified revision (or 'main', when not specified) in its output,
|
|
104
|
+
* as well as _any_ module that reaches them - either directly or via via.
|
|
105
|
+
*
|
|
106
|
+
* NOTE: this is currently a command line _only_ option, so if you pass this
|
|
107
|
+
* to the API or in a configuration file it will be ignored.
|
|
108
|
+
*/
|
|
109
|
+
affected?: string | boolean;
|
|
110
|
+
/**
|
|
111
|
+
* dependency-cruiser will mark modules matching this regular expression
|
|
112
|
+
* as 'highlighted' in its output
|
|
113
|
+
*/
|
|
114
|
+
highlight?: string | string[] | IHighlightType;
|
|
115
|
+
/*
|
|
116
|
+
* baseline of known validations. Typically you'd specify these in a file called
|
|
117
|
+
* .dependency-cruiser-known-violations.json (which you'd generate with the --outputType
|
|
118
|
+
* 'baseline') - and which is easy to keep up to date. In a pinch you can specify
|
|
119
|
+
* them here as well. The known violations in .dependency-cruiser-known-violations.json
|
|
120
|
+
* always take precedence.
|
|
121
|
+
*/
|
|
122
|
+
knownViolations?: IBaselineViolations;
|
|
123
|
+
/**
|
|
124
|
+
* collapse a to a folder depth by passing a single digit (e.g. 2).
|
|
125
|
+
* When passed a regex collapse to that pattern
|
|
126
|
+
*
|
|
127
|
+
* E.g. ^packages/[^/]+/ would collapse to modules/ folders directly under
|
|
128
|
+
* your packages folder.
|
|
129
|
+
*/
|
|
130
|
+
collapse?: string | number;
|
|
131
|
+
/**
|
|
132
|
+
* the maximum depth to cruise; 0 <= n <= 99
|
|
133
|
+
* (default: 0, which means 'infinite depth')
|
|
134
|
+
* While it might look attractive to regulate the size of the output, this is
|
|
135
|
+
* not the best option to do so.
|
|
136
|
+
*
|
|
137
|
+
* Filters (exclude, includeOnly, focus), the dot and archi reporter's collapsePattern
|
|
138
|
+
* and the collapse options offer better, more reliable and more
|
|
139
|
+
* understandable results.
|
|
140
|
+
*/
|
|
141
|
+
maxDepth?: number | string;
|
|
142
|
+
/**
|
|
143
|
+
* an array of module systems to use for following dependencies;
|
|
144
|
+
* defaults to ["es6", "cjs", "amd"]
|
|
145
|
+
*/
|
|
146
|
+
moduleSystems?: ModuleSystemType[];
|
|
147
|
+
/**
|
|
148
|
+
* When true, dependency-cruiser will detect dependencies in JSDoc-style
|
|
149
|
+
* import statements. Implies `"parser": "tsc"`. Defaults to false.'
|
|
150
|
+
*/
|
|
151
|
+
detectJSDocImports?: boolean;
|
|
152
|
+
/**
|
|
153
|
+
* When true, dependency-cruiser will detect calls to `process.getBuiltinModule`/
|
|
154
|
+
* `globalThis.process.getBuiltinModule` as imports.
|
|
155
|
+
* Defaults to false.
|
|
156
|
+
*/
|
|
157
|
+
detectProcessBuiltinModuleCalls?: boolean;
|
|
158
|
+
/**
|
|
159
|
+
* one of "json", "html", "dot", "csv" or "err". When left
|
|
160
|
+
* out the function will return a javascript object as dependencies
|
|
161
|
+
*/
|
|
162
|
+
outputType?: OutputType;
|
|
163
|
+
/**
|
|
164
|
+
* Where the output of the cruise is to be sent to. '-' (the default)
|
|
165
|
+
* denotes stdout.
|
|
166
|
+
*
|
|
167
|
+
* Echoed in the result schema, but not used internally otherwise.
|
|
168
|
+
*/
|
|
169
|
+
outputTo?: string;
|
|
170
|
+
/**
|
|
171
|
+
* The arguments used on the command line
|
|
172
|
+
*
|
|
173
|
+
* Echoed in the result schema, but not used internally otherwise.
|
|
174
|
+
*/
|
|
175
|
+
args?: string;
|
|
176
|
+
/**
|
|
177
|
+
* The directory dependency-cruiser should run its cruise from. Defaults
|
|
178
|
+
* to the current working directory.
|
|
179
|
+
*/
|
|
180
|
+
baseDir?: string;
|
|
181
|
+
/**
|
|
182
|
+
* a string to insert before links (in dot/ svg output) so with
|
|
183
|
+
* cruising local dependencies it is possible to point to sources
|
|
184
|
+
* elsewhere (e.g. in an online repository)
|
|
185
|
+
*/
|
|
186
|
+
prefix?: string;
|
|
187
|
+
/**
|
|
188
|
+
* if true detect dependencies that only exist before
|
|
189
|
+
* typescript-to-javascript compilation.
|
|
190
|
+
*/
|
|
191
|
+
tsPreCompilationDeps?: boolean | "specify";
|
|
192
|
+
/**
|
|
193
|
+
* List of extensions to scan _in addition_ to the extensions already
|
|
194
|
+
* covered by any available parser. Dependency-cruiser will consider files
|
|
195
|
+
* ending in these extensions but it will _not_ examine its content or
|
|
196
|
+
* derive any of their dependencies
|
|
197
|
+
* Sample value: [".jpg", ".png", ".json"]
|
|
198
|
+
*/
|
|
199
|
+
extraExtensionsToScan?: string[];
|
|
200
|
+
/**
|
|
201
|
+
* if true leave symlinks untouched, otherwise use the realpath.
|
|
202
|
+
* Defaults to `false` (which is also nodejs's default behavior
|
|
203
|
+
* since version 6)
|
|
204
|
+
*/
|
|
205
|
+
preserveSymlinks?: boolean;
|
|
206
|
+
/**
|
|
207
|
+
* The way to resolve external modules - either via node_modules
|
|
208
|
+
* ('node_modules') or yarn plug and play ('yarn-pnp').
|
|
209
|
+
*
|
|
210
|
+
* Defaults to 'node_modules'
|
|
211
|
+
* @deprecated now works automatically
|
|
212
|
+
*/
|
|
213
|
+
externalModuleResolutionStrategy?: ExternalModuleResolutionStrategyType;
|
|
214
|
+
/**
|
|
215
|
+
* Options to tweak what dependency-cruiser considers 'built-in' modules. If
|
|
216
|
+
* you're targeting nodejs, or don't use any built-in modules you can probably
|
|
217
|
+
* leave this alone.
|
|
218
|
+
*/
|
|
219
|
+
builtInModules?: {
|
|
220
|
+
/**
|
|
221
|
+
* List of module names that are to be considered as 'built-in'. By default dependency-cruiser
|
|
222
|
+
* uses the list of built-ins from nodejs. If you code for another environment (e.g. the
|
|
223
|
+
* browser) and you use shims for nodejs builtins like 'path' from node_modules, you could
|
|
224
|
+
* pass an empty array here. If you want to just add a couple of extra built-ins to
|
|
225
|
+
* the default list, use the 'add' attribute instead.
|
|
226
|
+
*/
|
|
227
|
+
override: string[];
|
|
228
|
+
/**
|
|
229
|
+
* List of module names that are to be considered as 'built-in' in addition to the default
|
|
230
|
+
* list of the environment you're currently in. Use this e.g. if you're writing
|
|
231
|
+
* electron code and want to add 'electron' as built-in.
|
|
232
|
+
*/
|
|
233
|
+
add: string[];
|
|
234
|
+
};
|
|
235
|
+
/**
|
|
236
|
+
* @deprecated
|
|
237
|
+
*
|
|
238
|
+
* Hasn't had any effect on dependency-cruiser's behaviour since a few major
|
|
239
|
+
* versions ago. If there's a need to manipulate this use the `skipAnalysisNotInRules`
|
|
240
|
+
* option in stead.
|
|
241
|
+
*
|
|
242
|
+
* Previously documented behavior:
|
|
243
|
+
* > When true includes denormalized dependents in the cruise-result, even
|
|
244
|
+
* > though there's no rule in the rule set that requires them. Defaults to false.
|
|
245
|
+
*/
|
|
246
|
+
forceDeriveDependents?: boolean;
|
|
247
|
+
/**
|
|
248
|
+
* if true combines the package.jsons found from the module up to the base
|
|
249
|
+
* folder the cruise is initiated from. Useful for how (some) mono-repos
|
|
250
|
+
* manage dependencies & dependency definitions.
|
|
251
|
+
*
|
|
252
|
+
* Defaults to `false`.
|
|
253
|
+
*/
|
|
254
|
+
combinedDependencies?: boolean;
|
|
255
|
+
/*
|
|
256
|
+
* List of strings you have in use in addition to cjs/ es6 requires
|
|
257
|
+
* & imports to declare module dependencies. Use this e.g. if you've
|
|
258
|
+
* re-declared require (`const want = require`), use a require-wrapper
|
|
259
|
+
* (like semver-try-require) or use window.require as a hack
|
|
260
|
+
*
|
|
261
|
+
* Defaults to `[]`
|
|
262
|
+
*/
|
|
263
|
+
exoticRequireStrings?: string[];
|
|
264
|
+
/**
|
|
265
|
+
* Options to tweak the output of reporters
|
|
266
|
+
*/
|
|
267
|
+
reporterOptions?: IReporterOptions;
|
|
268
268
|
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
269
|
+
/**
|
|
270
|
+
* TypeScript project file ('tsconfig.json') to use for (1) compilation
|
|
271
|
+
* and (2) resolution (e.g. with the paths property)",
|
|
272
|
+
*/
|
|
273
|
+
tsConfig?: ITsConfig;
|
|
274
274
|
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
275
|
+
/**
|
|
276
|
+
* Webpack configuration to use to get resolve options from
|
|
277
|
+
*/
|
|
278
|
+
webpackConfig?: IWebpackConfig;
|
|
279
279
|
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
280
|
+
/**
|
|
281
|
+
* Babel configuration (e.g. '.babelrc.json') to use.
|
|
282
|
+
*/
|
|
283
|
+
babelConfig?: IBabelConfig;
|
|
284
284
|
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
285
|
+
/**
|
|
286
|
+
* Overrides the parser dependency-cruiser will use - EXPERIMENTAL
|
|
287
|
+
*
|
|
288
|
+
* Note that you'll _very_ likely not need this - dependency-cruiser will
|
|
289
|
+
* typically sort out what the best parser for the job is out of the ones
|
|
290
|
+
* available
|
|
291
|
+
*/
|
|
292
|
+
parser?: ParserType;
|
|
293
293
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
294
|
+
/**
|
|
295
|
+
* Options used in module resolution that for dependency-cruiser's
|
|
296
|
+
* use cannot go in a webpack config.
|
|
297
|
+
*/
|
|
298
|
+
enhancedResolveOptions?: {
|
|
299
|
+
/**
|
|
300
|
+
* "List of strings to consider as 'exports' fields in package.json. Use
|
|
301
|
+
* `['exports']` when you use packages that use such a field and your environment
|
|
302
|
+
* supports it (e.g. node ^12.19 || >=14.7 or recent versions of webpack).
|
|
303
|
+
*/
|
|
304
|
+
exportsFields?: string[];
|
|
305
|
+
/**
|
|
306
|
+
* List of conditions to check for in the exports field. e.g. use `['imports']`
|
|
307
|
+
* if you're only interested in exposed es6 modules, `['require']` for commonjs,
|
|
308
|
+
* or all conditions at once (`['import', 'require', 'node', 'default']`)
|
|
309
|
+
* if anything goes for you. Only works when the 'exportsFields' array is non-empty
|
|
310
|
+
*/
|
|
311
|
+
conditionNames?: string[];
|
|
312
|
+
/**
|
|
313
|
+
* List of extensions to scan for when resolving. Typically you want to leave
|
|
314
|
+
* this alone as dependency-cruiser figures out what extensions to scan based
|
|
315
|
+
* on
|
|
316
|
+
* 1. what is available in your environment,
|
|
317
|
+
* 2. in the order your environment (nodejs, typescript) applies the resolution itself.
|
|
318
|
+
*
|
|
319
|
+
* However if you want it to scan less you can specify so with the extensions
|
|
320
|
+
* attribute. E.g. when you're 100% sure you _only_ have typescript & json
|
|
321
|
+
* and nothing else you can pass `['.ts', '.json']` - which can lead to performance
|
|
322
|
+
* gains on systems with slow i/o (like ms-windows), especially when your
|
|
323
|
+
* tsconfig contains paths/ aliases.
|
|
324
|
+
*/
|
|
325
|
+
extensions?: string[];
|
|
326
|
+
/**
|
|
327
|
+
* A list of main fields in manifests (package.json s). Typically you'd want
|
|
328
|
+
* to keep leave this this on its default (['main']) , but if you e.g. use
|
|
329
|
+
* external packages that only expose types, and you still want references
|
|
330
|
+
* to these types to be resolved you could expand this to
|
|
331
|
+
* ['main', 'types', 'typings']
|
|
332
|
+
*/
|
|
333
|
+
mainFields?: string[];
|
|
334
|
+
/**
|
|
335
|
+
* A list of files to consider 'main' files, defaults to ['index']. Only set
|
|
336
|
+
* this when you have really special needs that warrant it.
|
|
337
|
+
*/
|
|
338
|
+
mainFiles?: string[];
|
|
339
|
+
/**
|
|
340
|
+
* A list of alias fields in manifests (package.jsons).
|
|
341
|
+
* Specify a field, such as browser, to be parsed according to
|
|
342
|
+
* [this specification](https://github.com/defunctzombie/package-browser-field-spec).
|
|
343
|
+
* Also see [resolve.alias](https://webpack.js.org/configuration/resolve/#resolvealiasfields)
|
|
344
|
+
* in the webpack docs.
|
|
345
|
+
*
|
|
346
|
+
* Defaults to an empty array (don't use any alias fields).
|
|
347
|
+
*/
|
|
348
|
+
aliasFields?: string[];
|
|
349
|
+
/**
|
|
350
|
+
* Options to pass to the resolver (webpack's 'enhanced resolve') regarding
|
|
351
|
+
* caching.
|
|
352
|
+
*/
|
|
353
|
+
cachedInputFileSystem?: {
|
|
354
|
+
/**
|
|
355
|
+
* The number of milliseconds [enhanced-resolve](webpack/enhanced-resolve)'s
|
|
356
|
+
* cached file system should use for cache duration. Typically you won't
|
|
357
|
+
* have to touch this - the default works well for repos up to 5000 modules/
|
|
358
|
+
* 20000 dependencies, and likely for numbers above as well.
|
|
359
|
+
*
|
|
360
|
+
* If you experience memory problems on a (humongous) repository you can
|
|
361
|
+
* use the cacheDuration attribute to tame enhanced-resolve's memory
|
|
362
|
+
* usage by lowering the cache duration trading off against some (for
|
|
363
|
+
* values over 1000ms) or significant (for values below 500ms) performance.
|
|
364
|
+
*
|
|
365
|
+
* Dependency-cruiser currently uses 1000ms, and in the past has
|
|
366
|
+
* used 4000ms - both with good results.
|
|
367
|
+
*/
|
|
368
|
+
cacheDuration: number;
|
|
369
|
+
};
|
|
370
|
+
};
|
|
371
371
|
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
372
|
+
/**
|
|
373
|
+
* Whether or not to show progress feedback when the command line
|
|
374
|
+
* app is running.
|
|
375
|
+
*/
|
|
376
|
+
progress?: {
|
|
377
|
+
/**
|
|
378
|
+
* The type of progress to show; `none` to not show anything at all;
|
|
379
|
+
* `cli-feedback` to show a progress bar on stderr that disappears when
|
|
380
|
+
* processing is done or `performance-log` to print timings and memory usage
|
|
381
|
+
* of each major step to stderr.
|
|
382
|
+
*/
|
|
383
|
+
type: ProgressType;
|
|
384
|
+
/**
|
|
385
|
+
* The maximum log level to emit messages at. Ranges from OFF (-1, don't " +
|
|
386
|
+
* show any messages), via SUMMARY (40), INFO (50), DEBUG (60) all the " +
|
|
387
|
+
* way to show ALL messages (99)."
|
|
388
|
+
*/
|
|
389
|
+
maximumLevel?: -1 | 40 | 50 | 60 | 70 | 80 | 99;
|
|
390
|
+
};
|
|
391
391
|
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
392
|
+
/**
|
|
393
|
+
* When this flag is set to true, dependency-cruiser will calculate (stability) metrics
|
|
394
|
+
* for all modules and folders. Defaults to false.
|
|
395
|
+
*/
|
|
396
|
+
metrics?: boolean;
|
|
397
397
|
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
398
|
+
/**
|
|
399
|
+
* When this flag is set to true, dependency-cruiser will calculate some
|
|
400
|
+
* stats for each module. Has some performance impact. EXPERIMENTAL
|
|
401
|
+
* Will be renamed when the 'experimental' state is lifted.
|
|
402
|
+
*
|
|
403
|
+
* Defaults to false.
|
|
404
|
+
*/
|
|
405
|
+
experimentalStats?: boolean;
|
|
406
406
|
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
407
|
+
/**
|
|
408
|
+
* When this flag is set to true, dependency-cruiser will skip all analysis
|
|
409
|
+
* that don't serve a rule. E.g. if there's no 'circular' rule in the rule set
|
|
410
|
+
* it won't analyse cycles. This flag affects cycle, dependents, orphan, and
|
|
411
|
+
* reachability analysis. If you have a rule set that doesn't use one of these
|
|
412
|
+
* features, switching it to true will make cruises faster.
|
|
413
|
+
*
|
|
414
|
+
* Defaults to false for backwards compatibility - for most uses of
|
|
415
|
+
* dependency-cruiser we recommend to switch this option to true, though.
|
|
416
|
+
*/
|
|
417
|
+
skipAnalysisNotInRules?: boolean;
|
|
418
418
|
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
419
|
+
/**
|
|
420
|
+
* - false: don't use caching.
|
|
421
|
+
* - true or empty object: use caching with the default settings
|
|
422
|
+
* - a string (deprecated): cache in the folder denoted by the string & use the
|
|
423
|
+
* default caching strategy. This is deprecated - instead pass a cache object
|
|
424
|
+
* e.g. ```{ folder: 'your/cache/location' }```
|
|
425
|
+
*
|
|
426
|
+
* Defaults to false.
|
|
427
|
+
* When caching is switched on the default cache folder is 'node_modules/.cache/dependency-cruiser/'
|
|
428
|
+
*/
|
|
429
|
+
cache?: boolean | string | Partial<ICacheOptions>;
|
|
430
430
|
}
|
|
431
431
|
|
|
432
432
|
export interface IFormatOptions {
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
433
|
+
/**
|
|
434
|
+
* regular expression describing which dependencies the function
|
|
435
|
+
* should not cruise
|
|
436
|
+
*/
|
|
437
|
+
exclude?: string | string[] | IExcludeType;
|
|
438
|
+
/**
|
|
439
|
+
* regular expression describing which dependencies the function
|
|
440
|
+
* should cruise - anything not matching this will be skipped
|
|
441
|
+
*/
|
|
442
|
+
includeOnly?: string | string[] | IIncludeOnlyType;
|
|
443
|
+
/**
|
|
444
|
+
* dependency-cruiser will include modules matching this regular expression
|
|
445
|
+
* in its output, as well as their neighbours (direct dependencies and
|
|
446
|
+
* dependents)
|
|
447
|
+
*/
|
|
448
|
+
focus?: string | string[] | IFocusType;
|
|
449
|
+
/**
|
|
450
|
+
* dependency-cruiser will include modules matching this regular expression
|
|
451
|
+
* in its output, as well as _any_ module that reaches them - either directly
|
|
452
|
+
* or via via.
|
|
453
|
+
*/
|
|
454
|
+
reaches?: string | string[] | IReachesType;
|
|
455
|
+
/**
|
|
456
|
+
* collapse a to a folder depth by passing a single digit (e.g. 2).
|
|
457
|
+
* When passed a regex collapse to that pattern
|
|
458
|
+
*
|
|
459
|
+
* E.g. ^packages/[^/]+/ would collapse to modules/ folders directly under
|
|
460
|
+
* your packages folder.
|
|
461
|
+
*/
|
|
462
|
+
collapse?: string | number;
|
|
463
|
+
/**
|
|
464
|
+
* one of "json", "html", "dot", "csv" or "err". When left
|
|
465
|
+
* out the function will return a javascript object as dependencies
|
|
466
|
+
*/
|
|
467
|
+
outputType?: OutputType;
|
|
468
|
+
/**
|
|
469
|
+
* a string to insert before links (in dot/ svg output) so with
|
|
470
|
+
* cruising local dependencies it is possible to point to sources
|
|
471
|
+
* elsewhere (e.g. in an online repository)
|
|
472
|
+
*/
|
|
473
|
+
prefix?: string;
|
|
474
474
|
}
|