packtory 0.0.8 → 0.0.9

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 (339) hide show
  1. package/artifacts/artifacts-builder.d.ts +7 -5
  2. package/artifacts/artifacts-builder.d.ts.map +1 -1
  3. package/artifacts/artifacts-builder.js +47 -18
  4. package/artifacts/artifacts-builder.js.map +1 -1
  5. package/bundle-emitter/emitter.d.ts +12 -2
  6. package/bundle-emitter/emitter.d.ts.map +1 -1
  7. package/bundle-emitter/emitter.js +11 -6
  8. package/bundle-emitter/emitter.js.map +1 -1
  9. package/bundle-emitter/extract-package-tarball.js +1 -2
  10. package/bundle-emitter/extract-package-tarball.js.map +1 -1
  11. package/bundle-emitter/publish-settings-bridge.js +133 -0
  12. package/bundle-emitter/publish-settings-bridge.js.map +1 -0
  13. package/bundle-emitter/registry-client.d.ts +13 -6
  14. package/bundle-emitter/registry-client.d.ts.map +1 -1
  15. package/bundle-emitter/registry-client.js +217 -45
  16. package/bundle-emitter/registry-client.js.map +1 -1
  17. package/bundle-emitter/repository-coherence.js +54 -0
  18. package/bundle-emitter/repository-coherence.js.map +1 -0
  19. package/bundle-emitter/repository-url-normalizer.js +38 -0
  20. package/bundle-emitter/repository-url-normalizer.js.map +1 -0
  21. package/checks/check-runner.js +3 -9
  22. package/checks/check-runner.js.map +1 -1
  23. package/checks/rule.js +13 -0
  24. package/checks/rule.js.map +1 -0
  25. package/checks/rules/max-bundle-size.js +44 -0
  26. package/checks/rules/max-bundle-size.js.map +1 -0
  27. package/checks/rules/no-dev-dependency-imports.js +37 -0
  28. package/checks/rules/no-dev-dependency-imports.js.map +1 -0
  29. package/checks/rules/no-duplicated-files.js +102 -27
  30. package/checks/rules/no-duplicated-files.js.map +1 -1
  31. package/checks/rules/no-side-effects.js +51 -0
  32. package/checks/rules/no-side-effects.js.map +1 -0
  33. package/checks/rules/no-unused-bundle-dependencies.js +33 -0
  34. package/checks/rules/no-unused-bundle-dependencies.js.map +1 -0
  35. package/checks/rules/registry.js +17 -0
  36. package/checks/rules/registry.js.map +1 -0
  37. package/checks/rules/required-files.js +41 -0
  38. package/checks/rules/required-files.js.map +1 -0
  39. package/checks/rules/unique-target-paths.js +34 -0
  40. package/checks/rules/unique-target-paths.js.map +1 -0
  41. package/common/clock.d.ts +7 -0
  42. package/common/clock.d.ts.map +1 -0
  43. package/common/clock.js +11 -0
  44. package/common/clock.js.map +1 -0
  45. package/common/code-files.js +5 -0
  46. package/common/code-files.js.map +1 -0
  47. package/config/additional-package-json-attributes-schema.js +7 -0
  48. package/config/additional-package-json-attributes-schema.js.map +1 -0
  49. package/config/automatic-versioning-settings.js +7 -0
  50. package/config/automatic-versioning-settings.js.map +1 -0
  51. package/config/checks-schema.d.ts +74 -0
  52. package/config/checks-schema.d.ts.map +1 -0
  53. package/config/checks-schema.js +27 -0
  54. package/config/checks-schema.js.map +1 -0
  55. package/config/common-package-settings-schemas.js +20 -0
  56. package/config/common-package-settings-schemas.js.map +1 -0
  57. package/config/config.d.ts +16 -704
  58. package/config/config.d.ts.map +1 -1
  59. package/config/config.js +3 -71
  60. package/config/config.js.map +1 -1
  61. package/config/dead-code-elimination-settings.d.ts +6 -0
  62. package/config/dead-code-elimination-settings.d.ts.map +1 -0
  63. package/config/dead-code-elimination-settings.js +5 -0
  64. package/config/dead-code-elimination-settings.js.map +1 -0
  65. package/config/dependency-policy.d.ts +6 -0
  66. package/config/dependency-policy.d.ts.map +1 -0
  67. package/config/dependency-policy.js +6 -0
  68. package/config/dependency-policy.js.map +1 -0
  69. package/config/main-package-json-schema.js +14 -0
  70. package/config/main-package-json-schema.js.map +1 -0
  71. package/config/manual-versioning-settings.js +7 -0
  72. package/config/manual-versioning-settings.js.map +1 -0
  73. package/config/optional-package-settings-schema.js +15 -0
  74. package/config/optional-package-settings-schema.js.map +1 -0
  75. package/config/package-config.d.ts +49 -0
  76. package/config/package-config.d.ts.map +1 -0
  77. package/config/package-config.js +7 -0
  78. package/config/package-config.js.map +1 -0
  79. package/config/package-interface.d.ts +34 -0
  80. package/config/package-interface.d.ts.map +1 -0
  81. package/config/package-interface.js +26 -0
  82. package/config/package-interface.js.map +1 -0
  83. package/config/package-json.d.ts +11 -10
  84. package/config/package-json.d.ts.map +1 -1
  85. package/config/package-json.js +11 -19
  86. package/config/package-json.js.map +1 -1
  87. package/config/package-schemas.js +10 -0
  88. package/config/package-schemas.js.map +1 -0
  89. package/config/packtory-config-schema.js +7 -0
  90. package/config/packtory-config-schema.js.map +1 -0
  91. package/config/packtory-config-without-registry-schema.js +32 -0
  92. package/config/packtory-config-without-registry-schema.js.map +1 -0
  93. package/config/per-package-settings-schema.js +22 -0
  94. package/config/per-package-settings-schema.js.map +1 -0
  95. package/config/publish-settings.d.ts +22 -0
  96. package/config/publish-settings.d.ts.map +1 -0
  97. package/config/publish-settings.js +26 -0
  98. package/config/publish-settings.js.map +1 -0
  99. package/config/publish-settings.report.js +17 -0
  100. package/config/publish-settings.report.js.map +1 -0
  101. package/config/registry-settings.d.ts +83 -1
  102. package/config/registry-settings.d.ts.map +1 -1
  103. package/config/registry-settings.js +35 -1
  104. package/config/registry-settings.js.map +1 -1
  105. package/config/registry-settings.report.js +41 -0
  106. package/config/registry-settings.report.js.map +1 -0
  107. package/config/root.d.ts +7 -0
  108. package/config/root.d.ts.map +1 -0
  109. package/config/{entry-point.js → root.js} +2 -2
  110. package/config/root.js.map +1 -0
  111. package/config/sbom-settings.js +5 -0
  112. package/config/sbom-settings.js.map +1 -0
  113. package/config/validation.d.ts +2 -2
  114. package/config/validation.d.ts.map +1 -1
  115. package/config/validation.js +155 -37
  116. package/config/validation.js.map +1 -1
  117. package/config/versioning-settings.d.ts.map +1 -1
  118. package/config/versioning-settings.js +2 -9
  119. package/config/versioning-settings.js.map +1 -1
  120. package/dead-code-eliminator/analyzed-bundle.d.ts +27 -0
  121. package/dead-code-eliminator/analyzed-bundle.d.ts.map +1 -0
  122. package/dead-code-eliminator/analyzed-bundle.js +8 -0
  123. package/dead-code-eliminator/analyzed-bundle.js.map +1 -0
  124. package/dead-code-eliminator/cross-bundle/cross-bundle-seeds.js +126 -0
  125. package/dead-code-eliminator/cross-bundle/cross-bundle-seeds.js.map +1 -0
  126. package/dead-code-eliminator/elimination-emitter.js +53 -0
  127. package/dead-code-eliminator/elimination-emitter.js.map +1 -0
  128. package/dead-code-eliminator/eliminator.js +141 -0
  129. package/dead-code-eliminator/eliminator.js.map +1 -0
  130. package/dead-code-eliminator/load-bundle.js +52 -0
  131. package/dead-code-eliminator/load-bundle.js.map +1 -0
  132. package/dead-code-eliminator/reachability/binding-extractor.js +88 -0
  133. package/dead-code-eliminator/reachability/binding-extractor.js.map +1 -0
  134. package/dead-code-eliminator/reachability/impure-statements.js +12 -0
  135. package/dead-code-eliminator/reachability/impure-statements.js.map +1 -0
  136. package/dead-code-eliminator/reachability/reachability.js +141 -0
  137. package/dead-code-eliminator/reachability/reachability.js.map +1 -0
  138. package/dead-code-eliminator/side-effect-classifier.js +289 -0
  139. package/dead-code-eliminator/side-effect-classifier.js.map +1 -0
  140. package/dead-code-eliminator/side-effects-field.js +25 -0
  141. package/dead-code-eliminator/side-effects-field.js.map +1 -0
  142. package/dead-code-eliminator/transform/atom-translator.js +13 -0
  143. package/dead-code-eliminator/transform/atom-translator.js.map +1 -0
  144. package/dead-code-eliminator/transform/declaration-remover.js +92 -0
  145. package/dead-code-eliminator/transform/declaration-remover.js.map +1 -0
  146. package/dead-code-eliminator/transform/line-index.js +27 -0
  147. package/dead-code-eliminator/transform/line-index.js.map +1 -0
  148. package/dead-code-eliminator/transform/source-map-composer.js +68 -0
  149. package/dead-code-eliminator/transform/source-map-composer.js.map +1 -0
  150. package/dependency-scanner/dependency-graph.d.ts +1 -1
  151. package/dependency-scanner/dependency-graph.d.ts.map +1 -1
  152. package/dependency-scanner/dependency-graph.js +5 -7
  153. package/dependency-scanner/dependency-graph.js.map +1 -1
  154. package/dependency-scanner/external-dependencies.js +2 -2
  155. package/dependency-scanner/external-dependencies.js.map +1 -1
  156. package/dependency-scanner/scanner.d.ts +7 -7
  157. package/dependency-scanner/scanner.d.ts.map +1 -1
  158. package/dependency-scanner/scanner.js +9 -14
  159. package/dependency-scanner/scanner.js.map +1 -1
  160. package/dependency-scanner/source-file-references.js +3 -48
  161. package/dependency-scanner/source-file-references.js.map +1 -1
  162. package/dependency-scanner/source-map-file-locator.d.ts.map +1 -1
  163. package/dependency-scanner/source-map-file-locator.js +10 -3
  164. package/dependency-scanner/source-map-file-locator.js.map +1 -1
  165. package/dependency-scanner/typescript-file-host.d.ts +2 -0
  166. package/dependency-scanner/typescript-file-host.d.ts.map +1 -1
  167. package/dependency-scanner/typescript-file-host.js +99 -32
  168. package/dependency-scanner/typescript-file-host.js.map +1 -1
  169. package/dependency-scanner/typescript-project-analyzer.d.ts +4 -5
  170. package/dependency-scanner/typescript-project-analyzer.d.ts.map +1 -1
  171. package/dependency-scanner/typescript-project-analyzer.js +5 -17
  172. package/dependency-scanner/typescript-project-analyzer.js.map +1 -1
  173. package/directed-graph/graph.d.ts +1 -1
  174. package/directed-graph/graph.d.ts.map +1 -1
  175. package/directed-graph/graph.js +132 -97
  176. package/directed-graph/graph.js.map +1 -1
  177. package/file-manager/compare.js +11 -9
  178. package/file-manager/compare.js.map +1 -1
  179. package/file-manager/file-manager.d.ts +1 -1
  180. package/file-manager/file-manager.d.ts.map +1 -1
  181. package/file-manager/file-manager.js +7 -1
  182. package/file-manager/file-manager.js.map +1 -1
  183. package/file-manager/permissions.js +20 -6
  184. package/file-manager/permissions.js.map +1 -1
  185. package/linker/linked-bundle.d.ts +5 -3
  186. package/linker/linked-bundle.d.ts.map +1 -1
  187. package/linker/linker.d.ts.map +1 -1
  188. package/linker/linker.js +8 -7
  189. package/linker/linker.js.map +1 -1
  190. package/linker/resource-graph.js +5 -8
  191. package/linker/resource-graph.js.map +1 -1
  192. package/linker/source-modifier/import-paths.js +1 -12
  193. package/linker/source-modifier/import-paths.js.map +1 -1
  194. package/linker/substitute-bundles.js +55 -48
  195. package/linker/substitute-bundles.js.map +1 -1
  196. package/linker/substituted-resource-graph.js +5 -8
  197. package/linker/substituted-resource-graph.js.map +1 -1
  198. package/npm-oidc-id-token-resolver.js +56 -0
  199. package/npm-oidc-id-token-resolver.js.map +1 -0
  200. package/package-surface/modules.js +307 -0
  201. package/package-surface/modules.js.map +1 -0
  202. package/package-surface/public-module-usage.js +37 -0
  203. package/package-surface/public-module-usage.js.map +1 -0
  204. package/package-surface/surface.d.ts +14 -0
  205. package/package-surface/surface.d.ts.map +1 -0
  206. package/package-surface/surface.js +16 -0
  207. package/package-surface/surface.js.map +1 -0
  208. package/package.json +13 -9
  209. package/packages/package-processor.composition.js +127 -0
  210. package/packages/package-processor.composition.js.map +1 -0
  211. package/packages/packtory/packtory.entry-point.d.ts +10 -5
  212. package/packages/packtory/packtory.entry-point.d.ts.map +1 -1
  213. package/packages/packtory/packtory.entry-point.js +7 -43
  214. package/packages/packtory/packtory.entry-point.js.map +1 -1
  215. package/packtory/map-config.d.ts +7 -16
  216. package/packtory/map-config.d.ts.map +1 -1
  217. package/packtory/map-config.js +5 -60
  218. package/packtory/map-config.js.map +1 -1
  219. package/packtory/normalize-paths.js +2 -2
  220. package/packtory/normalize-paths.js.map +1 -1
  221. package/packtory/package-processor-build.js +75 -0
  222. package/packtory/package-processor-build.js.map +1 -0
  223. package/packtory/package-processor-publish.d.ts +29 -0
  224. package/packtory/package-processor-publish.d.ts.map +1 -0
  225. package/packtory/package-processor-publish.js +134 -0
  226. package/packtory/package-processor-publish.js.map +1 -0
  227. package/packtory/package-processor.d.ts +17 -21
  228. package/packtory/package-processor.d.ts.map +1 -1
  229. package/packtory/package-processor.js +6 -81
  230. package/packtory/package-processor.js.map +1 -1
  231. package/packtory/packtory-publish.js +66 -0
  232. package/packtory/packtory-publish.js.map +1 -0
  233. package/packtory/packtory-resolve.js +77 -0
  234. package/packtory/packtory-resolve.js.map +1 -0
  235. package/packtory/packtory-results.d.ts +47 -0
  236. package/packtory/packtory-results.d.ts.map +1 -0
  237. package/packtory/packtory-results.js +16 -0
  238. package/packtory/packtory-results.js.map +1 -0
  239. package/packtory/packtory.d.ts +16 -37
  240. package/packtory/packtory.d.ts.map +1 -1
  241. package/packtory/packtory.js +33 -114
  242. package/packtory/packtory.js.map +1 -1
  243. package/packtory/prepare-package-options.d.ts +28 -0
  244. package/packtory/prepare-package-options.d.ts.map +1 -0
  245. package/packtory/prepare-package-options.js +122 -0
  246. package/packtory/prepare-package-options.js.map +1 -0
  247. package/packtory/report-attachment.js +25 -0
  248. package/packtory/report-attachment.js.map +1 -0
  249. package/packtory/resolved-package.d.ts +17 -0
  250. package/packtory/resolved-package.d.ts.map +1 -0
  251. package/packtory/resolved-package.js +35 -0
  252. package/packtory/resolved-package.js.map +1 -0
  253. package/packtory/scheduler.d.ts.map +1 -1
  254. package/packtory/scheduler.js +17 -15
  255. package/packtory/scheduler.js.map +1 -1
  256. package/progress/progress-broadcaster.d.ts +128 -5
  257. package/progress/progress-broadcaster.d.ts.map +1 -1
  258. package/progress/progress-broadcaster.js +37 -8
  259. package/progress/progress-broadcaster.js.map +1 -1
  260. package/report/artifact-entry-merger.js +22 -0
  261. package/report/artifact-entry-merger.js.map +1 -0
  262. package/report/config-redactor.js +27 -0
  263. package/report/config-redactor.js.map +1 -0
  264. package/report/decorators.js +68 -0
  265. package/report/decorators.js.map +1 -0
  266. package/report/inspectors.js +74 -0
  267. package/report/inspectors.js.map +1 -0
  268. package/report/report-aggregator.d.ts +61 -0
  269. package/report/report-aggregator.d.ts.map +1 -0
  270. package/report/report-aggregator.js +187 -0
  271. package/report/report-aggregator.js.map +1 -0
  272. package/resource-resolver/content.js +14 -0
  273. package/resource-resolver/content.js.map +1 -1
  274. package/resource-resolver/resolved-bundle.d.ts +4 -2
  275. package/resource-resolver/resolved-bundle.d.ts.map +1 -1
  276. package/resource-resolver/resource-resolve-options.d.ts +12 -5
  277. package/resource-resolver/resource-resolve-options.d.ts.map +1 -1
  278. package/resource-resolver/resource-resolve-options.js +14 -0
  279. package/resource-resolver/resource-resolve-options.js.map +1 -0
  280. package/resource-resolver/resource-resolver.d.ts +1 -1
  281. package/resource-resolver/resource-resolver.d.ts.map +1 -1
  282. package/resource-resolver/resource-resolver.js +37 -22
  283. package/resource-resolver/resource-resolver.js.map +1 -1
  284. package/sbom/extract-license.js +12 -0
  285. package/sbom/extract-license.js.map +1 -0
  286. package/sbom/license-resolver.d.ts +14 -0
  287. package/sbom/license-resolver.d.ts.map +1 -0
  288. package/sbom/license-resolver.js +22 -0
  289. package/sbom/license-resolver.js.map +1 -0
  290. package/sbom/sbom-builder.js +68 -0
  291. package/sbom/sbom-builder.js.map +1 -0
  292. package/sbom/sbom-file.d.ts +19 -0
  293. package/sbom/sbom-file.d.ts.map +1 -0
  294. package/sbom/sbom-file.js +57 -0
  295. package/sbom/sbom-file.js.map +1 -0
  296. package/sbom/sbom-serializer.d.ts +6 -0
  297. package/sbom/sbom-serializer.d.ts.map +1 -0
  298. package/sbom/sbom-serializer.js +11 -0
  299. package/sbom/sbom-serializer.js.map +1 -0
  300. package/sbom/tool-version.js +44 -0
  301. package/sbom/tool-version.js.map +1 -0
  302. package/tar/extract-tar.js +28 -3
  303. package/tar/extract-tar.js.map +1 -1
  304. package/tar/tarball-builder.d.ts.map +1 -1
  305. package/tar/tarball-builder.js +10 -7
  306. package/tar/tarball-builder.js.map +1 -1
  307. package/version-manager/manager.d.ts +5 -1
  308. package/version-manager/manager.d.ts.map +1 -1
  309. package/version-manager/manager.js +9 -1
  310. package/version-manager/manager.js.map +1 -1
  311. package/version-manager/manifest/builder.js +52 -6
  312. package/version-manager/manifest/builder.js.map +1 -1
  313. package/version-manager/manifest/serialize.js +31 -39
  314. package/version-manager/manifest/serialize.js.map +1 -1
  315. package/version-manager/manifest/sort-values.js +17 -0
  316. package/version-manager/manifest/sort-values.js.map +1 -0
  317. package/version-manager/specifier-classifier.js +35 -0
  318. package/version-manager/specifier-classifier.js.map +1 -0
  319. package/version-manager/specifier-errors.js +44 -0
  320. package/version-manager/specifier-errors.js.map +1 -0
  321. package/version-manager/versioned-bundle-dependencies.js +112 -0
  322. package/version-manager/versioned-bundle-dependencies.js.map +1 -0
  323. package/version-manager/versioned-bundle-imports.d.ts +5 -0
  324. package/version-manager/versioned-bundle-imports.d.ts.map +1 -0
  325. package/version-manager/versioned-bundle-imports.js +75 -0
  326. package/version-manager/versioned-bundle-imports.js.map +1 -0
  327. package/version-manager/versioned-bundle.d.ts +16 -8
  328. package/version-manager/versioned-bundle.d.ts.map +1 -1
  329. package/version-manager/versioned-bundle.js +48 -62
  330. package/version-manager/versioned-bundle.js.map +1 -1
  331. package/config/entry-point.d.ts +0 -7
  332. package/config/entry-point.d.ts.map +0 -1
  333. package/config/entry-point.js.map +0 -1
  334. package/file-manager/sort.js +0 -13
  335. package/file-manager/sort.js.map +0 -1
  336. package/list/unique-list.js +0 -5
  337. package/list/unique-list.js.map +0 -1
  338. package/version-manager/manifest/builder.d.ts +0 -5
  339. package/version-manager/manifest/builder.d.ts.map +0 -1
