packtory 0.0.8 → 0.0.10

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 (347) 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 +1 -47
  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 +2 -31
  8. package/bundle-emitter/emitter.js.map +1 -1
  9. package/bundle-emitter/extract-package-tarball.js +0 -12
  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 +1 -90
  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 +2 -0
  20. package/bundle-emitter/repository-url-normalizer.js.map +1 -0
  21. package/checks/check-runner.js +1 -12
  22. package/checks/check-runner.js.map +1 -1
  23. package/checks/rule.js +5 -0
  24. package/checks/rule.js.map +1 -0
  25. package/checks/rules/max-bundle-size.js +9 -0
  26. package/checks/rules/max-bundle-size.js.map +1 -0
  27. package/checks/rules/no-dev-dependency-imports.js +9 -0
  28. package/checks/rules/no-dev-dependency-imports.js.map +1 -0
  29. package/checks/rules/no-duplicated-files.js +6 -38
  30. package/checks/rules/no-duplicated-files.js.map +1 -1
  31. package/checks/rules/no-side-effects.js +9 -0
  32. package/checks/rules/no-side-effects.js.map +1 -0
  33. package/checks/rules/no-unused-bundle-dependencies.js +9 -0
  34. package/checks/rules/no-unused-bundle-dependencies.js.map +1 -0
  35. package/checks/rules/registry.js +8 -0
  36. package/checks/rules/registry.js.map +1 -0
  37. package/checks/rules/required-files.js +10 -0
  38. package/checks/rules/required-files.js.map +1 -0
  39. package/checks/rules/unique-target-paths.js +9 -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-files.js +0 -4
  48. package/config/additional-files.js.map +1 -1
  49. package/config/additional-package-json-attributes-schema.js +7 -0
  50. package/config/additional-package-json-attributes-schema.js.map +1 -0
  51. package/config/automatic-versioning-settings.js +3 -0
  52. package/config/automatic-versioning-settings.js.map +1 -0
  53. package/config/checks-schema.d.ts +74 -0
  54. package/config/checks-schema.d.ts.map +1 -0
  55. package/config/checks-schema.js +27 -0
  56. package/config/checks-schema.js.map +1 -0
  57. package/config/common-package-settings-schemas.js +20 -0
  58. package/config/common-package-settings-schemas.js.map +1 -0
  59. package/config/config.d.ts +16 -704
  60. package/config/config.d.ts.map +1 -1
  61. package/config/config.js +1 -71
  62. package/config/config.js.map +1 -1
  63. package/config/dead-code-elimination-settings.d.ts +12 -0
  64. package/config/dead-code-elimination-settings.d.ts.map +1 -0
  65. package/config/dead-code-elimination-settings.js +3 -0
  66. package/config/dead-code-elimination-settings.js.map +1 -0
  67. package/config/dependency-policy.d.ts +6 -0
  68. package/config/dependency-policy.d.ts.map +1 -0
  69. package/config/dependency-policy.js +3 -0
  70. package/config/dependency-policy.js.map +1 -0
  71. package/config/main-package-json-schema.js +13 -0
  72. package/config/main-package-json-schema.js.map +1 -0
  73. package/config/manual-versioning-settings.js +3 -0
  74. package/config/manual-versioning-settings.js.map +1 -0
  75. package/config/optional-package-settings-schema.js +15 -0
  76. package/config/optional-package-settings-schema.js.map +1 -0
  77. package/config/package-config.d.ts +49 -0
  78. package/config/package-config.d.ts.map +1 -0
  79. package/config/package-config.js +1 -0
  80. package/config/package-config.js.map +1 -0
  81. package/config/package-interface.d.ts +36 -0
  82. package/config/package-interface.d.ts.map +1 -0
  83. package/config/package-interface.js +3 -0
  84. package/config/package-interface.js.map +1 -0
  85. package/config/package-json.d.ts +10 -10
  86. package/config/package-json.d.ts.map +1 -1
  87. package/config/package-json.js +0 -24
  88. package/config/package-json.js.map +1 -1
  89. package/config/package-schemas.js +10 -0
  90. package/config/package-schemas.js.map +1 -0
  91. package/config/packtory-config-schema.js +4 -0
  92. package/config/packtory-config-schema.js.map +1 -0
  93. package/config/packtory-config-without-registry-schema.js +32 -0
  94. package/config/packtory-config-without-registry-schema.js.map +1 -0
  95. package/config/per-package-settings-schema.js +22 -0
  96. package/config/per-package-settings-schema.js.map +1 -0
  97. package/config/publish-settings.d.ts +22 -0
  98. package/config/publish-settings.d.ts.map +1 -0
  99. package/config/publish-settings.js +4 -0
  100. package/config/publish-settings.js.map +1 -0
  101. package/config/publish-settings.report.js +17 -0
  102. package/config/publish-settings.report.js.map +1 -0
  103. package/config/registry-settings.d.ts +63 -1
  104. package/config/registry-settings.d.ts.map +1 -1
  105. package/config/registry-settings.js +0 -4
  106. package/config/registry-settings.js.map +1 -1
  107. package/config/registry-settings.report.js +41 -0
  108. package/config/registry-settings.report.js.map +1 -0
  109. package/config/root.d.ts +7 -0
  110. package/config/root.d.ts.map +1 -0
  111. package/config/root.js +3 -0
  112. package/config/root.js.map +1 -0
  113. package/config/sbom-settings.js +2 -0
  114. package/config/sbom-settings.js.map +1 -0
  115. package/config/validation.d.ts +2 -2
  116. package/config/validation.d.ts.map +1 -1
  117. package/config/validation.js +4 -118
  118. package/config/validation.js.map +1 -1
  119. package/config/versioning-settings.d.ts.map +1 -1
  120. package/config/versioning-settings.js +2 -10
  121. package/config/versioning-settings.js.map +1 -1
  122. package/dead-code-eliminator/analyzed-bundle.d.ts +29 -0
  123. package/dead-code-eliminator/analyzed-bundle.d.ts.map +1 -0
  124. package/dead-code-eliminator/analyzed-bundle.js +1 -0
  125. package/dead-code-eliminator/analyzed-bundle.js.map +1 -0
  126. package/dead-code-eliminator/cross-bundle/cross-bundle-seeds.js +126 -0
  127. package/dead-code-eliminator/cross-bundle/cross-bundle-seeds.js.map +1 -0
  128. package/dead-code-eliminator/elimination-emitter.js +53 -0
  129. package/dead-code-eliminator/elimination-emitter.js.map +1 -0
  130. package/dead-code-eliminator/eliminator.js +142 -0
  131. package/dead-code-eliminator/eliminator.js.map +1 -0
  132. package/dead-code-eliminator/load-bundle.js +53 -0
  133. package/dead-code-eliminator/load-bundle.js.map +1 -0
  134. package/dead-code-eliminator/reachability/binding-extractor.js +88 -0
  135. package/dead-code-eliminator/reachability/binding-extractor.js.map +1 -0
  136. package/dead-code-eliminator/reachability/impure-statements.js +12 -0
  137. package/dead-code-eliminator/reachability/impure-statements.js.map +1 -0
  138. package/dead-code-eliminator/reachability/reachability.js +141 -0
  139. package/dead-code-eliminator/reachability/reachability.js.map +1 -0
  140. package/dead-code-eliminator/side-effect-classifier.js +406 -0
  141. package/dead-code-eliminator/side-effect-classifier.js.map +1 -0
  142. package/dead-code-eliminator/side-effects-field.js +25 -0
  143. package/dead-code-eliminator/side-effects-field.js.map +1 -0
  144. package/dead-code-eliminator/transform/atom-translator.js +13 -0
  145. package/dead-code-eliminator/transform/atom-translator.js.map +1 -0
  146. package/dead-code-eliminator/transform/declaration-remover.js +92 -0
  147. package/dead-code-eliminator/transform/declaration-remover.js.map +1 -0
  148. package/dead-code-eliminator/transform/line-index.js +27 -0
  149. package/dead-code-eliminator/transform/line-index.js.map +1 -0
  150. package/dead-code-eliminator/transform/source-map-composer.js +68 -0
  151. package/dead-code-eliminator/transform/source-map-composer.js.map +1 -0
  152. package/dependency-scanner/dependency-graph.d.ts +1 -3
  153. package/dependency-scanner/dependency-graph.d.ts.map +1 -1
  154. package/dependency-scanner/dependency-graph.js +1 -76
  155. package/dependency-scanner/dependency-graph.js.map +1 -1
  156. package/dependency-scanner/external-dependencies.d.ts +0 -1
  157. package/dependency-scanner/external-dependencies.d.ts.map +1 -1
  158. package/dependency-scanner/external-dependencies.js +1 -17
  159. package/dependency-scanner/external-dependencies.js.map +1 -1
  160. package/dependency-scanner/scanner.d.ts +7 -7
  161. package/dependency-scanner/scanner.d.ts.map +1 -1
  162. package/dependency-scanner/scanner.js +1 -75
  163. package/dependency-scanner/scanner.js.map +1 -1
  164. package/dependency-scanner/source-file-references.js +2 -73
  165. package/dependency-scanner/source-file-references.js.map +1 -1
  166. package/dependency-scanner/source-map-file-locator.d.ts.map +1 -1
  167. package/dependency-scanner/source-map-file-locator.js +0 -20
  168. package/dependency-scanner/source-map-file-locator.js.map +1 -1
  169. package/dependency-scanner/typescript-file-host.d.ts +2 -0
  170. package/dependency-scanner/typescript-file-host.d.ts.map +1 -1
  171. package/dependency-scanner/typescript-file-host.js +1 -48
  172. package/dependency-scanner/typescript-file-host.js.map +1 -1
  173. package/dependency-scanner/typescript-project-analyzer.d.ts +4 -6
  174. package/dependency-scanner/typescript-project-analyzer.d.ts.map +1 -1
  175. package/dependency-scanner/typescript-project-analyzer.js +0 -64
  176. package/dependency-scanner/typescript-project-analyzer.js.map +1 -1
  177. package/directed-graph/graph.d.ts +1 -2
  178. package/directed-graph/graph.d.ts.map +1 -1
  179. package/directed-graph/graph.js +0 -194
  180. package/directed-graph/graph.js.map +1 -1
  181. package/file-manager/compare.js +1 -16
  182. package/file-manager/compare.js.map +1 -1
  183. package/file-manager/equal.js +0 -5
  184. package/file-manager/equal.js.map +1 -1
  185. package/file-manager/file-manager.d.ts +1 -1
  186. package/file-manager/file-manager.d.ts.map +1 -1
  187. package/file-manager/file-manager.js +0 -46
  188. package/file-manager/file-manager.js.map +1 -1
  189. package/file-manager/permissions.js +0 -12
  190. package/file-manager/permissions.js.map +1 -1
  191. package/linker/linked-bundle.d.ts +5 -3
  192. package/linker/linked-bundle.d.ts.map +1 -1
  193. package/linker/linker.d.ts.map +1 -1
  194. package/linker/linker.js +0 -22
  195. package/linker/linker.js.map +1 -1
  196. package/linker/resource-graph.js +1 -29
  197. package/linker/resource-graph.js.map +1 -1
  198. package/linker/source-modifier/import-paths.js +0 -33
  199. package/linker/source-modifier/import-paths.js.map +1 -1
  200. package/linker/substitute-bundles.js +1 -73
  201. package/linker/substitute-bundles.js.map +1 -1
  202. package/linker/substituted-resource-graph.js +1 -76
  203. package/linker/substituted-resource-graph.js.map +1 -1
  204. package/npm-oidc-id-token-resolver.js +56 -0
  205. package/npm-oidc-id-token-resolver.js.map +1 -0
  206. package/package-surface/modules.js +89 -0
  207. package/package-surface/modules.js.map +1 -0
  208. package/package-surface/public-module-usage.js +37 -0
  209. package/package-surface/public-module-usage.js.map +1 -0
  210. package/package-surface/surface.d.ts +12 -0
  211. package/package-surface/surface.d.ts.map +1 -0
  212. package/package-surface/surface.js +1 -0
  213. package/package-surface/surface.js.map +1 -0
  214. package/package.json +53 -11
  215. package/packages/package-processor.composition.js +127 -0
  216. package/packages/package-processor.composition.js.map +1 -0
  217. package/packages/packtory/packtory.entry-point.d.ts +10 -5
  218. package/packages/packtory/packtory.entry-point.d.ts.map +1 -1
  219. package/packages/packtory/packtory.entry-point.js +7 -43
  220. package/packages/packtory/packtory.entry-point.js.map +1 -1
  221. package/packtory/map-config.d.ts +7 -16
  222. package/packtory/map-config.d.ts.map +1 -1
  223. package/packtory/map-config.js +1 -70
  224. package/packtory/map-config.js.map +1 -1
  225. package/packtory/normalize-paths.js +0 -24
  226. package/packtory/normalize-paths.js.map +1 -1
  227. package/packtory/package-processor-build.js +3 -0
  228. package/packtory/package-processor-build.js.map +1 -0
  229. package/packtory/package-processor-publish.d.ts +18 -0
  230. package/packtory/package-processor-publish.d.ts.map +1 -0
  231. package/packtory/package-processor-publish.js +1 -0
  232. package/packtory/package-processor-publish.js.map +1 -0
  233. package/packtory/package-processor.d.ts +17 -21
  234. package/packtory/package-processor.d.ts.map +1 -1
  235. package/packtory/package-processor.js +2 -85
  236. package/packtory/package-processor.js.map +1 -1
  237. package/packtory/packtory-publish.js +66 -0
  238. package/packtory/packtory-publish.js.map +1 -0
  239. package/packtory/packtory-resolve.js +84 -0
  240. package/packtory/packtory-resolve.js.map +1 -0
  241. package/packtory/packtory-results.d.ts +47 -0
  242. package/packtory/packtory-results.d.ts.map +1 -0
  243. package/packtory/packtory-results.js +1 -0
  244. package/packtory/packtory-results.js.map +1 -0
  245. package/packtory/packtory.d.ts +16 -37
  246. package/packtory/packtory.d.ts.map +1 -1
  247. package/packtory/packtory.js +33 -114
  248. package/packtory/packtory.js.map +1 -1
  249. package/packtory/prepare-package-options.d.ts +16 -0
  250. package/packtory/prepare-package-options.d.ts.map +1 -0
  251. package/packtory/prepare-package-options.js +5 -0
  252. package/packtory/prepare-package-options.js.map +1 -0
  253. package/packtory/report-attachment.js +25 -0
  254. package/packtory/report-attachment.js.map +1 -0
  255. package/packtory/resolved-package.d.ts +17 -0
  256. package/packtory/resolved-package.d.ts.map +1 -0
  257. package/packtory/resolved-package.js +4 -0
  258. package/packtory/resolved-package.js.map +1 -0
  259. package/packtory/scheduler.d.ts.map +1 -1
  260. package/packtory/scheduler.js +17 -15
  261. package/packtory/scheduler.js.map +1 -1
  262. package/progress/progress-broadcaster.d.ts +128 -5
  263. package/progress/progress-broadcaster.d.ts.map +1 -1
  264. package/progress/progress-broadcaster.js +0 -16
  265. package/progress/progress-broadcaster.js.map +1 -1
  266. package/report/artifact-entry-merger.js +2 -0
  267. package/report/artifact-entry-merger.js.map +1 -0
  268. package/report/config-redactor.js +27 -0
  269. package/report/config-redactor.js.map +1 -0
  270. package/report/decorators.js +68 -0
  271. package/report/decorators.js.map +1 -0
  272. package/report/inspectors.js +1 -0
  273. package/report/inspectors.js.map +1 -0
  274. package/report/report-aggregator.d.ts +61 -0
  275. package/report/report-aggregator.d.ts.map +1 -0
  276. package/report/report-aggregator.js +2 -0
  277. package/report/report-aggregator.js.map +1 -0
  278. package/resource-resolver/content.js +1 -40
  279. package/resource-resolver/content.js.map +1 -1
  280. package/resource-resolver/resolved-bundle.d.ts +4 -2
  281. package/resource-resolver/resolved-bundle.d.ts.map +1 -1
  282. package/resource-resolver/resource-resolve-options.d.ts +12 -5
  283. package/resource-resolver/resource-resolve-options.d.ts.map +1 -1
  284. package/resource-resolver/resource-resolve-options.js +2 -0
  285. package/resource-resolver/resource-resolve-options.js.map +1 -0
  286. package/resource-resolver/resource-resolver.d.ts +1 -1
  287. package/resource-resolver/resource-resolver.d.ts.map +1 -1
  288. package/resource-resolver/resource-resolver.js +1 -64
  289. package/resource-resolver/resource-resolver.js.map +1 -1
  290. package/sbom/extract-license.js +2 -0
  291. package/sbom/extract-license.js.map +1 -0
  292. package/sbom/license-resolver.d.ts +14 -0
  293. package/sbom/license-resolver.d.ts.map +1 -0
  294. package/sbom/license-resolver.js +3 -0
  295. package/sbom/license-resolver.js.map +1 -0
  296. package/sbom/sbom-builder.js +68 -0
  297. package/sbom/sbom-builder.js.map +1 -0
  298. package/sbom/sbom-file.d.ts +19 -0
  299. package/sbom/sbom-file.d.ts.map +1 -0
  300. package/sbom/sbom-file.js +3 -0
  301. package/sbom/sbom-file.js.map +1 -0
  302. package/sbom/sbom-serializer.d.ts +6 -0
  303. package/sbom/sbom-serializer.d.ts.map +1 -0
  304. package/sbom/sbom-serializer.js +2 -0
  305. package/sbom/sbom-serializer.js.map +1 -0
  306. package/sbom/tool-version.js +44 -0
  307. package/sbom/tool-version.js.map +1 -0
  308. package/sbom.cdx.json +390 -0
  309. package/tar/extract-tar.js +0 -13
  310. package/tar/extract-tar.js.map +1 -1
  311. package/tar/tarball-builder.d.ts.map +1 -1
  312. package/tar/tarball-builder.js +10 -7
  313. package/tar/tarball-builder.js.map +1 -1
  314. package/version-manager/manager.d.ts +5 -1
  315. package/version-manager/manager.d.ts.map +1 -1
  316. package/version-manager/manager.js +1 -39
  317. package/version-manager/manager.js.map +1 -1
  318. package/version-manager/manifest/builder.js +2 -12
  319. package/version-manager/manifest/builder.js.map +1 -1
  320. package/version-manager/manifest/serialize.js +1 -55
  321. package/version-manager/manifest/serialize.js.map +1 -1
  322. package/version-manager/manifest/sort-values.js +1 -0
  323. package/version-manager/manifest/sort-values.js.map +1 -0
  324. package/version-manager/specifier-classifier.js +2 -0
  325. package/version-manager/specifier-classifier.js.map +1 -0
  326. package/version-manager/specifier-errors.js +1 -0
  327. package/version-manager/specifier-errors.js.map +1 -0
  328. package/version-manager/versioned-bundle-dependencies.js +5 -0
  329. package/version-manager/versioned-bundle-dependencies.js.map +1 -0
  330. package/version-manager/versioned-bundle-imports.d.ts +4 -0
  331. package/version-manager/versioned-bundle-imports.d.ts.map +1 -0
  332. package/version-manager/versioned-bundle-imports.js +3 -0
  333. package/version-manager/versioned-bundle-imports.js.map +1 -0
  334. package/version-manager/versioned-bundle.d.ts +16 -9
  335. package/version-manager/versioned-bundle.d.ts.map +1 -1
  336. package/version-manager/versioned-bundle.js +4 -78
  337. package/version-manager/versioned-bundle.js.map +1 -1
  338. package/config/entry-point.d.ts +0 -7
  339. package/config/entry-point.d.ts.map +0 -1
  340. package/config/entry-point.js +0 -7
  341. package/config/entry-point.js.map +0 -1
  342. package/file-manager/sort.js +0 -13
  343. package/file-manager/sort.js.map +0 -1
  344. package/list/unique-list.js +0 -5
  345. package/list/unique-list.js.map +0 -1
  346. package/version-manager/manifest/builder.d.ts +0 -5
  347. package/version-manager/manifest/builder.d.ts.map +0 -1
