packtory 0.0.21 → 0.0.23

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 (205) hide show
  1. package/bundle-emitter/emitter.d.ts.map +1 -1
  2. package/bundle-emitter/emitter.js +2 -2
  3. package/bundle-emitter/emitter.js.map +1 -1
  4. package/bundle-emitter/publish-error/auto-mode-error-matching.js +6 -7
  5. package/bundle-emitter/publish-error/auto-mode-error-matching.js.map +1 -1
  6. package/bundle-emitter/publish-error/file-mode-error-matching.js +16 -10
  7. package/bundle-emitter/publish-error/file-mode-error-matching.js.map +1 -1
  8. package/bundle-emitter/publish-error/publish-error-messages.js +15 -27
  9. package/bundle-emitter/publish-error/publish-error-messages.js.map +1 -1
  10. package/bundle-emitter/registry/metadata-auth-retry.js +5 -6
  11. package/bundle-emitter/registry/metadata-auth-retry.js.map +1 -1
  12. package/bundle-emitter/registry/oidc-token-exchange.js +6 -14
  13. package/bundle-emitter/registry/oidc-token-exchange.js.map +1 -1
  14. package/bundle-emitter/registry/package-metadata-fetcher.js +12 -17
  15. package/bundle-emitter/registry/package-metadata-fetcher.js.map +1 -1
  16. package/bundle-emitter/registry/publish-settings-bridge.js +8 -12
  17. package/bundle-emitter/registry/publish-settings-bridge.js.map +1 -1
  18. package/bundle-emitter/registry/registry-auth-config.js +22 -26
  19. package/bundle-emitter/registry/registry-auth-config.js.map +1 -1
  20. package/bundle-emitter/registry/registry-client.d.ts +1 -1
  21. package/bundle-emitter/registry/registry-client.d.ts.map +1 -1
  22. package/bundle-emitter/registry/registry-client.js +13 -6
  23. package/bundle-emitter/registry/registry-client.js.map +1 -1
  24. package/bundle-emitter/registry/registry-package-path.js +4 -0
  25. package/bundle-emitter/registry/registry-package-path.js.map +1 -0
  26. package/bundle-emitter/repository-coherence.js +17 -23
  27. package/bundle-emitter/repository-coherence.js.map +1 -1
  28. package/bundle-emitter/repository-url-normalizer.js +5 -8
  29. package/bundle-emitter/repository-url-normalizer.js.map +1 -1
  30. package/checks/rules/duplicate-messages.js +7 -10
  31. package/checks/rules/duplicate-messages.js.map +1 -1
  32. package/checks/rules/no-unused-bundle-dependencies.js +10 -13
  33. package/checks/rules/no-unused-bundle-dependencies.js.map +1 -1
  34. package/common/bundled-dependency-groups.js +28 -0
  35. package/common/bundled-dependency-groups.js.map +1 -0
  36. package/common/package-layout.js +49 -0
  37. package/common/package-layout.js.map +1 -0
  38. package/common/package-name-map.js +8 -0
  39. package/common/package-name-map.js.map +1 -0
  40. package/common/worklist.js +23 -0
  41. package/common/worklist.js.map +1 -0
  42. package/config/config.d.ts +1 -1
  43. package/config/config.d.ts.map +1 -1
  44. package/config/dependency-existence-validation.js +15 -17
  45. package/config/dependency-existence-validation.js.map +1 -1
  46. package/config/package-config.d.ts.map +1 -1
  47. package/config/package-config.js +2 -6
  48. package/config/package-config.js.map +1 -1
  49. package/config/publish-settings.d.ts.map +1 -1
  50. package/config/publish-settings.report.js +8 -7
  51. package/config/publish-settings.report.js.map +1 -1
  52. package/config/registry-settings.d.ts.map +1 -1
  53. package/config/root-config-validation.js +86 -81
  54. package/config/root-config-validation.js.map +1 -1
  55. package/dead-code-eliminator/cross-bundle/bundle-index.js +0 -3
  56. package/dead-code-eliminator/cross-bundle/bundle-index.js.map +1 -1
  57. package/dead-code-eliminator/cross-bundle/import-export-walker.js +4 -2
  58. package/dead-code-eliminator/cross-bundle/import-export-walker.js.map +1 -1
  59. package/dead-code-eliminator/eliminator.js.map +1 -1
  60. package/dead-code-eliminator/imported-expression-origin.js +28 -32
  61. package/dead-code-eliminator/imported-expression-origin.js.map +1 -1
  62. package/dead-code-eliminator/pure-expression.js +53 -64
  63. package/dead-code-eliminator/pure-expression.js.map +1 -1
  64. package/dead-code-eliminator/reachability/bfs-closure.js +31 -24
  65. package/dead-code-eliminator/reachability/bfs-closure.js.map +1 -1
  66. package/dead-code-eliminator/side-effect-classifier.js +2 -2
  67. package/dead-code-eliminator/side-effect-classifier.js.map +1 -1
  68. package/dead-code-eliminator/statement-classifiers.js +4 -5
  69. package/dead-code-eliminator/statement-classifiers.js.map +1 -1
  70. package/dead-code-eliminator/syntax-kind-sets.js +24 -65
  71. package/dead-code-eliminator/syntax-kind-sets.js.map +1 -1
  72. package/dependency-scanner/node-modules-manifest-synthesizer.js +3 -6
  73. package/dependency-scanner/node-modules-manifest-synthesizer.js.map +1 -1
  74. package/dependency-scanner/package-owned-asset-file-path.js +2 -13
  75. package/dependency-scanner/package-owned-asset-file-path.js.map +1 -1
  76. package/dependency-scanner/scanner.js +39 -29
  77. package/dependency-scanner/scanner.js.map +1 -1
  78. package/dependency-scanner/source-file-references.d.ts.map +1 -1
  79. package/dependency-scanner/source-file-references.js +75 -79
  80. package/dependency-scanner/source-file-references.js.map +1 -1
  81. package/dependency-scanner/typescript-project-analyzer.d.ts.map +1 -1
  82. package/dependency-scanner/typescript-project-analyzer.js +2 -1
  83. package/dependency-scanner/typescript-project-analyzer.js.map +1 -1
  84. package/dependency-scanner/virtual-package-json-host.js +2 -1
  85. package/dependency-scanner/virtual-package-json-host.js.map +1 -1
  86. package/directed-graph/graph.js +38 -64
  87. package/directed-graph/graph.js.map +1 -1
  88. package/file-manager/compare.js +7 -3
  89. package/file-manager/compare.js.map +1 -1
  90. package/file-manager/file-description-by-path.js +8 -0
  91. package/file-manager/file-description-by-path.js.map +1 -0
  92. package/npm-oidc-id-token-resolver.js +17 -14
  93. package/npm-oidc-id-token-resolver.js.map +1 -1
  94. package/package-surface/implicit-bin.js +9 -6
  95. package/package-surface/implicit-bin.js.map +1 -1
  96. package/package-surface/package-json-export.js +4 -3
  97. package/package-surface/package-json-export.js.map +1 -1
  98. package/package-surface/package-shape.js +4 -3
  99. package/package-surface/package-shape.js.map +1 -1
  100. package/package-surface/package-surface-index.js +136 -0
  101. package/package-surface/package-surface-index.js.map +1 -0
  102. package/package-surface/public-specifiers.js +3 -12
  103. package/package-surface/public-specifiers.js.map +1 -1
  104. package/package-surface/root-registry.js +10 -20
  105. package/package-surface/root-registry.js.map +1 -1
  106. package/package-surface/specifier-syntax.js +0 -19
  107. package/package-surface/specifier-syntax.js.map +1 -1
  108. package/package-surface/substitution-exports.js +59 -35
  109. package/package-surface/substitution-exports.js.map +1 -1
  110. package/package-surface/surface.js +0 -3
  111. package/package-surface/surface.js.map +1 -1
  112. package/package.json +16 -4
  113. package/packtory/options/bundle-dependency-resolution.js +6 -8
  114. package/packtory/options/bundle-dependency-resolution.js.map +1 -1
  115. package/packtory/options/version-trigger.js.map +1 -1
  116. package/packtory/package-processor-publish.d.ts +2 -1
  117. package/packtory/package-processor-publish.d.ts.map +1 -1
  118. package/packtory/package-processor-publish.js +19 -13
  119. package/packtory/package-processor-publish.js.map +1 -1
  120. package/packtory/packtory-pack.js +129 -141
  121. package/packtory/packtory-pack.js.map +1 -1
  122. package/packtory/packtory-release-analysis.js +8 -16
  123. package/packtory/packtory-release-analysis.js.map +1 -1
  124. package/packtory/packtory-results.d.ts +26 -11
  125. package/packtory/packtory-results.d.ts.map +1 -1
  126. package/packtory/packtory-results.js +27 -5
  127. package/packtory/packtory-results.js.map +1 -1
  128. package/packtory/packtory.js +65 -49
  129. package/packtory/packtory.js.map +1 -1
  130. package/packtory/partial-result.js +26 -0
  131. package/packtory/partial-result.js.map +1 -0
  132. package/packtory/published-release-state.d.ts +9 -0
  133. package/packtory/published-release-state.d.ts.map +1 -0
  134. package/packtory/published-release-state.js +12 -0
  135. package/packtory/published-release-state.js.map +1 -0
  136. package/packtory/release-analysis.js +77 -79
  137. package/packtory/release-analysis.js.map +1 -1
  138. package/packtory/resolved-package.js +6 -6
  139. package/packtory/resolved-package.js.map +1 -1
  140. package/packtory/scheduler.d.ts +1 -0
  141. package/packtory/scheduler.d.ts.map +1 -1
  142. package/packtory/scheduler.js +70 -52
  143. package/packtory/scheduler.js.map +1 -1
  144. package/packtory/stages/publish-stage.js +11 -6
  145. package/packtory/stages/publish-stage.js.map +1 -1
  146. package/packtory/stages/release-diff-stage.js +11 -10
  147. package/packtory/stages/release-diff-stage.js.map +1 -1
  148. package/report/aggregator/package-report-materialization.js +35 -22
  149. package/report/aggregator/package-report-materialization.js.map +1 -1
  150. package/report/config-redactor.js +5 -4
  151. package/report/config-redactor.js.map +1 -1
  152. package/report/inspectors/inspect-artifact-sizes.js +7 -3
  153. package/report/inspectors/inspect-artifact-sizes.js.map +1 -1
  154. package/report/inspectors/inspect-scan-results.js +8 -2
  155. package/report/inspectors/inspect-scan-results.js.map +1 -1
  156. package/report/preview/preview-document-diff.d.ts +6 -1
  157. package/report/preview/preview-document-diff.d.ts.map +1 -1
  158. package/report/preview/preview-document-diff.js +8 -3
  159. package/report/preview/preview-document-diff.js.map +1 -1
  160. package/report/release-diff/file-set-diff.d.ts +14 -4
  161. package/report/release-diff/file-set-diff.d.ts.map +1 -1
  162. package/report/release-diff/file-set-diff.js +28 -28
  163. package/report/release-diff/file-set-diff.js.map +1 -1
  164. package/report/release-diff/release-version-transition.js +6 -4
  165. package/report/release-diff/release-version-transition.js.map +1 -1
  166. package/resource-resolver/content.js +5 -3
  167. package/resource-resolver/content.js.map +1 -1
  168. package/sbom/license-resolver.js +3 -3
  169. package/sbom/license-resolver.js.map +1 -1
  170. package/sbom/sbom-builder.js +1 -8
  171. package/sbom/sbom-builder.js.map +1 -1
  172. package/sbom/sbom-file.d.ts.map +1 -1
  173. package/sbom/sbom-file.js +7 -4
  174. package/sbom/sbom-file.js.map +1 -1
  175. package/sbom/sbom-serializer.js +10 -6
  176. package/sbom/sbom-serializer.js.map +1 -1
  177. package/sbom.cdx.json +22 -5
  178. package/vendor-materializer/vendor-materializer.d.ts.map +1 -1
  179. package/vendor-materializer/vendor-materializer.js +99 -123
  180. package/vendor-materializer/vendor-materializer.js.map +1 -1
  181. package/version-manager/dependencies/bundle-dependency-grouping.js +18 -14
  182. package/version-manager/dependencies/bundle-dependency-grouping.js.map +1 -1
  183. package/version-manager/imports/versioned-bundle-imports.js +15 -12
  184. package/version-manager/imports/versioned-bundle-imports.js.map +1 -1
  185. package/version-manager/manager.d.ts.map +1 -1
  186. package/version-manager/manager.js +19 -24
  187. package/version-manager/manager.js.map +1 -1
  188. package/version-manager/manifest/builder.js +3 -3
  189. package/version-manager/manifest/builder.js.map +1 -1
  190. package/version-manager/optional-bundle-fields.js +2 -5
  191. package/version-manager/optional-bundle-fields.js.map +1 -1
  192. package/version-manager/representative-root.js +7 -27
  193. package/version-manager/representative-root.js.map +1 -1
  194. package/version-manager/specifier-classifier.js +13 -10
  195. package/version-manager/specifier-classifier.js.map +1 -1
  196. package/version-manager/specifier-errors.js +17 -6
  197. package/version-manager/specifier-errors.js.map +1 -1
  198. package/package-surface/explicit-specifier-build.js +0 -28
  199. package/package-surface/explicit-specifier-build.js.map +0 -1
  200. package/package-surface/explicit-specifier-resolve.js +0 -17
  201. package/package-surface/explicit-specifier-resolve.js.map +0 -1
  202. package/package-surface/implicit-specifier-build.js +0 -26
  203. package/package-surface/implicit-specifier-build.js.map +0 -1
  204. package/package-surface/implicit-specifier-resolve.js +0 -17
  205. package/package-surface/implicit-specifier-resolve.js.map +0 -1
