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
@@ -16,61 +16,61 @@ export type * from "./resolve-options.mjs";
16
16
  export const allExtensions: IAvailableExtension[];
17
17
 
18
18
  export interface IAvailableExtension {
19
- /**
20
- * File extension (e.g. ".js", ".ts", ".jsx")
21
- */
22
- extension: string;
23
- /**
24
- * Whether or not the extension is available as supported in the current environment
25
- */
26
- available: boolean;
19
+ /**
20
+ * File extension (e.g. ".js", ".ts", ".jsx")
21
+ */
22
+ extension: string;
23
+ /**
24
+ * Whether or not the extension is available as supported in the current environment
25
+ */
26
+ available: boolean;
27
27
  }
28
28
 
29
29
  export interface IAvailableTranspiler {
30
- /**
31
- * The name of the transpiler (e.g. "typescript", "coffeescript")
32
- */
33
- name: string;
34
- /**
35
- * A semver version range (e.g. ">=2.0.0 <3.0.0")
36
- */
37
- version: string;
38
- /**
39
- * Whether or not the transpiler is available in the current environment
40
- */
41
- available: boolean;
30
+ /**
31
+ * The name of the transpiler (e.g. "typescript", "coffeescript")
32
+ */
33
+ name: string;
34
+ /**
35
+ * A semver version range (e.g. ">=2.0.0 <3.0.0")
36
+ */
37
+ version: string;
38
+ /**
39
+ * Whether or not the transpiler is available in the current environment
40
+ */
41
+ available: boolean;
42
42
  }
43
43
 
44
44
  export interface IReporterOutput {
45
- /**
46
- * The output proper of the reporter. For most reporters this will be
47
- * a string.
48
- */
49
- output: ICruiseResult | string;
50
- /**
51
- * The exit code - reporters can return a non-zero value when they find
52
- * errors here. api consumers (like a cli) can use this to return a
53
- * non-zero exit code, so the build breaks when something is wrong
54
- *
55
- * This is e.g. the default behavior of the `err` and `err-long` reporters.
56
- */
57
- exitCode: number;
45
+ /**
46
+ * The output proper of the reporter. For most reporters this will be
47
+ * a string.
48
+ */
49
+ output: ICruiseResult | string;
50
+ /**
51
+ * The exit code - reporters can return a non-zero value when they find
52
+ * errors here. api consumers (like a cli) can use this to return a
53
+ * non-zero exit code, so the build breaks when something is wrong
54
+ *
55
+ * This is e.g. the default behavior of the `err` and `err-long` reporters.
56
+ */
57
+ exitCode: number;
58
58
  }
59
59
 
60
60
  export interface ITranspileOptions {
61
- /**
62
- * An object with with a typescript config object. Note that the
63
- * API will not take any 'extends' keys there into account, so
64
- * before calling make sure to flatten them out if you want them
65
- * used (e.g. with 'dependency-cruiser/config-utl/extract-ts-config')
66
- */
67
- tsConfig?: any;
68
- /**
69
- * An object with with a babel config object. Either pass the options
70
- * manually or extract them from a configuration file with e.g. with
71
- * 'dependency-cruiser/config-utl/extract-babel-config')
72
- */
73
- babelConfig?: any;
61
+ /**
62
+ * An object with with a typescript config object. Note that the
63
+ * API will not take any 'extends' keys there into account, so
64
+ * before calling make sure to flatten them out if you want them
65
+ * used (e.g. with 'dependency-cruiser/config-utl/extract-ts-config')
66
+ */
67
+ tsConfig?: any;
68
+ /**
69
+ * An object with with a babel config object. Either pass the options
70
+ * manually or extract them from a configuration file with e.g. with
71
+ * 'dependency-cruiser/config-utl/extract-babel-config')
72
+ */
73
+ babelConfig?: any;
74
74
  }
75
75
 
76
76
  /**
@@ -88,10 +88,10 @@ export interface ITranspileOptions {
88
88
  * like TypeScript or Babel
89
89
  */
90
90
  export function cruise(
91
- pFileAndDirectoryArray: string[],
92
- pCruiseOptions?: ICruiseOptions,
93
- pResolveOptions?: Partial<IResolveOptions>,
94
- pTranspileOptions?: ITranspileOptions,
91
+ pFileAndDirectoryArray: string[],
92
+ pCruiseOptions?: ICruiseOptions,
93
+ pResolveOptions?: Partial<IResolveOptions>,
94
+ pTranspileOptions?: ITranspileOptions,
95
95
  ): Promise<IReporterOutput>;