@@ -0,0 +1,112 @@
1
+ import { oneLine } from 'common-tags';
2
+ import { mergeAll } from 'remeda';
3
+ import { classifySpecifier } from "./specifier-classifier.js";
4
+ import { renderMalformedSpecifierMessage, renderMutableSpecifierMessage, renderUnusedAllowListMessage } from "./specifier-errors.js";
5
+ function getVersionFromDependencies(moduleName, mainPackageJson, kind) {
6
+ const dependencies = { ...mainPackageJson[kind] };
7
+ return String(dependencies[moduleName]);
8
+ }
9
+ function findBundleByPackageName(bundles, name) {
10
+ return bundles.find((bundle) => {
11
+ return bundle.name === name;
12
+ });
13
+ }
14
+ function mergeDependencyGroups(...groups) {
15
+ return {
16
+ dependencies: mergeAll(groups.map((group) => {
17
+ return group.dependencies;
18
+ })),
19
+ peerDependencies: mergeAll(groups.map((group) => {
20
+ return group.peerDependencies;
21
+ }))
22
+ };
23
+ }
24
+ function groupBundleDependencies(bundle, bundlePeerDependencies, bundleDependencies) {
25
+ const grouped = { dependencies: {}, peerDependencies: {} };
26
+ for (const dependencyName of bundle.linkedBundleDependencies.keys()) {
27
+ const peerBundle = findBundleByPackageName(bundlePeerDependencies, dependencyName);
28
+ if (peerBundle === undefined) {
29
+ const foundBundle = findBundleByPackageName(bundleDependencies, dependencyName);
30
+ if (foundBundle === undefined) {
31
+ throw new Error(`Couldn’t determine version number of bundle dependency ${dependencyName}`);
32
+ }
33
+ grouped.dependencies[dependencyName] = foundBundle.version;
34
+ }
35
+ else {
36
+ grouped.peerDependencies[dependencyName] = peerBundle.version;
37
+ }
38
+ }
39
+ return grouped;
40
+ }
41
+ function resolveExternalDependencyEntry(dependencyName, mainPackageJson) {
42
+ const isPeer = mainPackageJson.peerDependencies?.[dependencyName] !== undefined;
43
+ const isDirect = mainPackageJson.dependencies?.[dependencyName] !== undefined;
44
+ if (!isPeer && !isDirect) {
45
+ throw new Error(oneLine `Couldn’t determine version number of ${dependencyName},
46
+ because it is not listed in the main package.json`);
47
+ }
48
+ const kind = isPeer ? 'peerDependencies' : 'dependencies';
49
+ return {
50
+ name: dependencyName,
51
+ version: getVersionFromDependencies(dependencyName, mainPackageJson, kind),
52
+ kind
53
+ };
54
+ }
55
+ function recordClassification(entry, allowMutableSpecifiers, accumulator) {
56
+ const classification = classifySpecifier(entry.name, entry.version);
57
+ if (classification.kind === 'malformed') {
58
+ accumulator.malformedOffenders.push({
59
+ name: entry.name,
60
+ specifier: entry.version,
61
+ reason: classification.reason
62
+ });
63
+ return;
64
+ }
65
+ if (classification.kind === 'mutable') {
66
+ if (allowMutableSpecifiers.includes(entry.name)) {
67
+ accumulator.usedAllowListEntries.add(entry.name);
68
+ }
69
+ else {
70
+ accumulator.mutableOffenders.push({
71
+ name: entry.name,
72
+ specifier: entry.version,
73
+ npaType: classification.npaType
74
+ });
75
+ }
76
+ }
77
+ }
78
+ function throwHighestPriorityFailure(accumulator, allowMutableSpecifiers) {
79
+ if (accumulator.malformedOffenders.length > 0) {
80
+ throw new Error(renderMalformedSpecifierMessage(accumulator.malformedOffenders));
81
+ }
82
+ if (accumulator.mutableOffenders.length > 0) {
83
+ throw new Error(renderMutableSpecifierMessage(accumulator.mutableOffenders));
84
+ }
85
+ const unusedAllowListEntries = allowMutableSpecifiers.filter((entry) => {
86
+ return !accumulator.usedAllowListEntries.has(entry);
87
+ });
88
+ if (unusedAllowListEntries.length > 0) {
89
+ throw new Error(renderUnusedAllowListMessage(unusedAllowListEntries));
90
+ }
91
+ }
92
+ function groupExternalDependencies(bundle, mainPackageJson, allowMutableSpecifiers) {
93
+ const grouped = { dependencies: {}, peerDependencies: {} };
94
+ const accumulator = {
95
+ mutableOffenders: [],
96
+ malformedOffenders: [],
97
+ usedAllowListEntries: new Set()
98
+ };
99
+ for (const dependencyName of bundle.externalDependencies.keys()) {
100
+ const entry = resolveExternalDependencyEntry(dependencyName, mainPackageJson);
101
+ recordClassification(entry, allowMutableSpecifiers, accumulator);
102
+ grouped[entry.kind][entry.name] = entry.version;
103
+ }
104
+ throwHighestPriorityFailure(accumulator, allowMutableSpecifiers);
105
+ return grouped;
106
+ }
107
+ export function distributeDependencies(options) {
108
+ const bundleGrouped = groupBundleDependencies(options.bundle, options.bundlePeerDependencies, options.bundleDependencies);
109
+ const externalGrouped = groupExternalDependencies(options.bundle, options.mainPackageJson, options.allowMutableSpecifiers);
110
+ return mergeDependencyGroups(bundleGrouped, externalGrouped);
111
+ }
112
+ //# sourceMappingURL=versioned-bundle-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versioned-bundle-dependencies.js","sourceRoot":"","sources":["../../../../source/version-manager/versioned-bundle-dependencies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { AnalyzedBundle } from '../dead-code-eliminator/analyzed-bundle.ts';
2
+ import type { MainPackageJson } from '../config/package-json.ts';
3
+ export type ImportsField = NonNullable<MainPackageJson['imports']>;
4
+ export declare function buildImportsField(bundle: AnalyzedBundle, mainPackageJson: MainPackageJson): ImportsField | undefined;
5
+ //# sourceMappingURL=versioned-bundle-imports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versioned-bundle-imports.d.ts","sourceRoot":"","sources":["../../../../source/version-manager/versioned-bundle-imports.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAGjE,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;AA+FnE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,GAAG,YAAY,GAAG,SAAS,CAQpH"}
@@ -0,0 +1,75 @@
1
+ import { ts as typescript } from 'ts-morph';
2
+ import { isCodeFile } from "../common/code-files.js";
3
+ function getHashImportSpecifiers(bundle) {
4
+ const importSpecifiers = new Set();
5
+ for (const resource of bundle.contents) {
6
+ const { fileDescription: { targetFilePath, content } } = resource;
7
+ if (isCodeFile(targetFilePath)) {
8
+ const parsedFile = typescript.preProcessFile(content, true);
9
+ for (const literal of parsedFile.importedFiles) {
10
+ const specifier = literal.fileName;
11
+ if (specifier.startsWith('#')) {
12
+ importSpecifiers.add(specifier);
13
+ }
14
+ }
15
+ }
16
+ }
17
+ return importSpecifiers;
18
+ }
19
+ function escapeRegExp(value) {
20
+ return value.replaceAll(/[.*+?^${}()|[\]\\]/gu, '\\$&');
21
+ }
22
+ function findMatchingImportEntryKey(specifier, importsField) {
23
+ const matchingKeys = Object.keys(importsField)
24
+ .filter((key) => {
25
+ const wildcardPattern = `^${escapeRegExp(key).replaceAll('\\*', '.*')}$`;
26
+ return new RegExp(wildcardPattern).test(specifier);
27
+ })
28
+ .toSorted((left, right) => {
29
+ if (left === specifier || right === specifier) {
30
+ return left === specifier ? -1 : 1;
31
+ }
32
+ return right.length - left.length;
33
+ });
34
+ return matchingKeys[0];
35
+ }
36
+ function getConfiguredImportsOrThrow(mainPackageJson, referencedSpecifiers) {
37
+ if (mainPackageJson.imports !== undefined) {
38
+ return mainPackageJson.imports;
39
+ }
40
+ const [firstSpecifier] = referencedSpecifiers;
41
+ throw new Error([
42
+ `Found surviving package.json imports specifier "${firstSpecifier}"`,
43
+ 'but mainPackageJson.imports is not configured'
44
+ ].join(' '));
45
+ }
46
+ function collectReferencedImportsEntries(referencedSpecifiers, configuredImports) {
47
+ const importsField = {};
48
+ for (const specifier of referencedSpecifiers) {
49
+ const matchingKey = findMatchingImportEntryKey(specifier, configuredImports);
50
+ if (matchingKey === undefined) {
51
+ throw new Error([
52
+ `Found surviving package.json imports specifier "${specifier}"`,
53
+ 'but no matching mainPackageJson.imports entry'
54
+ ].join(' '));
55
+ }
56
+ const matchingImport = configuredImports[matchingKey];
57
+ if (matchingImport === undefined) {
58
+ throw new Error([
59
+ `Found surviving package.json imports specifier "${specifier}"`,
60
+ `but matching mainPackageJson.imports entry "${matchingKey}" is undefined`
61
+ ].join(' '));
62
+ }
63
+ importsField[matchingKey] = matchingImport;
64
+ }
65
+ return importsField;
66
+ }
67
+ export function buildImportsField(bundle, mainPackageJson) {
68
+ const referencedSpecifiers = getHashImportSpecifiers(bundle);
69
+ if (referencedSpecifiers.size === 0) {
70
+ return undefined;
71
+ }
72
+ const configuredImports = getConfiguredImportsOrThrow(mainPackageJson, referencedSpecifiers);
73
+ return collectReferencedImportsEntries(referencedSpecifiers, configuredImports);
74
+ }
75
+ //# sourceMappingURL=versioned-bundle-imports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versioned-bundle-imports.js","sourceRoot":"","sources":["../../../../source/version-manager/versioned-bundle-imports.ts"],"names":[],"mappings":"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"}
@@ -1,28 +1,36 @@
1
- import type { PackageJson } from 'type-fest';
2
- import type { LinkedBundle } from '../linker/linked-bundle.ts';
1
+ import type { PackageJson, SetRequired } from 'type-fest';
2
+ import type { AnalyzedBundle } from '../dead-code-eliminator/analyzed-bundle.ts';
3
3
  import type { AdditionalPackageJsonAttributes, MainPackageJson } from '../config/package-json.ts';