@@ -1,11 +1,15 @@
1
1
  import * as cdx from '@cyclonedx/cyclonedx-library';
2
+ function createCycloneDxJsonSerializer() {
3
+ return new cdx.Serialize.JsonSerializer(new cdx.Serialize.JSON.Normalize.Factory(cdx.Spec.Spec1dot6));
4
+ }
5
+ function serializeBom(serializer, bom) {
6
+ return serializer.serialize(bom, { sortLists: true, space: 4 });
7
+ }
2
8
  export function createSbomSerializer() {
3
- const factory = new cdx.Serialize.JSON.Normalize.Factory(cdx.Spec.Spec1dot6);
4
- const serializer = new cdx.Serialize.JsonSerializer(factory);
5
- return {
6
- serialize(bom) {
7
- return serializer.serialize(bom, { sortLists: true, space: 4 });
8
- }
9
+ const serializer = createCycloneDxJsonSerializer();
10
+ const serialize = (bom) => {
11
+ return serializeBom(serializer, bom);
9
12
  };
13
+ return { serialize };
10
14
  }
11
15
  //# sourceMappingURL=sbom-serializer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sbom-serializer.js","sourceRoot":"","sources":["../../../../source/sbom/sbom-serializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,8BAA8B,CAAC;AAMpD,MAAM,UAAU,oBAAoB;IAChC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAE7D,OAAO;QACH,SAAS,CAAC,GAAG;YACT,OAAO,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"sbom-serializer.js","sourceRoot":"","sources":["../../../../source/sbom/sbom-serializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,8BAA8B,CAAC;AAMpD,SAAS,6BAA6B;IAClC,OAAO,IAAI,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAC1G,CAAC;AAED,SAAS,YAAY,CAAC,UAAwC,EAAE,GAAmB;IAC/E,OAAO,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,oBAAoB;IAChC,MAAM,UAAU,GAAG,6BAA6B,EAAE,CAAC;IACnD,MAAM,SAAS,GAAG,CAAC,GAAmB,EAAU,EAAE;QAC9C,OAAO,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,OAAO,EAAE,SAAS,EAAE,CAAC;AACzB,CAAC"}
package/sbom.cdx.json CHANGED
@@ -9,16 +9,16 @@
9
9
  {
10
10
  "type": "application",
11
11
  "name": "packtory",
12
- "version": "0.0.20"
12
+ "version": "0.0.22"
13
13
  }
14
14
  ]
