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.
Files changed (232) hide show
  1. package/bin/depcruise-baseline.mjs +43 -43
  2. package/bin/depcruise-fmt.mjs +89 -89
  3. package/bin/dependency-cruise.mjs +171 -171
  4. package/configs/plugins/3d-reporter-plugin.mjs +36 -36
  5. package/configs/plugins/stats-reporter-plugin.mjs +51 -51
  6. package/configs/recommended-strict.cjs +5 -5
  7. package/configs/recommended-warn-only.cjs +5 -5
  8. package/configs/recommended.cjs +22 -22
  9. package/configs/rules/no-circular.cjs +10 -10
  10. package/configs/rules/no-deprecated-core.cjs +10 -10
  11. package/configs/rules/no-duplicate-dependency-types.cjs +17 -17
  12. package/configs/rules/no-non-package-json.cjs +11 -11
  13. package/configs/rules/no-orphans.cjs +18 -18
  14. package/configs/rules/not-to-deprecated.cjs +10 -10
  15. package/configs/rules/not-to-unresolvable.cjs +10 -10
  16. package/package.json +170 -170
  17. package/src/cache/cache.mjs +139 -139
  18. package/src/cache/content-strategy.mjs +88 -88
  19. package/src/cache/find-content-changes.mjs +58 -58
  20. package/src/cache/helpers.mjs +52 -52
  21. package/src/cache/metadata-strategy.mjs +83 -83
  22. package/src/cache/options-compatible.mjs +56 -109
  23. package/src/cli/assert-node-environment-suitable.mjs +7 -7
  24. package/src/cli/defaults.mjs +5 -5
  25. package/src/cli/format-meta-info.mjs +22 -22
  26. package/src/cli/format.mjs +28 -28
  27. package/src/cli/index.mjs +145 -145
  28. package/src/cli/init-config/build-config.mjs +94 -94
  29. package/src/cli/init-config/environment-helpers.mjs +77 -77
  30. package/src/cli/init-config/find-extensions.mjs +27 -27
  31. package/src/cli/init-config/get-user-input.mjs +151 -151
  32. package/src/cli/init-config/index.mjs +88 -88
  33. package/src/cli/init-config/normalize-init-options.mjs +47 -47
  34. package/src/cli/init-config/utl.mjs +4 -4
  35. package/src/cli/init-config/validators.mjs +10 -10
  36. package/src/cli/init-config/write-config.mjs +21 -21
  37. package/src/cli/init-config/write-run-scripts-to-manifest.mjs +103 -107
  38. package/src/cli/listeners/cli-feedback.mjs +49 -49
  39. package/src/cli/listeners/ndjson.mjs +66 -66
  40. package/src/cli/listeners/performance-log/format-helpers.mjs +63 -63
  41. package/src/cli/listeners/performance-log/handlers.mjs +56 -56
  42. package/src/cli/listeners/performance-log/index.mjs +37 -37
  43. package/src/cli/normalize-cli-options.mjs +182 -182
  44. package/src/cli/tools/wrap-stream-in-html.mjs +37 -37
  45. package/src/cli/utl/assert-file-existence.mjs +7 -7
  46. package/src/cli/utl/io.mjs +28 -31
  47. package/src/config-utl/extract-babel-config.mjs +69 -69
  48. package/src/config-utl/extract-depcruise-config/index.mjs +54 -54
  49. package/src/config-utl/extract-depcruise-config/merge-configs.mjs +63 -63
  50. package/src/config-utl/extract-depcruise-config/read-config.mjs +9 -9
  51. package/src/config-utl/extract-depcruise-options.mjs +9 -9
  52. package/src/config-utl/extract-known-violations.mjs +49 -49
  53. package/src/config-utl/extract-ts-config.mjs +46 -48
  54. package/src/config-utl/extract-webpack-resolve-config.mjs +88 -88
  55. package/src/config-utl/make-absolute.mjs +5 -5
  56. package/src/enrich/add-validations.mjs +13 -13
  57. package/src/enrich/derive/circular.mjs +49 -49
  58. package/src/enrich/derive/dependents.mjs +27 -27
  59. package/src/enrich/derive/folders/aggregate-to-folders.mjs +104 -104
  60. package/src/enrich/derive/folders/index.mjs +19 -19
  61. package/src/enrich/derive/folders/utl.mjs +18 -18
  62. package/src/enrich/derive/metrics/get-module-metrics.mjs +27 -27
  63. package/src/enrich/derive/metrics/index.mjs +8 -8
  64. package/src/enrich/derive/module-utl.mjs +18 -18
  65. package/src/enrich/derive/orphan/index.mjs +18 -18
  66. package/src/enrich/derive/orphan/is-orphan.mjs +9 -9
  67. package/src/enrich/derive/reachable.mjs +165 -168
  68. package/src/enrich/enrich-modules.mjs +25 -25
  69. package/src/enrich/index.mjs +15 -15
  70. package/src/enrich/soften-known-violations.mjs +90 -90
  71. package/src/enrich/summarize/add-rule-set-used.mjs +13 -13
  72. package/src/enrich/summarize/get-stats.mjs +17 -17
  73. package/src/enrich/summarize/index.mjs +18 -18
  74. package/src/enrich/summarize/is-same-violation.mjs +30 -30
  75. package/src/enrich/summarize/summarize-folders.mjs +35 -35
  76. package/src/enrich/summarize/summarize-modules.mjs +97 -97
  77. package/src/enrich/summarize/summarize-options.mjs +71 -71
  78. package/src/extract/acorn/estree-helpers.mjs +66 -66
  79. package/src/extract/acorn/extract-amd-deps.mjs +63 -64
  80. package/src/extract/acorn/extract-cjs-deps.mjs +83 -83
  81. package/src/extract/acorn/extract-es6-deps.mjs +54 -54
  82. package/src/extract/acorn/extract-stats.mjs +4 -4
  83. package/src/extract/acorn/extract.mjs +28 -28
  84. package/src/extract/acorn/parse.mjs +37 -37
  85. package/src/extract/clear-caches.mjs +7 -7
  86. package/src/extract/extract-dependencies.mjs +109 -109
  87. package/src/extract/extract-stats.mjs +21 -21
  88. package/src/extract/gather-initial-sources.mjs +64 -64
  89. package/src/extract/helpers.mjs +73 -71
  90. package/src/extract/index.mjs +120 -120
  91. package/src/extract/resolve/determine-dependency-types.mjs +166 -169
  92. package/src/extract/resolve/external-module-helpers.mjs +76 -76
  93. package/src/extract/resolve/get-manifest.mjs +79 -79
  94. package/src/extract/resolve/index.mjs +175 -164
  95. package/src/extract/resolve/is-built-in.mjs +22 -24
  96. package/src/extract/resolve/merge-manifests.mjs +43 -43
  97. package/src/extract/resolve/module-classifiers.mjs +229 -229
  98. package/src/extract/resolve/resolve-amd.mjs +44 -44
  99. package/src/extract/resolve/resolve-cjs.mjs +40 -40
  100. package/src/extract/resolve/resolve-helpers.mjs +20 -20
  101. package/src/extract/resolve/resolve.mjs +26 -26
  102. package/src/extract/swc/dependency-visitor.mjs +211 -211
  103. package/src/extract/swc/extract-swc-deps.mjs +4 -4
  104. package/src/extract/swc/extract.mjs +7 -7
  105. package/src/extract/swc/parse.mjs +12 -12
  106. package/src/extract/transpile/babel-wrap.mjs +9 -9
  107. package/src/extract/transpile/coffeescript-wrap.mjs +21 -21
  108. package/src/extract/transpile/index.mjs +47 -47
  109. package/src/extract/transpile/javascript-wrap.mjs +6 -6
  110. package/src/extract/transpile/livescript-wrap.mjs +5 -5
  111. package/src/extract/transpile/meta.mjs +80 -80
  112. package/src/extract/transpile/svelte-preprocess.mjs +73 -73
  113. package/src/extract/transpile/svelte-wrap.mjs +19 -19
  114. package/src/extract/transpile/try-import-available.mjs +26 -27
  115. package/src/extract/transpile/typescript-wrap.mjs +39 -39
  116. package/src/extract/transpile/vue-template-wrap.cjs +43 -43
  117. package/src/extract/tsc/extract-stats.mjs +4 -4
  118. package/src/extract/tsc/extract-typescript-deps.mjs +429 -398
  119. package/src/extract/tsc/extract.mjs +22 -22
  120. package/src/extract/tsc/parse.mjs +21 -21
  121. package/src/graph-utl/add-focus.mjs +35 -35
  122. package/src/graph-utl/compare.mjs +24 -24
  123. package/src/graph-utl/consolidate-module-dependencies.mjs +35 -35
  124. package/src/graph-utl/consolidate-modules.mjs +33 -33
  125. package/src/graph-utl/consolidate-to-folder.mjs +13 -13
  126. package/src/graph-utl/consolidate-to-pattern.mjs +34 -34
  127. package/src/graph-utl/filter-bank.mjs +74 -69
  128. package/src/graph-utl/indexed-module-graph.mjs +227 -225
  129. package/src/graph-utl/match-facade.mjs +3 -3
  130. package/src/graph-utl/rule-set.mjs +20 -20
  131. package/src/graph-utl/strip-self-transitions.mjs +6 -6
  132. package/src/main/cruise.mjs +81 -81
  133. package/src/main/files-and-dirs/normalize.mjs +7 -7
  134. package/src/main/format.mjs +11 -14
  135. package/src/main/helpers.mjs +25 -25
  136. package/src/main/index.mjs +8 -8
  137. package/src/main/options/assert-validity.mjs +100 -100
  138. package/src/main/options/defaults.mjs +11 -11
  139. package/src/main/options/normalize.mjs +158 -160
  140. package/src/main/report-wrap.mjs +37 -37
  141. package/src/main/resolve-options/normalize.mjs +127 -128
  142. package/src/main/rule-set/assert-validity.mjs +67 -73
  143. package/src/main/rule-set/normalize.mjs +81 -79
  144. package/src/meta.cjs +15 -16
  145. package/src/report/anon/anonymize-path-element.mjs +20 -34
  146. package/src/report/anon/anonymize-path.mjs +11 -11
  147. package/src/report/anon/index.mjs +119 -119
  148. package/src/report/anon/random-string.mjs +23 -23
  149. package/src/report/azure-devops.mjs +75 -99
  150. package/src/report/baseline.mjs +9 -9
  151. package/src/report/csv.mjs +13 -13
  152. package/src/report/d2.mjs +105 -105
  153. package/src/report/dot/default-theme.mjs +152 -152
  154. package/src/report/dot/index.mjs +146 -146
  155. package/src/report/dot/module-utl.mjs +72 -72
  156. package/src/report/dot/prepare-custom-level.mjs +20 -20
  157. package/src/report/dot/prepare-flat-level.mjs +11 -11
  158. package/src/report/dot/prepare-folder-level.mjs +12 -13
  159. package/src/report/dot/theming.mjs +73 -73
  160. package/src/report/dot-webpage/dot-module.mjs +36 -36
  161. package/src/report/dot-webpage/svg-in-html-snippets/script.cjs +208 -210
  162. package/src/report/dot-webpage/svg-in-html-snippets/style.css +51 -51
  163. package/src/report/dot-webpage/wrap-in-html.mjs +7 -7
  164. package/src/report/error-html/index.mjs +49 -49
  165. package/src/report/error-html/utl.mjs +99 -99
  166. package/src/report/error-long.mjs +1 -1
  167. package/src/report/error.mjs +93 -93
  168. package/src/report/html/index.mjs +48 -48
  169. package/src/report/identity.mjs +4 -4
  170. package/src/report/index.mjs +33 -33
  171. package/src/report/json.mjs +4 -4
  172. package/src/report/markdown.mjs +120 -120
  173. package/src/report/mermaid.mjs +111 -111
  174. package/src/report/metrics.mjs +185 -185
  175. package/src/report/null.mjs +4 -4
  176. package/src/report/plugins.mjs +41 -41
  177. package/src/report/teamcity.mjs +150 -150
  178. package/src/report/text.mjs +42 -42
  179. package/src/report/utl/dependency-to-incidence-transformer.mjs +32 -32
  180. package/src/report/utl/index.mjs +53 -53
  181. package/src/schema/configuration.validate.mjs +1 -0
  182. package/src/schema/cruise-result.validate.mjs +1 -0
  183. package/src/schema/utl.mjs +6 -0
  184. package/src/utl/array-util.mjs +25 -25
  185. package/src/utl/bus.mjs +12 -12
  186. package/src/utl/extract-root-module-name.cjs +8 -8
  187. package/src/utl/find-all-files.mjs +54 -54
  188. package/src/utl/get-extension.mjs +2 -2
  189. package/src/utl/object-util.mjs +21 -22
  190. package/src/utl/path-to-posix.mjs +5 -5
  191. package/src/utl/regex-util.mjs +20 -20
  192. package/src/utl/try-import.mjs +42 -41
  193. package/src/utl/try-require.cjs +23 -23
  194. package/src/utl/wrap-and-indent.mjs +33 -33
  195. package/src/validate/index.mjs +65 -65
  196. package/src/validate/match-dependency-rule.mjs +47 -47
  197. package/src/validate/match-folder-dependency-rule.mjs +27 -27
  198. package/src/validate/match-module-rule-helpers.mjs +76 -76
  199. package/src/validate/match-module-rule.mjs +12 -12
  200. package/src/validate/matchers.mjs +162 -162
  201. package/src/validate/rule-classifiers.mjs +9 -9
  202. package/src/validate/violates-required-rule.mjs +23 -23
  203. package/types/cache-options.d.mts +27 -27
  204. package/types/config-utl/extract-babel-config.d.mts +1 -1
  205. package/types/config-utl/extract-depcruise-config.d.mts +3 -3
  206. package/types/config-utl/extract-depcruise-options.d.mts +1 -1
  207. package/types/config-utl/extract-ts-config.d.mts +1 -1
  208. package/types/config-utl/extract-webpack-resolve-config.d.mts +3 -3
  209. package/types/configuration.d.mts +10 -10
  210. package/types/cruise-result.d.mts +414 -414
  211. package/types/dependency-cruiser.d.mts +52 -52
  212. package/types/filter-types.d.mts +45 -45
  213. package/types/options.d.mts +430 -430
  214. package/types/plugins/3d-reporter-plugin.d.mts +9 -9
  215. package/types/plugins/mermaid-reporter-plugin.d.mts +10 -10
  216. package/types/plugins/stats-reporter-plugin.d.mts +9 -9
  217. package/types/reporter-options.d.mts +196 -196
  218. package/types/resolve-options.d.mts +23 -23
  219. package/types/restrictions.d.mts +174 -174
  220. package/types/rule-set.d.mts +132 -132
  221. package/types/rule-summary.d.mts +14 -14
  222. package/types/shared-types.d.mts +89 -89
  223. package/types/strict-filter-types.d.mts +52 -52
  224. package/types/strict-options.d.mts +34 -34
  225. package/types/strict-restrictions.d.mts +25 -25
  226. package/types/strict-rule-set.d.mts +36 -36
  227. package/types/violations.d.mts +40 -40
  228. package/src/schema/README.md +0 -5
  229. package/src/schema/baseline-violations.schema.mjs +0 -1
  230. package/src/schema/configuration.schema.mjs +0 -1
  231. package/src/schema/cruise-result.schema.mjs +0 -1
  232. 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
