packtory 0.0.5 → 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 -7
  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 -5
  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 +15 -13
  106. package/packages/packtory/packtory.entry-point.d.ts +3 -3
  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 -2
  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 -17
  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 -39
  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 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../../source/packtory/scheduler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAGrF,KAAK,wBAAwB,GAAG,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;AAE5F,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,SAAS,EAAE,SAAS,aAAa,EAAE,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,SAAS,KAAK,EAAE,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACpB,0BAA0B,CACtB,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,wBAAwB,GACnC,OAAO,CAAC,MAAM,CAAC,SAAS,aAAa,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;CAC9D,CAAC;AAEF,KAAK,qBAAqB,GAAG;IACzB,QAAQ,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;CACjE,CAAC;AAYF,wBAAgB,eAAe,CAAC,YAAY,EAAE,qBAAqB,GAAG,SAAS,CAkF9E"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../../source/packtory/scheduler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,MAAM,YAAY,CAAC,OAAO,IAAI;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,OAAO,EAAE,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,KAAK,EAAE,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACpB,0BAA0B,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,SAAS;QAAE,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAA;KAAE,EACzG,MAAM,EAAE,gCAAgC,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,KAC1E,OAAO,CAAC,MAAM,CAAC,SAAS,OAAO,EAAE,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CACnE,CAAC;AAEF,KAAK,qBAAqB,GAAG;IACzB,QAAQ,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;CACjE,CAAC;AAWF,KAAK,uBAAuB,CAAC,KAAK,EAAE,OAAO,SAAS;IAAE,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAA;CAAE,IAAI;IAC1F,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,KAAK,EAAE,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;CAC7C,CAAC;AAQF,KAAK,wBAAwB,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,mBAAmB,GAAG,iBAAiB,GAAG,aAAa,CAAC;CACnE,CAAC;AAOF,KAAK,gCAAgC,CACjC,OAAO,EACP,KAAK,EACL,QAAQ,EACR,OAAO,SAAS;IAAE,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAA;CAAE,IACtD;IACA,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC;IACvF,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1D,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,QAAQ,CAAA;KAAE,KAAK,KAAK,CAAC;IAC/E,QAAQ,CAAC,mBAAmB,CAAC,EACvB,CAAC,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,QAAQ,CAAA;KAAE,KAAK,wBAAwB,CAAC,GACnG,SAAS,CAAC;IAChB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC1C,CAAC;AAEF,wBAAgB,eAAe,CAAC,YAAY,EAAE,qBAAqB,GAAG,SAAS,CA0G9E"}
@@ -1,27 +1,26 @@
1
1
  import { partition } from 'effect/ReadonlyArray';
2
2
  import { get } from 'effect/Struct';
3
3
  import { Result } from 'true-myth';
4
- import { configToBuildAndPublishOptions } from './map-config.js';
5
4
  function isFulfilledResult(result) {
6
5
  return result.status === 'fulfilled';
7
6
  }
8
7
  const getValue = get('value');
9
- const getBundle = get('bundle');
10
8
  const getReason = get('reason');
