packtory 0.0.4 → 0.0.6

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 (207) hide show
  1. package/artifacts/artifacts-builder.d.ts +7 -8
  2. package/artifacts/artifacts-builder.d.ts.map +1 -1
  3. package/artifacts/artifacts-builder.js +22 -25
  4. package/artifacts/artifacts-builder.js.map +1 -1
  5. package/bundle-emitter/emitter.d.ts +30 -0
  6. package/bundle-emitter/emitter.d.ts.map +1 -0
  7. package/bundle-emitter/emitter.js +35 -0
  8. package/bundle-emitter/emitter.js.map +1 -0
  9. package/{publisher → bundle-emitter}/extract-package-tarball.js +2 -2
  10. package/bundle-emitter/extract-package-tarball.js.map +1 -0
  11. package/{publisher → bundle-emitter}/registry-client.d.ts +5 -6
  12. package/bundle-emitter/registry-client.d.ts.map +1 -0
  13. package/{publisher → bundle-emitter}/registry-client.js +13 -10
  14. package/bundle-emitter/registry-client.js.map +1 -0
  15. package/checks/check-runner.js +13 -0
  16. package/checks/check-runner.js.map +1 -0
  17. package/checks/rules/no-duplicated-files.js +29 -0
  18. package/checks/rules/no-duplicated-files.js.map +1 -0
  19. package/config/additional-files.d.ts +6 -12
  20. package/config/additional-files.d.ts.map +1 -1
  21. package/config/additional-files.js +4 -5
  22. package/config/additional-files.js.map +1 -1
  23. package/config/base-validations.js +2 -2
  24. package/config/base-validations.js.map +1 -1
  25. package/config/config.d.ts +671 -468
  26. package/config/config.d.ts.map +1 -1
  27. package/config/config.js +55 -52
  28. package/config/config.js.map +1 -1
  29. package/config/entry-point.d.ts +6 -12
  30. package/config/entry-point.d.ts.map +1 -1
  31. package/config/entry-point.js +5 -6
  32. package/config/entry-point.js.map +1 -1
  33. package/config/package-json.d.ts +10 -38
  34. package/config/package-json.d.ts.map +1 -1
  35. package/config/package-json.js +9 -20
  36. package/config/package-json.js.map +1 -1
  37. package/config/registry-settings.d.ts +6 -12
  38. package/config/registry-settings.d.ts.map +1 -1
  39. package/config/registry-settings.js +5 -6
  40. package/config/registry-settings.js.map +1 -1
  41. package/config/validation.d.ts +15 -5
  42. package/config/validation.d.ts.map +1 -1
  43. package/config/validation.js +32 -9
  44. package/config/validation.js.map +1 -1
  45. package/config/versioning-settings.d.ts +9 -22
  46. package/config/versioning-settings.d.ts.map +1 -1
  47. package/config/versioning-settings.js +10 -13
  48. package/config/versioning-settings.js.map +1 -1
  49. package/dependency-scanner/dependency-graph.d.ts +15 -13
  50. package/dependency-scanner/dependency-graph.d.ts.map +1 -1
  51. package/dependency-scanner/dependency-graph.js +31 -12
  52. package/dependency-scanner/dependency-graph.js.map +1 -1
  53. package/dependency-scanner/external-dependencies.d.ts +7 -0
  54. package/dependency-scanner/external-dependencies.d.ts.map +1 -0
  55. package/dependency-scanner/external-dependencies.js +18 -0
  56. package/dependency-scanner/external-dependencies.js.map +1 -0
  57. package/dependency-scanner/scanner.d.ts +4 -19
  58. package/dependency-scanner/scanner.d.ts.map +1 -1
  59. package/dependency-scanner/scanner.js +8 -67
  60. package/dependency-scanner/scanner.js.map +1 -1
  61. package/dependency-scanner/source-file-references.js +2 -1
  62. package/dependency-scanner/source-file-references.js.map +1 -1
  63. package/dependency-scanner/source-map-file-locator.d.ts +2 -2
  64. package/dependency-scanner/source-map-file-locator.d.ts.map +1 -1
  65. package/dependency-scanner/typescript-file-host.d.ts.map +1 -1
  66. package/dependency-scanner/typescript-file-host.js +1 -2
  67. package/dependency-scanner/typescript-file-host.js.map +1 -1
  68. package/dependency-scanner/typescript-project-analyzer.d.ts +6 -5
  69. package/dependency-scanner/typescript-project-analyzer.d.ts.map +1 -1
  70. package/dependency-scanner/typescript-project-analyzer.js +3 -0
  71. package/dependency-scanner/typescript-project-analyzer.js.map +1 -1
  72. package/directed-graph/graph.d.ts +12 -10
  73. package/directed-graph/graph.d.ts.map +1 -1
  74. package/directed-graph/graph.js +23 -11
  75. package/directed-graph/graph.js.map +1 -1
  76. package/{file-description → file-manager}/compare.js +2 -2
  77. package/file-manager/compare.js.map +1 -0
  78. package/file-manager/equal.js.map +1 -0
  79. package/file-manager/file-description.d.ts +13 -0
  80. package/file-manager/file-description.d.ts.map +1 -0
  81. package/file-manager/file-manager.d.ts +19 -0
  82. package/file-manager/file-manager.d.ts.map +1 -0
  83. package/{artifacts → file-manager}/file-manager.js +15 -4
  84. package/file-manager/file-manager.js.map +1 -0
  85. package/{file-description → file-manager}/permissions.js +1 -0
  86. package/file-manager/permissions.js.map +1 -0
  87. package/{file-description → file-manager}/sort.js +1 -1
  88. package/file-manager/sort.js.map +1 -0
  89. package/linker/linked-bundle.d.ts +14 -0
  90. package/linker/linked-bundle.d.ts.map +1 -0
  91. package/linker/linker.d.ts +12 -0
  92. package/linker/linker.d.ts.map +1 -0
  93. package/linker/linker.js +25 -0
  94. package/linker/linker.js.map +1 -0
  95. package/linker/resource-graph.js +30 -0
  96. package/linker/resource-graph.js.map +1 -0
  97. package/linker/source-modifier/import-paths.js +36 -0
  98. package/linker/source-modifier/import-paths.js.map +1 -0
  99. package/linker/substitute-bundles.js +75 -0
  100. package/linker/substitute-bundles.js.map +1 -0
  101. package/linker/substituted-resource-graph.js +57 -0
  102. package/linker/substituted-resource-graph.js.map +1 -0
  103. package/list/unique-list.js +5 -0
  104. package/list/unique-list.js.map +1 -0
  105. package/package.json +16 -14
  106. package/packages/packtory/packtory.entry-point.d.ts +4 -4
  107. package/packages/packtory/packtory.entry-point.d.ts.map +1 -1
  108. package/packages/packtory/packtory.entry-point.js +41 -18
  109. package/packages/packtory/packtory.entry-point.js.map +1 -1
  110. package/packtory/map-config.d.ts +25 -0
  111. package/packtory/map-config.d.ts.map +1 -0
  112. package/packtory/map-config.js +29 -13
  113. package/packtory/map-config.js.map +1 -1
  114. package/packtory/package-processor.d.ts +32 -0
  115. package/packtory/package-processor.d.ts.map +1 -0
  116. package/packtory/package-processor.js +86 -0
  117. package/packtory/package-processor.js.map +1 -0
  118. package/packtory/packtory.d.ts +25 -7
  119. package/packtory/packtory.d.ts.map +1 -1
  120. package/packtory/packtory.js +119 -17
  121. package/packtory/packtory.js.map +1 -1
  122. package/packtory/scheduler.d.ts +36 -7
  123. package/packtory/scheduler.d.ts.map +1 -1
  124. package/packtory/scheduler.js +39 -25
  125. package/packtory/scheduler.js.map +1 -1
  126. package/progress/progress-broadcaster.d.ts +8 -0
  127. package/progress/progress-broadcaster.d.ts.map +1 -1
  128. package/progress/progress-broadcaster.js +1 -0
  129. package/progress/progress-broadcaster.js.map +1 -1
  130. package/resource-resolver/content.js +35 -0
  131. package/resource-resolver/content.js.map +1 -0
  132. package/resource-resolver/resolved-bundle.d.ts +21 -0
  133. package/resource-resolver/resolved-bundle.d.ts.map +1 -0
  134. package/resource-resolver/resource-resolve-options.d.ts +13 -0
  135. package/resource-resolver/resource-resolve-options.d.ts.map +1 -0
  136. package/resource-resolver/resource-resolver.d.ts +13 -0
  137. package/resource-resolver/resource-resolver.d.ts.map +1 -0
  138. package/resource-resolver/resource-resolver.js +66 -0
  139. package/resource-resolver/resource-resolver.js.map +1 -0
  140. package/tar/tarball-builder.d.ts +2 -3
  141. package/tar/tarball-builder.d.ts.map +1 -1
  142. package/tar/tarball-builder.js +1 -0
  143. package/tar/tarball-builder.js.map +1 -1
  144. package/version-manager/manager.d.ts +7 -0
  145. package/version-manager/manager.d.ts.map +1 -0
  146. package/version-manager/manager.js +44 -0
  147. package/version-manager/manager.js.map +1 -0
  148. package/version-manager/manifest/builder.d.ts +5 -0
  149. package/version-manager/manifest/builder.d.ts.map +1 -0
  150. package/version-manager/manifest/builder.js +13 -0
  151. package/version-manager/manifest/builder.js.map +1 -0
  152. package/{package-json.js → version-manager/manifest/serialize.js} +3 -2
  153. package/version-manager/manifest/serialize.js.map +1 -0
  154. package/version-manager/versioned-bundle.d.ts +28 -0
  155. package/version-manager/versioned-bundle.d.ts.map +1 -0
  156. package/version-manager/versioned-bundle.js +79 -0
  157. package/version-manager/versioned-bundle.js.map +1 -0
  158. package/LICENSE +0 -21
  159. package/artifacts/file-manager.d.ts +0 -19
  160. package/artifacts/file-manager.d.ts.map +0 -1
  161. package/artifacts/file-manager.js.map +0 -1
  162. package/bundler/bundle-build-options.d.ts +0 -19
  163. package/bundler/bundle-build-options.d.ts.map +0 -1
  164. package/bundler/bundle-build-options.js +0 -25
  165. package/bundler/bundle-build-options.js.map +0 -1
  166. package/bundler/bundle-description.d.ts +0 -27
  167. package/bundler/bundle-description.d.ts.map +0 -1
  168. package/bundler/bundler.d.ts +0 -11
  169. package/bundler/bundler.d.ts.map +0 -1
  170. package/bundler/bundler.js +0 -101
  171. package/bundler/bundler.js.map +0 -1
  172. package/bundler/content.js +0 -53
  173. package/bundler/content.js.map +0 -1
  174. package/bundler/substitute-bundles.js +0 -73
  175. package/bundler/substitute-bundles.js.map +0 -1
  176. package/config/base-validations.d.ts +0 -5
  177. package/config/base-validations.d.ts.map +0 -1
  178. package/file-description/compare.js.map +0 -1
  179. package/file-description/equal.js.map +0 -1
  180. package/file-description/file-description.d.ts +0 -6
  181. package/file-description/file-description.d.ts.map +0 -1
  182. package/file-description/permissions.js.map +0 -1
  183. package/file-description/sort.js.map +0 -1
  184. package/package-json.js.map +0 -1
  185. package/packages/bundler/bundler.entry-point.js +0 -21
  186. package/packages/bundler/bundler.entry-point.js.map +0 -1
  187. package/publisher/extract-package-tarball.js.map +0 -1
  188. package/publisher/publisher.d.ts +0 -40
  189. package/publisher/publisher.d.ts.map +0 -1
  190. package/publisher/publisher.js +0 -73
  191. package/publisher/publisher.js.map +0 -1
  192. package/publisher/registry-client.d.ts.map +0 -1
  193. package/publisher/registry-client.js.map +0 -1
  194. package/publisher/version.js +0 -35
  195. package/publisher/version.js.map +0 -1
  196. package/readme.md +0 -38
  197. package/source-modifier/import-paths.js +0 -17
  198. package/source-modifier/import-paths.js.map +0 -1
  199. package/validation/capitalize.js +0 -7
  200. package/validation/capitalize.js.map +0 -1
  201. package/validation/formatting/ast.js +0 -113
  202. package/validation/formatting/ast.js.map +0 -1
  203. package/validation/formatting.js +0 -98
  204. package/validation/formatting.js.map +0 -1
  205. package/validation/validate.js +0 -17
  206. package/validation/validate.js.map +0 -1
  207. /package/{file-description → file-manager}/equal.js +0 -0