15
15
  },
16
16
  "component": {
17
17
  "type": "library",
18
18
  "name": "packtory",
19
- "version": "0.0.21",
20
- "bom-ref": "pkg:npm/packtory@0.0.21",
21
- "purl": "pkg:npm/packtory@0.0.21"
19
+ "version": "0.0.23",
20
+ "bom-ref": "pkg:npm/packtory@0.0.23",
21
+ "purl": "pkg:npm/packtory@0.0.23"
22
22
  }
23
23
  },
24
24
  "components": [
@@ -282,6 +282,19 @@
282
282
  ],
283
283
  "purl": "pkg:npm/ts-morph@27.0.2"
284
284
  },
285
+ {
286
+ "type": "library",
287
+ "name": "ts-pattern",
288
+ "version": "5.9.0",
289
+ "bom-ref": "pkg:npm/ts-pattern@5.9.0",
290
+ "scope": "required",
291
+ "licenses": [
292
+ {
293
+ "expression": "MIT"
294
+ }
295
+ ],
296
+ "purl": "pkg:npm/ts-pattern@5.9.0"
297
+ },
285
298
  {
286
299
  "type": "library",
287
300
  "name": "type-fest",
@@ -366,7 +379,7 @@
366
379
  "ref": "pkg:npm/npm-registry-fetch@20.0.0"
367
380
  },