96
96
 
97
97
  /**
@@ -102,8 +102,8 @@ export function cruise(
102
102
  * @param pOutputType Which reporter to use to format the cruise result with
103
103
  */
104
104
  export function format(
105
- pResult: ICruiseResult,
106
- pFormatOptions: IFormatOptions,
105
+ pResult: ICruiseResult,
106
+ pFormatOptions: IFormatOptions,
107
107
  ): Promise<IReporterOutput>;
108
108
 
109
109
  /**
@@ -1,64 +1,64 @@
1
1
  import type { DependencyType } from "./shared-types.mjs";
2
2
 
3
3
  export interface IDoNotFollowType {
4
- /**
5
- * a regular expression for modules to include, but not follow further
6
- */
7
- path?: string | string[];
8
- /**
9
- * an array of dependency types to include, but not follow further
10
- */
11
- dependencyTypes?: DependencyType[];
4
+ /**
5
+ * a regular expression for modules to include, but not follow further
6
+ */
7
+ path?: string | string[];
8
+ /**
9
+ * an array of dependency types to include, but not follow further
10
+ */
11
+ dependencyTypes?: DependencyType[];
12
12
  }
13
13
 
14
14
  export interface IExcludeType {
15
- /**
16
- * a regular expression for modules to exclude
17
- */
18
- path?: string | string[];
19
- /**
20
- * a boolean indicating whether or not to exclude dynamic dependencies
21
- * leave out to match both
22
- */
23
- dynamic?: boolean;
15
+ /**
16
+ * a regular expression for modules to exclude
17
+ */
18
+ path?: string | string[];
19
+ /**
20
+ * a boolean indicating whether or not to exclude dynamic dependencies
21
+ * leave out to match both
22
+ */
23
+ dynamic?: boolean;
24
24
  }
25
25
 
26
26
  export interface IIncludeOnlyType {
27
- /**
28
- * regular expression describing which dependencies the function
29
- * should cruise - anything not matching this will be skipped
30
- */
31
- path?: string | string[];
27
+ /**
28
+ * regular expression describing which dependencies the function
29
+ * should cruise - anything not matching this will be skipped
30
+ */
31
+ path?: string | string[];
32
32
  }
33
33
 
34
34
  export interface IFocusType {
35
- /**
36
- * dependency-cruiser will include modules matching this regular expression
37
- * in its output, as well as their neighbours (direct dependencies and
38
- * dependents)
39
- */
40
- path?: string | string[];
41
- /**
42
- * by default 'focus' only inlcudes the direct neighbours of the focus'ed module(s).
43
- * This property makes dependency-cruiser will also include neighbors of neighbors,
44
- * up to the specified depth.
45
- */
46
- depth?: number;
35
+ /**
36
+ * dependency-cruiser will include modules matching this regular expression
37
+ * in its output, as well as their neighbours (direct dependencies and
38
+ * dependents)
39
+ */
40
+ path?: string | string[];
41
+ /**
42
+ * by default 'focus' only inlcudes the direct neighbours of the focus'ed module(s).
43
+ * This property makes dependency-cruiser will also include neighbors of neighbors,
44
+ * up to the specified depth.
45
+ */
46
+ depth?: number;
47
47
  }
48
48
 
49
49
  export interface IReachesType {
50
- /**
51
- * dependency-cruiser will include modules matching this regular expression
52
- * in its output, as well as _any_ module that reaches them - either directly
53
- * or via via.
54
- */
55
- path?: string | string[];
50
+ /**
51
+ * dependency-cruiser will include modules matching this regular expression
52
+ * in its output, as well as _any_ module that reaches them - either directly
53
+ * or via via.
54
+ */
55
+ path?: string | string[];
56
56
  }
57
57
 
58
58
  export interface IHighlightType {
59
- /**
60
- * dependency-cruiser will mark modules matching this regular expression
61
- * as 'highlighted' in its output
62
- */
63
- path?: string | string[];
59
+ /**
60
+ * dependency-cruiser will mark modules matching this regular expression
61
+ * as 'highlighted' in its output
62
+ */
63
+ path?: string | string[];
64
64
  }