4
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'> & {
5
+ import { type ImportsField } from './versioned-bundle-imports.ts';
6
+ export type BundlePackageJson = Readonly<SetRequired<PackageJson, 'name' | 'version'>>;
7
+ type ExportsField = NonNullable<PackageJson['exports']>;
8
+ export type VersionedBundle = Pick<AnalyzedBundle, 'contents' | 'name' | 'roots' | 'sideEffectsField' | 'surface'> & {
7
9
  readonly version: string;
8
10
  readonly dependencies: Record<string, string>;
9
11
  readonly peerDependencies: Record<string, string>;
12
+ readonly importsField?: ImportsField | undefined;
13
+ readonly exportsField: ExportsField;
14
+ readonly binField?: PackageJson['bin'] | undefined;
10
15
  readonly additionalAttributes: AdditionalPackageJsonAttributes;
11
- readonly mainFile: TransferableFileDescription;
12
- readonly typesMainFile?: TransferableFileDescription | undefined;
13
- readonly packageType: PackageJson['type'];
16
+ readonly mainFile: FileDescription | TransferableFileDescription;
17
+ readonly typesMainFile?: FileDescription | TransferableFileDescription | undefined;
18
+ readonly packageType: 'module';
14
19
  };
15
20
  export type VersionedBundleWithManifest = VersionedBundle & {
16
21
  readonly manifestFile: FileDescription;
17
22
  readonly packageJson: BundlePackageJson;
18
23
  };