@@ -1,19 +1,21 @@
1
1
  import type { FileDescription } from '../file-manager/file-description.ts';
2
2
  import type { FileManager } from '../file-manager/file-manager.ts';
3
+ import type { ProgressBroadcastProvider } from '../progress/progress-broadcaster.ts';
3
4
  import type { VersionedBundleWithManifest } from '../version-manager/versioned-bundle.ts';
4
5
  import type { TarballBuilder } from '../tar/tarball-builder.ts';
5
6
  export type ArtifactsBuilderDependencies = {
6
7
  readonly fileManager: FileManager;
7
8
  readonly tarballBuilder: TarballBuilder;
9
+ readonly progressBroadcaster: ProgressBroadcastProvider;
8
10
  };
9
- export type TarballArtifact = {
11
+ type TarballArtifact = {
10
12
  readonly tarData: Buffer;
11
- readonly shasum: string;
12
13
  };
13
14
  export type ArtifactsBuilder = {
14
- collectContents: (bundle: VersionedBundleWithManifest, prefix?: string) => readonly FileDescription[];
15
- buildTarball: (bundle: VersionedBundleWithManifest) => Promise<TarballArtifact>;
16
- buildFolder: (bundle: VersionedBundleWithManifest, targetFolder: string) => Promise<void>;
15
+ collectContents: (bundle: VersionedBundleWithManifest, prefix?: string, extraFiles?: readonly FileDescription[]) => readonly FileDescription[];
16
+ buildTarball: (bundle: VersionedBundleWithManifest, extraFiles?: readonly FileDescription[]) => Promise<TarballArtifact>;
17
+ buildFolder: (bundle: VersionedBundleWithManifest, targetFolder: string, extraFiles?: readonly FileDescription[]) => Promise<void>;
17
18
  };
18
19
  export declare function createArtifactsBuilder(artifactsBuilderDependencies: ArtifactsBuilderDependencies): ArtifactsBuilder;
20
+ export {};
19
21
  //# sourceMappingURL=artifacts-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts-builder.d.ts","sourceRoot":"","sources":["../../../../source/artifacts/artifacts-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,MAAM,MAAM,4BAA4B,GAAG;IACvC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,eAAe,EAAE,CAAC,MAAM,EAAE,2BAA2B,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,SAAS,eAAe,EAAE,CAAC;IACtG,YAAY,EAAE,CAAC,MAAM,EAAE,2BAA2B,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IAChF,WAAW,EAAE,CAAC,MAAM,EAAE,2BAA2B,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7F,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,4BAA4B,EAAE,4BAA4B,GAAG,gBAAgB,CA0DnH"}
1
+ {"version":3,"file":"artifacts-builder.d.ts","sourceRoot":"","sources":["../../../../source/artifacts/artifacts-builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAErF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,MAAM,MAAM,4BAA4B,GAAG;IACvC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;CAC3D,CAAC;AAEF,KAAK,eAAe,GAAG;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,eAAe,EAAE,CACb,MAAM,EAAE,2BAA2B,EACnC,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,SAAS,eAAe,EAAE,KACtC,SAAS,eAAe,EAAE,CAAC;IAChC,YAAY,EAAE,CACV,MAAM,EAAE,2BAA2B,EACnC,UAAU,CAAC,EAAE,SAAS,eAAe,EAAE,KACtC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9B,WAAW,EAAE,CACT,MAAM,EAAE,2BAA2B,EACnC,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,SAAS,eAAe,EAAE,KACtC,OAAO,CAAC,IAAI,CAAC,CAAC;CACtB,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,4BAA4B,EAAE,4BAA4B,GAAG,gBAAgB,CA4FnH"}
@@ -1,49 +1,3 @@
1
1
  import path from 'node:path';
2
- import ssri from 'ssri';
3
- export function createArtifactsBuilder(artifactsBuilderDependencies) {
4
- const { fileManager, tarballBuilder } = artifactsBuilderDependencies;
5
- function collectContents(bundle, prefix) {
6
- const artifactContents = [
7
- {
8
- ...bundle.manifestFile,
9
- filePath: prefix === undefined
10
- ? bundle.manifestFile.filePath
11
- : path.join(prefix, bundle.manifestFile.filePath)
12
- }
13
- ];
14
- for (const entry of bundle.contents) {
15
- const targetFilePath = prefix === undefined
16
- ? entry.fileDescription.targetFilePath
17
- : path.join(prefix, entry.fileDescription.targetFilePath);
18
- artifactContents.push({
19
- filePath: targetFilePath,
20
- content: entry.fileDescription.content,
21
- isExecutable: entry.fileDescription.isExecutable
22
- });
23
- }
24
- return artifactContents;
25
- }
26
- return {
27
- collectContents,
28
- async buildTarball(bundle) {
29
- const contents = collectContents(bundle, 'package');
30
- const tarData = await tarballBuilder.build(contents);
31
- return {
32
- shasum: ssri.fromData(tarData, { algorithms: ['sha1'] }).hexDigest(),
33
- tarData
34
- };
35
- },
36
- async buildFolder(bundle, targetFolder) {
37
- const readability = await fileManager.checkReadability(targetFolder);
38
- if (readability.isReadable) {
39
- throw new Error(`Folder ${targetFolder} already exists`);
40
- }
41
- const contents = collectContents(bundle);
42
- for (const entry of contents) {
43
- const targetFilePath = path.join(targetFolder, entry.filePath);
44
- await fileManager.writeFile(targetFilePath, entry.content);
45
- }
46
- }
47
- };
48
- }
2
+ import { inspectArtifactSizes } from "../report/inspectors.js";
49
3
  //# sourceMappingURL=artifacts-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts-builder.js","sourceRoot":"","sources":["../../../../source/artifacts/artifacts-builder.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AAsBxB,MAAM,UAAU,sBAAsB,CAAC,4BAA0D;IAC7F,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,4BAA4B,CAAC;IAErE,SAAS,eAAe,CAAC,MAAmC,EAAE,MAAe;QACzE,MAAM,gBAAgB,GAAsB;YACxC;gBACI,GAAG,MAAM,CAAC,YAAY;gBACtB,QAAQ,EACJ,MAAM,KAAK,SAAS;oBAChB,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ;oBAC9B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC;aAC5D;SACJ,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClC,MAAM,cAAc,GAChB,MAAM,KAAK,SAAS;gBAChB,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,cAAc;gBACtC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;YAClE,gBAAgB,CAAC,IAAI,CAAC;gBAClB,QAAQ,EAAE,cAAc;gBACxB,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,OAAO;gBACtC,YAAY,EAAE,KAAK,CAAC,eAAe,CAAC,YAAY;aACnD,CAAC,CAAC;QACP,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,OAAO;QACH,eAAe;QAEf,KAAK,CAAC,YAAY,CAAC,MAAM;YACrB,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAErD,OAAO;gBACH,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE;gBACpE,OAAO;aACV,CAAC;QACN,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,YAAY;YAClC,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YAErE,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,UAAU,YAAY,iBAAiB,CAAC,CAAC;YAC7D,CAAC;YAED,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEzC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAE/D,MAAM,WAAW,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/D,CAAC;QACL,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"artifacts-builder.js","sourceRoot":"","sources":["../../../../source/artifacts/artifacts-builder.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW;AAI5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB"}
@@ -1,16 +1,26 @@
1
1
  import { Maybe } from 'true-myth';
2
2
  import type { ArtifactsBuilder } from '../artifacts/artifacts-builder.ts';
3
+ import type { PublishSettings } from '../config/publish-settings.ts';
3
4
  import type { RegistrySettings } from '../config/registry-settings.ts';
4
5
  import type { VersioningSettings } from '../config/versioning-settings.ts';
6
+ import type { FileDescription } from '../file-manager/file-description.ts';
5
7
  import type { VersionedBundleWithManifest } from '../version-manager/versioned-bundle.ts';
6
8
  import type { RegistryClient } from './registry-client.ts';
7
9
  export type BundleEmitterDependencies = {
8
10
  readonly artifactsBuilder: ArtifactsBuilder;
9
11
  readonly registryClient: RegistryClient;
12
+ readonly ciRepositoryUrl: string | undefined;
10
13
  };
11
- export type PublishOptions = {
14
+ type PublishOptions = {
12
15
  readonly bundle: VersionedBundleWithManifest;
13
16
  readonly registrySettings: RegistrySettings;
17
+ readonly publishSettings: PublishSettings;
18
+ readonly extraFiles?: readonly FileDescription[];
19
+ };
20
+ type AlreadyPublishedCheckOptions = {
21
+ readonly bundle: VersionedBundleWithManifest;
22
+ readonly registrySettings: RegistrySettings;
23
+ readonly extraFiles?: readonly FileDescription[];
14
24
  };
15
25
  type CurrentVersionLookupOptions = {
16
26
  readonly name: string;
@@ -23,7 +33,7 @@ type BundlePublishedCheckResult = {
23
33
  export type BundleEmitter = {
24
34
  publish: (options: PublishOptions) => Promise<void>;
25
35
  determineCurrentVersion: (options: CurrentVersionLookupOptions) => Promise<Maybe<string>>;
26
- checkBundleAlreadyPublished: (options: PublishOptions) => Promise<BundlePublishedCheckResult>;
36
+ checkBundleAlreadyPublished: (options: AlreadyPublishedCheckOptions) => Promise<BundlePublishedCheckResult>;
27
37
  };
28
38
  export declare function createBundleEmitter(dependencies: BundleEmitterDependencies): BundleEmitter;
29
39
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../../../source/bundle-emitter/emitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAE1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,MAAM,yBAAyB,GAAG;IACpC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IACzB,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;IAC7C,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;CAC/C,CAAC;AAEF,KAAK,2BAA2B,GAAG;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;CAC3C,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAC9B,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IACxB,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,uBAAuB,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1F,2BAA2B,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC;CACjG,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,yBAAyB,GAAG,aAAa,CAwC1F"}
1
+ {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../../../source/bundle-emitter/emitter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAE3E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAE1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,MAAM,MAAM,yBAAyB,GAAG;IACpC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CAChD,CAAC;AAEF,KAAK,cAAc,GAAG;IAClB,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;IAC7C,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;CACpD,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAChC,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;IAC7C,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;CACpD,CAAC;AAEF,KAAK,2BAA2B,GAAG;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;CAC3C,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAC9B,QAAQ,CAAC,wBAAwB,EAAE,OAAO,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IACxB,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,uBAAuB,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1F,2BAA2B,EAAE,CAAC,OAAO,EAAE,4BAA4B,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC;CAC/G,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,yBAAyB,GAAG,aAAa,CA8C1F"}
@@ -1,35 +1,6 @@
1
+ /* eslint-disable import/max-dependencies -- the publish/check flow legitimately depends on registry, artifacts, file-manager, and provenance helpers */
1
2
  import { Maybe } from 'true-myth';
2
3
  import { compareFileDescriptions } from "../file-manager/compare.js";
3
4
  import { extractPackageTarball } from "./extract-package-tarball.js";
4
- export function createBundleEmitter(dependencies) {
5
- const { artifactsBuilder, registryClient } = dependencies;
6
- return {
7
- async determineCurrentVersion(options) {
8
- const { versioning, registrySettings, name } = options;
9
- if (versioning.automatic) {
10
- const latestVersion = await registryClient.fetchLatestVersion(name, registrySettings);
11
- return latestVersion.map((version) => {
12
- return version.version;
13
- });
14
- }
15
- return Maybe.just(versioning.version);
16
- },
17
- async checkBundleAlreadyPublished(options) {
18
- const { bundle, registrySettings } = options;
19
- const latestVersion = await registryClient.fetchLatestVersion(bundle.name, registrySettings);
20
- if (latestVersion.isNothing) {
21
- return { alreadyPublishedAsLatest: false };
22
- }
23
- const artifactContents = artifactsBuilder.collectContents(bundle, 'package');
24
- const tarball = await registryClient.fetchTarball(latestVersion.value.tarballUrl, latestVersion.value.shasum);
25
- const latestVersionArtifactContents = await extractPackageTarball(tarball);
26
- const result = compareFileDescriptions(artifactContents, latestVersionArtifactContents);
27
- return { alreadyPublishedAsLatest: result.status === 'equal' };
28
- },
29
- async publish(options) {
30
- const tarball = await artifactsBuilder.buildTarball(options.bundle);
31
- await registryClient.publishPackage(options.bundle.packageJson, tarball.tarData, options.registrySettings);
32
- }
33
- };
34
- }
5
+ import { assertRepositoryCoherence } from "./repository-coherence.js";
35
6
  //# sourceMappingURL=emitter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../../../source/bundle-emitter/emitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAIlC,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AA6BrE,MAAM,UAAU,mBAAmB,CAAC,YAAuC;IACvE,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,YAAY,CAAC;IAE1D,OAAO;QACH,KAAK,CAAC,uBAAuB,CAAC,OAAO;YACjC,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;YAEvD,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACvB,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;gBACtF,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;oBACjC,OAAO,OAAO,CAAC,OAAO,CAAC;gBAC3B,CAAC,CAAC,CAAC;YACP,CAAC;YAED,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QAED,KAAK,CAAC,2BAA2B,CAAC,OAAO;YACrC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;YAC7C,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;YAC7F,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;gBAC1B,OAAO,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC;YAC/C,CAAC;YAED,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC7E,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,YAAY,CAC7C,aAAa,CAAC,KAAK,CAAC,UAAU,EAC9B,aAAa,CAAC,KAAK,CAAC,MAAM,CAC7B,CAAC;YACF,MAAM,6BAA6B,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAC3E,MAAM,MAAM,GAAG,uBAAuB,CAAC,gBAAgB,EAAE,6BAA6B,CAAC,CAAC;YACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QACnE,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,OAAO;YACjB,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAEpE,MAAM,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC/G,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../../../source/bundle-emitter/emitter.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW;AAMjC,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B;AAEpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B;AAEpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B"}
@@ -1,15 +1,3 @@
1
1
  import { isExecutableFileMode } from "../file-manager/permissions.js";
2
2
  import { extractTarEntries } from "../tar/extract-tar.js";
3
- function tarEntryToFileDescription(tarEntry) {
4
- const isExecutable = tarEntry.header.mode === undefined ? false : isExecutableFileMode(tarEntry.header.mode);
5
- return {
6
- filePath: tarEntry.header.name,
7
- content: tarEntry.content,
8
- isExecutable
9
- };
10
- }
11
- export async function extractPackageTarball(tarball) {
12
- const tarEntries = await extractTarEntries(tarball);
13
- return tarEntries.map(tarEntryToFileDescription);
14
- }
15
3
  //# sourceMappingURL=extract-package-tarball.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extract-package-tarball.js","sourceRoot":"","sources":["../../../../source/bundle-emitter/extract-package-tarball.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAiB,MAAM,uBAAuB,CAAC;AAEzE,SAAS,yBAAyB,CAAC,QAAkB;IACjD,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE7G,OAAO;QACH,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI;QAC9B,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,YAAY;KACf,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAe;IACvD,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO,UAAU,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"extract-package-tarball.js","sourceRoot":"","sources":["../../../../source/bundle-emitter/extract-package-tarball.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC;AACrE,OAAO,EAAE,iBAAiB,EAAiB,MAAM,uBAAuB"}
@@ -0,0 +1,133 @@
1
+ export function buildPublishOptionsForPublishSettings(publishSettings) {
2
+ if (publishSettings.access === 'restricted') {
3
+ return { access: 'restricted' };
4
+ }
5
+ if (publishSettings.provenance === undefined) {
6
+ return { access: 'public' };
7
+ }
8
+ if (publishSettings.provenance.type === 'auto') {
9
+ return { access: 'public', provenance: true };
10
+ }
11
+ return { access: 'public', provenanceFile: publishSettings.provenance.path };
12
+ }
13
+ function isRecord(value) {
14
+ return value instanceof Object;
15
+ }
16
+ function isErrorLike(error) {
17
+ return isRecord(error) && typeof error.message === 'string';
18
+ }
19
+ const unsupportedProviderMarker = 'not supported for provider:';
20
+ function getCiName(message) {
21
+ const tail = message.slice(message.indexOf(unsupportedProviderMarker) + unsupportedProviderMarker.length).trim();
22
+ if (tail === '') {
23
+ return 'unknown';
24
+ }
25
+ const whitespaceIndex = tail.search(/\s/u);
26
+ if (whitespaceIndex === -1) {
27
+ return tail;
28
+ }
29
+ return tail.slice(0, whitespaceIndex);
30
+ }
31
+ function buildUnsupportedProviderMessage(ciName) {
32
+ return [
33
+ 'Provenance auto mode requires GitHub Actions or GitLab CI.',
34
+ `Detected CI: ${ciName}.`,
35
+ "Use provenance: { type: 'file' } for other environments."
36
+ ].join(' ');
37
+ }
38
+ const githubActionsIdTokenMessage = [
39
+ 'GitHub Actions provenance needs "permissions: id-token: write" on the workflow job.',
40
+ 'See the packtory readme for the workflow snippet.'
41
+ ].join(' ');
42
+ const gitlabSigstoreIdTokenMessage = [
43
+ 'GitLab CI provenance needs an "id_tokens" entry with audience "sigstore"',
44
+ 'exposed as SIGSTORE_ID_TOKEN. See the packtory readme for the workflow snippet.'
45
+ ].join(' ');
46
+ function buildMissingProvenanceFileMessage(filePath) {
47
+ return [
48
+ `Provenance bundle file "${filePath}" does not exist.`,
49
+ "Generate it with your CI's attestation tool (e.g. actions/attest-build-provenance)",
50
+ 'before running packtory.'
51
+ ].join(' ');
52
+ }
53
+ function buildInvalidProvenanceFileMessage(filePath) {
54
+ return [
55
+ `Provenance bundle file "${filePath}" is not a valid sigstore bundle.`,
56
+ 'Re-generate it from the current build.'
57
+ ].join(' ');
58
+ }
59
+ function buildProvenanceDigestMismatchMessage(filePath) {
60
+ return [
61
+ `Provenance bundle at "${filePath}" was signed against a different tarball`,
62
+ 'than the one packtory built. Re-generate the bundle from the current source —',
63
+ 'shipping a mismatched attestation would defeat the purpose of provenance.'
64
+ ].join(' ');
65
+ }
66
+ function isProvenanceBundleError(message) {
67
+ return (message.includes('Bundle is invalid') ||
68
+ message.includes('Unsupported bundle format') ||
69
+ message.includes('Invalid bundle') ||
70
+ message.includes('subject does not match'));
71
+ }
72
+ function isProvenanceDigestMismatch(message) {
73
+ return message.includes('subject') || message.includes('digest');
74
+ }
75
+ function matchAutoModeError(error) {
76
+ if (!isErrorLike(error)) {
77
+ return undefined;
78
+ }
79
+ const { message } = error;
80
+ if (message.includes(unsupportedProviderMarker)) {
81
+ return new Error(buildUnsupportedProviderMessage(getCiName(message)), { cause: error });
82
+ }
83
+ if (message.includes('"write" access to the "id-token" permission')) {
84
+ return new Error(githubActionsIdTokenMessage, { cause: error });
85
+ }
86
+ if (message.includes('SIGSTORE_ID_TOKEN')) {
87
+ return new Error(gitlabSigstoreIdTokenMessage, { cause: error });
88
+ }
89
+ return undefined;
90
+ }
91
+ function matchFileModeError(error, filePath) {
92
+ if (isRecord(error) && error.code === 'ENOENT') {
93
+ return new Error(buildMissingProvenanceFileMessage(filePath), { cause: error });
94
+ }
95
+ if (!isErrorLike(error)) {
96
+ return undefined;
97
+ }
98
+ const { message } = error;
99
+ if (!isProvenanceBundleError(message)) {
100
+ return undefined;
101
+ }
102
+ if (isProvenanceDigestMismatch(message)) {
103
+ return new Error(buildProvenanceDigestMismatchMessage(filePath), { cause: error });
104
+ }
105
+ return new Error(buildInvalidProvenanceFileMessage(filePath), { cause: error });
106
+ }
107
+ function getProvenanceFilePath(publishSettings) {
108
+ if (publishSettings.access !== 'public') {
109
+ return undefined;
110
+ }
111
+ if (publishSettings.provenance?.type !== 'file') {
112
+ return undefined;
113
+ }
114
+ return publishSettings.provenance.path;
115
+ }
116
+ function ensureError(error) {
117
+ return error instanceof Error ? error : new Error(String(error));
118
+ }
119
+ export function remapPublishError(error, publishSettings) {
120
+ const autoModeError = matchAutoModeError(error);
121
+ if (autoModeError !== undefined) {
122
+ return autoModeError;
123
+ }
124
+ const filePath = getProvenanceFilePath(publishSettings);
125
+ if (filePath !== undefined) {
126
+ const fileModeError = matchFileModeError(error, filePath);
127
+ if (fileModeError !== undefined) {
128
+ return fileModeError;
129
+ }
130
+ }
131
+ return ensureError(error);
132
+ }
133
+ //# sourceMappingURL=publish-settings-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-settings-bridge.js","sourceRoot":"","sources":["../../../../source/bundle-emitter/publish-settings-bridge.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,28 @@
1
1
  import type _npmFetch from 'npm-registry-fetch';
2
2
  import type { publish as _publish } from 'libnpmpublish';
3
3
  import { Maybe } from 'true-myth';
4
- import type { RegistrySettings } from '../config/registry-settings.ts';
5
- import type { BundlePackageJson } from '../version-manager/manifest/builder.ts';
4
+ import type { Clock } from '../common/clock.ts';
5
+ import type { PublishSettings } from '../config/publish-settings.ts';
6
+ import type { PublishAuthStrategy, RegistrySettings } from '../config/registry-settings.ts';
7
+ import type { BundlePackageJson } from '../version-manager/versioned-bundle.ts';
6
8
  type PublishFunction = typeof _publish;
7
9
  export type RegistryClientDependencies = {
8
10
  readonly npmFetch: typeof _npmFetch;
9
11
  readonly publish: PublishFunction;
12
+ readonly fetch: typeof globalThis.fetch;
13
+ readonly clock: Clock;
14
+ readonly resolveIdToken: (auth: Extract<PublishAuthStrategy, {
15
+ type: 'npm-oidc';
16
+ }>) => Promise<string>;
17
+ readonly promptForOneTimePassword?: (() => Promise<string | undefined>) | undefined;
10
18
  };
11
19
  export type RegistryClient = {
12
20
  fetchLatestVersion: (packageName: string, config: RegistrySettings) => Promise<Maybe<PackageVersionDetails>>;
13
- publishPackage: (manifest: Readonly<BundlePackageJson>, tarData: Buffer, config: RegistrySettings) => Promise<void>;
14
- fetchTarball: (tarballUrl: string, shasum: string) => Promise<Buffer>;
21
+ publishPackage: (manifest: Readonly<BundlePackageJson>, tarData: Buffer, config: RegistrySettings, publishSettings: PublishSettings) => Promise<void>;
22
+ fetchTarball: (tarballUrl: string, config: RegistrySettings) => Promise<Buffer>;
15
23
  };
16
- export type PackageVersionDetails = {
24
+ type PackageVersionDetails = {
17
25
  readonly version: string;
18
- readonly shasum: string;
19
26
  readonly tarballUrl: string;
20
27
  };
21
28
  export declare function createRegistryClient(dependencies: Readonly<RegistryClientDependencies>): RegistryClient;
@@ -1 +1 @@
1
- {"version":3,"file":"registry-client.d.ts","sourceRoot":"","sources":["../../../../source/bundle-emitter/registry-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAGlC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAEhF,KAAK,eAAe,GAAG,OAAO,QAAQ,CAAC;AAEvC,MAAM,MAAM,0BAA0B,GAAG;IACrC,QAAQ,CAAC,QAAQ,EAAE,OAAO,SAAS,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IACzB,kBAAkB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC7G,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpH,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACzE,CAAC;AAmCF,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC/B,CAAC;AAKF,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAAG,cAAc,CAsFvG"}
1
+ {"version":3,"file":"registry-client.d.ts","sourceRoot":"","sources":["../../../../source/bundle-emitter/registry-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAElC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAGR,mBAAmB,EACnB,gBAAgB,EACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAGhF,KAAK,eAAe,GAAG,OAAO,QAAQ,CAAC;AAmBvC,MAAM,MAAM,0BAA0B,GAAG;IACrC,QAAQ,CAAC,QAAQ,EAAE,OAAO,SAAS,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,mBAAmB,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACvG,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;CACvF,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IACzB,kBAAkB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC7G,cAAc,EAAE,CACZ,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACrC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,gBAAgB,EACxB,eAAe,EAAE,eAAe,KAC/B,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACnF,CAAC;AAmDF,KAAK,qBAAqB,GAAG;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC/B,CAAC;AA4FF,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAAG,cAAc,CAwNvG"}
@@ -1,93 +1,4 @@
1
1
  import { Maybe } from 'true-myth';
2
2
  import { z } from 'zod/mini';
3
- import { safeParse } from '@schema-hub/zod-error-formatter';
4
- function isFetchError(error) {
5
- return typeof error === 'object' && error !== null && Object.hasOwn(error, 'statusCode');
6
- }
7
- function encodePackageName(name) {
8
- return name.replace('/', '%2F');
9
- }
10
- const distTagsSchema = z.object({
11
- latest: z.optional(z.string())
12
- });
13
- const versionDataSchema = z.object({
14
- dist: z.object({ shasum: z.string(), tarball: z.string() })
15
- });
16
- const abbreviatedPackageResponseSchema = z.object({
17
- name: z.string(),
18
- 'dist-tags': distTagsSchema,
19
- versions: z.record(z.string(), versionDataSchema)
20
- });
21
- const httpStatusCode = {
22
- notFound: 404,
23
- forbidden: 403
24
- };
25
- export function createRegistryClient(dependencies) {
26
- const { npmFetch, publish } = dependencies;
27
- async function fetchRegistryEndpoint(endpoint, registrySettings) {
28
- const acceptHeaderForFetchingAbbreviatedResponse = 'application/vnd.npm.install-v1+json';
29
- return npmFetch.json(endpoint, {
30
- forceAuth: {
31
- alwaysAuth: true,
32
- token: registrySettings.token
33
- },
34
- registry: registrySettings.registryUrl,
35
- headers: { accept: acceptHeaderForFetchingAbbreviatedResponse }
36
- });
37
- }
38
- async function fetchPackage(packageName, registrySettings) {
39
- const endpointUri = `/${encodePackageName(packageName)}`;
40
- try {
41
- const response = await fetchRegistryEndpoint(endpointUri, registrySettings);
42
- const result = safeParse(abbreviatedPackageResponseSchema, response);
43
- if (!result.success) {
44
- throw new Error('Got an invalid response from registry API');
45
- }
46
- return Maybe.just(result.data);
47
- }
48
- catch (error) {
49
- if (isFetchError(error) &&
50
- (error.statusCode === httpStatusCode.notFound || error.statusCode === httpStatusCode.forbidden)) {
51
- return Maybe.nothing();
52
- }
53
- throw error;
54
- }
55
- }
56
- return {
57
- async fetchTarball(tarballUrl) {
58
- const response = await npmFetch(tarballUrl);
59
- return response.buffer();
60
- },
61
- async publishPackage(manifest, tarData, registrySettings) {
62
- // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- ok in this case
63
- await publish(manifest, tarData, {
64
- defaultTag: 'latest',
65
- forceAuth: {
66
- alwaysAuth: true,
67
- token: registrySettings.token
68
- },
69
- registry: registrySettings.registryUrl
70
- });
71
- },
72
- async fetchLatestVersion(packageName, registrySettings) {
73
- const packageResponse = await fetchPackage(packageName, registrySettings);
74
- if (packageResponse.isNothing) {
75
- return Maybe.nothing();
76
- }
77
- const latestVersion = packageResponse.value['dist-tags'].latest;
78
- if (latestVersion !== undefined) {
79
- const versionData = packageResponse.value.versions[latestVersion];
80
- if (versionData === undefined) {
81
- throw new Error(`Version "${latestVersion}" for package "${packageName}" is missing a shasum`);
82
- }
83
- return Maybe.just({
84
- version: latestVersion,
85
- shasum: versionData.dist.shasum,
86
- tarballUrl: versionData.dist.tarball
87
- });
88
- }
89
- return Maybe.nothing();
90
- }
91
- };
92
- }
3
+ import { buildPublishOptionsForPublishSettings, remapPublishError } from "./publish-settings-bridge.js";
93
4
  //# sourceMappingURL=registry-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry-client.js","sourceRoot":"","sources":["../../../../source/bundle-emitter/registry-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry-client.js","sourceRoot":"","sources":["../../../../source/bundle-emitter/registry-client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU;AAU5B,OAAO,EAAE,qCAAqC,EAAE,iBAAiB,EAAE,MAAM,8BAA8B"}
@@ -0,0 +1,54 @@
1
+ import { normalizeRepositoryUrl } from "./repository-url-normalizer.js";
2
+ function isNonEmptyString(value) {
3
+ return typeof value === 'string' && value.length > 0;
4
+ }
5
+ export function readCiEnvironment(env) {
6
+ return {
7
+ githubServerUrl: env.GITHUB_SERVER_URL,
8
+ githubRepository: env.GITHUB_REPOSITORY,
9
+ gitlabProjectUrl: env.CI_PROJECT_URL
10
+ };
11
+ }
12
+ export function getCiRepositoryUrl(env) {
13
+ if (isNonEmptyString(env.githubServerUrl) && isNonEmptyString(env.githubRepository)) {
14
+ return `${env.githubServerUrl}/${env.githubRepository}`;
15
+ }
16
+ if (isNonEmptyString(env.gitlabProjectUrl)) {
17
+ return env.gitlabProjectUrl;
18
+ }
19
+ return undefined;
20
+ }
21
+ const noRepositoryDeclaredMessage = [
22
+ 'Provenance is enabled but the package has no repository declared.',
23
+ 'Add a "repository" entry to additionalPackageJsonAttributes',
24
+ "so consumers can verify the attestation's source claim."
25
+ ].join('\n');
26
+ const noCiDetectedMessage = [
27
+ 'Provenance auto mode is enabled but no CI repository was detected.',
28
+ 'Provenance auto mode requires GitHub Actions or GitLab CI; expected',
29
+ 'one of GITHUB_SERVER_URL+GITHUB_REPOSITORY or CI_PROJECT_URL.'
30
+ ].join('\n');
31
+ function buildMismatchMessage(configuredUrl, ciUrl) {
32
+ return [
33
+ "Provenance is enabled but the package's repository URL does not match",
34
+ 'the CI repository.',
35
+ `Configured repository: ${configuredUrl}`,
36
+ `CI repository: ${ciUrl}`,
37
+ 'Either correct the package.json repository field, or disable provenance',
38
+ 'if the mismatch is intentional.'
39
+ ].join('\n');
40
+ }
41
+ export function assertRepositoryCoherence(manifest, ciRepositoryUrl) {
42
+ const normalizedManifestUrl = normalizeRepositoryUrl(manifest.repository);
43
+ if (normalizedManifestUrl === undefined) {
44
+ throw new Error(noRepositoryDeclaredMessage);
45
+ }
46
+ const normalizedCiUrl = normalizeRepositoryUrl(ciRepositoryUrl);
47
+ if (normalizedCiUrl === undefined) {
48
+ throw new Error(noCiDetectedMessage);
49
+ }
50
+ if (normalizedCiUrl !== normalizedManifestUrl) {
51
+ throw new Error(buildMismatchMessage(normalizedManifestUrl, normalizedCiUrl));
52
+ }
53
+ }
54
+ //# sourceMappingURL=repository-coherence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository-coherence.js","sourceRoot":"","sources":["../../../../source/bundle-emitter/repository-coherence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAQxE,SAAS,gBAAgB,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAiD;IAC/E,OAAO;QACH,eAAe,EAAE,GAAG,CAAC,iBAAiB;QACtC,gBAAgB,EAAE,GAAG,CAAC,iBAAiB;QACvC,gBAAgB,EAAE,GAAG,CAAC,cAAc;KACvC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAkB;IACjD,IAAI,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClF,OAAO,GAAG,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC5D,CAAC;IAED,IAAI,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACzC,OAAO,GAAG,CAAC,gBAAgB,CAAC;IAChC,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,MAAM,2BAA2B,GAAG;IAChC,mEAAmE;IACnE,6DAA6D;IAC7D,yDAAyD;CAC5D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,mBAAmB,GAAG;IACxB,oEAAoE;IACpE,qEAAqE;IACrE,+DAA+D;CAClE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,SAAS,oBAAoB,CAAC,aAAqB,EAAE,KAAa;IAC9D,OAAO;QACH,uEAAuE;QACvE,oBAAoB;QACpB,0BAA0B,aAAa,EAAE;QACzC,0BAA0B,KAAK,EAAE;QACjC,yEAAyE;QACzE,iCAAiC;KACpC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,yBAAyB,CACrC,QAA2C,EAC3C,eAAmC;IAEnC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC1E,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,eAAe,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;IAChE,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,eAAe,KAAK,qBAAqB,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC,CAAC;IAClF,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ import HostedGitInfo from 'hosted-git-info';
2
+ //# sourceMappingURL=repository-url-normalizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository-url-normalizer.js","sourceRoot":"","sources":["../../../../source/bundle-emitter/repository-url-normalizer.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB"}
@@ -1,13 +1,2 @@
1
- import { noDuplicatedFilesRule } from "./rules/no-duplicated-files.js";
2
- const checkRules = [noDuplicatedFilesRule];
3
- export function runChecks(params) {
4
- const { settings, bundles: packages } = params;
5
- return checkRules
6
- .filter((rule) => {
7
- return rule.isEnabled(settings);
8
- })
9
- .flatMap((rule) => {
10
- return rule.run({ bundles: packages }, settings);
11
- });
12
- }
1
+ import { allRules } from "./rules/registry.js";
13
2
  //# sourceMappingURL=check-runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check-runner.js","sourceRoot":"","sources":["../../../../source/checks/check-runner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAMvE,MAAM,UAAU,GAAyB,CAAC,qBAAqB,CAAC,CAAC;AAEjE,MAAM,UAAU,SAAS,CAAC,MAAyB;IAC/C,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAE/C,OAAO,UAAU;SACZ,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC,CAAC;SACD,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"check-runner.js","sourceRoot":"","sources":["../../../../source/checks/check-runner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB"}
package/checks/rule.js ADDED
@@ -0,0 +1,5 @@
1
+ import { z } from 'zod/mini';
2
+ import { nonEmptyStringSchema } from "../config/base-validations.js";
3
+ export const enabledOnlyGlobalSchema = z.strictObject({ enabled: z.boolean() });
4
+ export const emptyPerPackageSchema = z.strictObject({});
5
+ //# sourceMappingURL=rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule.js","sourceRoot":"","sources":["../../../../source/checks/rule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAoB,MAAM,UAAU;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B;AAGpE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;AAC/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { z } from 'zod/mini';
2
+ const ruleName = 'maxBundleSize';
3
+ export const maxBundleSizeRule = {
4
+ name: ruleName,
5
+ globalSchema,
6
+ perPackageSchema,
7
+ run
8
+ };
9
+ //# sourceMappingURL=max-bundle-size.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"max-bundle-size.js","sourceRoot":"","sources":["../../../../../source/checks/rules/max-bundle-size.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU;AAI5B,MAAM,QAAQ,GAAG,eAAe;AAgDhC,MAAM,CAAC,MAAM,iBAAiB,GAAyE;IACnG,IAAI,EAAE,QAAQ;IACd,YAAY;IACZ,gBAAgB;IAChB,GAAG;CACN"}
@@ -0,0 +1,9 @@
1
+ import { emptyPerPackageSchema, enabledOnlyGlobalSchema } from "../rule.js";
2
+ const ruleName = 'noDevDependencyImports';
3
+ export const noDevDependencyImportsRule = {
4
+ name: ruleName,
5
+ globalSchema: enabledOnlyGlobalSchema,
6
+ perPackageSchema: emptyPerPackageSchema,
7
+ run
8
+ };
9
+ //# sourceMappingURL=no-dev-dependency-imports.js.map