11
9
  export function createScheduler(dependencies) {
12
10
  const { progressBroadcastProvider } = dependencies;
13
- async function runForGeneration(packageNames, config, existingBundles, callback) {
14
- const { packageConfigs, packtoryConfig } = config;
15
- const results = await Promise.allSettled(packageNames.map(async (packageName) => {
11
+ async function runForGeneration(packageNames, config, existingItems, params) {
12
+ const buildPackageSuccess = async (packageName) => {
13
+ const options = params.createOptions({ packageName, existing: existingItems, config });
14
+ const result = await params.execute(options);
15
+ const progressEvent = params.createProgressEvent?.({ packageName, result, options });
16
+ if (progressEvent !== undefined) {
17
+ progressBroadcastProvider.emit('done', { packageName, ...progressEvent });
18
+ }
19
+ return { packageName, result, options };
20
+ };
21
+ const executePackage = async (packageName) => {
16
22
  try {
17
- const options = configToBuildAndPublishOptions(packageName, packageConfigs, packtoryConfig, existingBundles);
18
- const result = await callback(options);
19
- progressBroadcastProvider.emit('done', {
20
- packageName,
21
- version: result.bundle.packageJson.version,
22
- status: result.status
23
- });
24
- return result;
23
+ return await buildPackageSuccess(packageName);
25
24
  }
26
25
  catch (error) {
27
26
  if (error instanceof Error) {
@@ -32,12 +31,15 @@ export function createScheduler(dependencies) {
32
31
  }
33
32
  throw error;
34
33
  }
35
- }));
34
+ };
35
+ const results = await Promise.allSettled(packageNames.map(executePackage));
36
36
  const [rejectedResults, fulfilledResults] = partition(results, isFulfilledResult);
37
37
  const succeeded = fulfilledResults.map(getValue);
38
38
  if (rejectedResults.length > 0) {
39
39
  return Result.err({
40
- succeeded,
40
+ succeeded: succeeded.map((entry) => {
41
+ return entry.result;
42
+ }),
41
43
  failures: rejectedResults.map(getReason)
42
44
  });
43
45
  }
@@ -49,25 +51,37 @@ export function createScheduler(dependencies) {
49
51
  }
50
52
  }
51
53
  function getExecutionPlan(config) {
54
+ // eslint-disable-next-line unicorn/no-array-reverse -- false positive
52
55
  return config.packageGraph.reverse().getTopologicalGenerations();
53
56
  }
54
57
  return {
55
- async runForEachScheduledPackage(config, callback) {
56
- emitScheduledEventForAllPackages(config);
57
- const bundles = [];
58
- const succeeded = [];
59
- for (const generation of getExecutionPlan(config)) {
60
- const generationResult = await runForGeneration(generation, config, bundles, callback);
58
+ async runForEachScheduledPackage(params) {
59
+ const { config } = params;
60
+ if (params.emitScheduledEvents ?? true) {
61
+ emitScheduledEventForAllPackages(config);
62
+ }
63
+ const state = { nextItems: [], succeeded: [] };
64
+ const processGeneration = async (generation) => {
65
+ const generationResult = await runForGeneration(generation, config, state.nextItems, params);
61
66
  if (generationResult.isErr) {
62
67
  return Result.err({
63
- succeeded: [...succeeded, ...generationResult.error.succeeded],
68
+ succeeded: [...state.succeeded, ...generationResult.error.succeeded],
64
69
  failures: generationResult.error.failures
65
70
  });
66
71
  }
67
- bundles.push(...generationResult.value.map(getBundle));
68
- succeeded.push(...generationResult.value);
72
+ generationResult.value.forEach((entry) => {
73
+ state.nextItems.push(params.selectNext({ result: entry.result, options: entry.options }));
74
+ state.succeeded.push(entry.result);
75
+ });
76
+ return Result.ok(undefined);
77
+ };
78
+ for (const generation of getExecutionPlan(config)) {
79
+ const iterationResult = await processGeneration(generation);
80
+ if (iterationResult.isErr) {
81
+ return Result.err(iterationResult.error);
82
+ }
69
83
  }
70
- return Result.ok(succeeded);
84
+ return Result.ok(state.succeeded);
71
85
  }
72
86
  };
73
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../../source/packtory/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../../source/packtory/scheduler.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,12 @@ type ProgressEventPayload = {
6
6
  type ScheduledEventPayload = {
7
7
  readonly packageName: string;
8
8
  };
9
+ type ResolvingEventPayload = {
10
+ readonly packageName: string;
11
+ };
12
+ type LinkingEventPayload = {
13
+ readonly packageName: string;
14
+ };
9
15
  type ErrorPayload = {
10
16
  readonly packageName: string;
11
17
  readonly error: Error;
@@ -17,6 +23,8 @@ type DonePayload = {
17
23
  };
18
24
  type Events = {
19
25
  readonly scheduled: ScheduledEventPayload;
26
+ readonly resolving: ResolvingEventPayload;
27
+ readonly linking: LinkingEventPayload;
20
28
  readonly building: ProgressEventPayload;
21
29
  readonly rebuilding: ProgressEventPayload;
22
30
  readonly publishing: ProgressEventPayload;
@@ -1 +1 @@
1
- {"version":3,"file":"progress-broadcaster.d.ts","sourceRoot":"","sources":["../../../../source/progress/progress-broadcaster.ts"],"names":[],"mappings":"AAAA,OAA4B,EAAE,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAKzD,KAAK,oBAAoB,GAAG;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,KAAK,qBAAqB,GAAG;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,KAAK,YAAY,GAAG;IAChB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACzB,CAAC;AAEF,KAAK,WAAW,GAAG;IACf,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,mBAAmB,GAAG,iBAAiB,GAAG,aAAa,CAAC;CAC5E,CAAC;AAEF,KAAK,MAAM,GAAG;IACV,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAChC,CAAC;AAEF,KAAK,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAEhD,MAAM,MAAM,yBAAyB,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACpC,QAAQ,CAAC,EAAE,EAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC5C,QAAQ,CAAC,GAAG,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAC;CAChD,CAAC;AAEF,wBAAgB,yBAAyB,IAAI,mBAAmB,CAY/D"}
1
+ {"version":3,"file":"progress-broadcaster.d.ts","sourceRoot":"","sources":["../../../../source/progress/progress-broadcaster.ts"],"names":[],"mappings":"AAAA,OAA4B,EAAE,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAMzD,KAAK,oBAAoB,GAAG;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,KAAK,qBAAqB,GAAG;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,KAAK,qBAAqB,GAAG;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,KAAK,YAAY,GAAG;IAChB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACzB,CAAC;AAEF,KAAK,WAAW,GAAG;IACf,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,mBAAmB,GAAG,iBAAiB,GAAG,aAAa,CAAC;CAC5E,CAAC;AAEF,KAAK,MAAM,GAAG;IACV,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAChC,CAAC;AAEF,KAAK,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAEhD,MAAM,MAAM,yBAAyB,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACpC,QAAQ,CAAC,EAAE,EAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC5C,QAAQ,CAAC,GAAG,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAC;CAChD,CAAC;AAEF,wBAAgB,yBAAyB,IAAI,mBAAmB,CAY/D"}
@@ -1,5 +1,6 @@
1
1
  import _createEventEmitter, {} from 'mitt';
2
2
  // workaround for https://github.com/developit/mitt/issues/191
3
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- workaround
3
4
  const createEventEmitter = _createEventEmitter;
4
5
  export function createProgressBroadcaster() {
5
6
  const emitter = createEventEmitter();
@@ -1 +1 @@
1
- {"version":3,"file":"progress-broadcaster.js","sourceRoot":"","sources":["../../../../source/progress/progress-broadcaster.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,EAAE,EAAgB,MAAM,MAAM,CAAC;AAEzD,8DAA8D;AAC9D,MAAM,kBAAkB,GAAG,mBAAoE,CAAC;AA+ChG,MAAM,UAAU,yBAAyB;IACrC,MAAM,OAAO,GAAG,kBAAkB,EAAU,CAAC;IAE7C,OAAO;QACH,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO,CAAC,IAAI;SACrB;QACD,QAAQ,EAAE;YACN,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,GAAG,EAAE,OAAO,CAAC,GAAG;SACnB;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"progress-broadcaster.js","sourceRoot":"","sources":["../../../../source/progress/progress-broadcaster.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,EAAE,EAAgB,MAAM,MAAM,CAAC;AAEzD,8DAA8D;AAC9D,qFAAqF;AACrF,MAAM,kBAAkB,GAAG,mBAAoE,CAAC;AAyDhG,MAAM,UAAU,yBAAyB;IACrC,MAAM,OAAO,GAAG,kBAAkB,EAAU,CAAC;IAE7C,OAAO;QACH,QAAQ,EAAE;YACN,IAAI,EAAE,OAAO,CAAC,IAAI;SACrB;QACD,QAAQ,EAAE;YACN,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,GAAG,EAAE,OAAO,CAAC,GAAG;SACnB;KACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,35 @@
1
+ import path from 'node:path';
2
+ function prependSourcesFolderIfNecessary(sourcesFolder, filePath) {
3
+ if (!path.isAbsolute(filePath)) {
4
+ return path.join(sourcesFolder, filePath);
5
+ }
6
+ return filePath;
7
+ }
8
+ export function combineAllBundleFiles(sourcesFolder, localDependencies, additionalFiles) {
9
+ const resolvedLocalFiles = localDependencies.map((localFile) => {
10
+ const targetFilePath = path.relative(sourcesFolder, localFile.filePath);
11
+ return {
12
+ sourceFilePath: localFile.filePath,
13
+ targetFilePath,
14
+ directDependencies: localFile.directDependencies,
15
+ project: localFile.project
16
+ };
17
+ });
18
+ const additionalContents = additionalFiles.map((additionalFile) => {
19
+ if (typeof additionalFile === 'string') {
20
+ const sourceFilePath = path.join(sourcesFolder, additionalFile);
21
+ const targetFilePath = additionalFile;
22
+ return { sourceFilePath, targetFilePath, directDependencies: new Set() };
23
+ }
24
+ if (path.isAbsolute(additionalFile.targetFilePath)) {
25
+ throw new Error('The targetFilePath must be relative');
26
+ }
27
+ return {
28
+ sourceFilePath: prependSourcesFolderIfNecessary(sourcesFolder, additionalFile.sourceFilePath),
29
+ targetFilePath: additionalFile.targetFilePath,
30
+ directDependencies: new Set()
31
+ };
32
+ });
33
+ return [...resolvedLocalFiles, ...additionalContents];
34
+ }
35
+ //# sourceMappingURL=content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../../../source/resource-resolver/content.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAK7B,SAAS,+BAA+B,CAAC,aAAqB,EAAE,QAAgB;IAC5E,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AASD,MAAM,UAAU,qBAAqB,CACjC,aAAqB,EACrB,iBAAuC,EACvC,eAAgE;IAEhE,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QACxE,OAAO;YACH,cAAc,EAAE,SAAS,CAAC,QAAQ;YAClC,cAAc;YACd,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;YAChD,OAAO,EAAE,SAAS,CAAC,OAAO;SAC7B,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,cAAc,EAAsB,EAAE;QAClF,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YAChE,MAAM,cAAc,GAAG,cAAc,CAAC;YACtC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;QAC7E,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO;YACH,cAAc,EAAE,+BAA+B,CAAC,aAAa,EAAE,cAAc,CAAC,cAAc,CAAC;YAC7F,cAAc,EAAE,cAAc,CAAC,cAAc;YAC7C,kBAAkB,EAAE,IAAI,GAAG,EAAE;SAChC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,kBAAkB,EAAE,GAAG,kBAAkB,CAAC,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { Project } from 'ts-morph';
2
+ import type { ExternalDependencies } from '../dependency-scanner/external-dependencies.ts';
3
+ import type { TransferableFileDescription } from '../file-manager/file-description.ts';
4
+ export type BundleResource = {
5
+ readonly fileDescription: TransferableFileDescription;
6
+ readonly directDependencies: ReadonlySet<string>;
7
+ };
8
+ export type ResolvedContent = BundleResource & {
9
+ readonly project?: Project | undefined;
10
+ };
11
+ export type EntryPointFileDescription = {
12
+ js: TransferableFileDescription;
13
+ declarationFile?: TransferableFileDescription | undefined;
14
+ };
15
+ export type ResolvedBundle = {
16
+ readonly contents: readonly ResolvedContent[];
17
+ readonly entryPoints: readonly [EntryPointFileDescription, ...EntryPointFileDescription[]];
18
+ readonly name: string;
19
+ readonly externalDependencies: ExternalDependencies;
20
+ };
21
+ //# sourceMappingURL=resolved-bundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolved-bundle.d.ts","sourceRoot":"","sources":["../../../../source/resource-resolver/resolved-bundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAEvF,MAAM,MAAM,cAAc,GAAG;IACzB,QAAQ,CAAC,eAAe,EAAE,2BAA2B,CAAC;IACtD,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG;IAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACpC,EAAE,EAAE,2BAA2B,CAAC;IAChC,eAAe,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,yBAAyB,EAAE,GAAG,yBAAyB,EAAE,CAAC,CAAC;IAC3F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;CACvD,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { EntryPoint } from '../config/entry-point.ts';
2
+ import type { AdditionalFileDescription } from '../config/additional-files.ts';
3
+ import type { ModuleResolution } from '../dependency-scanner/typescript-project-analyzer.ts';
4
+ export type EntryPoints = readonly [EntryPoint, ...(readonly EntryPoint[])];
5
+ export type ResourceResolveOptions = {
6
+ readonly sourcesFolder: string;
7
+ readonly entryPoints: EntryPoints;
8
+ readonly name: string;
9
+ readonly includeSourceMapFiles: boolean;
10
+ readonly additionalFiles: readonly (AdditionalFileDescription | string)[];
11
+ readonly moduleResolution: ModuleResolution;
12
+ };
13
+ //# sourceMappingURL=resource-resolve-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-resolve-options.d.ts","sourceRoot":"","sources":["../../../../source/resource-resolver/resource-resolve-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AAE7F,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC,CAAC;AAE5E,MAAM,MAAM,sBAAsB,GAAG;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,yBAAyB,GAAG,MAAM,CAAC,EAAE,CAAC;IAC1E,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;CAC/C,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { DependencyScanner } from '../dependency-scanner/scanner.ts';
2
+ import type { FileManager } from '../file-manager/file-manager.ts';
3
+ import type { ResolvedBundle } from './resolved-bundle.ts';
4
+ import type { ResourceResolveOptions } from './resource-resolve-options.ts';
5
+ export type ResourceResolverDependencies = {
6
+ readonly dependencyScanner: DependencyScanner;
7
+ readonly fileManager: FileManager;
8
+ };
9
+ export type ResourceResolver = {
10
+ resolve: (options: ResourceResolveOptions) => Promise<ResolvedBundle>;
11
+ };
12
+ export declare function createResourceResolver(dependencies: ResourceResolverDependencies): ResourceResolver;
13
+ //# sourceMappingURL=resource-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-resolver.d.ts","sourceRoot":"","sources":["../../../../source/resource-resolver/resource-resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,KAAK,EAAkB,cAAc,EAAmB,MAAM,sBAAsB,CAAC;AAC5F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAG5E,MAAM,MAAM,4BAA4B,GAAG;IACvC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,OAAO,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;CACzE,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,4BAA4B,GAAG,gBAAgB,CA+FnG"}
@@ -0,0 +1,66 @@
1
+ import { map } from 'effect/ReadonlyArray';
2
+ import { mergeDependencyFiles } from "../dependency-scanner/dependency-graph.js";
3
+ import { combineAllBundleFiles } from "./content.js";
4
+ export function createResourceResolver(dependencies) {
5
+ const { dependencyScanner, fileManager } = dependencies;
6
+ async function resolveDependenciesForAllEntrypoints(options) {
7
+ const { entryPoints, sourcesFolder, includeSourceMapFiles, moduleResolution } = options;
8
+ let dependencyFiles = { externalDependencies: new Map(), localFiles: [] };
9
+ for (const entryPoint of entryPoints) {
10
+ const jsDependencyGraph = await dependencyScanner.scan(entryPoint.js, sourcesFolder, {
11
+ includeSourceMapFiles,
12
+ resolveDeclarationFiles: false,
13
+ moduleResolution
14
+ });
15
+ dependencyFiles = mergeDependencyFiles(dependencyFiles, jsDependencyGraph.flatten(entryPoint.js));
16
+ if (entryPoint.declarationFile !== undefined) {
17
+ const declarationDependencyGraph = await dependencyScanner.scan(entryPoint.declarationFile, sourcesFolder, {
18
+ includeSourceMapFiles,
19
+ resolveDeclarationFiles: true,
20
+ moduleResolution
21
+ });
22
+ dependencyFiles = mergeDependencyFiles(dependencyFiles, declarationDependencyGraph.flatten(entryPoint.declarationFile));
23
+ }
24
+ }
25
+ return dependencyFiles;
26
+ }
27
+ function findFileDescriptionBySourcePath(filePath, resources) {
28
+ const matchingResource = resources.find((resource) => {
29
+ return resource.fileDescription.sourceFilePath === filePath;
30
+ });
31
+ if (matchingResource === undefined) {
32
+ return undefined;
33
+ }
34
+ return matchingResource.fileDescription;
35
+ }
36
+ return {
37
+ async resolve(options) {
38
+ const resolvedDependencies = await resolveDependenciesForAllEntrypoints(options);
39
+ const bundleFiles = combineAllBundleFiles(options.sourcesFolder, resolvedDependencies.localFiles, options.additionalFiles);
40
+ const contents = await Promise.all(bundleFiles.map(async (bundleFile) => {
41
+ const fileDescription = await fileManager.getTransferableFileDescriptionFromPath(bundleFile.sourceFilePath, bundleFile.targetFilePath);
42
+ return {
43
+ fileDescription,
44
+ directDependencies: bundleFile.directDependencies,
45
+ project: bundleFile.project
46
+ };
47
+ }));
48
+ return {
49
+ contents,
50
+ name: options.name,
51
+ externalDependencies: resolvedDependencies.externalDependencies,
52
+ entryPoints: map(options.entryPoints, (entryPoint) => {
53
+ const jsResource = findFileDescriptionBySourcePath(entryPoint.js, contents);
54
+ if (jsResource === undefined) {
55
+ throw new Error(`Failed to resolve resource for entry point ${entryPoint.js}`);
56
+ }
57
+ const declarationFileResource = entryPoint.declarationFile === undefined
58
+ ? undefined
59
+ : findFileDescriptionBySourcePath(entryPoint.declarationFile, contents);
60
+ return { js: jsResource, declarationFile: declarationFileResource };
61
+ })
62
+ };
63
+ }
64
+ };
65
+ }
66
+ //# sourceMappingURL=resource-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-resolver.js","sourceRoot":"","sources":["../../../../source/resource-resolver/resource-resolver.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import type { FileDescription } from '../file-description/file-description.js';
1
+ import type { FileDescription } from '../file-manager/file-description.ts';
2
2
  export type TarballBuilder = {
3
- build(fileDescriptions: readonly FileDescription[]): Promise<Buffer>;
3
+ build: (fileDescriptions: readonly FileDescription[]) => Promise<Buffer>;
4
4
  };
5
5
  export declare function createTarballBuilder(): TarballBuilder;
6
6
  //# sourceMappingURL=tarball-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tarball-builder.d.ts","sourceRoot":"","sources":["../../../../source/tar/tarball-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAE/E,MAAM,MAAM,cAAc,GAAG;IACzB,KAAK,CAAC,gBAAgB,EAAE,SAAS,eAAe,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACxE,CAAC;AAcF,wBAAgB,oBAAoB,IAAI,cAAc,CAsCrD"}
1
+ {"version":3,"file":"tarball-builder.d.ts","sourceRoot":"","sources":["../../../../source/tar/tarball-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAE3E,MAAM,MAAM,cAAc,GAAG;IACzB,KAAK,EAAE,CAAC,gBAAgB,EAAE,SAAS,eAAe,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5E,CAAC;AAcF,wBAAgB,oBAAoB,IAAI,cAAc,CAuCrD"}
@@ -30,6 +30,7 @@ export function createTarballBuilder() {
30
30
  const tarballStream = pack.pipe(gzipStream);
31
31
  const chunks = [];
32
32
  for await (const chunk of tarballStream) {
33
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- ok in this case
33
34
  chunks.push(chunk);
34
35
  }
35
36
  const tarData = Buffer.concat(chunks);
@@ -1 +1 @@
1
- {"version":3,"file":"tarball-builder.js","sourceRoot":"","sources":["../../../../source/tar/tarball-builder.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,GAAG,EAAE,EAAa,MAAM,YAAY,CAAC;AAO5C,MAAM,uCAAuC,GAAG,CAAC,CAAC;AAClD,MAAM,oCAAoC,GAAG,GAAG,CAAC;AAEjD,SAAS,mCAAmC,CAAC,IAAY;IACrD,qGAAqG;IACrG,IAAI,CAAC,uCAAuC,CAAC,GAAG,oCAAoC,CAAC;AACzF,CAAC;AAED,MAAM,0BAA0B,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/C,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC,MAAM,UAAU,oBAAoB;IAChC,SAAS,UAAU,CAAC,gBAA4C;QAC5D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAExB,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACpB;gBACI,IAAI,EAAE,eAAe,CAAC,QAAQ;gBAC9B,KAAK,EAAE,0BAA0B;gBACjC,IAAI,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,qBAAqB;aAClF,EACD,eAAe,CAAC,OAAO,CAC1B,CAAC;YACF,KAAK,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO;QACH,KAAK,CAAC,KAAK,CAAC,gBAAgB;YACxB,MAAM,IAAI,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAE1C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAa,EAAE,CAAC;YAE5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;YACjC,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtC,mCAAmC,CAAC,OAAO,CAAC,CAAC;YAC7C,OAAO,OAAO,CAAC;QACnB,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"tarball-builder.js","sourceRoot":"","sources":["../../../../source/tar/tarball-builder.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,GAAG,EAAE,EAAa,MAAM,YAAY,CAAC;AAO5C,MAAM,uCAAuC,GAAG,CAAC,CAAC;AAClD,MAAM,oCAAoC,GAAG,GAAG,CAAC;AAEjD,SAAS,mCAAmC,CAAC,IAAY;IACrD,qGAAqG;IACrG,IAAI,CAAC,uCAAuC,CAAC,GAAG,oCAAoC,CAAC;AACzF,CAAC;AAED,MAAM,0BAA0B,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/C,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC,MAAM,UAAU,oBAAoB;IAChC,SAAS,UAAU,CAAC,gBAA4C;QAC5D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAExB,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACpB;gBACI,IAAI,EAAE,eAAe,CAAC,QAAQ;gBAC9B,KAAK,EAAE,0BAA0B;gBACjC,IAAI,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,qBAAqB;aAClF,EACD,eAAe,CAAC,OAAO,CAC1B,CAAC;YACF,KAAK,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO;QACH,KAAK,CAAC,KAAK,CAAC,gBAAgB;YACxB,MAAM,IAAI,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAE1C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAa,EAAE,CAAC;YAE5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;gBACtC,0FAA0F;gBAC1F,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;YACjC,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtC,mCAAmC,CAAC,OAAO,CAAC,CAAC;YAC7C,OAAO,OAAO,CAAC;QACnB,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type BuildVersionedBundleOptions, type VersionedBundle, type VersionedBundleWithManifest } from './versioned-bundle.ts';
2
+ export type VersionManager = {
3
+ addVersion: (options: BuildVersionedBundleOptions) => VersionedBundleWithManifest;
4
+ increaseVersion: (bundle: VersionedBundle) => VersionedBundleWithManifest;
5
+ };
6
+ export declare function createVersionManager(): VersionManager;
7
+ //# sourceMappingURL=manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../source/version-manager/manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAEH,KAAK,2BAA2B,EAChC,KAAK,eAAe,EACpB,KAAK,2BAA2B,EACnC,MAAM,uBAAuB,CAAC;AAE/B,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,CAAC;AAEF,wBAAgB,oBAAoB,IAAI,cAAc,CA0CrD"}
@@ -0,0 +1,44 @@
1
+ import semver from 'semver';
2
+ import { buildPackageManifest } from "./manifest/builder.js";
3
+ import { serializePackageJson } from "./manifest/serialize.js";
4
+ import { buildVersionedBundle } from "./versioned-bundle.js";
5
+ export function createVersionManager() {
6
+ return {
7
+ addVersion(options) {
8
+ const versionedBundle = buildVersionedBundle(options);
9
+ const manifest = buildPackageManifest(versionedBundle);
10
+ const packageJsonContent = serializePackageJson(manifest);
11
+ return {
12
+ ...versionedBundle,
13
+ packageJson: manifest,
14
+ manifestFile: {
15
+ content: packageJsonContent,
16
+ isExecutable: false,
17
+ filePath: 'package.json'
18
+ }
19
+ };
20
+ },
21
+ increaseVersion(versionedBundle) {
22
+ const newVersion = semver.inc(versionedBundle.version, 'patch');
23
+ if (newVersion === null) {
24
+ throw new Error('Failed to increase version');
25
+ }
26
+ const newVersionedBundle = {
27
+ ...versionedBundle,
28
+ version: newVersion
29
+ };
30
+ const manifest = buildPackageManifest(newVersionedBundle);
31
+ const packageJsonContent = serializePackageJson(manifest);
32
+ return {
33
+ ...newVersionedBundle,
34
+ packageJson: manifest,
35
+ manifestFile: {
36
+ content: packageJsonContent,
37
+ isExecutable: false,
38
+ filePath: 'package.json'
39
+ }
40
+ };
41
+ }
42
+ };
43
+ }
44
+ //# sourceMappingURL=manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../../source/version-manager/manager.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EACH,oBAAoB,EAIvB,MAAM,uBAAuB,CAAC;AAO/B,MAAM,UAAU,oBAAoB;IAChC,OAAO;QACH,UAAU,CAAC,OAAO;YACd,MAAM,eAAe,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;YACtD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,eAAe,CAAC,CAAC;YACvD,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAE1D,OAAO;gBACH,GAAG,eAAe;gBAClB,WAAW,EAAE,QAAQ;gBACrB,YAAY,EAAE;oBACV,OAAO,EAAE,kBAAkB;oBAC3B,YAAY,EAAE,KAAK;oBACnB,QAAQ,EAAE,cAAc;iBAC3B;aACJ,CAAC;QACN,CAAC;QAED,eAAe,CAAC,eAAe;YAC3B,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAChE,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAClD,CAAC;YAED,MAAM,kBAAkB,GAAoB;gBACxC,GAAG,eAAe;gBAClB,OAAO,EAAE,UAAU;aACtB,CAAC;YACF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;YAC1D,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAE1D,OAAO;gBACH,GAAG,kBAAkB;gBACrB,WAAW,EAAE,QAAQ;gBACrB,YAAY,EAAE;oBACV,OAAO,EAAE,kBAAkB;oBAC3B,YAAY,EAAE,KAAK;oBACnB,QAAQ,EAAE,cAAc;iBAC3B;aACJ,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { SetRequired, PackageJson } from 'type-fest';
2
+ import type { VersionedBundle } from '../versioned-bundle.ts';
3
+ export type BundlePackageJson = Readonly<SetRequired<PackageJson, 'name' | 'version'>>;
4
+ export declare function buildPackageManifest(bundle: VersionedBundle): BundlePackageJson;
5
+ //# sourceMappingURL=builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../../source/version-manager/manifest/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;AAEvF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,iBAAiB,CAY/E"}
@@ -0,0 +1,13 @@
1
+ export function buildPackageManifest(bundle) {
2
+ const packageJson = {
3
+ name: bundle.name,
4
+ version: bundle.version,
5
+ main: bundle.mainFile.targetFilePath,
6
+ ...(Object.keys(bundle.dependencies).length > 0 ? { dependencies: bundle.dependencies } : {}),
7
+ ...(Object.keys(bundle.peerDependencies).length > 0 ? { peerDependencies: bundle.peerDependencies } : {}),
8
+ ...(bundle.packageType === undefined ? {} : { type: bundle.packageType }),
9
+ ...(bundle.typesMainFile === undefined ? {} : { types: bundle.typesMainFile.targetFilePath })
10
+ };
11
+ return { ...bundle.additionalAttributes, ...packageJson };
12
+ }
13
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../../source/version-manager/manifest/builder.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,oBAAoB,CAAC,MAAuB;IACxD,MAAM,WAAW,GAAsB;QACnC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,cAAc;QACpC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzG,GAAG,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;QACzE,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;KAChG,CAAC;IAEF,OAAO,EAAE,GAAG,MAAM,CAAC,oBAAoB,EAAE,GAAG,WAAW,EAAE,CAAC;AAC9D,CAAC"}
@@ -31,6 +31,7 @@ function deepSort(value, visitedObjects) {
31
31
  if (isRecord(value)) {
32
32
  const entries = Object.entries(value);
33
33
  entries.sort(compareEntryKeys);
34
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- ok in this case
34
35
  return Object.fromEntries(entries.map(([propertyName, propertyValue]) => {
35
36
  let currentValue = propertyValue;
36
37
  if (isArray(propertyValue)) {
@@ -41,7 +42,7 @@ function deepSort(value, visitedObjects) {
41
42
  }
42
43
  return item;
43
44
  })
44
- .sort(compareValues);
45
+ .toSorted(compareValues);
45
46
  }
46
47
  return [propertyName, deepSort(currentValue, [...visitedObjects, value])];
47
48
  }));
@@ -52,4 +53,4 @@ export function serializePackageJson(data) {
52
53
  const sortedData = deepSort(data, []);
53
54
  return JSON.stringify(sortedData, null, indentationSize);
54
55
  }
55
- //# sourceMappingURL=package-json.js.map
56
+ //# sourceMappingURL=serialize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../../../../source/version-manager/manifest/serialize.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG,CAAC,CAAC;AAO1B,SAAS,WAAW,CAAC,KAAc;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,CAAC;AAChG,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC3B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,aAAa,CAAC,MAAe,EAAE,MAAe;IACnD,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;YAClB,OAAO,CAAC,CAAC,CAAC;QACd,CAAC;QACD,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;YAClB,OAAO,CAAC,CAAC;QACb,CAAC;IACL,CAAC;IAED,OAAO,CAAC,CAAC;AACb,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA0B,EAAE,MAA0B;IAC5E,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACtB,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IAEtB,OAAO,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,QAAQ,CAAI,KAAQ,EAAE,cAAkC;IAC7D,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAE/B,0FAA0F;QAC1F,OAAO,MAAM,CAAC,WAAW,CACrB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE,EAAE;YAC1C,IAAI,YAAY,GAAG,aAAa,CAAC;YAEjC,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBACzB,YAAY,GAAG,aAAa;qBACvB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACV,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBACjB,OAAO,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC9B,CAAC;oBACD,OAAO,IAAI,CAAC;gBAChB,CAAC,CAAC;qBACD,QAAQ,CAAC,aAAa,CAAC,CAAC;YACjC,CAAC;YAED,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9E,CAAC,CAAC,CACA,CAAC;IACX,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAA2B;IAC5D,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { PackageJson } from 'type-fest';
2
+ import type { LinkedBundle } from '../linker/linked-bundle.ts';
3
+ import type { AdditionalPackageJsonAttributes, MainPackageJson } from '../config/package-json.ts';
4
+ import type { FileDescription, TransferableFileDescription } from '../file-manager/file-description.ts';
5
+ import type { BundlePackageJson } from './manifest/builder.ts';
6
+ export type VersionedBundle = Pick<LinkedBundle, 'contents' | 'name'> & {
7
+ readonly version: string;
8
+ readonly dependencies: Record<string, string>;
9
+ readonly peerDependencies: Record<string, string>;
10
+ readonly additionalAttributes: AdditionalPackageJsonAttributes;
11
+ readonly mainFile: TransferableFileDescription;
12
+ readonly typesMainFile?: TransferableFileDescription | undefined;
13
+ readonly packageType: PackageJson['type'];
14
+ };
15
+ export type VersionedBundleWithManifest = VersionedBundle & {
16
+ readonly manifestFile: FileDescription;
17
+ readonly packageJson: BundlePackageJson;
18
+ };
19
+ export type BuildVersionedBundleOptions = {
20
+ readonly bundle: LinkedBundle;
21
+ readonly version: string;
22
+ readonly mainPackageJson: MainPackageJson;
23
+ readonly bundleDependencies: readonly VersionedBundle[];
24
+ readonly bundlePeerDependencies: readonly VersionedBundle[];
25
+ readonly additionalPackageJsonAttributes: AdditionalPackageJsonAttributes;
26
+ };
27
+ export declare function buildVersionedBundle(options: BuildVersionedBundleOptions): VersionedBundle;
28
+ //# sourceMappingURL=versioned-bundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versioned-bundle.d.ts","sourceRoot":"","sources":["../../../../source/version-manager/versioned-bundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,+BAA+B,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAClG,OAAO,KAAK,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AACxG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,MAAM,CAAC,GAAG;IACpE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,QAAQ,CAAC,oBAAoB,EAAE,+BAA+B,CAAC;IAC/D,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAC;IAC/C,QAAQ,CAAC,aAAa,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAC;IACjE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,eAAe,GAAG;IACxD,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;CAC3C,CAAC;AAiBF,MAAM,MAAM,2BAA2B,GAAG;IACtC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,EAAE,SAAS,eAAe,EAAE,CAAC;IACxD,QAAQ,CAAC,sBAAsB,EAAE,SAAS,eAAe,EAAE,CAAC;IAC5D,QAAQ,CAAC,+BAA+B,EAAE,+BAA+B,CAAC;CAC7E,CAAC;AAgFF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,eAAe,CA6B1F"}