19
24
  export type BuildVersionedBundleOptions = {
20
- readonly bundle: LinkedBundle;
25
+ readonly bundle: AnalyzedBundle;
21
26
  readonly version: string;
22
27
  readonly mainPackageJson: MainPackageJson;
23
28
  readonly bundleDependencies: readonly VersionedBundle[];
24
29
  readonly bundlePeerDependencies: readonly VersionedBundle[];
25
30
  readonly additionalPackageJsonAttributes: AdditionalPackageJsonAttributes;
31
+ readonly allowMutableSpecifiers: readonly string[];
32
+ readonly substitutionPublicModuleSourcePaths?: ReadonlySet<string> | undefined;
26
33
  };
27
34
  export declare function buildVersionedBundle(options: BuildVersionedBundleOptions): VersionedBundle;
35
+ export {};
28
36
  //# sourceMappingURL=versioned-bundle.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"versioned-bundle.d.ts","sourceRoot":"","sources":["../../../../source/version-manager/versioned-bundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,KAAK,EAAE,+BAA+B,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAClG,OAAO,KAAK,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAKxG,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAErF,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;AACvF,KAAK,YAAY,GAAG,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AAExD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,kBAAkB,GAAG,SAAS,CAAC,GAAG;IACjH,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,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,oBAAoB,EAAE,+BAA+B,CAAC;IAC/D,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,2BAA2B,CAAC;IACjE,QAAQ,CAAC,aAAa,CAAC,EAAE,eAAe,GAAG,2BAA2B,GAAG,SAAS,CAAC;IACnF,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,eAAe,GAAG;IACxD,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACtC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,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;IAC1E,QAAQ,CAAC,sBAAsB,EAAE,SAAS,MAAM,EAAE,CAAC;IACnD,QAAQ,CAAC,mCAAmC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;CAClF,CAAC;AAqDF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,eAAe,CA0B1F"}