- * 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;
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
- * 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;
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
- * 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;
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
- IExcludeType,
3
- IFocusType,
4
- IIncludeOnlyType,
5
- IReachesType,
2
+ IExcludeType,
3
+ IFocusType,
4
+ IIncludeOnlyType,
5
+ IReachesType,
6
6
  } from "./filter-types.mjs";
7
7
 
8
8
  export interface IReporterOptions {
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;
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
- exclude: IExcludeType;
50
- includeOnly: IIncludeOnlyType;
51
- focus: IFocusType;
52
- reaches: IReachesType;
49
+ exclude: IExcludeType;
50
+ includeOnly: IIncludeOnlyType;
51
+ focus: IFocusType;
52
+ reaches: IReachesType;
53
53
  }
54
54
 
55
55
  export interface IAnonReporterOptions {
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[];
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
- * 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;
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
- * 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[];
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
- criteria: any;
126
- attributes: any;
125
+ criteria: any;
126
+ attributes: any;
127
127
  }
128
128
 
129
129
  export interface IMetricsReporterOptions {
130
- hideModules?: boolean;
131
- hideFolders?: boolean;
132
- oderBy?: MetricsOrderByType;
130
+ hideModules?: boolean;
131
+ hideFolders?: boolean;
132
+ oderBy?: MetricsOrderByType;
133
133
  }
134
134
 
135
135
  export interface IMarkdownReporterOptions {
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;
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
- * Whether or not to compresses the output text. Defaults to true.
213
- */
214
- minify?: boolean;
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
- * 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;
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
- | "instability"
227
- | "moduleCount"
228
- | "afferentCouplings"
229
- | "efferentCouplings"
230
- | "name";
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
- * 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;
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
- * 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;
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
  }