@@ -1,10 +1,11 @@
1
- import { Maybe } from 'true-myth';
2
- import type { SourceFile } from 'ts-morph';
1
+ import type { Maybe } from 'true-myth';
2
+ import type { Project } from 'ts-morph';
3
+ import { type ExternalDependencies } from './external-dependencies.ts';
4
+ import type { TypescriptProject } from './typescript-project-analyzer.ts';
3
5
  export type DependencyGraphNodeData = {
4
6
  readonly sourceMapFilePath: Maybe<string>;
5
- readonly topLevelDependencies: ReadonlyMap<string, string>;
6
- readonly substitutionContent: Maybe<string>;
7
- readonly tsSourceFile: Readonly<SourceFile>;
7
+ readonly project: TypescriptProject;
8
+ readonly externalDependencies: readonly string[];
8
9
  };
9
10
  export type DependencyNode = DependencyGraphNodeData & {
10
11
  readonly filePath: string;
@@ -12,21 +13,22 @@ export type DependencyNode = DependencyGraphNodeData & {
12
13
  };
13
14
  export type LocalFile = {
14
15
  readonly filePath: string;
15
- readonly substitutionContent: Maybe<string>;
16
+ readonly directDependencies: ReadonlySet<string>;
17
+ readonly project?: Project | undefined;
16
18
  };
17
19
  export type DependencyFiles = {
18
20
  readonly localFiles: readonly LocalFile[];
19
- readonly topLevelDependencies: Record<string, string>;
21
+ readonly externalDependencies: ExternalDependencies;
20
22
  };
21
23
  export declare function mergeDependencyFiles(first: Readonly<DependencyFiles>, second: Readonly<DependencyFiles>): Readonly<DependencyFiles>;
22
24
  type DependencyGraphVisitor = (node: Readonly<DependencyNode>) => void;
23
25
  export type DependencyGraph = {
24
- addDependency(filePath: string, data: DependencyGraphNodeData): void;
25
- connect(fromFilePath: string, toFilePath: string): void;
26
- hasConnection(fromFilePath: string, toFilePath: string): boolean;
27
- walk(startFilePath: string, visitor: DependencyGraphVisitor): void;
28
- isKnown(filePath: string): boolean;
29
- flatten(startFilePath: string): Readonly<DependencyFiles>;
26
+ addDependency: (filePath: string, data: DependencyGraphNodeData) => void;
27
+ connect: (fromFilePath: string, toFilePath: string) => void;
28
+ hasConnection: (fromFilePath: string, toFilePath: string) => boolean;
29
+ walk: (startFilePath: string, visitor: DependencyGraphVisitor) => void;
30
+ isKnown: (filePath: string) => boolean;
31
+ flatten: (startFilePath: string) => Readonly<DependencyFiles>;
30
32
  };
31
33
  export declare function createDependencyGraph(): DependencyGraph;
32
34
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-graph.d.ts","sourceRoot":"","sources":["../../../../source/dependency-scanner/dependency-graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,MAAM,MAAM,uBAAuB,GAAG;IAClC,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,oBAAoB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3D,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,uBAAuB,GAAG;IACnD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzD,CAAC;AAEF,wBAAgB,oBAAoB,CAChC,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,EAChC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,GAClC,QAAQ,CAAC,eAAe,CAAC,CAW3B;AAED,KAAK,sBAAsB,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;AAEvE,MAAM,MAAM,eAAe,GAAG;IAC1B,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACrE,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IACjE,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACnE,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;CAC7D,CAAC;AAEF,wBAAgB,qBAAqB,IAAI,eAAe,CAuDvD"}
1
+ {"version":3,"file":"dependency-graph.d.ts","sourceRoot":"","sources":["../../../../source/dependency-scanner/dependency-graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGxC,OAAO,EAEH,KAAK,oBAAoB,EAE5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,MAAM,MAAM,uBAAuB,GAAG;IAClC,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,uBAAuB,GAAG;IACnD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;CACvD,CAAC;AAEF,wBAAgB,oBAAoB,CAChC,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,EAChC,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,GAClC,QAAQ,CAAC,eAAe,CAAC,CAW3B;AAED,KAAK,sBAAsB,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;AAEvE,MAAM,MAAM,eAAe,GAAG;IAC1B,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACzE,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,aAAa,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;IACrE,IAAI,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACvE,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,OAAO,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,QAAQ,CAAC,eAAe,CAAC,CAAC;CACjE,CAAC;AAEF,wBAAgB,qBAAqB,IAAI,eAAe,CA0EvD"}
@@ -1,5 +1,6 @@
1
- import { Maybe } from 'true-myth';
2
- import { createDirectedGraph } from '../directed-graph/graph.js';
1
+ import { createDirectedGraph } from "../directed-graph/graph.js";
2
+ import { uniqueList } from "../list/unique-list.js";
3
+ import { mergeExternalDependencies } from "./external-dependencies.js";
3
4
  export function mergeDependencyFiles(first, second) {
4
5
  const mergedLocalFiles = new Map();
5
6
  for (const localFile of [...first.localFiles, ...second.localFiles]) {
@@ -7,7 +8,7 @@ export function mergeDependencyFiles(first, second) {
7
8
  }
8
9
  return {
9
10
  localFiles: Array.from(mergedLocalFiles.values()),
10
- topLevelDependencies: { ...first.topLevelDependencies, ...second.topLevelDependencies }
11
+ externalDependencies: mergeExternalDependencies(first.externalDependencies, second.externalDependencies)
11
12
  };
12
13
  }
13
14
  export function createDependencyGraph() {
@@ -28,31 +29,49 @@ export function createDependencyGraph() {
28
29
  visitor({
29
30
  filePath: node.id,
30
31
  sourceMapFilePath: node.data.sourceMapFilePath,
31
- topLevelDependencies: node.data.topLevelDependencies,
32
+ externalDependencies: node.data.externalDependencies,
32
33
  localFiles: Array.from(node.adjacentNodeIds),
33
- substitutionContent: node.data.substitutionContent,
34
- tsSourceFile: node.data.tsSourceFile
34
+ project: node.data.project
35
35
  });
36
36
  });
37
37
  },
38
38
  flatten(startFilePath) {
39
39
  const localFiles = new Map();
40
- const topLevelDependencies = new Map();
40
+ const externalDependencies = new Map();
41
41
  graph.visitBreadthFirstSearch(startFilePath, (node) => {
42
- localFiles.set(node.id, { filePath: node.id, substitutionContent: node.data.substitutionContent });
42
+ const directDependencies = new Set(graph.getAdjacentIds(node.id));
43
43
  if (node.data.sourceMapFilePath.isJust) {
44
+ directDependencies.add(node.data.sourceMapFilePath.value);
44
45
  localFiles.set(node.data.sourceMapFilePath.value, {
45
46
  filePath: node.data.sourceMapFilePath.value,
46
- substitutionContent: Maybe.nothing()
47
+ directDependencies: new Set(),
48
+ project: node.data.project.getProject()
47
49
  });
48
50
  }
49
- for (const [name, version] of node.data.topLevelDependencies.entries()) {
50
- topLevelDependencies.set(name, version);
51
+ localFiles.set(node.id, {
52
+ filePath: node.id,
53
+ directDependencies,
54
+ project: node.data.project.getProject()
55
+ });
56
+ for (const externalDependencyName of node.data.externalDependencies) {
57
+ const externalDependency = externalDependencies.get(externalDependencyName);
58
+ if (externalDependency === undefined) {
59
+ externalDependencies.set(externalDependencyName, {
60
+ name: externalDependencyName,
61
+ referencedFrom: [node.id]
62
+ });
63
+ }
64
+ else {
65
+ externalDependencies.set(externalDependencyName, {
66
+ name: externalDependencyName,
67
+ referencedFrom: uniqueList([...externalDependency.referencedFrom, node.id])
68
+ });
69
+ }
51
70
  }
52
71
  });
53
72
  return {
54
73
  localFiles: Array.from(localFiles.values()),
55
- topLevelDependencies: Object.fromEntries(topLevelDependencies.entries())
74
+ externalDependencies
56
75
  };
57
76
  }
58
77
  };
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-graph.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/dependency-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dependency-graph.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/dependency-graph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export type ExternalDependency = {
2
+ readonly name: string;
3
+ readonly referencedFrom: readonly [string, ...(readonly string[])];
4
+ };
5
+ export type ExternalDependencies = ReadonlyMap<string, ExternalDependency>;
6
+ export declare function mergeExternalDependencies(dependenciesA: ExternalDependencies, dependenciesB: ExternalDependencies): ReadonlyMap<string, ExternalDependency>;
7
+ //# sourceMappingURL=external-dependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-dependencies.d.ts","sourceRoot":"","sources":["../../../../source/dependency-scanner/external-dependencies.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;CACtE,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAE3E,wBAAgB,yBAAyB,CACrC,aAAa,EAAE,oBAAoB,EACnC,aAAa,EAAE,oBAAoB,GACpC,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAiBzC"}
@@ -0,0 +1,18 @@
1
+ import { uniqueList } from "../list/unique-list.js";
2
+ export function mergeExternalDependencies(dependenciesA, dependenciesB) {
3
+ const mergedDependencies = new Map(dependenciesA.entries());
4
+ for (const dependencyB of dependenciesB.values()) {
5
+ const dependencyA = mergedDependencies.get(dependencyB.name);
6
+ if (dependencyA === undefined) {
7
+ mergedDependencies.set(dependencyB.name, dependencyB);
8
+ }
9
+ else {
10
+ mergedDependencies.set(dependencyA.name, {
11
+ name: dependencyA.name,
12
+ referencedFrom: uniqueList([...dependencyA.referencedFrom, ...dependencyB.referencedFrom])
13
+ });
14
+ }
15
+ }
16
+ return mergedDependencies;
17
+ }
18
+ //# sourceMappingURL=external-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-dependencies.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/external-dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AASpD,MAAM,UAAU,yBAAyB,CACrC,aAAmC,EACnC,aAAmC;IAEnC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAA6B,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAExF,KAAK,MAAM,WAAW,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;QAC/C,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE7D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACJ,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE;gBACrC,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,cAAc,EAAE,UAAU,CAAC,CAAC,GAAG,WAAW,CAAC,cAAc,EAAE,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;aAC7F,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,OAAO,kBAAkB,CAAC;AAC9B,CAAC"}
@@ -1,12 +1,8 @@
1
- import Maybe from 'true-myth/maybe';
2
- import type { MainPackageJson } from '../config/package-json.js';
3
- import type { SourceMapFileLocator } from './source-map-file-locator.js';
4
- import type { ModuleResolution, TypescriptProjectAnalyzer } from './typescript-project-analyzer.js';
5
- import { type DependencyGraph } from './dependency-graph.js';
1
+ import type { SourceMapFileLocator } from './source-map-file-locator.ts';
2
+ import type { ModuleResolution, TypescriptProjectAnalyzer } from './typescript-project-analyzer.ts';
3
+ import { type DependencyGraph } from './dependency-graph.ts';
6
4
  type ScanOptions = {
7
- readonly includeDevDependencies: boolean;
8
5
  readonly includeSourceMapFiles: boolean;
9
- readonly mainPackageJson: MainPackageJson;
10
6
  readonly moduleResolution: ModuleResolution;
11
7
  readonly resolveDeclarationFiles: boolean;
12
8
  readonly failOnCompileErrors?: boolean;
@@ -15,20 +11,9 @@ export type DependencyScannerDependencies = {
15
11
  readonly sourceMapFileLocator: SourceMapFileLocator;
16
12
  readonly typescriptProjectAnalyzer: TypescriptProjectAnalyzer;
17
13
  };
18
- type FileType = 'javascript' | 'type-declaration';
19
- export type LocalFile = {
20
- readonly filePath: string;
21
- readonly type: FileType;
22
- readonly sourceMapFilePath: Maybe<string>;
23
- };
24
- export type ScanResult = {
25
- readonly localFiles: readonly LocalFile[];
26
- readonly topLevelDependencies: Record<string, string>;
27
- };
28
14
  export type DependencyScanner = {
29
- scan(entryPointFile: string, folder: string, options?: Partial<ScanOptions>): Promise<DependencyGraph>;
15
+ scan: (entryPointFile: string, folder: string, options?: Partial<ScanOptions>) => Promise<DependencyGraph>;
30
16
  };
31
- export declare function combineScanResults(scanResult1: ScanResult, scanResult2: ScanResult): ScanResult;
32
17
  export declare function createDependencyScanner(dependencyScannerDependencies: Readonly<DependencyScannerDependencies>): DependencyScanner;
33
18
  export {};
34
19
  //# sourceMappingURL=scanner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../../../source/dependency-scanner/scanner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,iBAAiB,CAAC;AAEpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,yBAAyB,EAAqB,MAAM,kCAAkC,CAAC;AACvH,OAAO,EAAuD,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAElH,KAAK,WAAW,GAAG;IACf,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;IACzC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC1C,CAAC;AA+GF,MAAM,MAAM,6BAA6B,GAAG;IACxC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IACpD,QAAQ,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;CACjE,CAAC;AAEF,KAAK,QAAQ,GAAG,YAAY,GAAG,kBAAkB,CAAC;AAElD,MAAM,MAAM,SAAS,GAAG;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAC1G,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,GAAG,UAAU,CAK/F;AAED,wBAAgB,uBAAuB,CACnC,6BAA6B,EAAE,QAAQ,CAAC,6BAA6B,CAAC,GACvE,iBAAiB,CA8EnB"}
1
+ {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../../../source/dependency-scanner/scanner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,yBAAyB,EAAqB,MAAM,kCAAkC,CAAC;AACvH,OAAO,EAAuD,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAElH,KAAK,WAAW,GAAG;IACf,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC1C,CAAC;AAwCF,MAAM,MAAM,6BAA6B,GAAG;IACxC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IACpD,QAAQ,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;CACjE,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,IAAI,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;CAC9G,CAAC;AAEF,wBAAgB,uBAAuB,CACnC,6BAA6B,EAAE,QAAQ,CAAC,6BAA6B,CAAC,GACvE,iBAAiB,CAuEnB"}
@@ -1,8 +1,6 @@
1
- import Maybe from 'true-myth/maybe';
2
- import { createDependencyGraph } from './dependency-graph.js';
3
- function uniqueList(list) {
4
- return Array.from(new Set(list));
5
- }
1
+ import { Maybe } from 'true-myth/maybe';
2
+ import { uniqueList } from "../list/unique-list.js";
3
+ import { createDependencyGraph } from "./dependency-graph.js";
6
4
  function isNodeModulesPath(filePath) {
7
5
  return filePath.includes('/node_modules/');
8
6
  }
@@ -21,81 +19,26 @@ function extractModuleName(nodeModulePath) {
21
19
  }
22
20
  return moduleName;
23
21
  }
24
- function isKnownNodeModule(moduleName, options) {
25
- const { includeDevDependencies, mainPackageJson } = options;
26
- if (mainPackageJson.dependencies?.[moduleName] !== undefined ||
27
- mainPackageJson.peerDependencies?.[moduleName] !== undefined) {
28
- return true;
29
- }
30
- if (includeDevDependencies) {
31
- return mainPackageJson.devDependencies?.[moduleName] !== undefined;
32
- }
33
- return false;
34
- }
35
- function getVersionFromDependencies(moduleName, dependencies = {}) {
36
- const version = dependencies[moduleName];
37
- if (version !== undefined) {
38
- return version;
39
- }
40
- return undefined;
41
- }
42
- // eslint-disable-next-line max-statements -- this will be removed soon when the dependency scanner doesn’t have to take care about versions anymore
43
- function determineVersionNumber(moduleName, options) {
44
- const { mainPackageJson } = options;
45
- const version = getVersionFromDependencies(moduleName, mainPackageJson.dependencies);
46
- if (version !== undefined) {
47
- return version;
48
- }
49
- const peerDependencyVersion = getVersionFromDependencies(moduleName, mainPackageJson.peerDependencies);
50
- if (peerDependencyVersion !== undefined) {
51
- return peerDependencyVersion;
52
- }
53
- const devDependencyVersion = getVersionFromDependencies(moduleName, mainPackageJson.devDependencies);
54
- if (devDependencyVersion !== undefined) {
55
- return devDependencyVersion;
56
- }
57
- throw new Error(`Couldn’t determine version number of ${moduleName}`);
58
- }
59
- function addVersionNumbersToModules(moduleNames, options) {
60
- return new Map(moduleNames.map((moduleName) => {
61
- return [moduleName, determineVersionNumber(moduleName, options)];
62
- }));
63
- }
64
22
  function determineLocalDependencies(dependencies) {
65
23
  return dependencies.filter(isLocalPath);
66
24
  }
67
- function determineTopLevelNodeModules(dependencies, options) {
25
+ function determineExternalDependencies(dependencies) {
68
26
  const modulePaths = dependencies.filter(isNodeModulesPath);
69
27
  const moduleNames = modulePaths.map(extractModuleName);
70
28
  const uniqueModuleNames = uniqueList(moduleNames);
71
- const unknownNodeModule = uniqueModuleNames.find((moduleName) => {
72
- return !isKnownNodeModule(moduleName, options);
73
- });
74
- if (unknownNodeModule !== undefined) {
75
- throw new Error(`The referenced node module "${unknownNodeModule}" is not defined in the dependencies`);
76
- }
77
29
  return uniqueModuleNames;
78
30
  }
79
- export function combineScanResults(scanResult1, scanResult2) {
80
- return {
81
- localFiles: uniqueList([...scanResult1.localFiles, ...scanResult2.localFiles]),
82
- topLevelDependencies: { ...scanResult1.topLevelDependencies, ...scanResult2.topLevelDependencies }
83
- };
84
- }
85
31
  export function createDependencyScanner(dependencyScannerDependencies) {
86
32
  const { sourceMapFileLocator, typescriptProjectAnalyzer } = dependencyScannerDependencies;
87
33
  async function getDependencyNodeData(project, sourceFilePath, referencedFilePaths, options) {
88
34
  const sourceMapFilePath = options.includeSourceMapFiles
89
35
  ? await sourceMapFileLocator.locate(sourceFilePath)
90
36
  : Maybe.nothing();
91
- const topLevelDependencies = determineTopLevelNodeModules(referencedFilePaths, options);
92
- const topLevelDependenciesWithVersion = addVersionNumbersToModules(topLevelDependencies, options);
93
- const tsSourceFile = project.getSourceFile(sourceFilePath);
37
+ const externalDependencies = determineExternalDependencies(referencedFilePaths);
94
38
  return {
95
39
  sourceMapFilePath,
96
- topLevelDependencies: topLevelDependenciesWithVersion,
97
- tsSourceFile,
98
- substitutionContent: Maybe.nothing()
40
+ externalDependencies,
41
+ project
99
42
  };
100
43
  }
101
44
  async function scanDependenciesOfSourceFile(project, sourceFilePath, graph, options) {
@@ -114,12 +57,10 @@ export function createDependencyScanner(dependencyScannerDependencies) {
114
57
  }
115
58
  return {
116
59
  async scan(entryPointFile, folder, options = {}) {
117
- const { includeDevDependencies = false, resolveDeclarationFiles = false, includeSourceMapFiles = false, mainPackageJson = {}, moduleResolution = 'module', failOnCompileErrors = false } = options;
60
+ const { resolveDeclarationFiles = false, includeSourceMapFiles = false, moduleResolution = 'module', failOnCompileErrors = false } = options;
118
61
  const scanOptions = {
119
- includeDevDependencies,
120
62
  includeSourceMapFiles,
121
63
  resolveDeclarationFiles,
122
- mainPackageJson,
123
64
  moduleResolution,
124
65
  failOnCompileErrors
125
66
  };
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/scanner.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { isBuiltin } from 'node:module';
2
- import Maybe, { first } from 'true-myth/maybe';
2
+ import { Maybe, first } from 'true-myth/maybe';
3
3
  import { ts, Node as ASTNode, SyntaxKind } from 'ts-morph';
4
4
  function getReferencedSourceFileFromSymbol(symbol) {
5
5
  if (symbol === undefined) {
@@ -8,6 +8,7 @@ function getReferencedSourceFileFromSymbol(symbol) {
8
8
  const declarations = symbol.getDeclarations();
9
9
  return first(declarations).andThen((firstDeclaration) => {
10
10
  if (firstDeclaration.getKind() === SyntaxKind.SourceFile) {
11
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- ok in this case
11
12
  return Maybe.just(firstDeclaration);
12
13
  }
13
14
  return Maybe.nothing();
@@ -1 +1 @@
1
- {"version":3,"file":"source-file-references.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/source-file-references.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-file-references.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/source-file-references.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { Maybe } from 'true-myth';
2
- import type { FileManager } from '../artifacts/file-manager.js';
2
+ import type { FileManager } from '../file-manager/file-manager.ts';
3
3
  export type SourceMapFileLocatorDependencies = {
4
4
  readonly fileManager: FileManager;
5
5
  };
6
6
  export type SourceMapFileLocator = {
7
- locate(sourceFile: string): Promise<Maybe<string>>;
7
+ locate: (sourceFile: string) => Promise<Maybe<string>>;
8
8
  };
9
9
  export declare function createSourceMapFileLocator(dependencies: Readonly<SourceMapFileLocatorDependencies>): SourceMapFileLocator;
10
10
  //# sourceMappingURL=source-map-file-locator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"source-map-file-locator.d.ts","sourceRoot":"","sources":["../../../../source/dependency-scanner/source-map-file-locator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE,MAAM,MAAM,gCAAgC,GAAG;IAC3C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;CACtD,CAAC;AAIF,wBAAgB,0BAA0B,CACtC,YAAY,EAAE,QAAQ,CAAC,gCAAgC,CAAC,GACzD,oBAAoB,CAsBtB"}
1
+ {"version":3,"file":"source-map-file-locator.d.ts","sourceRoot":"","sources":["../../../../source/dependency-scanner/source-map-file-locator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,MAAM,MAAM,gCAAgC,GAAG;IAC3C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;CAC1D,CAAC;AAIF,wBAAgB,0BAA0B,CACtC,YAAY,EAAE,QAAQ,CAAC,gCAAgC,CAAC,GACzD,oBAAoB,CAsBtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"typescript-file-host.d.ts","sourceRoot":"","sources":["../../../../source/dependency-scanner/typescript-file-host.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAoB/C,MAAM,MAAM,8BAA8B,GAAG;IACzC,cAAc,EAAE,cAAc,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,2BAA2B,EAAE,cAAc,CAAC;IAC5C,uCAAuC,EAAE,cAAc,CAAC;CAC3D,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,8BAA8B,GAAG,kBAAkB,CA6CzG"}
1
+ {"version":3,"file":"typescript-file-host.d.ts","sourceRoot":"","sources":["../../../../source/dependency-scanner/typescript-file-host.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAoB/C,MAAM,MAAM,8BAA8B,GAAG;IACzC,cAAc,EAAE,cAAc,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,2BAA2B,EAAE,cAAc,CAAC;IAC5C,uCAAuC,EAAE,cAAc,CAAC;CAC3D,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,8BAA8B,GAAG,kBAAkB,CA2CzG"}
@@ -13,6 +13,7 @@ function isTypesRootFolder(directoryPath) {
13
13
  }
14
14
  export function createFileSystemAdapters(dependencies) {
15
15
  const { fileSystemHost } = dependencies;
16
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- ok in this case
16
17
  const fileSystemHostFilteringDeclarationFiles = Object.create(fileSystemHost);
17
18
  fileSystemHostFilteringDeclarationFiles.fileExists = async (filePath) => {
18
19
  if (isDeclarationFile(filePath)) {
@@ -20,7 +21,6 @@ export function createFileSystemAdapters(dependencies) {
20
21
  }
21
22
  return fileSystemHost.fileExists(filePath);
22
23
  };
23
- // eslint-disable-next-line node/no-sync -- we need to provide this method to match the expected interface
24
24
  fileSystemHostFilteringDeclarationFiles.fileExistsSync = (filePath) => {
25
25
  if (isDeclarationFile(filePath)) {
26
26
  return false;
@@ -34,7 +34,6 @@ export function createFileSystemAdapters(dependencies) {
34
34
  }
35
35
  return fileSystemHost.directoryExists(directoryPath);
36
36
  };
37
- // eslint-disable-next-line node/no-sync -- we need to provide this method to match the expected interface
38
37
  fileSystemHostFilteringDeclarationFiles.directoryExistsSync = (directoryPath) => {
39
38
  if (isTypesRootFolder(directoryPath)) {
40
39
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"typescript-file-host.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/typescript-file-host.ts"],"names":[],"mappings":"AAEA,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEzE,SAAS,iBAAiB,CAAC,QAAgB;IACvC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAElD,KAAK,MAAM,wBAAwB,IAAI,yBAAyB,EAAE,CAAC;QAC/D,IAAI,kBAAkB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,iBAAiB,CAAC,aAAqB;IAC5C,OAAO,aAAa,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;AAC7G,CAAC;AAWD,MAAM,UAAU,wBAAwB,CAAC,YAA4C;IACjF,MAAM,EAAE,cAAc,EAAE,GAAG,YAAY,CAAC;IAExC,MAAM,uCAAuC,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAmB,CAAC;IAEhG,uCAAuC,CAAC,UAAU,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE;QACpE,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC,CAAC;IAEF,0GAA0G;IAC1G,uCAAuC,CAAC,cAAc,GAAG,CAAC,QAAQ,EAAE,EAAE;QAClE,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,0GAA0G;QAC1G,OAAO,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC;IAEF,uCAAuC,CAAC,eAAe,GAAG,KAAK,EAAE,aAAa,EAAE,EAAE;QAC9E,IAAI,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,cAAc,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC,CAAC;IAEF,0GAA0G;IAC1G,uCAAuC,CAAC,mBAAmB,GAAG,CAAC,aAAa,EAAE,EAAE;QAC5E,IAAI,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,0GAA0G;QAC1G,OAAO,cAAc,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAC7D,CAAC,CAAC;IAEF,OAAO;QACH,2BAA2B,EAAE,cAAc;QAC3C,uCAAuC;KAC1C,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"typescript-file-host.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/typescript-file-host.ts"],"names":[],"mappings":"AAEA,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEzE,SAAS,iBAAiB,CAAC,QAAgB;IACvC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAElD,KAAK,MAAM,wBAAwB,IAAI,yBAAyB,EAAE,CAAC;QAC/D,IAAI,kBAAkB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,iBAAiB,CAAC,aAAqB;IAC5C,OAAO,aAAa,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;AAC7G,CAAC;AAWD,MAAM,UAAU,wBAAwB,CAAC,YAA4C;IACjF,MAAM,EAAE,cAAc,EAAE,GAAG,YAAY,CAAC;IAExC,0FAA0F;IAC1F,MAAM,uCAAuC,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAA8B,CAAC;IAE3G,uCAAuC,CAAC,UAAU,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE;QACpE,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC,CAAC;IACF,uCAAuC,CAAC,cAAc,GAAG,CAAC,QAAQ,EAAE,EAAE;QAClE,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,0GAA0G;QAC1G,OAAO,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC;IAEF,uCAAuC,CAAC,eAAe,GAAG,KAAK,EAAE,aAAa,EAAE,EAAE;QAC9E,IAAI,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,cAAc,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC,CAAC;IAEF,uCAAuC,CAAC,mBAAmB,GAAG,CAAC,aAAa,EAAE,EAAE;QAC5E,IAAI,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,0GAA0G;QAC1G,OAAO,cAAc,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAC7D,CAAC,CAAC;IAEF,OAAO;QACH,2BAA2B,EAAE,cAAc;QAC3C,uCAAuC;KAC1C,CAAC;AACN,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { type Project as _Project, type SourceFile } from 'ts-morph';
2
- import type { FileSystemAdapters } from './typescript-file-host.js';
2
+ import type { FileSystemAdapters } from './typescript-file-host.ts';
3
3
  export type ModuleResolution = 'common-js' | 'module';
4
4
  export type TypescriptProjectAnalyzerDependencies = {
5
5
  readonly Project: typeof _Project;
6
6
  readonly fileSystemAdapters: FileSystemAdapters;
7
- getReferencedSourceFiles(sourceFile: Readonly<SourceFile>): readonly Readonly<SourceFile>[];
7
+ getReferencedSourceFiles: (sourceFile: Readonly<SourceFile>) => readonly Readonly<SourceFile>[];
8
8
  };
9
9
  export type AnalyzationOptions = {
10
10
  readonly moduleResolution: ModuleResolution;
@@ -12,11 +12,12 @@ export type AnalyzationOptions = {
12
12
  readonly resolveDeclarationFiles: boolean;
13
13
  };
14
14
  export type TypescriptProject = {
15
- getReferencedSourceFilePaths(containingSourceFilePath: string): readonly string[];
16
- getSourceFile(filePath: string): Readonly<SourceFile>;
15
+ getReferencedSourceFilePaths: (containingSourceFilePath: string) => readonly string[];
16
+ getSourceFile: (filePath: string) => SourceFile;
17
+ getProject: () => _Project;
17
18
  };
18
19
  export type TypescriptProjectAnalyzer = {
19
- analyzeProject(folder: string, options: AnalyzationOptions): TypescriptProject;
20
+ analyzeProject: (folder: string, options: AnalyzationOptions) => TypescriptProject;
20
21
  };
21
22
  export declare function getSourcePathFromSourceFile(sourceFile: Readonly<SourceFile>): string;
22
23
  export declare function createTypescriptProjectAnalyzer(dependencies: TypescriptProjectAnalyzerDependencies): TypescriptProjectAnalyzer;
@@ -1 +1 @@
1
- {"version":3,"file":"typescript-project-analyzer.d.ts","sourceRoot":"","sources":["../../../../source/dependency-scanner/typescript-project-analyzer.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,KAAK,OAAO,IAAI,QAAQ,EACxB,KAAK,UAAU,EAGlB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEtD,MAAM,MAAM,qCAAqC,GAAG;IAChD,QAAQ,CAAC,OAAO,EAAE,OAAO,QAAQ,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAChD,wBAAwB,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,SAAS,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;CAC/F,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,4BAA4B,CAAC,wBAAwB,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IAClF,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACpC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,iBAAiB,CAAC;CAClF,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,CAIpF;AAwBD,wBAAgB,+BAA+B,CAC3C,YAAY,EAAE,qCAAqC,GACpD,yBAAyB,CAkD3B"}
1
+ {"version":3,"file":"typescript-project-analyzer.d.ts","sourceRoot":"","sources":["../../../../source/dependency-scanner/typescript-project-analyzer.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,KAAK,OAAO,IAAI,QAAQ,EACxB,KAAK,UAAU,EAGlB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEtD,MAAM,MAAM,qCAAqC,GAAG;IAChD,QAAQ,CAAC,OAAO,EAAE,OAAO,QAAQ,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAChD,wBAAwB,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,SAAS,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;CACnG,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,4BAA4B,EAAE,CAAC,wBAAwB,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,CAAC;IACtF,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,UAAU,CAAC;IAChD,UAAU,EAAE,MAAM,QAAQ,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACpC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,KAAK,iBAAiB,CAAC;CACtF,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,CAIpF;AAwBD,wBAAgB,+BAA+B,CAC3C,YAAY,EAAE,qCAAqC,GACpD,yBAAyB,CAsD3B"}
@@ -56,6 +56,9 @@ export function createTypescriptProjectAnalyzer(dependencies) {
56
56
  throw new Error(`Failed to find source file for "${filePath}"`);
57
57
  }
58
58
  return sourceFile;
59
+ },
60
+ getProject() {
61
+ return project;
59
62
  }
60
63
  };
61
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"typescript-project-analyzer.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/typescript-project-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACH,UAAU,EAGV,oBAAoB,EAEvB,MAAM,UAAU,CAAC;AA0BlB,MAAM,UAAU,2BAA2B,CAAC,UAAgC;IACxE,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IAE1C,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,mCAAmC,CAAC,OAA2B;IACpE,MAAM,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC;IAE9D,MAAM,eAAe,GAAoB;QACrC,gBAAgB,EAAE,oBAAoB,CAAC,MAAM;QAC7C,eAAe,EAAE,IAAI;QACrB,oBAAoB,EAAE,CAAC;QACvB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,IAAI;QAClB,MAAM,EAAE,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ;KAClF,CAAC;IAEF,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC3B,eAAe,CAAC,KAAK,GAAG,EAAE,CAAC;QAC3B,eAAe,CAAC,SAAS,GAAG,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC3C,YAAmD;IAEnD,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,wBAAwB,EAAE,GAAG,YAAY,CAAC;IAE/E,OAAO;QACH,cAAc,CAAC,MAAM,EAAE,OAAO;YAC1B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;gBACxB,eAAe,EAAE,mCAAmC,CAAC,OAAO,CAAC;gBAC7D,UAAU,EAAE,OAAO,CAAC,uBAAuB;oBACvC,CAAC,CAAC,kBAAkB,CAAC,2BAA2B;oBAChD,CAAC,CAAC,kBAAkB,CAAC,uCAAuC;aACnE,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;YACxE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,aAAa,EAAE,CAAC,CAAC;YAC/D,OAAO,CAAC,qBAAqB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;YAE9C,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;gBAC9B,MAAM,WAAW,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;gBAEpD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACtD,CAAC;YACL,CAAC;YAED,OAAO;gBACH,4BAA4B,CAAC,wBAAwB;oBACjD,MAAM,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;oBAE1E,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;wBAClC,OAAO,EAAE,CAAC;oBACd,CAAC;oBAED,MAAM,yBAAyB,GAC3B,wBAAwB,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;oBAEjF,OAAO,yBAAyB,CAAC;gBACrC,CAAC;gBAED,aAAa,CAAC,QAAQ;oBAClB,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAEnD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;wBAC3B,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,GAAG,CAAC,CAAC;oBACpE,CAAC;oBAED,OAAO,UAAU,CAAC;gBACtB,CAAC;aACJ,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"typescript-project-analyzer.js","sourceRoot":"","sources":["../../../../source/dependency-scanner/typescript-project-analyzer.ts"],"names":[],"mappings":"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"}
@@ -11,16 +11,18 @@ export type GraphEdge<TId extends GraphNodeId> = {
11
11
  };
12
12
  type Visitor<TId extends GraphNodeId, TData> = (node: Readonly<GraphNode<TId, TData>>) => void;
13
13
  export type DirectedGraph<TId extends GraphNodeId, TData> = {
14
- addNode(id: TId, data: TData): void;
15
- connect(edge: Readonly<GraphEdge<TId>>): void;
16
- disconnect(edge: Readonly<GraphEdge<TId>>): void;
17
- hasNode(id: TId): boolean;
18
- hasConnection(edge: Readonly<GraphEdge<TId>>): boolean;
19
- visitBreadthFirstSearch(startId: TId, visitor: Visitor<TId, TData>): void;
20
- detectCycles(): readonly (readonly TId[])[];
21
- isCyclic(): boolean;
22
- getTopologicalGenerations(): readonly (readonly TId[])[];
23
- reverse(): DirectedGraph<TId, TData>;
14
+ addNode: (id: TId, data: TData) => void;
15
+ connect: (edge: Readonly<GraphEdge<TId>>) => void;
16
+ disconnect: (edge: Readonly<GraphEdge<TId>>) => void;
17
+ hasNode: (id: TId) => boolean;
18
+ hasConnection: (edge: Readonly<GraphEdge<TId>>) => boolean;
19
+ visitBreadthFirstSearch: (startId: TId, visitor: Visitor<TId, TData>) => void;
20
+ detectCycles: () => readonly (readonly TId[])[];
21
+ isCyclic: () => boolean;
22
+ getTopologicalGenerations: () => readonly (readonly TId[])[];
23
+ reverse: () => DirectedGraph<TId, TData>;
24
+ getAdjacentIds: (id: TId) => ReadonlySet<TId>;
25
+ traverse: (visitor: Visitor<TId, TData>) => void;
24
26
  };
25
27
  export declare function createDirectedGraph<TId extends GraphNodeId, TData>(): DirectedGraph<TId, TData>;
26
28
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../../source/directed-graph/graph.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnC,KAAK,SAAS,CAAC,GAAG,SAAS,WAAW,EAAE,KAAK,IAAI;IAC7C,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC;IACjB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,GAAG,SAAS,WAAW,IAAI;IAC7C,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC;IACnB,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC;CACpB,CAAC;AAEF,KAAK,OAAO,CAAC,GAAG,SAAS,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC;AAE/F,MAAM,MAAM,aAAa,CAAC,GAAG,SAAS,WAAW,EAAE,KAAK,IAAI;IACxD,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IAC9C,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IACjD,OAAO,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC;IAC1B,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;IACvD,uBAAuB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;IAC1E,YAAY,IAAI,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC;IAC5C,QAAQ,IAAI,OAAO,CAAC;IACpB,yBAAyB,IAAI,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC;IACzD,OAAO,IAAI,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;CACxC,CAAC;AA6DF,wBAAgB,mBAAmB,CAAC,GAAG,SAAS,WAAW,EAAE,KAAK,KAAK,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAqM/F"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../../source/directed-graph/graph.ts"],"names":[],"mappings":"AAAA,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnC,KAAK,SAAS,CAAC,GAAG,SAAS,WAAW,EAAE,KAAK,IAAI;IAC7C,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC;IACjB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,GAAG,SAAS,WAAW,IAAI;IAC7C,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC;IACnB,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC;CACpB,CAAC;AAEF,KAAK,OAAO,CAAC,GAAG,SAAS,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC;AAE/F,MAAM,MAAM,aAAa,CAAC,GAAG,SAAS,WAAW,EAAE,KAAK,IAAI;IACxD,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;IACxC,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC;IAClD,UAAU,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC;IACrD,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,OAAO,CAAC;IAC9B,aAAa,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,OAAO,CAAC;IAC3D,uBAAuB,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;IAC9E,YAAY,EAAE,MAAM,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC;IAChD,QAAQ,EAAE,MAAM,OAAO,CAAC;IACxB,yBAAyB,EAAE,MAAM,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC;IAC7D,OAAO,EAAE,MAAM,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzC,cAAc,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9C,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;CACpD,CAAC;AA6DF,wBAAgB,mBAAmB,CAAC,GAAG,SAAS,WAAW,EAAE,KAAK,KAAK,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAoN/F"}