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/restrictions.d.mts
CHANGED
|
@@ -1,195 +1,195 @@
|
|
|
1
1
|
import type { DependencyType } from "./shared-types.mjs";
|
|
2
2
|
|
|
3
3
|
export type MiniDependencyRestrictionType =
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
4
|
+
| string
|
|
5
|
+
| string[]
|
|
6
|
+
| {
|
|
7
|
+
/**
|
|
8
|
+
* A regular expression or an array of regular expressions the
|
|
9
|
+
* 'via' module should match to be caught by this rule.
|
|
10
|
+
*/
|
|
11
|
+
path?: string | string[];
|
|
12
|
+
/**
|
|
13
|
+
* A regular expression or an array of regular expressions the
|
|
14
|
+
* 'via' module should match to be caught by this rule.
|
|
15
|
+
*/
|
|
16
|
+
pathNot?: string | string[];
|
|
17
|
+
/**
|
|
18
|
+
* Which dependency types the dependency between this via and the
|
|
19
|
+
* previous one in the 'via chain' should have to be caught by
|
|
20
|
+
* this rule
|
|
21
|
+
*/
|
|
22
|
+
dependencyTypes?: DependencyType[];
|
|
23
|
+
/**
|
|
24
|
+
* Which dependency types the dependency between this via and the
|
|
25
|
+
* previous one in the 'via chain' should _not_ have to be caught by
|
|
26
|
+
* this rule
|
|
27
|
+
*/
|
|
28
|
+
dependencyTypesNot?: DependencyType[];
|
|
29
|
+
};
|
|
30
30
|
|
|
31
31
|
export interface IBaseRestrictionType {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
32
|
+
/**
|
|
33
|
+
* A regular expression or an array of regular expressions that select
|
|
34
|
+
* the modules this required rule should apply to.
|
|
35
|
+
*/
|
|
36
|
+
path?: string | string[];
|
|
37
|
+
/**
|
|
38
|
+
* A regular expression or an array of regular expressions that select
|
|
39
|
+
* the modules this required rule should not apply to (you can use this
|
|
40
|
+
* to make exceptions on the `path` attribute)
|
|
41
|
+
*/
|
|
42
|
+
pathNot?: string | string[];
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
export interface IFromRestriction extends IBaseRestrictionType {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
46
|
+
/**
|
|
47
|
+
* Whether or not to match when the module is an orphan (= has no incoming and no outgoing
|
|
48
|
+
* dependencies). When this property it is part of a rule, dependency-cruiser will
|
|
49
|
+
* ignore the 'to' part.
|
|
50
|
+
*/
|
|
51
|
+
orphan?: boolean;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
export interface IToRestriction extends IBaseRestrictionType {
|
|
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
|
-
|
|
55
|
+
/**
|
|
56
|
+
* Whether or not to match modules dependency-cruiser could not resolve (and probably
|
|
57
|
+
* aren't on disk). For this one too: leave out if you don't care either way.
|
|
58
|
+
*/
|
|
59
|
+
couldNotResolve?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Whether or not to match when following to the to will ultimately end up in the from.
|
|
62
|
+
*/
|
|
63
|
+
circular?: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* For circular dependencies - whether or not to match cycles that include
|
|
66
|
+
* some modules with this regular expression. If you want to match cycles that
|
|
67
|
+
* _exclusively_ include modules satisfying the regular expression use the viaOnly
|
|
68
|
+
* restriction.
|
|
69
|
+
* E.g. to allow all cycles
|
|
70
|
+
* except when they go through one specific module. Typically to temporarily
|
|
71
|
+
* disallow some cycles with a lower severity - setting up a rule with a via
|
|
72
|
+
* that ignores them in an 'allowed' section.
|
|
73
|
+
*/
|
|
74
|
+
via?: MiniDependencyRestrictionType;
|
|
75
|
+
/**
|
|
76
|
+
* "For circular dependencies - whether or not to match cycles that include
|
|
77
|
+
* exclusively modules with this regular expression. This is different from
|
|
78
|
+
* the regular via that already matches when only some of the modules in the
|
|
79
|
+
* cycle satisfy the regular expression
|
|
80
|
+
*/
|
|
81
|
+
viaOnly?: MiniDependencyRestrictionType;
|
|
82
|
+
/**
|
|
83
|
+
* For circular dependencies - whether or not to match cycles that include
|
|
84
|
+
* _only_ modules that don't satisfy this regular expression. E.g. to disallow all cycles,
|
|
85
|
+
* except when they go through one specific module. Typically to temporarily
|
|
86
|
+
* allow some cycles until they're removed.
|
|
87
|
+
* @deprecated use viaOnly.pathNot in stead
|
|
88
|
+
*/
|
|
89
|
+
viaNot?: string | string[];
|
|
90
|
+
/**
|
|
91
|
+
* "For circular dependencies - whether or not to match cycles that include
|
|
92
|
+
* _some_ modules that don't satisfy this regular expression.
|
|
93
|
+
* @deprecated use via.pathNot in stead
|
|
94
|
+
*/
|
|
95
|
+
viaSomeNot?: string | string[];
|
|
96
|
+
/**
|
|
97
|
+
* Whether or not to match when the dependency is a dynamic one.
|
|
98
|
+
*/
|
|
99
|
+
dynamic?: boolean;
|
|
100
|
+
/**
|
|
101
|
+
* Whether or not to match when the dependency is exotically required
|
|
102
|
+
*/
|
|
103
|
+
exoticallyRequired?: boolean;
|
|
104
|
+
/**
|
|
105
|
+
* A regular expression to match against any 'exotic' require strings
|
|
106
|
+
*/
|
|
107
|
+
exoticRequire?: string | string[];
|
|
108
|
+
/**
|
|
109
|
+
* A regular expression to match against any 'exotic' require strings - when it should NOT be caught by the rule
|
|
110
|
+
*/
|
|
111
|
+
exoticRequireNot?: string | string[];
|
|
112
|
+
/**
|
|
113
|
+
* true if this dependency only exists before compilation (like type only imports),
|
|
114
|
+
* false in all other cases. Only returned when the tsPreCompilationDeps is set to 'specify'.
|
|
115
|
+
*/
|
|
116
|
+
preCompilationOnly?: boolean;
|
|
117
|
+
/**
|
|
118
|
+
* Whether or not to match modules of any of these types (leaving out matches any of them)
|
|
119
|
+
*/
|
|
120
|
+
dependencyTypes?: DependencyType[];
|
|
121
|
+
/**
|
|
122
|
+
* Whether or not to match modules NOT of any of these types (leaving out
|
|
123
|
+
* matches none of them)"
|
|
124
|
+
*/
|
|
125
|
+
dependencyTypesNot?: DependencyType[];
|
|
126
|
+
/**
|
|
127
|
+
* If true matches dependencies with more than one dependency type (e.g. defined in
|
|
128
|
+
* _both_ npm and npm-dev)
|
|
129
|
+
*/
|
|
130
|
+
moreThanOneDependencyType?: boolean;
|
|
131
|
+
/**
|
|
132
|
+
* Whether or not to match modules that were released under one of the mentioned
|
|
133
|
+
* licenses. E.g. to flag GPL-1.0, GPL-2.0 licensed modules (e.g. because your app
|
|
134
|
+
* is not compatible with the GPL) use "GPL"
|
|
135
|
+
*/
|
|
136
|
+
license?: string | string[];
|
|
137
|
+
/**
|
|
138
|
+
* Whether or not to match modules that were NOT released under one of the mentioned
|
|
139
|
+
* licenses. E.g. to flag everything non MIT use "MIT" here
|
|
140
|
+
*/
|
|
141
|
+
licenseNot?: string | string[];
|
|
142
|
+
/**
|
|
143
|
+
* When set to true moreUnstable matches for any dependency that has a higher
|
|
144
|
+
* Instability than the module that depends on it. When set to false it matches
|
|
145
|
+
* when the opposite is true; the dependency has an equal or lower Instability.
|
|
146
|
+
*
|
|
147
|
+
* This attribute is useful when you want to check against Robert C. Martin's
|
|
148
|
+
* stable dependency * principle. See online documentation for examples and
|
|
149
|
+
* details.
|
|
150
|
+
*
|
|
151
|
+
* Leave this out when you don't care either way.
|
|
152
|
+
*/
|
|
153
|
+
moreUnstable?: boolean;
|
|
154
|
+
/**
|
|
155
|
+
* When set to true, matches when the dependency is in a folder above the " +
|
|
156
|
+
* folder of the module.
|
|
157
|
+
*/
|
|
158
|
+
ancestor?: boolean;
|
|
159
159
|
}
|
|
160
160
|
|
|
161
161
|
export interface IReachabilityToRestrictionType extends IBaseRestrictionType {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
162
|
+
/**
|
|
163
|
+
* Whether or not to match modules that aren't reachable from the from part of the rule.
|
|
164
|
+
*/
|
|
165
|
+
reachable: boolean;
|
|
166
166
|
}
|
|
167
167
|
|
|
168
168
|
export interface IRequiredToRestrictionType {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
169
|
+
/**
|
|
170
|
+
* A regular expression or an array of regular expressions at least
|
|
171
|
+
* one of the dependencies of the module should adhere to.
|
|
172
|
+
*/
|
|
173
|
+
path?: string | string[];
|
|
174
|
+
/**
|
|
175
|
+
* Whether or not to match transitive ('indirect') dependencies as well as direct ones.
|
|
176
|
+
*/
|
|
177
|
+
reachable?: boolean;
|
|
178
178
|
}
|
|
179
179
|
|
|
180
180
|
export interface IDependentsModuleRestrictionType extends IBaseRestrictionType {
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
181
|
+
/**
|
|
182
|
+
* Matches when the number of times the 'to' module is used falls below (<)
|
|
183
|
+
* this number. Caveat: only works in concert with path and pathNot restrictions
|
|
184
|
+
* in the from and to parts of the rule; other conditions will be ignored.
|
|
185
|
+
* E.g. to flag modules that are used only once or not at all, use 2 here.
|
|
186
|
+
*/
|
|
187
|
+
numberOfDependentsLessThan?: number;
|
|
188
|
+
/**
|
|
189
|
+
* Matches when the number of times the 'to' module is used rises above (<)
|
|
190
|
+
* this number. Caveat: only works in concert with path and pathNot restrictions
|
|
191
|
+
* in the from and to parts of the rule; other conditions will be ignored.
|
|
192
|
+
* E.g. to flag modules that are used more than 10 times, use 10 here.
|
|
193
|
+
*/
|
|
194
|
+
numberOfDependentsMoreThan?: number;
|
|
195
195
|
}
|