368
381
  {
369
- "ref": "pkg:npm/packtory@0.0.21",
382
+ "ref": "pkg:npm/packtory@0.0.23",
370
383
  "dependsOn": [
371
384
  "pkg:npm/@cyclonedx/cyclonedx-library@10.0.0",
372
385
  "pkg:npm/@jridgewell/gen-mapping@0.3.13",
@@ -388,6 +401,7 @@
388
401
  "pkg:npm/tar-stream@3.1.8",
389
402
  "pkg:npm/true-myth@9.4.0",
390
403
  "pkg:npm/ts-morph@27.0.2",
404
+ "pkg:npm/ts-pattern@5.9.0",
391
405
  "pkg:npm/type-fest@5.6.0",
392
406
  "pkg:npm/unix-permissions@6.0.1",
393
407
  "pkg:npm/zod@4.4.3"
@@ -411,6 +425,9 @@
411
425
  {
412
426
  "ref": "pkg:npm/ts-morph@27.0.2"
413
427
  },
428
+ {
429
+ "ref": "pkg:npm/ts-pattern@5.9.0"
430
+ },
414
431
  {
415
432
  "ref": "pkg:npm/type-fest@5.6.0"
416
433
  },
@@ -1 +1 @@
1
- {"version":3,"file":"vendor-materializer.d.ts","sourceRoot":"","sources":["../../../../source/vendor-materializer/vendor-materializer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW;AAElC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB"}
1
+ {"version":3,"file":"vendor-materializer.d.ts","sourceRoot":"","sources":["../../../../source/vendor-materializer/vendor-materializer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW;AASlC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB"}
@@ -3,84 +3,63 @@ import { safeParse } from '@schema-hub/zod-error-formatter';
3
3
  import npa from 'npm-package-arg';
4
4
  import { Result } from 'true-myth';
5
5
  import { z } from 'zod/mini';
6
- const nodeModulesFolderName = 'node_modules';
6
+ import { ancestorInstalledDependencyPathCandidates, bundledInstalledDependencyPath, installedDependenciesFolderName, packageManifestPathIn } from "../common/package-layout.js";
7
+ import { createWorklist } from "../common/worklist.js";
8
+ export const vendorMaterializerFailureType = {
9
+ invalidDependencyName: 'invalid-dependency-name',
10
+ symlinkTargetOutsidePackage: 'symlink-target-outside-package'
11
+ };
7
12
  const dependencyMapSchema = z.optional(z.record(z.string(), z.string()));
8
- const packageManifestSchema = z.object({
9
- dependencies: dependencyMapSchema,
10
- peerDependencies: dependencyMapSchema
11
- });
12
- function ancestorFolders(startFolder) {
13
- const parts = startFolder.split(path.sep);
14
- return parts.map((_segment, index, allSegments) => {
15
- const prefixLength = allSegments.length - index;
16
- const joined = allSegments.slice(0, prefixLength).join(path.sep);
17
- return joined.length === 0 ? path.sep : joined;
13
+ function packageManifestSchema() {
14
+ return z.object({
15
+ dependencies: dependencyMapSchema,
16
+ peerDependencies: dependencyMapSchema
18
17
  });
19
18
  }
20
- function buildVendorEntry(rootDirectory, packageName, relativePath) {
21
- const normalizedRelative = relativePath.split(path.sep).join('/');
22
- return {
23
- sourceAbsolutePath: path.join(rootDirectory, relativePath),
24
- targetRelativePath: `${nodeModulesFolderName}/${packageName}/${normalizedRelative}`,
25
- isExecutable: false
26
- };
27
- }
28
- function enqueueDependencies(closure, fromFolder, dependencyNames) {
29
- for (const dependencyName of dependencyNames) {
30
- closure.queue.push({ name: dependencyName, fromFolder });
31
- }
32
- }
33
- function rejectDependencyNameIfInvalid(name) {
34
- try {
35
- if (npa(name).name === name) {
36
- return undefined;
37
- }
38
- return name;
39
- }
40
- catch {
41
- return name;
42
- }
43
- }
44
19
  function findFirstInvalidDependencyName(names) {
45
20
  for (const name of names) {
46
- const offending = rejectDependencyNameIfInvalid(name);
47
- if (offending !== undefined) {
48
- return offending;
21
+ try {
22
+ if (npa(name).name !== name) {
23
+ return name;
24
+ }
25
+ }
26
+ catch {
27
+ return name;
49
28
  }
50
29
  }
51
30
  return undefined;
52
31
  }
53
32
  function parseManifestSummary(sourcePackageName, content) {
54
- const parsed = safeParse(packageManifestSchema, JSON.parse(content));
33
+ const parsed = safeParse(packageManifestSchema(), JSON.parse(content));
55
34
  if (!parsed.success) {
56
35
  return Result.ok({ transitiveDependencyNames: [], peerDependencyNames: [] });
57
36
  }
58
37
  const dependencyNames = Object.keys(parsed.data.dependencies ?? {});
59
38
  const peerDependencyNames = Object.keys(parsed.data.peerDependencies ?? {});
60
- const invalidDependencyName = findFirstInvalidDependencyName([...dependencyNames, ...peerDependencyNames]);
39
+ const transitiveDependencyNames = dependencyNames.concat(peerDependencyNames);
40
+ const invalidDependencyName = findFirstInvalidDependencyName(transitiveDependencyNames);
61
41
  if (invalidDependencyName !== undefined) {
62
- return Result.err({ type: 'invalid-dependency-name', sourcePackageName, invalidDependencyName });
42
+ return Result.err({
43
+ type: vendorMaterializerFailureType.invalidDependencyName,
44
+ sourcePackageName,
45
+ invalidDependencyName
46
+ });
63
47
  }
64
48
  return Result.ok({
65
- transitiveDependencyNames: [...dependencyNames, ...peerDependencyNames],
49
+ transitiveDependencyNames,
66
50
  peerDependencyNames
67
51
  });
68
52
  }
69
- function isInside(rootDirectory, candidate) {
70
- const relative = path.relative(rootDirectory, candidate);
71
- if (relative.startsWith(`..${path.sep}`) || relative === '..') {
72
- return false;
73
- }
74
- return !path.isAbsolute(relative);
75
- }
76
53
  async function checkSymlinkInsidePackage(walker, rootDirectory, packageName, relativeEntryPath) {
77
54
  const absoluteEntryPath = path.join(rootDirectory, relativeEntryPath);
78
55
  const normalizedEntryRelativePath = relativeEntryPath.split(path.sep).join('/');
79
56
  try {
80
57
  const resolvedTargetPath = await walker.getRealPath(absoluteEntryPath);
81
- if (!isInside(rootDirectory, resolvedTargetPath)) {
58
+ const normalizedRoot = path.resolve(rootDirectory);
59
+ const normalizedCandidate = path.resolve(resolvedTargetPath);
60
+ if (normalizedCandidate !== normalizedRoot && !normalizedCandidate.startsWith(`${normalizedRoot}${path.sep}`)) {
82
61
  return Result.err({
83
- type: 'symlink-target-outside-package',
62
+ type: vendorMaterializerFailureType.symlinkTargetOutsidePackage,
84
63
  packageName,
85
64
  entryRelativePath: normalizedEntryRelativePath,
86
65
  resolvedTargetPath
@@ -90,95 +69,93 @@ async function checkSymlinkInsidePackage(walker, rootDirectory, packageName, rel
90
69
  }
91
70
  catch {
92
71
  return Result.err({
93
- type: 'symlink-target-outside-package',
72
+ type: vendorMaterializerFailureType.symlinkTargetOutsidePackage,
94
73
  packageName,
95
74
  entryRelativePath: normalizedEntryRelativePath,
96
75
  resolvedTargetPath: absoluteEntryPath
97
76
  });
98
77
  }
99
78
  }
100
- async function processPackageDirectoryEntry(context, relativeDirectory, entry) {
101
- const relativeEntryPath = path.join(relativeDirectory, entry.name);
102
- if (entry.isSymbolicLink) {
103
- const symlinkCheck = await checkSymlinkInsidePackage(context.walker, context.request.rootDirectory, context.request.packageName, relativeEntryPath);
104
- if (symlinkCheck.isErr) {
105
- return Result.err(symlinkCheck.error);
106
- }
107
- }
108
- if (entry.isDirectory) {
109
- return context.walkDirectory(relativeEntryPath);
79
+ async function validatePackageDirectoryEntry(walker, packageDirectory, relativeEntryPath, entry) {
80
+ if (!entry.isSymbolicLink) {
81
+ return Result.ok(undefined);
110
82
  }
111
- context.request.collected.push(buildVendorEntry(context.request.rootDirectory, context.request.packageName, relativeEntryPath));
112
- return Result.ok(undefined);
83
+ return checkSymlinkInsidePackage(walker, packageDirectory.rootDirectory, packageDirectory.packageName, relativeEntryPath);
113
84
  }
114
- async function walkPackageDirectory(walker, request, relativeDirectory) {
115
- const absoluteDirectory = path.join(request.rootDirectory, relativeDirectory);
85
+ const walkPackageDirectory = async (walker, state, relativeDirectory) => {
86
+ const absoluteDirectory = path.join(state.packageDirectory.rootDirectory, relativeDirectory);
116
87
  const entries = await walker.listDirectoryEntries(absoluteDirectory);
117
- const walkDirectory = async (childDirectory) => {
118
- return walkPackageDirectory(walker, request, childDirectory);
88
+ const collectDirectoryEntry = async (entry) => {
89
+ if (entry.name === installedDependenciesFolderName) {
90
+ return Result.ok(undefined);
91
+ }
92
+ const relativeEntryPath = path.join(relativeDirectory, entry.name);
93
+ const symlinkCheck = await validatePackageDirectoryEntry(walker, state.packageDirectory, relativeEntryPath, entry);
94
+ if (symlinkCheck.isErr) {
95
+ return symlinkCheck;
96
+ }
97
+ if (entry.isDirectory) {
98
+ return walkPackageDirectory(walker, state, relativeEntryPath);
99
+ }
100
+ state.collected.push({
101
+ sourceAbsolutePath: path.join(state.packageDirectory.rootDirectory, relativeEntryPath),
102
+ targetRelativePath: bundledInstalledDependencyPath(state.packageDirectory.packageName, relativeEntryPath),
103
+ isExecutable: false
104
+ });
105
+ return Result.ok(undefined);
119
106
  };
120
- const context = { walker, request, walkDirectory };
121
107
  for (const entry of entries) {
122
- if (entry.name !== nodeModulesFolderName) {
123
- const processed = await processPackageDirectoryEntry(context, relativeDirectory, entry);
124
- if (processed.isErr) {
125
- return processed;
126
- }
108
+ const result = await collectDirectoryEntry(entry);
109
+ if (result.isErr) {
110
+ return result;
127
111
  }
128
112
  }
129
113
  return Result.ok(undefined);
130
- }
131
- async function collectPackageFiles(walker, rootDirectory, packageName) {
132
- const collected = [];
133
- const result = await walkPackageDirectory(walker, { rootDirectory, packageName, collected }, '');
134
- if (result.isErr) {
135
- return Result.err(result.error);
136
- }
137
- return Result.ok(collected);
138
- }
114
+ };
139
115
  export function createVendorMaterializer(dependencies) {
140
116
  const { fileManager } = dependencies;
141
- async function probeCandidate(currentFolder, packageName) {
142
- const candidate = path.join(currentFolder, nodeModulesFolderName, packageName);
143
- const readability = await fileManager.checkReadability(candidate);
144
- if (readability.isReadable) {
145
- return await fileManager.getRealPath(candidate);
117
+ function scheduleTransitiveDependencies(closure, fromFolder, dependencyNames) {
118
+ closure.pendingPackages.scheduleAll(dependencyNames.map((dependencyName) => {
119
+ return { name: dependencyName, fromFolder };
120
+ }));
121
+ }
122
+ async function collectVendorEntries(packageName, realPath) {
123
+ const collected = [];
124
+ const walkResult = await walkPackageDirectory(fileManager, { packageDirectory: { rootDirectory: realPath, packageName }, collected }, '');
125
+ if (walkResult.isErr) {
126
+ return Result.err(walkResult.error);
146
127
  }
147
- return undefined;
128
+ return Result.ok(collected);
129
+ }
130
+ async function readManifestSummary(packageName, realPath) {
131
+ const manifestPath = packageManifestPathIn(realPath);
132
+ const content = await fileManager.readFile(manifestPath);
133
+ return parseManifestSummary(packageName, content);
148
134
  }
149
135
  async function findPackageRealPath(packageName, startFolder) {
150
- for (const folder of ancestorFolders(startFolder)) {
151
- const found = await probeCandidate(folder, packageName);
152
- if (found !== undefined) {
153
- return found;
136
+ for (const candidatePath of ancestorInstalledDependencyPathCandidates(startFolder, packageName)) {
137
+ const readability = await fileManager.checkReadability(candidatePath);
138
+ if (readability.isReadable) {
139
+ return await fileManager.getRealPath(candidatePath);
154
140
  }
155
141
  }
156
142
  return undefined;
157
143
  }
158
- async function readManifestSummary(sourcePackageName, packageDirectory) {
159
- const manifestPath = path.join(packageDirectory, 'package.json');
160
- const content = await fileManager.readFile(manifestPath);
161
- return parseManifestSummary(sourcePackageName, content);
162
- }
163
- function recordResolvedSummary(closure, name, realPath, summary) {
164
- enqueueDependencies(closure, realPath, summary.transitiveDependencyNames);
165
- closure.peerRequirements.set(name, summary.peerDependencyNames);
166
- }
167
144
  async function ingestResolvedPackage(closure, name, realPath) {
168
- closure.visited.add(name);
169
145
  const summaryResult = await readManifestSummary(name, realPath);
170
146
  if (summaryResult.isErr) {
171
147
  return Result.err(summaryResult.error);
172
148
  }
173
- recordResolvedSummary(closure, name, realPath, summaryResult.value);
174
- const packageEntries = await collectPackageFiles(fileManager, realPath, name);
175
- if (packageEntries.isErr) {
176
- return Result.err(packageEntries.error);
149
+ scheduleTransitiveDependencies(closure, realPath, summaryResult.value.transitiveDependencyNames);
150
+ closure.peerRequirements.set(name, summaryResult.value.peerDependencyNames);
151
+ const collectedResult = await collectVendorEntries(name, realPath);
152
+ if (collectedResult.isErr) {
153
+ return Result.err(collectedResult.error);
177
154
  }
178
- closure.entries.push(...packageEntries.value);
155
+ closure.entries.push(...collectedResult.value);
179
156
  return Result.ok(undefined);
180
157
  }
181
- async function processQueueItem(closure, item) {
158
+ async function processPendingPackageItem(closure, item) {
182
159
  if (closure.visited.has(item.name)) {
183
160
  return Result.ok(undefined);
184
161
  }
@@ -186,25 +163,24 @@ export function createVendorMaterializer(dependencies) {
186
163
  if (realPath === undefined) {
187
164
  return Result.ok(undefined);
188
165
  }
189
- return await ingestResolvedPackage(closure, item.name, realPath);
166
+ closure.visited.add(item.name);
167
+ return ingestResolvedPackage(closure, item.name, realPath);
190
168
  }
191
- async function drainQueue(closure) {
192
- const item = closure.queue.shift();
193
- if (item === undefined) {
194
- return Result.ok(undefined);
195
- }
196
- const processed = await processQueueItem(closure, item);
197
- if (processed.isErr) {
198
- return processed;
169
+ async function drainPendingPackages(closure) {
170
+ for (let item = closure.pendingPackages.takeNext(); item !== undefined; item = closure.pendingPackages.takeNext()) {
171
+ const processed = await processPendingPackageItem(closure, item);
172
+ if (processed.isErr) {
173
+ return processed;
174
+ }
199
175
  }
200
- return await drainQueue(closure);
176
+ return Result.ok(undefined);
201
177
  }
202
178
  return {
203
179
  async materializeExternals(options) {
204
180
  const invalidInitialName = findFirstInvalidDependencyName(options.initialDependencyNames);
205
181
  if (invalidInitialName !== undefined) {
206
182
  return Result.err({
207
- type: 'invalid-dependency-name',
183
+ type: vendorMaterializerFailureType.invalidDependencyName,
208
184
  sourcePackageName: undefined,
209
185
  invalidDependencyName: invalidInitialName
210
186
  });
@@ -212,12 +188,12 @@ export function createVendorMaterializer(dependencies) {
212
188
  const closure = {
213
189
  visited: new Set(),
214
190
  entries: [],
215
- queue: options.initialDependencyNames.map((name) => {
191
+ pendingPackages: createWorklist(options.initialDependencyNames.map((name) => {
216
192
  return { name, fromFolder: options.projectFolder };
217
- }),
193
+ })),
218
194
  peerRequirements: new Map()
219
195
  };
220
- const drained = await drainQueue(closure);
196
+ const drained = await drainPendingPackages(closure);
221
197
  if (drained.isErr) {
222
198
  return Result.err(drained.error);
223
199
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vendor-materializer.js","sourceRoot":"","sources":["../../../../source/vendor-materializer/vendor-materializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vendor-materializer.js","sourceRoot":"","sources":["../../../../source/vendor-materializer/vendor-materializer.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,26 @@
1
- function findBundleByPackageName(bundles, name) {
2
- return bundles.find((bundle) => {
3
- return bundle.name === name;
4
- });
1
+ import { bundledDependencyGroup, bundledDependencyLookupOrder } from "../../common/bundled-dependency-groups.js";
2
+ import { packageNameMap } from "../../common/package-name-map.js";
3
+ function matchingGroupedDependency(groupedDependenciesByName, dependencyName) {
4
+ for (const group of bundledDependencyLookupOrder()) {
5
+ const matchingDependency = groupedDependenciesByName[group.propertyName].get(dependencyName);
6
+ if (matchingDependency !== undefined) {
7
+ return { manifestProperty: group.manifestProperty, version: matchingDependency.version };
8
+ }
9
+ }
10
+ return undefined;
5
11
  }
6
12
  export function groupBundleDependencies(bundle, bundlePeerDependencies, bundleDependencies) {
7
13
  const grouped = { dependencies: {}, peerDependencies: {} };
14
+ const groupedDependenciesByName = {
15
+ [bundledDependencyGroup.bundle.propertyName]: packageNameMap(bundleDependencies),
16
+ [bundledDependencyGroup.peer.propertyName]: packageNameMap(bundlePeerDependencies)
17
+ };
8
18
  for (const dependencyName of bundle.linkedBundleDependencies.keys()) {
9
- const peerBundle = findBundleByPackageName(bundlePeerDependencies, dependencyName);
10
- if (peerBundle === undefined) {
11
- const foundBundle = findBundleByPackageName(bundleDependencies, dependencyName);
12
- if (foundBundle === undefined) {
13
- throw new Error(`Couldn’t determine version number of bundle dependency ${dependencyName}`);
14
- }
15
- grouped.dependencies[dependencyName] = foundBundle.version;
16
- }
17
- else {
18
- grouped.peerDependencies[dependencyName] = peerBundle.version;
19
+ const matchingDependency = matchingGroupedDependency(groupedDependenciesByName, dependencyName);
20
+ if (matchingDependency === undefined) {
21
+ throw new Error(`Couldn’t determine version number of bundle dependency ${dependencyName}`);
19
22
  }
23
+ grouped[matchingDependency.manifestProperty][dependencyName] = matchingDependency.version;
20
24
  }
21
25
  return grouped;
22
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bundle-dependency-grouping.js","sourceRoot":"","sources":["../../../../../source/version-manager/dependencies/bundle-dependency-grouping.ts"],"names":[],"mappings":"AAQA,SAAS,uBAAuB,CAC5B,OAAuC,EACvC,IAAY;IAEZ,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QAC3B,OAAO,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;IAChC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,uBAAuB,CACnC,MAAwD,EACxD,sBAAsD,EACtD,kBAAkD;IAElD,MAAM,OAAO,GAAwB,EAAE,YAAY,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC;IAChF,KAAK,MAAM,cAAc,IAAI,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC;QAClE,MAAM,UAAU,GAAG,uBAAuB,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAC;QACnF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,uBAAuB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;YAChF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,0DAA0D,cAAc,EAAE,CAAC,CAAC;YAChG,CAAC;YACD,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC;QAC/D,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,gBAAgB,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;QAClE,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"bundle-dependency-grouping.js","sourceRoot":"","sources":["../../../../../source/version-manager/dependencies/bundle-dependency-grouping.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACjH,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAkBlE,SAAS,yBAAyB,CAC9B,yBAAoD,EACpD,cAAsB;IAEtB,KAAK,MAAM,KAAK,IAAI,4BAA4B,EAAE,EAAE,CAAC;QACjD,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC7F,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,OAAO,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC;QAC7F,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,uBAAuB,CACnC,MAAwD,EACxD,sBAAsD,EACtD,kBAAkD;IAElD,MAAM,OAAO,GAAwB,EAAE,YAAY,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC;IAChF,MAAM,yBAAyB,GAAG;QAC9B,CAAC,sBAAsB,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,kBAAkB,CAAC;QAChF,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,sBAAsB,CAAC;KACrF,CAAC;IAEF,KAAK,MAAM,cAAc,IAAI,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC;QAClE,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,yBAAyB,EAAE,cAAc,CAAC,CAAC;QAChG,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,0DAA0D,cAAc,EAAE,CAAC,CAAC;QAChG,CAAC;QAED,OAAO,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC,OAAO,CAAC;IAC9F,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -1,31 +1,34 @@
1
1
  import { collectHashImportSpecifiers } from "./hash-import-scanner.js";
2
2
  import { findMatchingImportEntryKey } from "./imports-key-matcher.js";
3
+ function buildMissingImportsFieldMessage(firstSpecifier) {
4
+ return (`Found surviving package.json imports specifier "${firstSpecifier}" ` +
5
+ 'but mainPackageJson.imports is not configured');
6
+ }
7
+ function buildMissingImportEntryMessage(specifier) {
8
+ return (`Found surviving package.json imports specifier "${specifier}" ` +
9
+ 'but no matching mainPackageJson.imports entry');
10
+ }
11
+ function buildUndefinedImportEntryMessage(specifier, matchingKey) {
12
+ return (`Found surviving package.json imports specifier "${specifier}" ` +
13
+ `but matching mainPackageJson.imports entry "${matchingKey}" is undefined`);
14
+ }
3
15
  function getConfiguredImportsOrThrow(mainPackageJson, referencedSpecifiers) {
4
16
  if (mainPackageJson.imports !== undefined) {
5
17
  return mainPackageJson.imports;
6
18
  }
7
19
  const [firstSpecifier] = referencedSpecifiers;
8
- throw new Error([
9
- `Found surviving package.json imports specifier "${firstSpecifier}"`,
10
- 'but mainPackageJson.imports is not configured'
11
- ].join(' '));
20
+ throw new Error(buildMissingImportsFieldMessage(firstSpecifier));
12
21
  }
13
22
  function collectReferencedImportsEntries(referencedSpecifiers, configuredImports) {
14
23
  const importsField = {};
15
24
  for (const specifier of referencedSpecifiers) {
16
25
  const matchingKey = findMatchingImportEntryKey(specifier, configuredImports);
17
26
  if (matchingKey === undefined) {
18
- throw new Error([
19
- `Found surviving package.json imports specifier "${specifier}"`,
20
- 'but no matching mainPackageJson.imports entry'
21
- ].join(' '));
27
+ throw new Error(buildMissingImportEntryMessage(specifier));
22
28
  }
23
29
  const matchingImport = configuredImports[matchingKey];
24
30
  if (matchingImport === undefined) {
25
- throw new Error([
26
- `Found surviving package.json imports specifier "${specifier}"`,
27
- `but matching mainPackageJson.imports entry "${matchingKey}" is undefined`
28
- ].join(' '));
31
+ throw new Error(buildUndefinedImportEntryMessage(specifier, matchingKey));
29
32
  }
30
33
  importsField[matchingKey] = matchingImport;
31
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"versioned-bundle-imports.js","sourceRoot":"","sources":["../../../../../source/version-manager/imports/versioned-bundle-imports.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAqB,MAAM,0BAA0B,CAAC;AAEzF,SAAS,2BAA2B,CAChC,eAAgC,EAChC,oBAAyC;IAEzC,IAAI,eAAe,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,eAAe,CAAC,OAAO,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,GAAG,oBAAoB,CAAC;IAC9C,MAAM,IAAI,KAAK,CACX;QACI,mDAAmD,cAAc,GAAG;QACpE,+CAA+C;KAClD,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;AACN,CAAC;AAED,SAAS,+BAA+B,CACpC,oBAAyC,EACzC,iBAA+B;IAE/B,MAAM,YAAY,GAA8B,EAAE,CAAC;IAEnD,KAAK,MAAM,SAAS,IAAI,oBAAoB,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,0BAA0B,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QAC7E,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACX;gBACI,mDAAmD,SAAS,GAAG;gBAC/D,+CAA+C;aAClD,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;QACN,CAAC;QAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACX;gBACI,mDAAmD,SAAS,GAAG;gBAC/D,+CAA+C,WAAW,gBAAgB;aAC7E,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,CAAC;QACN,CAAC;QAED,YAAY,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC;IAC/C,CAAC;IAED,OAAO,YAAY,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC7B,MAAwC,EACxC,eAAgC;IAEhC,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACjE,IAAI,oBAAoB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;IAC7F,OAAO,+BAA+B,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;AACpF,CAAC"}
1
+ {"version":3,"file":"versioned-bundle-imports.js","sourceRoot":"","sources":["../../../../../source/version-manager/imports/versioned-bundle-imports.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAqB,MAAM,0BAA0B,CAAC;AAEzF,SAAS,+BAA+B,CAAC,cAAkC;IACvE,OAAO,CACH,mDAAmD,cAAc,IAAI;QACrE,+CAA+C,CAClD,CAAC;AACN,CAAC;AAED,SAAS,8BAA8B,CAAC,SAAiB;IACrD,OAAO,CACH,mDAAmD,SAAS,IAAI;QAChE,+CAA+C,CAClD,CAAC;AACN,CAAC;AAED,SAAS,gCAAgC,CAAC,SAAiB,EAAE,WAAmB;IAC5E,OAAO,CACH,mDAAmD,SAAS,IAAI;QAChE,+CAA+C,WAAW,gBAAgB,CAC7E,CAAC;AACN,CAAC;AAED,SAAS,2BAA2B,CAChC,eAAgC,EAChC,oBAAyC;IAEzC,IAAI,eAAe,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,eAAe,CAAC,OAAO,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,GAAG,oBAAoB,CAAC;IAC9C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,cAAc,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,+BAA+B,CACpC,oBAAyC,EACzC,iBAA+B;IAE/B,MAAM,YAAY,GAA8B,EAAE,CAAC;IAEnD,KAAK,MAAM,SAAS,IAAI,oBAAoB,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,0BAA0B,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QAC7E,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;QAC9E,CAAC;QAED,YAAY,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC;IAC/C,CAAC;IAED,OAAO,YAAY,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC7B,MAAwC,EACxC,eAAgC;IAEhC,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACjE,IAAI,oBAAoB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;IAC7F,OAAO,+BAA+B,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;AACpF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../source/version-manager/manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qCAAqC;AAIpF,OAAO,EAEH,KAAK,2BAA2B,EAChC,KAAK,eAAe,EACpB,KAAK,2BAA2B,EACnC,MAAM,uBAAuB;AAM9B,MAAM,MAAM,cAAc,GAAG;IACzB,UAAU,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,2BAA2B,CAAC;IAClF,eAAe,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,2BAA2B,CAAC;CAC7E"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../source/version-manager/manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qCAAqC;AAIpF,OAAO,EAEH,KAAK,2BAA2B,EAChC,KAAK,eAAe,EACpB,KAAK,2BAA2B,EACnC,MAAM,uBAAuB;AAM9B,MAAM,MAAM,cAAc,GAAG;IACzB,UAAU,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,2BAA2B,CAAC;IAClF,eAAe,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,2BAA2B,CAAC;CAC7E"}