@@ -1,79 +1,65 @@
1
- import { oneLine } from 'common-tags';
2
- function getVersionFromDependencies(moduleName, mainPackageJson, kind) {
3
- const dependencies = mainPackageJson[kind] ?? {};
4
- const version = dependencies[moduleName];
5
- if (version === undefined) {
6
- throw new Error(`Couldn’t determine ${kind} version number of ${moduleName}`);
1
+ import { isImplicitPackageSurface } from "../package-surface/surface.js";
2
+ import { buildBinField, buildExportsField } from "../package-surface/modules.js";
3
+ import { distributeDependencies } from "./versioned-bundle-dependencies.js";
4
+ import { buildImportsField } from "./versioned-bundle-imports.js";
5
+ function firstExplicitRootId(packageInterface) {
6
+ const firstModule = packageInterface.modules?.[0];
7
+ if (firstModule !== undefined) {
8
+ return firstModule.root;
7
9
  }
8
- return version;
9
- }
10
- function findBundleByPackageName(bundles, name) {
11
- return bundles.find((bundle) => {
12
- return bundle.name === name;
13
- });
14
- }
15
- function mergeDependencyGroups(...groups) {
16
- return groups.reduce((accumulator, group) => {
17
- return {
18
- dependencies: { ...accumulator.dependencies, ...group.dependencies },
19
- peerDependencies: { ...accumulator.peerDependencies, ...group.peerDependencies }
20
- };
21
- }, { dependencies: {}, peerDependencies: {} });
22
- }
23
- function groupBundleDependencies(bundle, bundlePeerDependencies, bundleDependencies) {
24
- const grouped = { dependencies: {}, peerDependencies: {} };
25
- for (const dependencyName of bundle.linkedBundleDependencies.keys()) {
26
- const peerBundle = findBundleByPackageName(bundlePeerDependencies, dependencyName);
27
- if (peerBundle === undefined) {
28
- const foundBundle = findBundleByPackageName(bundleDependencies, dependencyName);
29
- if (foundBundle === undefined) {
30
- throw new Error(`Couldn’t determine version number of bundle dependency ${dependencyName}`);
31
- }
32
- grouped.dependencies[dependencyName] = foundBundle.version;
33
- }
34
- else {
35
- grouped.peerDependencies[dependencyName] = peerBundle.version;
36
- }
10
+ const firstBin = packageInterface.bins?.[0];
11
+ if (firstBin !== undefined) {
12
+ return firstBin.root;
37
13
  }
38
- return grouped;
14
+ return undefined;
39
15
  }
40
- function groupExternalDependencies(bundle, mainPackageJson) {
41
- const grouped = { dependencies: {}, peerDependencies: {} };
42
- for (const dependencyName of bundle.externalDependencies.keys()) {
43
- if (mainPackageJson.peerDependencies?.[dependencyName] === undefined) {
44
- if (mainPackageJson.dependencies?.[dependencyName] === undefined) {
45
- throw new Error(oneLine `Couldn’t determine version number of ${dependencyName},
46
- because it is not listed in the main package.json`);
47
- }
48
- const version = getVersionFromDependencies(dependencyName, mainPackageJson, 'dependencies');
49
- grouped.dependencies[dependencyName] = version;
50
- }
51
- else {
52
- const version = getVersionFromDependencies(dependencyName, mainPackageJson, 'peerDependencies');
53
- grouped.peerDependencies[dependencyName] = version;
54
- }
16
+ function resolveRepresentativeRootId(bundle) {
17
+ if (isImplicitPackageSurface(bundle.surface)) {
18
+ return bundle.surface.defaultModuleRoot;
19
+ }
20
+ const referencedRootId = firstExplicitRootId(bundle.surface.packageInterface);
21
+ if (referencedRootId === undefined) {
22
+ throw new Error(`Package "${bundle.name}" explicit surface declares neither modules nor bins`);
55
23
  }
56
- return grouped;
24
+ return referencedRootId;
57
25
  }
58
- function distributeDependencies(bundle, mainPackageJson, bundlePeerDependencies, bundleDependencies) {
59
- const bundleGrouped = groupBundleDependencies(bundle, bundlePeerDependencies, bundleDependencies);
60
- const externalGrouped = groupExternalDependencies(bundle, mainPackageJson);
61
- return mergeDependencyGroups(bundleGrouped, externalGrouped);
26
+ function resolveRepresentativeRoot(bundle, rootId) {
27
+ // Invariant: buildExportsField (implicit) and buildBinField (explicit) run before this
28
+ // and throw when the referenced root is absent, so the lookup cannot return undefined.
29
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- see invariant above
30
+ return bundle.roots[rootId];
31
+ }
32
+ function buildOptionalVersionedBundleFields(params) {
33
+ const { importsField, binField, typesMainFile } = params;
34
+ return {
35
+ ...(importsField === undefined ? {} : { importsField }),
36
+ ...(binField === undefined ? {} : { binField }),
37
+ ...(typesMainFile === undefined ? {} : { typesMainFile })
38
+ };
62
39
  }
63
40
  export function buildVersionedBundle(options) {
64
- const { bundle, version, mainPackageJson, additionalPackageJsonAttributes, bundlePeerDependencies, bundleDependencies } = options;
65
- const [firstEntryPoint] = bundle.entryPoints;
66
- const distributedDependencies = distributeDependencies(bundle, mainPackageJson, bundlePeerDependencies, bundleDependencies);
41
+ const { bundle, version, mainPackageJson, additionalPackageJsonAttributes } = options;
42
+ const distributedDependencies = distributeDependencies(options);
43
+ const importsField = buildImportsField(bundle, mainPackageJson);
44
+ const exportsField = buildExportsField(bundle, options.substitutionPublicModuleSourcePaths ?? new Set());
45
+ const binField = buildBinField(bundle);
46
+ const representativeRoot = resolveRepresentativeRoot(bundle, resolveRepresentativeRootId(bundle));
47
+ const mainFile = representativeRoot.js;
48
+ const typesMainFile = representativeRoot.declarationFile;
67
49
  return {
68
50
  name: bundle.name,
69
51
  version,
52
+ roots: bundle.roots,
53
+ surface: bundle.surface,
70
54
  dependencies: distributedDependencies.dependencies,
71
55
  peerDependencies: distributedDependencies.peerDependencies,
56
+ exportsField,
72
57
  contents: bundle.contents,
73
- mainFile: firstEntryPoint.js,
74
- typesMainFile: firstEntryPoint.declarationFile,
58
+ mainFile,
75
59
  additionalAttributes: additionalPackageJsonAttributes,
76
- packageType: mainPackageJson.type
60
+ packageType: mainPackageJson.type,
61
+ sideEffectsField: bundle.sideEffectsField,
62
+ ...buildOptionalVersionedBundleFields({ importsField, binField, typesMainFile })
77
63
  };
78
64
  }
79
65
  //# sourceMappingURL=versioned-bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"versioned-bundle.js","sourceRoot":"","sources":["../../../../source/version-manager/versioned-bundle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"versioned-bundle.js","sourceRoot":"","sources":["../../../../source/version-manager/versioned-bundle.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import { z } from 'zod/mini';
2
- export declare const entryPointSchema: z.ZodMiniReadonly<z.ZodMiniObject<{
3
- js: z.ZodMiniString<string>;
4
- declarationFile: z.ZodMiniOptional<z.ZodMiniString<string>>;
5
- }, z.core.$strict>>;
6
- export type EntryPoint = z.infer<typeof entryPointSchema>;
7
- //# sourceMappingURL=entry-point.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entry-point.d.ts","sourceRoot":"","sources":["../../../../source/config/entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC;AAG7B,eAAO,MAAM,gBAAgB;;;mBAK5B,CAAC;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"entry-point.js","sourceRoot":"","sources":["../../../../source/config/entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,QAAQ,CACtC,CAAC,CAAC,YAAY,CAAC;IACX,EAAE,EAAE,oBAAoB;IACxB,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;CACpD,CAAC,CACL,CAAC"}
@@ -1,13 +0,0 @@
1
- function compareFilePath(first, second) {
2
- if (first.filePath < second.filePath) {
3
- return -1;
4
- }
5
- if (first.filePath > second.filePath) {
6
- return 1;
7
- }
8
- return 0;
9
- }
10
- export function sortByFilePath(fileDescriptions) {
11
- return Array.from(fileDescriptions).toSorted(compareFilePath);
12
- }
13
- //# sourceMappingURL=sort.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../../source/file-manager/sort.ts"],"names":[],"mappings":"AAOA,SAAS,eAAe,CAAC,KAAsB,EAAE,MAAuB;IACpE,IAAI,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnC,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnC,OAAO,CAAC,CAAC;IACb,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,gBAA4C;IACvE,OAAO,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AAClE,CAAC"}
@@ -1,5 +0,0 @@
1
- export function uniqueList(values) {
2
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- ok in this case
3
- return Array.from(new Set(values));
4
- }
5
- //# sourceMappingURL=unique-list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unique-list.js","sourceRoot":"","sources":["../../../../source/list/unique-list.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAwC,MAAY;IAC1E,0FAA0F;IAC1F,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAoB,CAAC;AAC1D,CAAC"}
@@ -1,5 +0,0 @@
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
@@ -1 +0,0 @@
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"}