@wtf/release-docs 9.1.0 → 10.0.0

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 (884) hide show
  1. package/README.md +3 -3
  2. package/api/.generated +244 -145
  3. package/api/@wtf/release/README.md +55 -0
  4. package/api/@wtf/release/contract/README.md +60 -0
  5. package/api/@wtf/release/contract/interfaces/Plan.md +46 -0
  6. package/api/@wtf/release/contract/interfaces/Release.md +96 -0
  7. package/api/@wtf/release/contract/interfaces/ReleaseSteps.md +203 -0
  8. package/api/@wtf/release/contract/type-aliases/OptionalStep.md +13 -0
  9. package/api/@wtf/release/contract/type-aliases/ReleasingEcosystem.md +44 -0
  10. package/api/@wtf/release/driver/README.md +43 -0
  11. package/api/@wtf/release/driver/functions/runStep.md +50 -0
  12. package/api/@wtf/release/driver/interfaces/StepOutcome.md +31 -0
  13. package/api/@wtf/release/driver/type-aliases/EcosystemsOf.md +14 -0
  14. package/api/@wtf/release/driver/type-aliases/Step.md +13 -0
  15. package/api/@wtf/release/driver/variables/STEPS.md +13 -0
  16. package/api/@wtf/{release-trains → release}/ecosystem/README.md +11 -11
  17. package/api/@wtf/release/ecosystem/functions/isEcosystem.md +27 -0
  18. package/api/@wtf/{release-trains → release}/ecosystem/functions/loadEcosystems.md +5 -5
  19. package/api/@wtf/release/ecosystem/functions/readPackages.md +33 -0
  20. package/api/@wtf/release/ecosystem/interfaces/Dependency.md +43 -0
  21. package/api/@wtf/{release-trains → release}/ecosystem/interfaces/Ecosystem.md +23 -14
  22. package/api/@wtf/release/ecosystem/interfaces/EcosystemContext.md +56 -0
  23. package/api/@wtf/release/ecosystem/interfaces/EcosystemPackages.md +35 -0
  24. package/api/@wtf/release/ecosystem/interfaces/Package.md +71 -0
  25. package/api/@wtf/release/ecosystem/type-aliases/DependencyKind.md +16 -0
  26. package/api/@wtf/{release-trains → release}/ecosystem/type-aliases/ModuleLoader.md +2 -2
  27. package/api/@wtf/release/ecosystem/variables/DEPENDENCY_KINDS.md +13 -0
  28. package/api/@wtf/release/errors/README.md +41 -0
  29. package/api/@wtf/{release-system → release}/errors/classes/ReleaseError.md +10 -19
  30. package/api/@wtf/release/errors/functions/isReleaseError.md +28 -0
  31. package/api/@wtf/release/errors/functions/throwAll.md +26 -0
  32. package/api/@wtf/{release-system → release}/errors/type-aliases/ErrorClass.md +2 -2
  33. package/api/@wtf/release/errors/type-aliases/ReleaseErrorCode.md +13 -0
  34. package/api/@wtf/release/errors/variables/RELEASE_ERRORS.md +35 -0
  35. package/api/@wtf/release/files/README.md +38 -0
  36. package/api/@wtf/release/files/functions/copy.md +45 -0
  37. package/api/@wtf/release/files/functions/exists.md +33 -0
  38. package/api/@wtf/release/files/functions/makeDir.md +33 -0
  39. package/api/@wtf/release/files/functions/readBytes.md +33 -0
  40. package/api/@wtf/release/files/functions/readDir.md +33 -0
  41. package/api/@wtf/release/files/functions/readFile.md +33 -0
  42. package/api/@wtf/release/files/functions/remove.md +34 -0
  43. package/api/@wtf/release/files/functions/writeFile.md +38 -0
  44. package/api/@wtf/release/files/interfaces/DirEntry.md +27 -0
  45. package/api/@wtf/release/forge/README.md +49 -0
  46. package/api/@wtf/release/forge/functions/linksOf.md +49 -0
  47. package/api/@wtf/release/forge/interfaces/Forge.md +113 -0
  48. package/api/@wtf/release/forge/interfaces/ForgeRun.md +41 -0
  49. package/api/@wtf/release/forge/interfaces/LinksOptions.md +43 -0
  50. package/api/@wtf/release/forge/interfaces/PackageRegistry.md +41 -0
  51. package/api/@wtf/release/forge/interfaces/ReleaseLink.md +41 -0
  52. package/api/@wtf/release/forge/interfaces/Released.md +91 -0
  53. package/api/@wtf/{release-trains → release}/generated/README.md +8 -8
  54. package/api/@wtf/{release-trains → release}/generated/functions/filesIn.md +4 -4
  55. package/api/@wtf/{release-trains → release}/generated/functions/formatGenerated.md +2 -2
  56. package/api/@wtf/release/generated/functions/listGenerated.md +35 -0
  57. package/api/@wtf/{release-trains → release}/generated/functions/parseGenerated.md +2 -2
  58. package/api/@wtf/release/generated/functions/readGenerated.md +33 -0
  59. package/api/@wtf/{release-trains → release}/generated/functions/stageGenerated.md +2 -2
  60. package/api/@wtf/release/generated/functions/stageGeneratedFolders.md +29 -0
  61. package/api/@wtf/release/generated/functions/unlistedIn.md +36 -0
  62. package/api/@wtf/release/generated/interfaces/GeneratedOptions.md +21 -0
  63. package/api/@wtf/release/generated/interfaces/StageOptions.md +76 -0
  64. package/api/@wtf/release/generated/variables/GENERATED.md +13 -0
  65. package/api/@wtf/{release-system → release}/git/README.md +11 -10
  66. package/api/@wtf/{release-system → release}/git/functions/commitsSince.md +3 -3
  67. package/api/@wtf/{release-system → release}/git/functions/filesOfCommits.md +3 -3
  68. package/api/@wtf/{release-system → release}/git/functions/git.md +3 -3
  69. package/api/@wtf/release/git/functions/revisionOf.md +33 -0
  70. package/api/@wtf/release/git/functions/tagsOfRepo.md +33 -0
  71. package/api/@wtf/{release-system → release}/git/functions/trackedFiles.md +3 -3
  72. package/api/@wtf/release/git/interfaces/GitContext.md +26 -0
  73. package/api/@wtf/release/git/interfaces/LogCommit.md +43 -0
  74. package/api/@wtf/release/interfaces/RepoContext.md +57 -0
  75. package/api/@wtf/release/order/README.md +37 -0
  76. package/api/@wtf/{release-trains/packages → release/order}/functions/normalizeDir.md +2 -2
  77. package/api/@wtf/{release-trains/packages → release/order}/functions/publishOrder.md +7 -6
  78. package/api/@wtf/release/order/interfaces/OrderFault.md +39 -0
  79. package/api/@wtf/release/order/interfaces/OrderPins.md +27 -0
  80. package/api/@wtf/release/order/interfaces/PublishOrder.md +35 -0
  81. package/api/@wtf/{release-system → release}/paths/README.md +4 -4
  82. package/api/@wtf/{release-system → release}/paths/functions/normalizePath.md +2 -2
  83. package/api/@wtf/{release-system → release}/paths/functions/pathMatcher.md +2 -2
  84. package/api/@wtf/{release-system → release}/paths/type-aliases/PathMatcher.md +2 -2
  85. package/api/@wtf/{release-system → release}/posix/README.md +5 -5
  86. package/api/@wtf/{release-system → release}/posix/functions/basenameOf.md +2 -2
  87. package/api/@wtf/{release-system → release}/posix/functions/dirnameOf.md +2 -2
  88. package/api/@wtf/{release-system → release}/posix/functions/joinPath.md +2 -2
  89. package/api/@wtf/{release-system → release}/posix/functions/relativePath.md +2 -2
  90. package/api/@wtf/{release-system → release}/posix/functions/resolvePath.md +3 -3
  91. package/api/@wtf/release/process/README.md +30 -0
  92. package/api/@wtf/release/process/functions/envOf.md +34 -0
  93. package/api/@wtf/release/process/functions/run.md +48 -0
  94. package/api/@wtf/release/process/interfaces/RunOptions.md +52 -0
  95. package/api/@wtf/release/process/interfaces/RunResult.md +35 -0
  96. package/api/@wtf/release/type-aliases/ReleasePlatform.md +22 -0
  97. package/api/@wtf/release/type-aliases/RepoPlatform.md +21 -0
  98. package/api/@wtf/{release-system → release}/validator/README.md +6 -5
  99. package/api/@wtf/{release-system → release}/validator/functions/allOf.md +2 -2
  100. package/api/@wtf/{release-system → release}/validator/functions/anyObject.md +3 -3
  101. package/api/@wtf/{release-system → release}/validator/functions/anyOf.md +2 -2
  102. package/api/@wtf/{release-system → release}/validator/functions/arrayOf.md +2 -2
  103. package/api/@wtf/{release-system → release}/validator/functions/booleanOf.md +2 -2
  104. package/api/@wtf/{release-system → release}/validator/functions/errorOf.md +2 -2
  105. package/api/@wtf/{release-system → release}/validator/functions/errorsOf.md +2 -2
  106. package/api/@wtf/{release-system → release}/validator/functions/exclusive.md +2 -2
  107. package/api/@wtf/release/validator/functions/issueOf.md +45 -0
  108. package/api/@wtf/{release-system → release}/validator/functions/issuesOf.md +2 -2
  109. package/api/@wtf/{release-system → release}/validator/functions/objectOf.md +2 -2
  110. package/api/@wtf/{release-system → release}/validator/functions/oneOf.md +2 -2
  111. package/api/@wtf/{release-system → release}/validator/functions/orFunction.md +2 -2
  112. package/api/@wtf/{release-system → release}/validator/functions/pathText.md +2 -2
  113. package/api/@wtf/{release-system → release}/validator/functions/recordOf.md +2 -2
  114. package/api/@wtf/{release-system → release}/validator/functions/refined.md +2 -2
  115. package/api/@wtf/{release-system → release}/validator/functions/stringOf.md +2 -2
  116. package/api/@wtf/{release-system → release}/validator/functions/tupleOf.md +2 -2
  117. package/api/@wtf/release/validator/functions/validatorOf.md +42 -0
  118. package/api/@wtf/{release-system → release}/validator/interfaces/ArrayOptions.md +6 -6
  119. package/api/@wtf/{release-system → release}/validator/interfaces/IssueOptions.md +5 -5
  120. package/api/@wtf/{release-system → release}/validator/interfaces/ObjectOptions.md +6 -6
  121. package/api/@wtf/release/validator/interfaces/OptionIssue.md +63 -0
  122. package/api/@wtf/release/validator/interfaces/Property.md +49 -0
  123. package/api/@wtf/{release-system → release}/validator/interfaces/RecordOptions.md +7 -7
  124. package/api/@wtf/{release-system → release}/validator/interfaces/StringOptions.md +7 -7
  125. package/api/@wtf/{release-system → release}/validator/interfaces/Validator.md +5 -5
  126. package/api/@wtf/release/validator/type-aliases/JsonSchema.md +17 -0
  127. package/api/@wtf/release/validator/type-aliases/Path.md +13 -0
  128. package/api/@wtf/release-cargo/README.md +11 -8
  129. package/api/@wtf/release-cargo/auth/README.md +1 -1
  130. package/api/@wtf/release-cargo/auth/functions/mask.md +1 -1
  131. package/api/@wtf/release-cargo/auth/functions/tokenVariableOf.md +1 -1
  132. package/api/@wtf/release-cargo/auth/functions/trustedPublishing.md +1 -1
  133. package/api/@wtf/release-cargo/auth/interfaces/HttpResponse.md +5 -5
  134. package/api/@wtf/release-cargo/auth/interfaces/TrustedPublishing.md +5 -5
  135. package/api/@wtf/release-cargo/auth/interfaces/TrustedPublishingOptions.md +6 -6
  136. package/api/@wtf/release-cargo/auth/type-aliases/HttpFetch.md +1 -1
  137. package/api/@wtf/release-cargo/auth/variables/CRATES_IO_API.md +1 -1
  138. package/api/@wtf/release-cargo/auth/variables/ID_TOKEN_VARIABLE.md +1 -1
  139. package/api/@wtf/release-cargo/auth/variables/USER_AGENT.md +3 -3
  140. package/api/@wtf/release-cargo/crates/README.md +11 -10
  141. package/api/@wtf/release-cargo/crates/functions/publishOrder.md +1 -1
  142. package/api/@wtf/release-cargo/crates/functions/publishable.md +1 -1
  143. package/api/@wtf/release-cargo/crates/functions/readWorkspace.md +9 -8
  144. package/api/@wtf/release-cargo/crates/functions/selectCrates.md +16 -16
  145. package/api/@wtf/release-cargo/crates/functions/selects.md +36 -0
  146. package/api/@wtf/release-cargo/crates/interfaces/Selection.md +15 -15
  147. package/api/@wtf/release-cargo/ecosystem/README.md +9 -6
  148. package/api/@wtf/release-cargo/ecosystem/functions/packagesAt.md +6 -6
  149. package/api/@wtf/release-cargo/ecosystem/functions/packagesOfTree.md +3 -3
  150. package/api/@wtf/release-cargo/ecosystem/functions/packagesOfWorkspace.md +2 -2
  151. package/api/@wtf/release-cargo/ecosystem/functions/resolveRequirement.md +1 -1
  152. package/api/@wtf/release-cargo/ecosystem/functions/satisfiesRequirement.md +1 -1
  153. package/api/@wtf/release-cargo/ecosystem/functions/semverRange.md +1 -1
  154. package/api/@wtf/release-cargo/ecosystem/interfaces/CargoPackage.md +17 -17
  155. package/api/@wtf/release-cargo/ecosystem/variables/cargoEcosystem.md +6 -4
  156. package/api/@wtf/release-cargo/errors/README.md +4 -5
  157. package/api/@wtf/release-cargo/errors/classes/CargoError.md +18 -33
  158. package/api/@wtf/release-cargo/errors/type-aliases/CargoErrorCode.md +1 -1
  159. package/api/@wtf/release-cargo/errors/variables/CARGO_ERRORS.md +8 -4
  160. package/api/@wtf/release-cargo/interfaces/Crate.md +6 -6
  161. package/api/@wtf/release-cargo/interfaces/CrateDependency.md +6 -6
  162. package/api/@wtf/release-cargo/interfaces/Workspace.md +3 -3
  163. package/api/@wtf/release-cargo/publish/README.md +4 -5
  164. package/api/@wtf/release-cargo/publish/functions/publishCrates.md +5 -4
  165. package/api/@wtf/release-cargo/publish/interfaces/PublishCratesOptions.md +33 -20
  166. package/api/@wtf/release-cargo/publish/interfaces/PublishedCrate.md +5 -5
  167. package/api/@wtf/release-cargo/publish/type-aliases/CrateStatus.md +1 -1
  168. package/api/@wtf/release-cargo/publish/variables/RECHECK_WAITS.md +1 -1
  169. package/api/@wtf/release-cargo/registry/README.md +5 -3
  170. package/api/@wtf/release-cargo/registry/functions/crateUrl.md +1 -1
  171. package/api/@wtf/release-cargo/registry/functions/indexHasVersion.md +1 -1
  172. package/api/@wtf/release-cargo/registry/functions/indexLookup.md +50 -0
  173. package/api/@wtf/release-cargo/registry/functions/indexPath.md +1 -1
  174. package/api/@wtf/release-cargo/registry/variables/CRATES_IO_INDEX.md +1 -1
  175. package/api/@wtf/release-cargo/release/README.md +54 -0
  176. package/api/@wtf/release-cargo/release/functions/prepareCrates.md +42 -0
  177. package/api/@wtf/release-cargo/release/functions/publishPlan.md +53 -0
  178. package/api/@wtf/release-cargo/release/functions/publishedOf.md +36 -0
  179. package/api/@wtf/release-cargo/release/functions/verifyCrates.md +44 -0
  180. package/api/@wtf/release-cargo/release/interfaces/CargoOptions.md +89 -0
  181. package/api/@wtf/release-cargo/release/type-aliases/CargoPlan.md +13 -0
  182. package/api/@wtf/release-cargo/stamp/README.md +6 -5
  183. package/api/@wtf/release-cargo/stamp/functions/checkVersions.md +1 -1
  184. package/api/@wtf/release-cargo/stamp/functions/inheritsVersion.md +1 -1
  185. package/api/@wtf/release-cargo/stamp/functions/stampManifest.md +1 -1
  186. package/api/@wtf/release-cargo/stamp/functions/stampWorkspace.md +19 -10
  187. package/api/@wtf/release-cargo/stamp/interfaces/StampOptions.md +4 -4
  188. package/api/@wtf/release-cargo/stamp/interfaces/StampWorkspaceOptions.md +21 -0
  189. package/api/@wtf/release-cargo/stamp/interfaces/Stamped.md +3 -3
  190. package/api/@wtf/release-cargo/stamp/interfaces/StampedWorkspace.md +4 -4
  191. package/api/@wtf/release-cargo/type-aliases/DependencyKind.md +1 -1
  192. package/api/@wtf/release-go/README.md +13 -9
  193. package/api/@wtf/release-go/ecosystem/README.md +13 -6
  194. package/api/@wtf/release-go/ecosystem/functions/packagesOfModules.md +2 -2
  195. package/api/@wtf/release-go/ecosystem/functions/packagesOfRepo.md +4 -4
  196. package/api/@wtf/release-go/ecosystem/functions/resolveVersion.md +2 -2
  197. package/api/@wtf/release-go/ecosystem/functions/satisfiesVersion.md +1 -1
  198. package/api/@wtf/release-go/ecosystem/interfaces/GoPackage.md +17 -17
  199. package/api/@wtf/release-go/ecosystem/variables/goEcosystem.md +6 -3
  200. package/api/@wtf/release-go/errors/README.md +4 -5
  201. package/api/@wtf/release-go/errors/classes/GoError.md +17 -32
  202. package/api/@wtf/release-go/errors/type-aliases/GoErrorCode.md +1 -1
  203. package/api/@wtf/release-go/errors/variables/GO_ERRORS.md +8 -4
  204. package/api/@wtf/release-go/gomod/functions/entriesOf.md +1 -1
  205. package/api/@wtf/release-go/gomod/functions/linesOf.md +1 -1
  206. package/api/@wtf/release-go/gomod/functions/readGoMod.md +1 -1
  207. package/api/@wtf/release-go/gomod/functions/tokensOf.md +1 -1
  208. package/api/@wtf/release-go/gomod/interfaces/Entry.md +4 -4
  209. package/api/@wtf/release-go/gomod/interfaces/GoMod.md +4 -4
  210. package/api/@wtf/release-go/gomod/interfaces/GoReplace.md +6 -6
  211. package/api/@wtf/release-go/gomod/interfaces/GoRequire.md +4 -4
  212. package/api/@wtf/release-go/gomod/interfaces/Token.md +5 -5
  213. package/api/@wtf/release-go/interfaces/GoIdentity.md +31 -0
  214. package/api/@wtf/release-go/interfaces/GoModule.md +6 -6
  215. package/api/@wtf/release-go/interfaces/GoOptions.md +86 -0
  216. package/api/@wtf/release-go/modules/README.md +9 -9
  217. package/api/@wtf/release-go/modules/functions/isFetchable.md +1 -1
  218. package/api/@wtf/release-go/modules/functions/isGoMod.md +1 -1
  219. package/api/@wtf/release-go/modules/functions/majorErrors.md +1 -1
  220. package/api/@wtf/release-go/modules/functions/majorOfPath.md +1 -1
  221. package/api/@wtf/release-go/modules/functions/modulesAt.md +3 -3
  222. package/api/@wtf/release-go/modules/functions/modulesOf.md +1 -1
  223. package/api/@wtf/release-go/modules/functions/readModules.md +4 -5
  224. package/api/@wtf/release-go/modules/functions/selectModules.md +13 -11
  225. package/api/@wtf/release-go/modules/interfaces/Selection.md +10 -11
  226. package/api/@wtf/release-go/release/README.md +45 -0
  227. package/api/@wtf/release-go/release/functions/isGoVersion.md +28 -0
  228. package/api/@wtf/release-go/release/functions/prepareModules.md +47 -0
  229. package/api/@wtf/release-go/release/functions/publishModules.md +54 -0
  230. package/api/@wtf/release-go/release/functions/releaseModules.md +48 -0
  231. package/api/@wtf/release-go/release/functions/releasedOf.md +41 -0
  232. package/api/@wtf/release-go/release/functions/verifyModules.md +44 -0
  233. package/api/@wtf/release-go/release/interfaces/ReleaseModules.md +31 -0
  234. package/api/@wtf/release-go/stamp/README.md +6 -5
  235. package/api/@wtf/release-go/stamp/functions/checkVersions.md +1 -1
  236. package/api/@wtf/release-go/stamp/functions/stampGoMod.md +1 -1
  237. package/api/@wtf/release-go/stamp/functions/stampModules.md +16 -10
  238. package/api/@wtf/release-go/stamp/interfaces/StampOptions.md +21 -0
  239. package/api/@wtf/release-go/stamp/interfaces/Stamped.md +3 -3
  240. package/api/@wtf/release-go/stamp/interfaces/StampedModules.md +13 -3
  241. package/api/@wtf/release-go/tags/README.md +3 -6
  242. package/api/@wtf/release-go/tags/functions/askProxy.md +6 -6
  243. package/api/@wtf/release-go/tags/functions/maskCredentials.md +1 -1
  244. package/api/@wtf/release-go/tags/functions/releaseCommit.md +16 -9
  245. package/api/@wtf/release-go/tags/functions/remoteTags.md +3 -3
  246. package/api/@wtf/release-go/tags/functions/tagModules.md +3 -3
  247. package/api/@wtf/release-go/tags/functions/tagOfModule.md +1 -1
  248. package/api/@wtf/release-go/tags/functions/tagPrefix.md +1 -1
  249. package/api/@wtf/release-go/tags/interfaces/CommitIdentity.md +35 -0
  250. package/api/@wtf/release-go/tags/interfaces/TagModulesOptions.md +42 -10
  251. package/api/@wtf/release-go/tags/interfaces/TaggedModule.md +5 -5
  252. package/api/@wtf/release-go/tags/interfaces/TagsContext.md +22 -0
  253. package/api/@wtf/release-go/tags/type-aliases/ModuleStatus.md +1 -1
  254. package/api/@wtf/release-maven/README.md +11 -8
  255. package/api/@wtf/release-maven/artifacts/README.md +11 -6
  256. package/api/@wtf/release-maven/artifacts/functions/groupIdOf.md +1 -1
  257. package/api/@wtf/release-maven/artifacts/functions/installsOf.md +1 -1
  258. package/api/@wtf/release-maven/artifacts/functions/isPomFile.md +1 -1
  259. package/api/@wtf/release-maven/artifacts/functions/isRange.md +1 -1
  260. package/api/@wtf/release-maven/artifacts/functions/modulesOf.md +1 -1
  261. package/api/@wtf/release-maven/artifacts/functions/nameOf.md +1 -1
  262. package/api/@wtf/release-maven/artifacts/functions/publishOrder.md +1 -1
  263. package/api/@wtf/release-maven/artifacts/functions/readModules.md +3 -3
  264. package/api/@wtf/release-maven/artifacts/functions/readPoms.md +4 -4
  265. package/api/@wtf/release-maven/artifacts/functions/selectArtifacts.md +1 -1
  266. package/api/@wtf/release-maven/artifacts/interfaces/Selection.md +8 -8
  267. package/api/@wtf/release-maven/ecosystem/README.md +28 -13
  268. package/api/@wtf/release-maven/ecosystem/functions/checkReleaseVersion.md +32 -0
  269. package/api/@wtf/release-maven/ecosystem/functions/compareVersions.md +1 -1
  270. package/api/@wtf/release-maven/ecosystem/functions/parseRange.md +1 -1
  271. package/api/@wtf/release-maven/ecosystem/functions/resolveVersion.md +1 -1
  272. package/api/@wtf/release-maven/ecosystem/functions/satisfiesVersion.md +1 -1
  273. package/api/@wtf/release-maven/ecosystem/interfaces/Bound.md +3 -3
  274. package/api/@wtf/release-maven/ecosystem/interfaces/MavenReleaseOptions.md +77 -0
  275. package/api/@wtf/release-maven/ecosystem/interfaces/Restriction.md +3 -3
  276. package/api/@wtf/release-maven/ecosystem/variables/mavenEcosystem.md +5 -3
  277. package/api/@wtf/release-maven/errors/README.md +3 -4
  278. package/api/@wtf/release-maven/errors/classes/MavenError.md +17 -32
  279. package/api/@wtf/release-maven/errors/type-aliases/MavenErrorCode.md +1 -1
  280. package/api/@wtf/release-maven/errors/variables/MAVEN_ERRORS.md +4 -4
  281. package/api/@wtf/release-maven/interfaces/MavenModule.md +24 -24
  282. package/api/@wtf/release-maven/pom/functions/childOf.md +1 -1
  283. package/api/@wtf/release-maven/pom/functions/childrenOf.md +1 -1
  284. package/api/@wtf/release-maven/pom/functions/dependencyOf.md +1 -1
  285. package/api/@wtf/release-maven/pom/functions/escapeXml.md +1 -1
  286. package/api/@wtf/release-maven/pom/functions/parseXml.md +1 -1
  287. package/api/@wtf/release-maven/pom/functions/readPom.md +1 -1
  288. package/api/@wtf/release-maven/pom/functions/textAt.md +1 -1
  289. package/api/@wtf/release-maven/pom/interfaces/Pom.md +15 -15
  290. package/api/@wtf/release-maven/pom/interfaces/PomDependency.md +5 -5
  291. package/api/@wtf/release-maven/pom/interfaces/PomParent.md +4 -4
  292. package/api/@wtf/release-maven/pom/interfaces/PomPlugin.md +5 -5
  293. package/api/@wtf/release-maven/pom/interfaces/PomRepository.md +3 -3
  294. package/api/@wtf/release-maven/pom/interfaces/Span.md +3 -3
  295. package/api/@wtf/release-maven/pom/interfaces/XmlElement.md +7 -7
  296. package/api/@wtf/release-maven/pom/variables/PLUGIN_GROUP.md +1 -1
  297. package/api/@wtf/release-maven/publish/README.md +9 -6
  298. package/api/@wtf/release-maven/publish/functions/deployModules.md +2 -2
  299. package/api/@wtf/release-maven/publish/functions/releasedModules.md +44 -0
  300. package/api/@wtf/release-maven/publish/interfaces/DeployModulesOptions.md +18 -27
  301. package/api/@wtf/release-maven/publish/interfaces/DeployedModule.md +4 -4
  302. package/api/@wtf/release-maven/publish/interfaces/ReleasedWhere.md +67 -0
  303. package/api/@wtf/release-maven/publish/type-aliases/ModuleStatus.md +1 -1
  304. package/api/@wtf/release-maven/repository/README.md +12 -6
  305. package/api/@wtf/release-maven/repository/functions/deployTargets.md +1 -1
  306. package/api/@wtf/release-maven/repository/functions/expandValues.md +1 -1
  307. package/api/@wtf/release-maven/repository/functions/hasPom.md +1 -1
  308. package/api/@wtf/release-maven/repository/functions/lookupHeaders.md +37 -0
  309. package/api/@wtf/release-maven/repository/functions/lookupPom.md +44 -0
  310. package/api/@wtf/release-maven/repository/functions/pomPath.md +1 -1
  311. package/api/@wtf/release-maven/repository/functions/pomUrl.md +1 -1
  312. package/api/@wtf/release-maven/repository/functions/releaseTargets.md +46 -0
  313. package/api/@wtf/release-maven/repository/interfaces/LookupAuth.md +32 -0
  314. package/api/@wtf/release-maven/repository/interfaces/ReleaseTargets.md +32 -0
  315. package/api/@wtf/release-maven/repository/interfaces/Repository.md +3 -3
  316. package/api/@wtf/release-maven/repository/interfaces/ValuesOf.md +3 -3
  317. package/api/@wtf/release-maven/repository/variables/MAVEN_CENTRAL.md +1 -1
  318. package/api/@wtf/release-maven/stamp/README.md +8 -8
  319. package/api/@wtf/release-maven/stamp/functions/checkVersions.md +1 -1
  320. package/api/@wtf/release-maven/stamp/functions/stampModules.md +15 -15
  321. package/api/@wtf/release-maven/stamp/functions/stampPom.md +1 -1
  322. package/api/@wtf/release-maven/stamp/interfaces/PomStampOptions.md +5 -5
  323. package/api/@wtf/release-maven/stamp/interfaces/Stamped.md +3 -3
  324. package/api/@wtf/release-maven/stamp/interfaces/StampedModules.md +4 -4
  325. package/api/@wtf/release-npm/README.md +20 -15
  326. package/api/@wtf/release-npm/check/README.md +1 -1
  327. package/api/@wtf/release-npm/check/functions/checkPackages.md +3 -3
  328. package/api/@wtf/release-npm/check/functions/formatIssue.md +1 -1
  329. package/api/@wtf/release-npm/check/interfaces/CheckOptions.md +7 -7
  330. package/api/@wtf/release-npm/check/interfaces/Issue.md +6 -6
  331. package/api/@wtf/release-npm/check/type-aliases/CheckedPackage.md +1 -1
  332. package/api/@wtf/release-npm/check/type-aliases/IssueCode.md +2 -2
  333. package/api/@wtf/release-npm/ecosystem/README.md +21 -11
  334. package/api/@wtf/release-npm/ecosystem/variables/npmEcosystem.md +17 -7
  335. package/api/@wtf/release-npm/errors/README.md +8 -4
  336. package/api/@wtf/release-npm/errors/classes/NpmError.md +253 -0
  337. package/api/@wtf/release-npm/errors/type-aliases/NpmErrorCode.md +1 -1
  338. package/api/@wtf/release-npm/errors/variables/NPM_ERRORS.md +7 -3
  339. package/api/@wtf/release-npm/interfaces/Lookup.md +3 -3
  340. package/api/@wtf/release-npm/interfaces/NpmAside.md +46 -0
  341. package/api/@wtf/release-npm/interfaces/NpmOptions.md +134 -0
  342. package/api/@wtf/release-npm/interfaces/PublishOptions.md +6 -6
  343. package/api/@wtf/release-npm/interfaces/PublishPackage.md +5 -5
  344. package/api/@wtf/release-npm/interfaces/Publisher.md +11 -11
  345. package/api/@wtf/release-npm/interfaces/PublisherContext.md +32 -23
  346. package/api/@wtf/release-npm/manifests/README.md +5 -5
  347. package/api/@wtf/release-npm/manifests/functions/concreteRange.md +1 -1
  348. package/api/@wtf/release-npm/manifests/functions/manifestsAt.md +3 -4
  349. package/api/@wtf/release-npm/manifests/functions/packageOf.md +1 -1
  350. package/api/@wtf/release-npm/manifests/functions/packagesOfManifests.md +1 -1
  351. package/api/@wtf/release-npm/manifests/functions/readManifests.md +7 -7
  352. package/api/@wtf/release-npm/manifests/functions/resolveSpecifier.md +1 -1
  353. package/api/@wtf/release-npm/manifests/functions/runtimeDependenciesOf.md +1 -1
  354. package/api/@wtf/release-npm/manifests/functions/satisfiesRange.md +1 -1
  355. package/api/@wtf/release-npm/manifests/interfaces/Manifest.md +5 -5
  356. package/api/@wtf/release-npm/manifests/interfaces/NpmPackage.md +16 -16
  357. package/api/@wtf/release-npm/manifests/type-aliases/DependencyField.md +1 -1
  358. package/api/@wtf/release-npm/manifests/variables/DEPENDENCY_FIELDS.md +1 -1
  359. package/api/@wtf/release-npm/manifests/variables/FIELD_KINDS.md +2 -2
  360. package/api/@wtf/release-npm/manifests/variables/RUNTIME_FIELDS.md +1 -1
  361. package/api/@wtf/release-npm/prepare/functions/isTypeScriptSource.md +1 -1
  362. package/api/@wtf/release-npm/prepare/functions/prepareManifest.md +1 -1
  363. package/api/@wtf/release-npm/prepare/functions/stripSourceConditions.md +1 -1
  364. package/api/@wtf/release-npm/prepare/interfaces/PrepareOptions.md +6 -6
  365. package/api/@wtf/release-npm/prepare/interfaces/PreparedManifest.md +6 -6
  366. package/api/@wtf/release-npm/prepare/variables/SOURCE_CONDITIONS.md +1 -1
  367. package/api/@wtf/release-npm/publishers/README.md +1 -1
  368. package/api/@wtf/release-npm/publishers/functions/builtInPublisher.md +1 -1
  369. package/api/@wtf/release-npm/publishers/functions/isPublisher.md +1 -1
  370. package/api/@wtf/release-npm/publishers/functions/registryOf.md +1 -1
  371. package/api/@wtf/release-npm/publishers/variables/NPM_REGISTRY.md +1 -1
  372. package/api/@wtf/release-npm/publishers/variables/PUBLISHERS.md +1 -1
  373. package/api/@wtf/release-npm/publishers/variables/npmPublisher.md +1 -1
  374. package/api/@wtf/release-npm/publishers/variables/pnpmPublisher.md +1 -1
  375. package/api/@wtf/release-npm/release/README.md +59 -37
  376. package/api/@wtf/release-npm/release/functions/checkPlan.md +44 -0
  377. package/api/@wtf/release-npm/release/functions/discardPacked.md +32 -0
  378. package/api/@wtf/release-npm/release/functions/moveRelease.md +47 -0
  379. package/api/@wtf/release-npm/release/functions/packRelease.md +39 -0
  380. package/api/@wtf/release-npm/release/functions/prepareRelease.md +46 -0
  381. package/api/@wtf/release-npm/release/functions/publishPacked.md +17 -11
  382. package/api/@wtf/release-npm/release/functions/publishRelease.md +44 -0
  383. package/api/@wtf/release-npm/release/functions/publishedOf.md +12 -11
  384. package/api/@wtf/release-npm/release/functions/resolvePlan.md +49 -0
  385. package/api/@wtf/release-npm/release/functions/smokeRelease.md +40 -0
  386. package/api/@wtf/release-npm/release/functions/verifyRelease.md +41 -0
  387. package/api/@wtf/release-npm/release/interfaces/MovedPackage.md +79 -0
  388. package/api/@wtf/release-npm/release/interfaces/MovedRelease.md +39 -0
  389. package/api/@wtf/release-npm/release/interfaces/NpmPlan.md +68 -0
  390. package/api/@wtf/release-npm/release/interfaces/PackOptions.md +35 -31
  391. package/api/@wtf/release-npm/release/interfaces/PackedRelease.md +107 -0
  392. package/api/@wtf/release-npm/release/interfaces/PublishRun.md +35 -50
  393. package/api/@wtf/release-npm/release/interfaces/PublishedOf.md +4 -14
  394. package/api/@wtf/release-npm/release/interfaces/PublishedPackage.md +13 -14
  395. package/api/@wtf/release-npm/release/interfaces/PublishedRelease.md +49 -0
  396. package/api/@wtf/release-npm/release/interfaces/ResolvedPackage.md +4 -4
  397. package/api/@wtf/release-npm/release/interfaces/ResolvedRelease.md +37 -0
  398. package/api/@wtf/release-npm/release/type-aliases/LookedUpRelease.md +13 -0
  399. package/api/@wtf/release-npm/release/variables/ID_TOKENS.md +1 -1
  400. package/api/@wtf/release-npm/release/variables/RUNNER_ENVIRONMENTS.md +1 -1
  401. package/api/@wtf/release-npm/release/variables/npmOptionsSchema.md +13 -0
  402. package/api/@wtf/release-npm/workspace/README.md +7 -3
  403. package/api/@wtf/release-npm/workspace/functions/pnpmWorkspaceGlobs.md +1 -1
  404. package/api/@wtf/release-npm/workspace/functions/publishableOf.md +1 -1
  405. package/api/@wtf/release-npm/workspace/functions/readWorkspace.md +3 -9
  406. package/api/@wtf/release-npm/workspace/functions/workspaceFolders.md +3 -9
  407. package/api/@wtf/release-npm/workspace/functions/workspaceGlobs.md +3 -9
  408. package/api/@wtf/release-npm/workspace/interfaces/WorkspaceGlobs.md +3 -3
  409. package/api/@wtf/release-oci/README.md +12 -10
  410. package/api/@wtf/release-oci/ecosystem/README.md +22 -7
  411. package/api/@wtf/release-oci/ecosystem/functions/packagesOfImages.md +2 -2
  412. package/api/@wtf/release-oci/ecosystem/functions/packagesOfRepo.md +4 -4
  413. package/api/@wtf/release-oci/ecosystem/functions/repositoriesOf.md +27 -0
  414. package/api/@wtf/release-oci/ecosystem/functions/resolveTag.md +2 -2
  415. package/api/@wtf/release-oci/ecosystem/functions/satisfiesTag.md +2 -2
  416. package/api/@wtf/release-oci/ecosystem/interfaces/OciOptions.md +64 -0
  417. package/api/@wtf/release-oci/ecosystem/interfaces/OciPackage.md +17 -17
  418. package/api/@wtf/release-oci/ecosystem/interfaces/OciSourceOptions.md +32 -0
  419. package/api/@wtf/release-oci/ecosystem/variables/ociEcosystem.md +18 -4
  420. package/api/@wtf/release-oci/errors/README.md +4 -5
  421. package/api/@wtf/release-oci/errors/classes/OciError.md +17 -32
  422. package/api/@wtf/release-oci/errors/type-aliases/OciErrorCode.md +1 -1
  423. package/api/@wtf/release-oci/errors/variables/OCI_ERRORS.md +10 -2
  424. package/api/@wtf/release-oci/images/README.md +3 -3
  425. package/api/@wtf/release-oci/images/functions/imageDirOf.md +1 -1
  426. package/api/@wtf/release-oci/images/functions/imagesAt.md +3 -3
  427. package/api/@wtf/release-oci/images/functions/imagesOf.md +1 -1
  428. package/api/@wtf/release-oci/images/functions/isImageManifest.md +1 -1
  429. package/api/@wtf/release-oci/images/functions/readImages.md +3 -3
  430. package/api/@wtf/release-oci/images/functions/registryImageOf.md +3 -3
  431. package/api/@wtf/release-oci/images/functions/repositoryOf.md +1 -1
  432. package/api/@wtf/release-oci/interfaces/OciImage.md +4 -4
  433. package/api/@wtf/release-oci/publish/README.md +26 -13
  434. package/api/@wtf/release-oci/publish/functions/digestOf.md +1 -1
  435. package/api/@wtf/release-oci/publish/functions/moveImages.md +32 -0
  436. package/api/@wtf/release-oci/publish/functions/platformsOf.md +1 -1
  437. package/api/@wtf/release-oci/publish/functions/publishImages.md +8 -6
  438. package/api/@wtf/release-oci/publish/functions/smokeImages.md +1 -1
  439. package/api/@wtf/release-oci/publish/interfaces/CraneContext.md +10 -37
  440. package/api/@wtf/release-oci/publish/interfaces/ImageToPublish.md +3 -3
  441. package/api/@wtf/release-oci/publish/interfaces/ImagesMove.md +84 -0
  442. package/api/@wtf/release-oci/publish/interfaces/ImagesRelease.md +18 -17
  443. package/api/@wtf/release-oci/publish/interfaces/MovedImage.md +41 -0
  444. package/api/@wtf/release-oci/publish/interfaces/OciSource.md +3 -3
  445. package/api/@wtf/release-oci/publish/interfaces/PublishedImage.md +11 -21
  446. package/api/@wtf/release-oci/publish/interfaces/SmokedImage.md +5 -5
  447. package/api/@wtf/release-oci/registry/README.md +20 -4
  448. package/api/@wtf/release-oci/registry/functions/checkRegistryAccess.md +28 -0
  449. package/api/@wtf/release-oci/registry/functions/registryPageOf.md +1 -1
  450. package/api/@wtf/release-oci/registry/interfaces/ContainerRegistry.md +35 -0
  451. package/api/@wtf/release-oci/registry/interfaces/RegistryProject.md +51 -0
  452. package/api/@wtf/release-oci/registry/interfaces/RegistryQuery.md +20 -8
  453. package/api/@wtf/release-oci/registry/interfaces/RegistryResponse.md +47 -0
  454. package/api/@wtf/release-oci/registry/type-aliases/RegistryAccess.md +13 -0
  455. package/api/@wtf/release-oci/registry/type-aliases/RegistryFetch.md +39 -0
  456. package/api/@wtf/release-oci/tags/README.md +9 -8
  457. package/api/@wtf/release-oci/tags/functions/checkReleaseTags.md +35 -0
  458. package/api/@wtf/release-oci/tags/functions/isImageTag.md +27 -0
  459. package/api/@wtf/release-oci/tags/interfaces/ReleaseTags.md +4 -4
  460. package/api/@wtf/release-replace/README.md +6 -5
  461. package/api/@wtf/release-replace/errors/README.md +3 -3
  462. package/api/@wtf/release-replace/errors/classes/ReplaceError.md +17 -32
  463. package/api/@wtf/release-replace/errors/type-aliases/ReplaceErrorCode.md +1 -1
  464. package/api/@wtf/release-replace/errors/variables/REPLACE_ERRORS.md +1 -1
  465. package/api/@wtf/release-replace/files/functions/filesMatcher.md +3 -3
  466. package/api/@wtf/release-replace/interfaces/ReplaceMatch.md +5 -5
  467. package/api/@wtf/release-replace/interfaces/ReplacementOf.md +5 -5
  468. package/api/@wtf/release-replace/replace/README.md +3 -3
  469. package/api/@wtf/release-replace/replace/functions/regExpOf.md +1 -1
  470. package/api/@wtf/release-replace/replace/functions/replaceFiles.md +3 -3
  471. package/api/@wtf/release-replace/replace/functions/replaceText.md +1 -1
  472. package/api/@wtf/release-replace/replace/interfaces/ReplaceOptions.md +35 -32
  473. package/api/@wtf/release-replace/replace/interfaces/TextOptions.md +5 -5
  474. package/api/@wtf/release-replace/replace/type-aliases/To.md +1 -1
  475. package/api/@wtf/release-replace/templates/functions/mergeTemplates.md +1 -1
  476. package/api/@wtf/release-replace/templates/functions/resolveReplacement.md +1 -1
  477. package/api/@wtf/release-replace/templates/functions/resolveReplacements.md +1 -1
  478. package/api/@wtf/release-replace/type-aliases/Escape.md +1 -1
  479. package/api/@wtf/release-replace/type-aliases/ReplaceFunction.md +1 -1
  480. package/api/@wtf/release-replace/type-aliases/Replacement.md +1 -1
  481. package/api/@wtf/release-replace/type-aliases/ReplacementSpec.md +1 -1
  482. package/api/@wtf/release-replace/type-aliases/TemplateUse.md +1 -1
  483. package/api/@wtf/release-replace/type-aliases/Templates.md +1 -1
  484. package/api/@wtf/release-replace/values/functions/escapeValue.md +1 -1
  485. package/api/@wtf/release-replace/values/functions/textOf.md +1 -1
  486. package/api/@wtf/release-replace/values/functions/valueAt.md +1 -1
  487. package/api/@wtf/release-replace/values/variables/ESCAPES.md +1 -1
  488. package/api/@wtf/release-replace/values/variables/VALUE.md +1 -1
  489. package/api/@wtf/release-trains/README.md +9 -8
  490. package/api/@wtf/release-trains/cascade/README.md +6 -5
  491. package/api/@wtf/release-trains/cascade/functions/cascadeNotes.md +1 -1
  492. package/api/@wtf/release-trains/cascade/functions/cascadeText.md +1 -1
  493. package/api/@wtf/release-trains/cascade/functions/cascadeType.md +1 -1
  494. package/api/@wtf/release-trains/cascade/functions/cascadesOf.md +2 -2
  495. package/api/@wtf/release-trains/cascade/functions/higherType.md +1 -1
  496. package/api/@wtf/release-trains/cascade/interfaces/Cascade.md +11 -11
  497. package/api/@wtf/release-trains/cascade/interfaces/CascadeCheck.md +30 -27
  498. package/api/@wtf/release-trains/cascade/type-aliases/CascadeKind.md +2 -2
  499. package/api/@wtf/release-trains/cascade/type-aliases/ReleaseType.md +1 -1
  500. package/api/@wtf/release-trains/cascade/variables/RELEASE_TYPES.md +1 -1
  501. package/api/@wtf/release-trains/errors/README.md +6 -5
  502. package/api/@wtf/release-trains/errors/classes/TrainsError.md +18 -32
  503. package/api/@wtf/release-trains/errors/type-aliases/TrainsErrorCode.md +1 -1
  504. package/api/@wtf/release-trains/errors/variables/TRAINS_ERRORS.md +1 -13
  505. package/api/@wtf/release-trains/git/README.md +4 -4
  506. package/api/@wtf/release-trains/git/functions/tagOf.md +1 -1
  507. package/api/@wtf/release-trains/git/functions/tagsOf.md +4 -4
  508. package/api/@wtf/release-trains/git/functions/versionOfTag.md +1 -1
  509. package/api/@wtf/release-trains/git/interfaces/TrainTag.md +3 -3
  510. package/api/@wtf/release-trains/gitlab/README.md +6 -3
  511. package/api/@wtf/release-trains/gitlab/functions/findPackage.md +1 -1
  512. package/api/@wtf/release-trains/gitlab/functions/gitlabForge.md +33 -0
  513. package/api/@wtf/release-trains/gitlab/functions/gitlabHeadersOf.md +1 -1
  514. package/api/@wtf/release-trains/gitlab/functions/gitlabProjectOf.md +1 -1
  515. package/api/@wtf/release-trains/gitlab/functions/gitlabRegistryOf.md +1 -1
  516. package/api/@wtf/release-trains/gitlab/functions/uploadGeneric.md +1 -1
  517. package/api/@wtf/release-trains/gitlab/interfaces/GenericUpload.md +8 -8
  518. package/api/@wtf/release-trains/gitlab/interfaces/GitLabForgeOptions.md +97 -0
  519. package/api/@wtf/release-trains/gitlab/interfaces/GitLabOptions.md +4 -4
  520. package/api/@wtf/release-trains/gitlab/interfaces/GitLabProject.md +6 -6
  521. package/api/@wtf/release-trains/gitlab/interfaces/GitLabRegistry.md +5 -5
  522. package/api/@wtf/release-trains/gitlab/interfaces/HttpResponse.md +4 -4
  523. package/api/@wtf/release-trains/gitlab/interfaces/PackageQuery.md +9 -9
  524. package/api/@wtf/release-trains/gitlab/type-aliases/HttpFetch.md +1 -1
  525. package/api/@wtf/release-trains/gitlab/variables/LISTING_WAITS.md +1 -1
  526. package/api/@wtf/release-trains/interfaces/Train.md +7 -7
  527. package/api/@wtf/release-trains/links/README.md +16 -20
  528. package/api/@wtf/release-trains/links/functions/releaseLinks.md +15 -13
  529. package/api/@wtf/release-trains/links/interfaces/LinkOptions.md +56 -33
  530. package/api/@wtf/release-trains/packages/README.md +11 -16
  531. package/api/@wtf/release-trains/packages/functions/dependencyEdges.md +2 -2
  532. package/api/@wtf/release-trains/packages/functions/dependencyText.md +1 -1
  533. package/api/@wtf/release-trains/packages/functions/dependsOnErrors.md +2 -2
  534. package/api/@wtf/release-trains/packages/functions/ownersOf.md +2 -2
  535. package/api/@wtf/release-trains/packages/functions/packagesOf.md +2 -2
  536. package/api/@wtf/release-trains/packages/functions/releasedVersions.md +2 -2
  537. package/api/@wtf/release-trains/packages/functions/trainDependencies.md +2 -2
  538. package/api/@wtf/release-trains/packages/functions/trainOrder.md +2 -2
  539. package/api/@wtf/release-trains/packages/functions/unsatisfiedErrors.md +5 -4
  540. package/api/@wtf/release-trains/packages/interfaces/DependencyEdge.md +6 -6
  541. package/api/@wtf/release-trains/packages/interfaces/TrainDependency.md +3 -3
  542. package/api/@wtf/release-trains/packages/interfaces/VersionsRelease.md +24 -21
  543. package/api/@wtf/release-trains/paths/README.md +5 -4
  544. package/api/@wtf/release-trains/paths/functions/filterCommits.md +1 -1
  545. package/api/@wtf/release-trains/paths/functions/gitFilesOf.md +4 -4
  546. package/api/@wtf/release-trains/paths/functions/overlapError.md +1 -1
  547. package/api/@wtf/release-trains/paths/functions/trainOfPath.md +1 -1
  548. package/api/@wtf/release-trains/paths/functions/trainsOfCommit.md +1 -1
  549. package/api/@wtf/release-trains/paths/functions/trainsOfPath.md +1 -1
  550. package/api/@wtf/release-trains/paths/type-aliases/FilesOf.md +1 -1
  551. package/api/@wtf/release-trains/plan/README.md +38 -0
  552. package/api/@wtf/release-trains/plan/functions/planOf.md +45 -0
  553. package/api/@wtf/release-trains/plan/interfaces/PlanRelease.md +113 -0
  554. package/api/@wtf/release-trains/plan/interfaces/TrainPlan.md +72 -0
  555. package/api/@wtf/release-trains/schema/README.md +1 -1
  556. package/api/@wtf/release-trains/schema/interfaces/ConfigPart.md +6 -6
  557. package/api/@wtf/release-trains/schema/interfaces/RootOptions.md +7 -17
  558. package/api/@wtf/release-trains/schema/type-aliases/DependencyRule.md +1 -1
  559. package/api/@wtf/release-trains/schema/variables/DEPENDENCY_RULES.md +1 -1
  560. package/api/@wtf/release-trains/schema/variables/TAG_FORMAT_PATTERN.md +1 -1
  561. package/api/@wtf/release-trains/schema/variables/TRAIN_NAME_PATTERN.md +1 -1
  562. package/api/@wtf/release-trains/schema/variables/configSchema.md +2 -2
  563. package/api/@wtf/release-trains/schema/variables/jsonSchema.md +2 -2
  564. package/api/@wtf/release-trains/schema/variables/rootOptionsSchema.md +4 -4
  565. package/api/@wtf/release-trains/schema/variables/trainSchema.md +2 -2
  566. package/api/@wtf/release-trains/schema/variables/trainsSchema.md +2 -2
  567. package/api/@wtf/release-trains/trains/functions/changelogOf.md +1 -1
  568. package/api/@wtf/release-trains/trains/functions/matchersOf.md +3 -3
  569. package/api/@wtf/release-trains/trains/functions/overlapErrors.md +1 -1
  570. package/api/@wtf/release-trains/trains/functions/selectTrain.md +1 -1
  571. package/api/@wtf/release-trains/trains/functions/tagFormatOf.md +1 -1
  572. package/api/@wtf/release-trains/trains/functions/trainHeadedNotes.md +1 -1
  573. package/api/@wtf/release-trains/trains/functions/trainOfRun.md +1 -1
  574. package/api/@wtf/release-trains/trains/functions/trainOfTag.md +1 -1
  575. package/api/@wtf/release-trains/trains/functions/trainsErrors.md +1 -1
  576. package/api/@wtf/release-trains/trains/functions/trainsOfOptions.md +4 -9
  577. package/api/@wtf/release-trains/trains/variables/TRAIN_VARIABLE.md +1 -1
  578. package/api/@wtf/release-trains/trains/variables/VERSION.md +1 -1
  579. package/api/@wtf/release-trains/type-aliases/BranchSpec.md +1 -1
  580. package/api/@wtf/release-trains/type-aliases/Trains.md +1 -1
  581. package/api/@wtf/release-trains/verify/README.md +8 -7
  582. package/api/@wtf/release-trains/verify/functions/unreleasedDependencies.md +3 -3
  583. package/api/@wtf/release-trains/verify/functions/verifyTrain.md +3 -3
  584. package/api/@wtf/release-trains/verify/interfaces/UnreleasedDependencies.md +33 -30
  585. package/api/@wtf/release-trains/verify/interfaces/VerifiedTrain.md +5 -5
  586. package/api/@wtf/release-trains/verify/interfaces/VerifyRelease.md +27 -24
  587. package/api/@wtf/release-validate/errors/README.md +3 -4
  588. package/api/@wtf/release-validate/errors/classes/ValidateError.md +29 -32
  589. package/api/@wtf/release-validate/errors/type-aliases/ValidateErrorCode.md +1 -1
  590. package/api/@wtf/release-validate/errors/variables/VALIDATE_ERRORS.md +1 -1
  591. package/api/@wtf/release-validate/interfaces/ConfigIssue.md +4 -4
  592. package/api/@wtf/release-validate/json-schema/functions/fromJsonSchema.md +1 -1
  593. package/api/@wtf/release-validate/json-schema/functions/pathOfPointer.md +1 -1
  594. package/api/@wtf/release-validate/json-schema/interfaces/JsonSchemaError.md +3 -3
  595. package/api/@wtf/release-validate/json-schema/interfaces/JsonSchemaValidator.md +3 -3
  596. package/api/@wtf/release-validate/validate/functions/configErrors.md +1 -1
  597. package/api/@wtf/release-validate/validate/functions/isStandardSchema.md +1 -1
  598. package/api/@wtf/release-validate/validate/functions/pathText.md +1 -1
  599. package/api/@wtf/release-validate/validate/functions/validateConfig.md +1 -1
  600. package/api/@wtf/semantic-release/README.md +36 -0
  601. package/api/@wtf/semantic-release/errors/README.md +32 -0
  602. package/api/@wtf/semantic-release/errors/functions/marked.md +29 -0
  603. package/api/@wtf/semantic-release/errors/functions/markedStep.md +36 -0
  604. package/api/@wtf/semantic-release/errors/variables/SEMANTIC_RELEASE_ERROR.md +13 -0
  605. package/api/@wtf/{release-system/node → semantic-release}/functions/realPathOf.md +3 -3
  606. package/api/@wtf/semantic-release/functions/runOf.md +31 -0
  607. package/api/@wtf/semantic-release/interfaces/RunContext.md +31 -0
  608. package/api/@wtf/semantic-release/links/README.md +38 -0
  609. package/api/@wtf/{release-trains → semantic-release}/links/functions/forgetReleased.md +2 -2
  610. package/api/@wtf/{release-trains → semantic-release}/links/functions/recordReleased.md +3 -3
  611. package/api/@wtf/semantic-release/links/functions/releasedOf.md +28 -0
  612. package/api/@wtf/semantic-release/links/interfaces/ReleaseRun.md +41 -0
  613. package/api/@wtf/semantic-release/release/README.md +47 -0
  614. package/api/@wtf/semantic-release/release/functions/inTrain.md +42 -0
  615. package/api/@wtf/semantic-release/release/functions/stepRelease.md +35 -0
  616. package/api/@wtf/semantic-release/release/functions/trainNamed.md +34 -0
  617. package/api/@wtf/semantic-release/release/functions/trainPrefix.md +27 -0
  618. package/api/@wtf/semantic-release/release/interfaces/StepContext.md +63 -0
  619. package/api/@wtf/semantic-release/release/interfaces/StepOf.md +63 -0
  620. package/api/@wtf/semantic-release/schema/README.md +23 -0
  621. package/api/@wtf/{release-system/validator → semantic-release/schema}/functions/pluginEntriesOf.md +5 -5
  622. package/api/@wtf/semantic-release-cargo/README.md +32 -26
  623. package/api/@wtf/semantic-release-cargo/functions/indexLookup.md +3 -3
  624. package/api/@wtf/semantic-release-cargo/interfaces/CargoPluginOptions.md +46 -23
  625. package/api/@wtf/semantic-release-cargo/interfaces/CargoRelease.md +3 -3
  626. package/api/@wtf/semantic-release-cargo/schema/README.md +2 -2
  627. package/api/@wtf/semantic-release-cargo/schema/type-aliases/CargoOptions.md +2 -2
  628. package/api/@wtf/semantic-release-cargo/schema/variables/cargoOptionsSchema.md +2 -2
  629. package/api/@wtf/semantic-release-cargo/schema/variables/cargoSchema.md +2 -2
  630. package/api/@wtf/semantic-release-cargo/schema/variables/configSchema.md +2 -2
  631. package/api/@wtf/semantic-release-cargo/schema/variables/jsonSchema.md +2 -2
  632. package/api/@wtf/semantic-release-cargo/variables/default.md +43 -14
  633. package/api/@wtf/semantic-release-cargo/{functions → variables}/prepare.md +7 -7
  634. package/api/@wtf/semantic-release-cargo/{functions → variables}/publish.md +6 -5
  635. package/api/@wtf/semantic-release-cargo/variables/verifyConditions.md +37 -0
  636. package/api/@wtf/semantic-release-cargo/variables/verifyRelease.md +37 -0
  637. package/api/@wtf/semantic-release-go/README.md +40 -36
  638. package/api/@wtf/semantic-release-go/interfaces/GoPluginOptions.md +7 -17
  639. package/api/@wtf/semantic-release-go/interfaces/GoRelease.md +3 -3
  640. package/api/@wtf/semantic-release-go/schema/README.md +2 -2
  641. package/api/@wtf/semantic-release-go/schema/type-aliases/GoOptions.md +2 -2
  642. package/api/@wtf/semantic-release-go/schema/variables/configSchema.md +2 -2
  643. package/api/@wtf/semantic-release-go/schema/variables/goOptionsSchema.md +2 -2
  644. package/api/@wtf/semantic-release-go/schema/variables/goSchema.md +2 -2
  645. package/api/@wtf/semantic-release-go/schema/variables/jsonSchema.md +2 -2
  646. package/api/@wtf/semantic-release-go/variables/default.md +26 -22
  647. package/api/@wtf/semantic-release-go/variables/prepare.md +40 -0
  648. package/api/@wtf/semantic-release-go/variables/publish.md +45 -0
  649. package/api/@wtf/semantic-release-go/{functions → variables}/verifyConditions.md +8 -7
  650. package/api/@wtf/semantic-release-go/variables/verifyRelease.md +40 -0
  651. package/api/@wtf/semantic-release-maven/README.md +38 -20
  652. package/api/@wtf/semantic-release-maven/functions/pomLookup.md +3 -3
  653. package/api/@wtf/semantic-release-maven/interfaces/MavenPluginOptions.md +12 -22
  654. package/api/@wtf/semantic-release-maven/interfaces/MavenRelease.md +2 -2
  655. package/api/@wtf/semantic-release-maven/schema/README.md +2 -2
  656. package/api/@wtf/semantic-release-maven/schema/type-aliases/MavenOptions.md +2 -2
  657. package/api/@wtf/semantic-release-maven/schema/variables/configSchema.md +2 -2
  658. package/api/@wtf/semantic-release-maven/schema/variables/jsonSchema.md +2 -2
  659. package/api/@wtf/semantic-release-maven/schema/variables/mavenOptionsSchema.md +2 -2
  660. package/api/@wtf/semantic-release-maven/schema/variables/mavenSchema.md +2 -2
  661. package/api/@wtf/semantic-release-maven/variables/default.md +45 -16
  662. package/api/@wtf/semantic-release-maven/variables/prepare.md +41 -0
  663. package/api/@wtf/semantic-release-maven/variables/publish.md +44 -0
  664. package/api/@wtf/semantic-release-maven/{functions → variables}/verifyConditions.md +6 -7
  665. package/api/@wtf/semantic-release-maven/variables/verifyRelease.md +36 -0
  666. package/api/@wtf/semantic-release-npm/README.md +39 -29
  667. package/api/@wtf/semantic-release-npm/functions/loadPublisher.md +1 -1
  668. package/api/@wtf/semantic-release-npm/interfaces/PublishPluginOptions.md +24 -82
  669. package/api/@wtf/semantic-release-npm/interfaces/PublishedRelease.md +4 -4
  670. package/api/@wtf/semantic-release-npm/interfaces/SmokeOption.md +2 -2
  671. package/api/@wtf/semantic-release-npm/schema/README.md +1 -1
  672. package/api/@wtf/semantic-release-npm/schema/type-aliases/PublishOptions.md +3 -3
  673. package/api/@wtf/semantic-release-npm/schema/variables/configSchema.md +2 -2
  674. package/api/@wtf/semantic-release-npm/schema/variables/jsonSchema.md +2 -2
  675. package/api/@wtf/semantic-release-npm/schema/variables/publishOptionsSchema.md +2 -2
  676. package/api/@wtf/semantic-release-npm/schema/variables/publishSchema.md +2 -2
  677. package/api/@wtf/semantic-release-npm/type-aliases/PublisherSpec.md +1 -1
  678. package/api/@wtf/semantic-release-npm/{functions → variables}/addChannel.md +7 -6
  679. package/api/@wtf/semantic-release-npm/variables/default.md +51 -15
  680. package/api/@wtf/semantic-release-npm/variables/fail.md +36 -0
  681. package/api/@wtf/semantic-release-npm/variables/prepare.md +37 -0
  682. package/api/@wtf/semantic-release-npm/{functions → variables}/publish.md +8 -6
  683. package/api/@wtf/semantic-release-npm/{functions → variables}/verifyConditions.md +6 -4
  684. package/api/@wtf/semantic-release-npm/variables/verifyRelease.md +35 -0
  685. package/api/@wtf/semantic-release-oci/README.md +17 -14
  686. package/api/@wtf/semantic-release-oci/interfaces/OciPluginOptions.md +23 -20
  687. package/api/@wtf/semantic-release-oci/interfaces/OciRelease.md +3 -3
  688. package/api/@wtf/semantic-release-oci/schema/README.md +3 -3
  689. package/api/@wtf/semantic-release-oci/schema/type-aliases/OciOptions.md +2 -2
  690. package/api/@wtf/semantic-release-oci/schema/variables/configSchema.md +2 -2
  691. package/api/@wtf/semantic-release-oci/schema/variables/jsonSchema.md +2 -2
  692. package/api/@wtf/semantic-release-oci/schema/variables/ociOptionsSchema.md +2 -2
  693. package/api/@wtf/semantic-release-oci/schema/variables/ociSchema.md +2 -2
  694. package/api/@wtf/semantic-release-oci/variables/default.md +40 -7
  695. package/api/@wtf/semantic-release-oci/variables/publish.md +47 -0
  696. package/api/@wtf/semantic-release-oci/{functions → variables}/verifyConditions.md +7 -5
  697. package/api/@wtf/semantic-release-oci/variables/verifyRelease.md +35 -0
  698. package/api/@wtf/semantic-release-replace/README.md +4 -4
  699. package/api/@wtf/semantic-release-replace/functions/functionOf.md +1 -1
  700. package/api/@wtf/semantic-release-replace/functions/templatesOf.md +1 -1
  701. package/api/@wtf/semantic-release-replace/schema/README.md +1 -1
  702. package/api/@wtf/semantic-release-replace/schema/interfaces/ModuleExport.md +3 -3
  703. package/api/@wtf/semantic-release-replace/schema/interfaces/ReplaceOptions.md +4 -8
  704. package/api/@wtf/semantic-release-replace/schema/interfaces/RootTemplates.md +2 -2
  705. package/api/@wtf/semantic-release-replace/schema/type-aliases/PluginReplacement.md +1 -1
  706. package/api/@wtf/semantic-release-replace/schema/type-aliases/PluginReplacementSpec.md +1 -1
  707. package/api/@wtf/semantic-release-replace/schema/type-aliases/PluginTemplates.md +1 -1
  708. package/api/@wtf/semantic-release-replace/schema/type-aliases/PluginTo.md +1 -1
  709. package/api/@wtf/semantic-release-replace/schema/type-aliases/TemplateSet.md +1 -1
  710. package/api/@wtf/semantic-release-replace/schema/type-aliases/TemplatesOption.md +1 -1
  711. package/api/@wtf/semantic-release-replace/schema/variables/configSchema.md +2 -2
  712. package/api/@wtf/semantic-release-replace/schema/variables/exportedSetSchema.md +2 -2
  713. package/api/@wtf/semantic-release-replace/schema/variables/jsonSchema.md +2 -2
  714. package/api/@wtf/semantic-release-replace/schema/variables/replaceOptionsSchema.md +2 -2
  715. package/api/@wtf/semantic-release-replace/schema/variables/replacementSchema.md +2 -2
  716. package/api/@wtf/semantic-release-replace/schema/variables/rootTemplatesSchema.md +2 -2
  717. package/api/@wtf/semantic-release-replace/schema/variables/templateSchema.md +2 -2
  718. package/api/@wtf/semantic-release-replace/schema/variables/templatesSchema.md +2 -2
  719. package/api/@wtf/semantic-release-replace/type-aliases/ReplacePluginOptions.md +13 -0
  720. package/api/@wtf/semantic-release-replace/variables/default.md +5 -5
  721. package/api/@wtf/semantic-release-replace/{functions → variables}/prepare.md +6 -6
  722. package/api/@wtf/semantic-release-replace/{functions → variables}/verifyConditions.md +5 -5
  723. package/api/@wtf/semantic-release-trains/config/functions/skipPlugins.md +1 -1
  724. package/api/@wtf/semantic-release-trains/config/functions/stepId.md +1 -1
  725. package/api/@wtf/semantic-release-trains/config/functions/trainAssets.md +1 -1
  726. package/api/@wtf/semantic-release-trains/config/functions/trainChangelog.md +1 -1
  727. package/api/@wtf/semantic-release-trains/config/functions/trainOfTag.md +1 -1
  728. package/api/@wtf/semantic-release-trains/config/functions/trainTagFormat.md +1 -1
  729. package/api/@wtf/semantic-release-trains/config/interfaces/AssetsOptions.md +4 -4
  730. package/api/@wtf/semantic-release-trains/config/interfaces/SkipOptions.md +3 -3
  731. package/api/@wtf/semantic-release-trains/config/variables/BRANCHES.md +1 -1
  732. package/api/@wtf/semantic-release-trains/config/variables/BREAKING.md +1 -1
  733. package/api/@wtf/semantic-release-trains/config/variables/TITLE.md +1 -1
  734. package/api/@wtf/semantic-release-trains/defaults/functions/listingFetchOf.md +1 -1
  735. package/api/@wtf/semantic-release-trains/defaults/functions/skipRuleOf.md +1 -1
  736. package/api/@wtf/semantic-release-trains/defaults/functions/skips.md +3 -2
  737. package/api/@wtf/semantic-release-trains/defaults/functions/stepOptionsOf.md +1 -1
  738. package/api/@wtf/semantic-release-trains/defaults/functions/trainOptionsOf.md +1 -1
  739. package/api/@wtf/semantic-release-trains/defaults/interfaces/ListingRetry.md +3 -3
  740. package/api/@wtf/semantic-release-trains/defaults/interfaces/SkipContext.md +35 -12
  741. package/api/@wtf/semantic-release-trains/defaults/interfaces/StepOptionsContext.md +18 -7
  742. package/api/@wtf/semantic-release-trains/defaults/type-aliases/SkipCheck.md +3 -2
  743. package/api/@wtf/semantic-release-trains/defaults/type-aliases/StepOptions.md +1 -1
  744. package/api/@wtf/semantic-release-trains/defaults/type-aliases/TrainOptions.md +1 -1
  745. package/api/@wtf/semantic-release-trains/defaults/variables/SKIP_RULES.md +1 -1
  746. package/api/@wtf/semantic-release-trains/defaults/variables/TRAIN_OPTIONS.md +1 -1
  747. package/api/@wtf/semantic-release-trains/defaults/variables/TRAIN_SKIP.md +1 -1
  748. package/api/@wtf/semantic-release-trains/defaults/variables/TRAIN_STEP_OPTIONS.md +1 -1
  749. package/api/@wtf/semantic-release-trains/defaults/variables/releaseAssets.md +2 -2
  750. package/api/@wtf/semantic-release-trains/errors/type-aliases/PluginErrorCode.md +1 -1
  751. package/api/@wtf/semantic-release-trains/errors/variables/PLUGIN_ERRORS.md +1 -1
  752. package/api/@wtf/semantic-release-trains/info/README.md +3 -3
  753. package/api/@wtf/semantic-release-trains/info/functions/decideTrain.md +1 -1
  754. package/api/@wtf/semantic-release-trains/info/functions/dotenvOf.md +1 -1
  755. package/api/@wtf/semantic-release-trains/info/functions/infoOf.md +3 -2
  756. package/api/@wtf/semantic-release-trains/info/interfaces/DecideRun.md +4 -4
  757. package/api/@wtf/semantic-release-trains/info/interfaces/InfoRun.md +36 -33
  758. package/api/@wtf/semantic-release-trains/info/interfaces/TrainDecision.md +5 -5
  759. package/api/@wtf/semantic-release-trains/info/interfaces/TrainInfo.md +5 -5
  760. package/api/@wtf/semantic-release-trains/interfaces/TrainsEntryOptions.md +5 -5
  761. package/api/@wtf/semantic-release-trains/interfaces/TrainsOptions.md +7 -17
  762. package/api/@wtf/semantic-release-trains/schema/README.md +1 -1
  763. package/api/@wtf/semantic-release-trains/schema/variables/configSchema.md +2 -2
  764. package/api/@wtf/semantic-release-trains/schema/variables/jsonSchema.md +2 -2
  765. package/api/@wtf/semantic-release-trains/schema/variables/pluginSpecSchema.md +2 -2
  766. package/api/@wtf/semantic-release-trains/schema/variables/skipRuleSchema.md +2 -2
  767. package/api/@wtf/semantic-release-trains/schema/variables/trainsEntrySchema.md +2 -2
  768. package/api/@wtf/semantic-release-trains/schema/variables/trainsPluginSchema.md +2 -2
  769. package/api/@wtf/semantic-release-trains/type-aliases/PluginSpec.md +1 -1
  770. package/api/@wtf/semantic-release-trains/type-aliases/TrainsPluginOptions.md +1 -1
  771. package/api/@wtf/semantic-release-trains/variables/addChannel.md +1 -1
  772. package/api/@wtf/semantic-release-trains/variables/analyzeCommits.md +1 -1
  773. package/api/@wtf/semantic-release-trains/variables/default.md +1 -1
  774. package/api/@wtf/semantic-release-trains/variables/fail.md +1 -1
  775. package/api/@wtf/semantic-release-trains/variables/generateNotes.md +1 -1
  776. package/api/@wtf/semantic-release-trains/variables/prepare.md +1 -1
  777. package/api/@wtf/semantic-release-trains/variables/publish.md +1 -1
  778. package/api/@wtf/semantic-release-trains/variables/success.md +1 -1
  779. package/api/@wtf/semantic-release-trains/variables/verifyConditions.md +1 -1
  780. package/api/@wtf/semantic-release-trains/variables/verifyRelease.md +1 -1
  781. package/api/@wtf/semantic-release-validate/README.md +1 -1
  782. package/api/@wtf/semantic-release-validate/functions/configOf.md +1 -1
  783. package/api/@wtf/semantic-release-validate/functions/loadSchema.md +1 -1
  784. package/api/@wtf/semantic-release-validate/interfaces/ValidatePluginOptions.md +2 -2
  785. package/api/@wtf/semantic-release-validate/schema/interfaces/Validator.md +2 -2
  786. package/api/@wtf/semantic-release-validate/schema/variables/configSchema.md +1 -1
  787. package/api/@wtf/semantic-release-validate/schema/variables/jsonSchema.md +1 -1
  788. package/api/@wtf/semantic-release-validate/schema/variables/validateOptionsSchema.md +1 -1
  789. package/api/@wtf/semantic-release-validate/variables/default.md +2 -2
  790. package/api/@wtf/semantic-release-validate/{functions → variables}/verifyConditions.md +5 -5
  791. package/api/README.md +22 -10
  792. package/api/trains.json +29 -10
  793. package/guides/ci-recipes.md +29 -27
  794. package/guides/configuring-trains.md +24 -20
  795. package/guides/dependency-rules.md +17 -17
  796. package/guides/ecosystems.md +43 -25
  797. package/guides/getting-started.md +12 -10
  798. package/guides/platform.md +179 -0
  799. package/guides/publishing-crates.md +58 -17
  800. package/guides/publishing-go-modules.md +55 -11
  801. package/guides/publishing-maven.md +48 -10
  802. package/guides/publishing-oci.md +36 -5
  803. package/guides/publishing.md +105 -84
  804. package/guides/troubleshooting.md +12 -12
  805. package/package.json +24 -18
  806. package/api/@wtf/release-go/tags/variables/RELEASE_AUTHOR.md +0 -23
  807. package/api/@wtf/release-npm/interfaces/PublishTrainOptions.md +0 -144
  808. package/api/@wtf/release-npm/release/functions/checkTrain.md +0 -32
  809. package/api/@wtf/release-npm/release/functions/distTagOf.md +0 -31
  810. package/api/@wtf/release-npm/release/functions/packTrain.md +0 -39
  811. package/api/@wtf/release-npm/release/functions/publishTrain.md +0 -37
  812. package/api/@wtf/release-npm/release/functions/publishedOfResolved.md +0 -36
  813. package/api/@wtf/release-npm/release/functions/releaseTrain.md +0 -31
  814. package/api/@wtf/release-npm/release/functions/resolveManifests.md +0 -37
  815. package/api/@wtf/release-npm/release/functions/tagTrain.md +0 -36
  816. package/api/@wtf/release-npm/release/interfaces/CheckRelease.md +0 -222
  817. package/api/@wtf/release-npm/release/interfaces/PackedTrain.md +0 -125
  818. package/api/@wtf/release-npm/release/interfaces/PublishedTrain.md +0 -47
  819. package/api/@wtf/release-npm/release/interfaces/ResolveRelease.md +0 -220
  820. package/api/@wtf/release-npm/release/interfaces/ResolvedTrain.md +0 -55
  821. package/api/@wtf/release-npm/release/interfaces/TagRelease.md +0 -174
  822. package/api/@wtf/release-npm/release/type-aliases/LookedUpTrain.md +0 -13
  823. package/api/@wtf/release-npm/release/type-aliases/ReleaseRun.md +0 -13
  824. package/api/@wtf/release-npm/workspace/interfaces/WorkspaceOptions.md +0 -19
  825. package/api/@wtf/release-oci/tags/functions/releaseTagsOf.md +0 -39
  826. package/api/@wtf/release-oci/tags/functions/tagsOfRelease.md +0 -33
  827. package/api/@wtf/release-system/README.md +0 -71
  828. package/api/@wtf/release-system/errors/README.md +0 -42
  829. package/api/@wtf/release-system/errors/functions/throwAll.md +0 -26
  830. package/api/@wtf/release-system/errors/type-aliases/SystemErrorCode.md +0 -13
  831. package/api/@wtf/release-system/errors/variables/SYSTEM_ERRORS.md +0 -23
  832. package/api/@wtf/release-system/git/functions/gitOf.md +0 -39
  833. package/api/@wtf/release-system/git/interfaces/GitContext.md +0 -46
  834. package/api/@wtf/release-system/git/interfaces/LogCommit.md +0 -43
  835. package/api/@wtf/release-system/node/README.md +0 -25
  836. package/api/@wtf/release-system/node/functions/nodeSystem.md +0 -20
  837. package/api/@wtf/release-system/node/functions/systemOf.md +0 -29
  838. package/api/@wtf/release-system/system/README.md +0 -39
  839. package/api/@wtf/release-system/system/interfaces/DirEntry.md +0 -27
  840. package/api/@wtf/release-system/system/interfaces/ExecOptions.md +0 -41
  841. package/api/@wtf/release-system/system/interfaces/ExecResult.md +0 -35
  842. package/api/@wtf/release-system/system/interfaces/System.md +0 -73
  843. package/api/@wtf/release-system/system/interfaces/SystemFs.md +0 -184
  844. package/api/@wtf/release-system/system/type-aliases/Exec.md +0 -41
  845. package/api/@wtf/release-system/system/type-aliases/SystemInput.md +0 -20
  846. package/api/@wtf/release-system/validator/interfaces/OptionIssue.md +0 -63
  847. package/api/@wtf/release-system/validator/interfaces/Property.md +0 -49
  848. package/api/@wtf/release-system/validator/type-aliases/JsonSchema.md +0 -17
  849. package/api/@wtf/release-system/validator/type-aliases/Path.md +0 -13
  850. package/api/@wtf/release-trains/ecosystem/functions/isEcosystem.md +0 -27
  851. package/api/@wtf/release-trains/ecosystem/functions/readPackages.md +0 -33
  852. package/api/@wtf/release-trains/ecosystem/interfaces/Dependency.md +0 -43
  853. package/api/@wtf/release-trains/ecosystem/interfaces/EcosystemContext.md +0 -68
  854. package/api/@wtf/release-trains/ecosystem/interfaces/EcosystemPackages.md +0 -27
  855. package/api/@wtf/release-trains/ecosystem/interfaces/Package.md +0 -71
  856. package/api/@wtf/release-trains/ecosystem/type-aliases/DependencyKind.md +0 -16
  857. package/api/@wtf/release-trains/ecosystem/variables/DEPENDENCY_KINDS.md +0 -13
  858. package/api/@wtf/release-trains/generated/functions/listGenerated.md +0 -41
  859. package/api/@wtf/release-trains/generated/functions/readGenerated.md +0 -39
  860. package/api/@wtf/release-trains/generated/functions/stageGeneratedFolders.md +0 -29
  861. package/api/@wtf/release-trains/generated/functions/unlistedIn.md +0 -42
  862. package/api/@wtf/release-trains/generated/interfaces/GeneratedOptions.md +0 -19
  863. package/api/@wtf/release-trains/generated/interfaces/StageOptions.md +0 -73
  864. package/api/@wtf/release-trains/generated/variables/GENERATED.md +0 -13
  865. package/api/@wtf/release-trains/links/functions/releasedOf.md +0 -28
  866. package/api/@wtf/release-trains/links/interfaces/PackageRegistry.md +0 -41
  867. package/api/@wtf/release-trains/links/interfaces/ReleaseLink.md +0 -41
  868. package/api/@wtf/release-trains/links/interfaces/ReleaseRun.md +0 -41
  869. package/api/@wtf/release-trains/links/interfaces/ReleasedPackage.md +0 -92
  870. package/api/@wtf/release-trains/packages/interfaces/OrderFault.md +0 -39
  871. package/api/@wtf/release-trains/packages/interfaces/OrderPins.md +0 -27
  872. package/api/@wtf/release-trains/packages/interfaces/PublishOrder.md +0 -35
  873. package/api/@wtf/semantic-release-cargo/functions/verifyConditions.md +0 -39
  874. package/api/@wtf/semantic-release-go/functions/prepare.md +0 -41
  875. package/api/@wtf/semantic-release-go/functions/publish.md +0 -43
  876. package/api/@wtf/semantic-release-go/functions/verifyRelease.md +0 -38
  877. package/api/@wtf/semantic-release-maven/functions/prepare.md +0 -41
  878. package/api/@wtf/semantic-release-maven/functions/publish.md +0 -43
  879. package/api/@wtf/semantic-release-maven/interfaces/LookupAuth.md +0 -32
  880. package/api/@wtf/semantic-release-npm/functions/fail.md +0 -36
  881. package/api/@wtf/semantic-release-npm/functions/prepare.md +0 -34
  882. package/api/@wtf/semantic-release-oci/functions/publish.md +0 -44
  883. package/api/@wtf/semantic-release-replace/interfaces/ReplacePluginOptions.md +0 -71
  884. package/guides/system.md +0 -175
@@ -110,20 +110,26 @@ nor a JDK, because the trains read the poms with git.
110
110
 
111
111
  ## What a release does
112
112
 
113
+ The plugin works out the plan of the train: the modules it deploys, and the version of each module
114
+ of the repo. Then each step of semantic-release runs a step of the Maven ecosystem, `verify`,
115
+ `prepare` or `publish`, over that plan, and what it says and throws names the train (see [Without semantic-release](#without-semantic-release)).
116
+
113
117
  1. **`verifyConditions`** checks the options and reads the poms. It selects the modules that the
114
118
  release deploys and puts them in dependency order. It reads each other train's last release from
115
- its tags, and finds each module's repository. A repo that cannot be deployed fails here, before
116
- the tag (see [When modules depend on other trains](#when-modules-depend-on-other-trains)).
117
- 2. **`prepare`** writes the versions into the poms: the release's version into the train's poms,
118
- and each other train's last release into that train's poms. It also writes them into the
119
- parents, dependencies and plugins that name those modules. Then it reads the poms again, and a
120
- module that is not at its train's version fails the run (see
121
- [What the stamp writes](#what-the-stamp-writes)).
122
- 3. **`publish`** asks each module's repository whether it has the module's pom, and skips each one
119
+ its tags (see [When modules depend on other trains](#when-modules-depend-on-other-trains)).
120
+ 2. **`verifyRelease`** checks the release's version by Maven's rules once semantic-release knows
121
+ it: a version that ends in `SNAPSHOT`, or holds a space or a character Maven bans, fails with
122
+ `EMAVENVERSION`. It finds each module's repository. A repo that cannot be deployed fails here,
123
+ before the tag.
124
+ 3. **`prepare`** checks the version again, and writes the versions into the poms: the release's
125
+ version into the train's poms, and each other train's last release into that train's poms. It also writes them into the parents, dependencies and plugins
126
+ that name those modules. Then it reads the poms again, and a module that is not at its train's
127
+ version fails the run (see [What the stamp writes](#what-the-stamp-writes)).
128
+ 4. **`publish`** asks each module's repository whether it has the module's pom, and skips each one
123
129
  it has. It deploys the rest in dependency order.
124
130
 
125
- A dry run of semantic-release runs only `verifyConditions`. It writes no version and deploys
126
- nothing.
131
+ A dry run of semantic-release runs only `verifyConditions` and `verifyRelease`. It writes no
132
+ version and deploys nothing.
127
133
 
128
134
  ### How a module is deployed
129
135
 
@@ -136,6 +142,36 @@ from the root of the repo, after the modules it depends on.
136
142
  as a test kit with `maven.deploy.skip`. The plugin installs such a module into the local
137
143
  repository first.
138
144
 
145
+ ### Without semantic-release
146
+
147
+ The library releases the modules of any plan, with no train and no release tool. Its default export
148
+ is a `ReleasingEcosystem` of `@wtf/release/contract`, so `runStep` of `@wtf/release/driver` runs its
149
+ steps. A plan names the modules to deploy, in order, and the version each module of the repo takes:
150
+
151
+ ```ts
152
+ import type { Release } from '@wtf/release/contract'
153
+ import { runStep } from '@wtf/release/driver'
154
+ import maven from '@wtf/release-maven'
155
+ import { publishOrder, readModules, selectArtifacts } from '@wtf/release-maven/artifacts'
156
+
157
+ /** Every module of the repo that deploys, at the version of the release. */
158
+ export async function releaseAll(release: Release) {
159
+ const modules = await readModules(release)
160
+ const names = new Set(modules.map(({ name }) => name))
161
+ const own = publishOrder(selectArtifacts(modules, { train: names }))
162
+ const versions = new Map(modules.map(({ name }) => [name, release.version]))
163
+ const plans = new Map([['maven', { own, versions }]])
164
+ const ecosystems = [[maven, { args: ['-s', 'ci_settings.xml'] }]] as const
165
+ await runStep(release, plans, ecosystems, 'verify')
166
+ await runStep(release, plans, ecosystems, 'prepare')
167
+ return (await runStep(release, plans, ecosystems, 'publish')).released
168
+ }
169
+ ```
170
+
171
+ The options are the plugin's `repository`, `lookup`, `lookupAuth`, `command` and `args`, and
172
+ `installs`, the modules to install before the ones that need them. A dry run of the release writes
173
+ and deploys nothing.
174
+
139
175
  ## When modules depend on other trains
140
176
 
141
177
  A repo can be released in several trains. Each train has its own modules, version and tags, and its
@@ -174,6 +210,8 @@ The trains run the same checks for every ecosystem. They run in `verifyCondition
174
210
  - A module of the release that depends on a module of a train with no release fails with
175
211
  `EDEPENDENCYNORELEASE`.
176
212
  - A module that the paths of two trains hold fails with `ETRAINOVERLAP`.
213
+ - A module of the release whose range no release of the other train satisfies fails with
214
+ `EDEPENDENCYUNSATISFIED` (see [Versions and ranges](#versions-and-ranges)).
177
215
 
178
216
  In the first two cases there is no version that a repository could serve, so the release never
179
217
  deploys the placeholder. A dependency in the `test` scope is not a fault, because no consumer
@@ -61,14 +61,18 @@ echo "$CI_REGISTRY_PASSWORD" | crane auth login --username "$CI_REGISTRY_USER" -
61
61
 
62
62
  ## What a release does
63
63
 
64
- `publish`, in the run of the tag:
64
+ In the run of the tag, `verifyRelease` and `publish` run the steps of the OCI ecosystem of
65
+ `@wtf/release-oci` over the images of the train:
65
66
 
66
- 1. finds the snapshot of each image of the train by its digest, `crane digest`, and the platforms of
67
+ 1. `verifyRelease` checks the version and the tags that move, each a tag an image can have, once
68
+ semantic-release knows the version;
69
+ 2. finds the snapshot of each image of the train by its digest, `crane digest`, and the platforms of
67
70
  its index, `crane manifest`. A snapshot the registry has not, or of fewer platforms than
68
71
  `platforms` names, fails the release (`EOCISMOKE`) before anything is copied;
69
- 2. checks the tag of the version: a registry that has it at the same digest skips it, and at another
72
+ 3. checks the tag of the version: a registry that has it at the same digest skips it, and at another
70
73
  digest refuses the release (`EOCIRETAG`). A released version never moves;
71
- 3. copies the snapshot to the version, then to the minor and the major, which move:
74
+ 4. copies the snapshot to the version, and then points the minor and the major, which move, at the
75
+ digest of the version:
72
76
 
73
77
  | Version | Tags |
74
78
  | -------------- | ------------------- |
@@ -76,13 +80,38 @@ echo "$CI_REGISTRY_PASSWORD" | crane auth login --username "$CI_REGISTRY_USER" -
76
80
  | `0.3.1` | `0.3.1`, `0.3` |
77
81
  | `8.0.0-next.1` | `8.0.0-next.1` |
78
82
 
79
- 4. links each image from the GitLab release of the tag to its page in the container registry of the
83
+ 5. links each image from the GitLab release of the tag to its page in the container registry of the
80
84
  project, which the Container Registry API names (`EOCILINK`). An image is linked where it lives,
81
85
  never uploaded.
82
86
 
83
87
  A release that stopped part way is finished by a retry of its job: the version the registry has at
84
88
  the same digest is skipped, and the moving tags are copied again.
85
89
 
90
+ ## Release images without semantic-release
91
+
92
+ The OCI ecosystem is a `ReleasingEcosystem` of `@wtf/release/contract`, so any driver releases
93
+ images by it, as a CLI that releases an image of Debian 12.12 as `12.12-wtf.1`, `12.12` and
94
+ `latest`. It takes the version and the tags that move as they are given, and derives none:
95
+
96
+ ```ts
97
+ import type { Plan, Release } from '@wtf/release/contract'
98
+ import { runStep } from '@wtf/release/driver'
99
+ import oci from '@wtf/release-oci'
100
+
101
+ export async function releaseImages(release: Release, plan: Plan, snapshot: string) {
102
+ const plans = new Map([['oci', plan]])
103
+ const options = {
104
+ moving: ['12.12', 'latest'],
105
+ source: { repository: '{image}/snapshot', tag: snapshot }
106
+ }
107
+ for (const step of ['verify', 'publish', 'move'] as const)
108
+ // oxlint-disable-next-line no-await-in-loop -- one step after another
109
+ await runStep(release, plans, [[oci, options]], step)
110
+ }
111
+ ```
112
+
113
+ See [the library's README](../../release-oci/README.md) for each step and its options.
114
+
86
115
  ## Label an image of its version
87
116
 
88
117
  A release stamps nothing into an image: what was tested ships. A pipeline that labels an image of
@@ -97,7 +126,9 @@ own.
97
126
  | `EOCIECOSYSTEM` | Add `'@wtf/semantic-release-oci/ecosystem'` to `ecosystems` |
98
127
  | `EOCIIMAGE` | Run the release in a pipeline of GitLab, or give the plugin `image` |
99
128
  | `EOCISOURCE` | Run the release in the pipeline of its tag, or give the plugin `sourceTag` |
129
+ | `EOCIVERSION` | Release a version that is a tag of an image, as `1.4.2` |
100
130
  | `EOCISMOKE` | Build and push the snapshot before the release, and log crane in |
101
131
  | `EOCIRETAG` | Release a new version: the registry has this one at another digest |
102
132
  | `EOCITAG` | Give crane a token that may write the repository, and retry the job |
133
+ | `EOCIMOVE` | Publish the version first: the tags that move point at it |
103
134
  | `EOCILINK` | Give the run a token that may read the registry of the project, `GITLAB_TOKEN` |
@@ -45,21 +45,21 @@ The plugin does not create the release on GitLab or GitHub. List `@semantic-rele
45
45
  `@semantic-release/github` after it. Wrapped in the trains plugin, `@semantic-release/gitlab` links each
46
46
  package that the release published: see [The links of the release](#the-links-of-the-release).
47
47
 
48
- | Option | Default | What it does |
49
- | ------------ | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
50
- | `publisher` | `npm` | The tool that publishes: `npm`, `pnpm`, the path of a module, or a package name. See [Publishers](#publishers). |
51
- | `access` | each package's `publishConfig.access` | `public` or `restricted`. |
52
- | `provenance` | `auto` | Whether to publish with provenance: `auto` (when the CI provides an ID token), `true` or `false`. |
53
- | `registry` | each package's `publishConfig.registry` | The registry to publish to. |
54
- | `first` | none | The folder of the package to publish first. |
55
- | `last` | none | The folder of the package to publish last. |
56
- | `conditions` | `['source']` | The export conditions that point at source files. No tarball ships them. |
57
- | `check` | `true` | Check the packages before the first publish. See [What the check catches](#what-the-check-catches). |
58
- | `aside` | none | Package names to publish under their major's line when their dist-tag points above the release: `release-<major>.x` in place of `latest`, `<dist-tag>-<major>.x` in place of another. |
59
- | `tarballDir` | a folder in the system's temporary files | Where to keep the tarballs after the release, for the links of a package in `pack` or on a registry with no page. Add a folder in the repo to `.gitignore`. A CI job starts with it empty. |
60
- | `pack` | none | Folders or globs of private packages in the train. The plugin packs them into `tarballDir` beside the others and never publishes them. The GitLab release links each one's tarball. Use it for a demo. |
61
- | `distTag` | the channel's | One dist-tag for every package, in place of the channel's, for a one-off release. An empty string means no override. |
62
- | `smoke` | `false` | `true`, or `{ forbid }` with globs that no tarball may hold. Installs each packed package as a consumer would, in `prepare`, before the tag. See [Smoke-test the packages](#smoke-test-the-packages-before-the-tag). |
48
+ | Option | Default | What it does |
49
+ | ------------ | --------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
50
+ | `publisher` | `npm` | The tool that publishes: `npm`, `pnpm`, the path of a module, or a package name. See [Publishers](#publishers). |
51
+ | `access` | each package's `publishConfig.access` | `public` or `restricted`. |
52
+ | `provenance` | `auto` | Whether to publish with provenance: `auto` (when the CI provides an ID token), `true` or `false`. |
53
+ | `registry` | each package's `publishConfig.registry` | The registry to publish to. |
54
+ | `first` | none | The folder of the package to publish first. |
55
+ | `last` | none | The folder of the package to publish last. |
56
+ | `conditions` | `['source']` | The export conditions that point at source files. No tarball ships them. |
57
+ | `check` | `true` | Check the packages before the first publish. See [What the check catches](#what-the-check-catches). |
58
+ | `aside` | none | Package names to publish under their major's line when their dist-tag points above the release: `release-<major>.x` in place of `latest`, `<dist-tag>-<major>.x` in place of another. |
59
+ | `tarballDir` | a temporary folder of the platform | Where to keep the tarballs after the release, for the links of a package in `pack` or on a registry with no page. Add a folder in the repo to `.gitignore`. A CI job starts with it empty. |
60
+ | `pack` | none | Folders or globs of private packages in the train. The plugin packs them into `tarballDir` beside the others and never publishes them. The GitLab release links each one's tarball. Use it for a demo. |
61
+ | `distTag` | the channel's | One dist-tag for every package, in place of the channel's, for a one-off release. An empty string means no override. |
62
+ | `smoke` | `false` | `true`, or `{ forbid }` with globs that no tarball may hold. Installs each packed package as a consumer would, in `prepare`, before the tag. See [Smoke-test the packages](#smoke-test-the-packages-before-the-tag). |
63
63
 
64
64
  ### Provenance
65
65
 
@@ -87,39 +87,45 @@ JSON leaves out, and the channel's dist-tag applies.
87
87
 
88
88
  ## What a release does
89
89
 
90
- A release runs three steps. Each step is a function of `@wtf/release-npm/release`.
90
+ The plugin runs on the steps of the npm ecosystem of `@wtf/release-npm`, each over the plan of the
91
+ train. The plan is the train's packages that publish, in order, and the version of each package of
92
+ the repo that a range resolves to. `planOf` from `@wtf/release-trains/plan` works it out:
91
93
 
92
- 1. **Resolve the manifests** (`resolveManifests`). The plugin finds the train's packages that
93
- publish: every package under the train's `paths` that is not private. It finds them the way the
94
- package manager does, by the globs in `pnpm-workspace.yaml` or in the `workspaces` field of
95
- `package.json`. It orders them so that each package comes after the packages it runs with
96
- (`dependencies`, `peerDependencies` and `optionalDependencies`). `first` and `last` pin a package
97
- to either end. Then it builds each manifest as it will publish:
94
+ - It finds the train's packages that publish: every package under the train's `paths` that is not
95
+ private. It finds them the way the package manager does, by the globs in `pnpm-workspace.yaml`
96
+ or in the `workspaces` field of `package.json`.
97
+ - It orders them so that each package comes after the packages it runs with (`dependencies`,
98
+ `peerDependencies` and `optionalDependencies`). `first` and `last` pin a package to either end.
99
+ - Each package in the same train gets the release's version. Each package in another train gets
100
+ that train's last release, which `planOf` reads from the tags. A train's cascade reads the same
101
+ tags.
102
+
103
+ Then the steps of the library, each a function of `@wtf/release-npm/release`, release the plan:
104
+
105
+ 1. **Resolve the manifests** (`resolvePlan`). The library builds each manifest as it will publish:
98
106
  - The version is the release's version.
99
- - Each `workspace:` range on a package in the same train resolves to that version, the way pnpm
100
- resolves `workspace:*`, `workspace:^` and `workspace:~`.
101
- - Each `workspace:` range on a package in another train resolves to that train's last release,
102
- which the plugin reads from the tags. `releasedVersions` from `@wtf/release-trains/packages`
103
- and `resolveSpecifier` from `@wtf/release-npm/manifests` do this, and a train's cascade reads
104
- the same functions.
105
- - The plugin drops a devDependency whose `workspace:` range points at a package that no train
106
- releases, such as a private package of shared configs, or at a train with no release yet. No
107
- consumer installs a devDependency.
108
- - The plugin strips each export that points at source: the `source` condition, or a `.ts`
107
+ - Each `workspace:` range resolves to the version of the plan of the package it names, the way
108
+ pnpm resolves `workspace:*`, `workspace:^` and `workspace:~` (`resolveSpecifier` from
109
+ `@wtf/release-npm/manifests`).
110
+ - The library drops a devDependency whose `workspace:` range points at a package of no version
111
+ in the plan, such as a private package of shared configs, or of a train with no release yet.
112
+ No consumer installs a devDependency.
113
+ - The library strips each export that points at source: the `source` condition, or a `.ts`
109
114
  target.
110
115
 
111
116
  Then it checks each manifest. This step writes nothing.
112
117
 
113
- 2. **Pack the tarballs** (`packTrain`). The plugin copies each package, without its `node_modules`,
114
- into a folder in the system's temporary files. It writes the resolved manifest into the copy and
115
- packs the copy there. It packs every package before the first publish, so a fault stops the run
116
- before anything reaches the registry.
118
+ 2. **Pack the tarballs** (`packRelease`). The library copies each package, without its
119
+ `node_modules`, into a temporary folder of the platform. It writes the resolved manifest into the
120
+ copy and packs the copy there. It packs every package before the first publish, so a fault stops
121
+ the run before anything reaches the registry.
117
122
 
118
- 3. **Publish** (`publishTrain`). The plugin publishes each package under the dist-tag of the
119
- release's channel. That is `latest`, or `beta` for `2.1.0-beta.3`, or `prerelease` for
120
- `2.1.0-0`. A channel that npm would read as a range, such as `1.x` on a maintenance branch,
121
- becomes `release-1.x`. The plugin adds provenance where the CI provides an ID token, and skips
122
- each version that the registry already has.
123
+ 3. **Publish** (`publishPacked`). The library publishes each package under the first dist-tag the
124
+ plugin gives it, `moving`, which the plugin derives from the release's channel. That is
125
+ `latest`, or `beta` for `2.1.0-beta.3`, or `prerelease` for `2.1.0-0`. A channel that npm would
126
+ read as a range, such as `1.x` on a maintenance branch, becomes `release-1.x`. The library adds
127
+ provenance where the CI provides an ID token, and skips each version that the registry already
128
+ has.
123
129
 
124
130
  ### When a dist-tag would move back
125
131
 
@@ -137,25 +143,29 @@ release, the run fails too. A release whose channel is a line already, such as `
137
143
 
138
144
  ### Which semantic-release step does what
139
145
 
140
- The plugin implements the same steps as `@semantic-release/npm`:
146
+ The plugin implements the same steps as `@semantic-release/npm`. Each maps onto a step of the
147
+ library:
141
148
 
142
- - `verifyConditions` checks the publisher and the packages as they are in the repo.
143
- - `prepare` runs steps 1 and 2 and asks the registry, all before the tag. These faults fail the run
144
- here:
149
+ - `verifyConditions` checks its options and the publisher, and the packages as they are in the repo
150
+ (`checkPlan`, the library's `verify` but of the version, which semantic-release has not yet).
151
+ - `verifyRelease` runs the library's `verify`, which checks the version once semantic-release knows
152
+ it, and the packages of the train.
153
+ - `prepare` runs the library's `prepare`, steps 1 and 2, which asks the registry too, and, with
154
+ `smoke`, its `smoke`, all before the tag. These faults fail the run here:
145
155
  - a range that no release satisfies (`EDEPENDENCYUNSATISFIED`);
146
156
  - a dependency on a train with no release (`EDEPENDENCYNORELEASE`);
147
157
  - a dependency on a package of no train (`EDEPENDENCYNOTRAIN`);
148
158
  - a package that cannot be packed;
149
159
  - a release that would move a dist-tag back (`EPUBLISHBEHIND`).
150
- - `publish` runs step 3 with what `prepare` packed, after the tag is pushed. It returns the release
151
- to semantic-release as the stock plugin does: the publisher's name and its packages, the page of
152
- the first package, and the channel. Then it removes the copies and the tarballs. With
153
- `tarballDir`, it keeps the tarballs. If `publish` finds nothing packed for its train and version
154
- in the same process, it resolves and packs again.
155
- - `addChannel` moves a published release to the dist-tag of its new channel, by `tagTrain`.
156
- semantic-release asks for this when you merge a branch of one channel into the branch of another.
157
- The plugin runs `npm dist-tag add` for each package of the train that the registry has at the
158
- version, with either built-in publisher.
160
+ - `publish` runs the library's `publish`, step 3, with what `prepare` packed, after the tag is
161
+ pushed. It returns the release to semantic-release as the stock plugin does: the publisher's name
162
+ and its packages, the page of the first package, and the channel. Then it removes the copies and
163
+ the tarballs. With `tarballDir`, it keeps the tarballs. If `publish` finds nothing packed for its
164
+ train and version in the same process, it resolves and packs again.
165
+ - `addChannel` moves a published release to the dist-tag of its new channel, by the library's
166
+ `move` (`moveRelease`). semantic-release asks for this when you merge a branch of one channel into
167
+ the branch of another. The plugin runs `npm dist-tag add` for each package of the train that the
168
+ registry has at the version, with either built-in publisher.
159
169
 
160
170
  npm moves a dist-tag only with the token in its config. Its trusted publishing covers
161
171
  `npm publish` and no other command, so a release from a channel branch needs `NPM_TOKEN` too. A
@@ -182,8 +192,8 @@ tries the private packages of `pack` too. It does this with `smokePacked` from
182
192
  - **In the tarball:** an entry of `files` that the tarball does not hold, as when a package was
183
193
  packed without a build; an export with a source condition; a file that matches `forbid`, such as
184
194
  `**/*.tsbuildinfo`.
185
- - **In the install:** npm installs the package in a project of its own in the system's temporary
186
- files. Every other packed package installs from its tarball through npm's `overrides`, so npm does
195
+ - **In the install:** npm installs the package in a project of its own in a temporary folder of
196
+ the platform. Every other packed package installs from its tarball through npm's `overrides`, so npm does
187
197
  not ask the registry for any of them.
188
198
  - **In the imports:** the plugin imports each entry of `exports`, except `./package.json` and
189
199
  patterns. It reports a `SyntaxError`, a module not found that is neither an optional peer in the
@@ -302,31 +312,38 @@ commits on top. See [Run releases in CI](ci-recipes.md#gitlab-ci).
302
312
 
303
313
  ## Use the steps as a library
304
314
 
305
- The three steps are functions of `@wtf/release-npm/release` and need no release tool. Each step runs
306
- on the `system` that its caller passes, as a CLI passes its own system adapted to the interface:
315
+ The steps are those of the npm ecosystem, the default export of `@wtf/release-npm`, and need no
316
+ release tool and no train. Each step takes the release, the plan and the options of the library.
317
+ The release carries the folder of the repo and the platform that its caller passes, as a CLI passes
318
+ its own (see [The platform](platform.md)). The plan is the packages that publish, in order, and the
319
+ version of each package of the repo. The options name `moving`, the dist-tags a publish puts the
320
+ version under, which npm always publishes under one of. `runStep` from `@wtf/release/driver` runs a
321
+ step of each ecosystem of a release:
307
322
 
308
323
  ```ts
309
- import type { System } from '@wtf/release-system/system'
310
- import { packTrain, publishTrain, resolveManifests } from '@wtf/release-npm/release'
311
-
312
- export async function release(system: System, version: string) {
313
- const resolved = await resolveManifests({
314
- trains: { trains: { paths: ['packages/release-trains', 'packages/release-trains-*'] } },
315
- train: 'trains',
316
- version,
317
- system
318
- })
319
- const packed = await packTrain(resolved, { system })
320
- try {
321
- return await publishTrain(packed, { system, dryRun: true })
322
- } finally {
323
- await packed.cleanup()
324
- }
324
+ import type { Release } from '@wtf/release/contract'
325
+ import { runStep } from '@wtf/release/driver'
326
+ import npm from '@wtf/release-npm'
327
+
328
+ export async function release(at: Release) {
329
+ const own = (await npm.packages(at)).filter(
330
+ ({ dir, published }) => published && dir.startsWith('packages/')
331
+ )
332
+ const versions = new Map(own.map(({ name }) => [name, at.version]))
333
+ const plans = new Map([['npm', { own, versions }]])
334
+ const ecosystems = [[npm, { moving: ['next'] }]] as const
335
+ await runStep(at, plans, ecosystems, 'verify')
336
+ await runStep(at, plans, ecosystems, 'prepare')
337
+ const { released } = await runStep(at, plans, ecosystems, 'publish')
338
+ return released
325
339
  }
326
340
  ```
327
341
 
328
- `releaseTrain` runs all three in one call, the way a job in the tag's pipeline publishes its
329
- release. See [Publish from the tag pipeline](ci-recipes.md#publish-from-the-tag-pipeline).
342
+ The plan here is every package of the repo under `packages/` that publishes, in the order the
343
+ ecosystem reads them. A driver that publishes in order of the dependencies works the order out by `publishOrder`
344
+ from `@wtf/release/order`, as `planOf` does. See [Publish from the tag
345
+ pipeline](ci-recipes.md#publish-from-the-tag-pipeline) for the run of a release in the tag's
346
+ pipeline.
330
347
 
331
348
  ## Publishers
332
349
 
@@ -356,7 +373,8 @@ A publisher can also have these optional members:
356
373
  as `options.tarball`.
357
374
  - `page`: it returns a package's page, which the plugin passes to semantic-release as the release's
358
375
  URL.
359
- - `tag`: it points a dist-tag at a version the registry has, for `addChannel` and `tagTrain`.
376
+ - `tag`: it points a dist-tag at a version the registry has, for `addChannel` and the library's
377
+ `move`.
360
378
  Without it, a release cannot move to another channel.
361
379
 
362
380
  The plugin does not check whether a `lookup` without `tagged` would move a dist-tag back.
@@ -385,13 +403,14 @@ registry:
385
403
 
386
404
  ```js train=trains
387
405
  // release/yarn-publisher.mjs
406
+ import { run } from '@wtf/release/process'
388
407
  import { npmPublisher } from '@wtf/release-npm/publishers'
389
408
 
390
409
  /** @type {import('@wtf/release-npm').Publisher} */
391
410
  export default {
392
411
  name: 'yarn',
393
412
  lookup: npmPublisher.lookup,
394
- async publish(pkg, options, { system, env, dryRun, memo }) {
413
+ async publish(pkg, options, { platform, dryRun, memo }) {
395
414
  // The npm lookup keeps what it asked in the step's store: a publisher forgets what it changes.
396
415
  memo?.clear()
397
416
  if (dryRun) return
@@ -402,7 +421,7 @@ export default {
402
421
  options.tag,
403
422
  ...(options.access ? ['--access', options.access] : [])
404
423
  ]
405
- const { code, stderr } = await system.exec('yarn', args, { cwd: pkg.dir, env })
424
+ const { code, stderr } = await run(platform, 'yarn', args, { cwd: pkg.dir })
406
425
  if (code !== 0) throw new Error(stderr)
407
426
  }
408
427
  }
@@ -446,18 +465,20 @@ echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authTo
446
465
 
447
466
  ```js train=trains
448
467
  // release/jsr-publisher.mjs
468
+ import { run } from '@wtf/release/process'
469
+
449
470
  /** @type {import('@wtf/release-npm').Publisher} */
450
471
  export default {
451
472
  name: 'jsr',
452
- async lookup(pkg, version, _tag, { system, env }) {
473
+ async lookup(pkg, version, _tag, { platform }) {
453
474
  const meta = `https://jsr.io/${pkg.name}/${version}_meta.json`
454
- const { code } = await system.exec('curl', ['--fail', '--silent', '--head', meta], { env })
475
+ const response = await platform.fetch(meta, { method: 'HEAD' })
455
476
  // JSR has no dist-tags: no `tagged`.
456
- return { published: code === 0 }
477
+ return { published: response.ok }
457
478
  },
458
- async publish(pkg, _options, { system, env, dryRun }) {
479
+ async publish(pkg, _options, { platform, dryRun }) {
459
480
  const args = ['jsr', 'publish', '--allow-dirty', ...(dryRun ? ['--dry-run'] : [])]
460
- const { code, stderr } = await system.exec('npx', args, { cwd: pkg.dir, env })
481
+ const { code, stderr } = await run(platform, 'npx', args, { cwd: pkg.dir })
461
482
  if (code !== 0) throw new Error(stderr)
462
483
  }
463
484
  }
@@ -61,14 +61,14 @@ behind the branch.
61
61
 
62
62
  ## Error codes
63
63
 
64
- Every error of these packages is a `ReleaseError` from `@wtf/release-system/errors`, in the error
65
- class of its package: `TrainsError` from `@wtf/release-trains/errors`, or `ReplaceError` from
66
- `@wtf/release-replace/errors`. semantic-release prints them as it prints its own errors: the code,
67
- the message, and the details, which say how to fix it. A step that finds more than one fault reports
68
- all of them.
64
+ Every error of these packages is a `ReleaseError` from `@wtf/release/errors`, in the error class of
65
+ its package: `TrainsError` from `@wtf/release-trains/errors`, or `ReplaceError` from
66
+ `@wtf/release-replace/errors`. Each plugin marks them as they leave its steps, so semantic-release
67
+ prints them as it prints its own errors: the code, the message, and the details, which say how to
68
+ fix it. A step that finds more than one fault reports all of them.
69
69
 
70
70
  When git fails, the error is `EGIT`, itself a `ReleaseError`. A validator of options from
71
- `@wtf/release-system` fails with `EOPTIONS`, or with the code its check gives, in the error class of
71
+ `@wtf/release` fails with `EOPTIONS`, or with the code its check gives, in the error class of
72
72
  the package that asks.
73
73
 
74
74
  This page lists the codes of the trains, npm and replace packages. The other packages describe their
@@ -187,7 +187,7 @@ Package: `release-trains`.
187
187
 
188
188
  ### `EECOSYSTEM`
189
189
 
190
- Package: `release-trains`.
190
+ Package: `release`.
191
191
 
192
192
  **Cause:** An ecosystem in `ecosystems` cannot be loaded, is not an ecosystem, or has the same name
193
193
  as another.
@@ -197,7 +197,7 @@ there. Name each ecosystem once.
197
197
 
198
198
  ### `EGIT`
199
199
 
200
- Package: `release-system`.
200
+ Package: `release`.
201
201
 
202
202
  **Cause:** git failed, for example in a shallow clone.
203
203
 
@@ -213,7 +213,7 @@ Package: `release-npm`.
213
213
 
214
214
  ### `EGENERATED`
215
215
 
216
- Package: `release-trains`.
216
+ Package: `release`.
217
217
 
218
218
  **Cause:** A generated folder to list is not there.
219
219
 
@@ -354,19 +354,19 @@ Each package exports its codes with what they mean:
354
354
 
355
355
  | Export | Module |
356
356
  | ---------------- | ------------------------------------- |
357
- | `SYSTEM_ERRORS` | `@wtf/release-system/errors` |
357
+ | `RELEASE_ERRORS` | `@wtf/release/errors` |
358
358
  | `TRAINS_ERRORS` | `@wtf/release-trains/errors` |
359
359
  | `PLUGIN_ERRORS` | `@wtf/semantic-release-trains/errors` |
360
360
  | `NPM_ERRORS` | `@wtf/release-npm/errors` |
361
361
  | `REPLACE_ERRORS` | `@wtf/release-replace/errors` |
362
362
 
363
363
  ```ts
364
+ import { RELEASE_ERRORS, ReleaseError } from '@wtf/release/errors'
364
365
  import { REPLACE_ERRORS } from '@wtf/release-replace/errors'
365
- import { ReleaseError, SYSTEM_ERRORS } from '@wtf/release-system/errors'
366
366
  import { TRAINS_ERRORS } from '@wtf/release-trains/errors'
367
367
 
368
368
  const MEANINGS: Readonly<Record<string, string>> = {
369
- ...SYSTEM_ERRORS,
369
+ ...RELEASE_ERRORS,
370
370
  ...TRAINS_ERRORS,
371
371
  ...REPLACE_ERRORS
372
372
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wtf/release-docs",
3
- "version": "9.1.0",
3
+ "version": "10.0.0",
4
4
  "description": "The guides of semantic-release for monorepos of more than one ecosystem, released in trains, and the API reference of its packages, which TypeDoc writes: the release of docs commits the reference and publishes it with the guides.",
5
5
  "keywords": [
6
6
  "documentation",
@@ -38,23 +38,29 @@
38
38
  "devDependencies": {
39
39
  "@standard-schema/spec": "^1.1.0",
40
40
  "@types/node": "^24.10.0",
41
- "@wtf/release-cargo": "3.2.0",
42
- "@wtf/release-go": "1.1.0",
43
- "@wtf/release-maven": "1.1.0",
44
- "@wtf/release-npm": "1.2.0",
45
- "@wtf/release-oci": "1.0.0",
46
- "@wtf/release-replace": "4.0.0",
47
- "@wtf/release-system": "1.0.1",
48
- "@wtf/release-trains": "8.0.2",
49
- "@wtf/release-validate": "4.0.0",
50
- "@wtf/semantic-release-cargo": "3.2.0",
51
- "@wtf/semantic-release-go": "1.1.0",
52
- "@wtf/semantic-release-maven": "1.1.0",
53
- "@wtf/semantic-release-npm": "1.2.0",
54
- "@wtf/semantic-release-oci": "1.0.0",
55
- "@wtf/semantic-release-replace": "4.0.0",
56
- "@wtf/semantic-release-trains": "8.0.2",
57
- "@wtf/semantic-release-validate": "4.0.0",
41
+ "@wtf/platform": "^1.0.0",
42
+ "@wtf/platform-fs-memory": "^1.0.0",
43
+ "@wtf/platform-fs-node": "^1.0.0",
44
+ "@wtf/platform-memory": "^1.0.0",
45
+ "@wtf/platform-node": "^1.0.0",
46
+ "@wtf/release": "1.0.0",
47
+ "@wtf/release-cargo": "4.0.0",
48
+ "@wtf/release-go": "2.0.0",
49
+ "@wtf/release-maven": "2.0.0",
50
+ "@wtf/release-npm": "2.0.0",
51
+ "@wtf/release-oci": "3.0.0",
52
+ "@wtf/release-replace": "5.0.0",
53
+ "@wtf/release-trains": "9.0.0",
54
+ "@wtf/release-validate": "5.0.0",
55
+ "@wtf/semantic-release": "1.0.0",
56
+ "@wtf/semantic-release-cargo": "4.0.0",
57
+ "@wtf/semantic-release-go": "2.0.0",
58
+ "@wtf/semantic-release-maven": "2.0.0",
59
+ "@wtf/semantic-release-npm": "2.0.0",
60
+ "@wtf/semantic-release-oci": "3.0.0",
61
+ "@wtf/semantic-release-replace": "5.0.0",
62
+ "@wtf/semantic-release-trains": "9.0.0",
63
+ "@wtf/semantic-release-validate": "4.0.1",
58
64
  "ajv": "^8.20.0",
59
65
  "semantic-release": "^25.0.9",
60
66
  "typedoc": "^0.28.20",
@@ -1,23 +0,0 @@
1
- [**Release trains**](../../../../README.md)
2
-
3
- ***
4
-
5
- [Release trains](../../../../README.md) / [@wtf/release-go/tags](../README.md) / RELEASE\_AUTHOR
6
-
7
- # Variable: RELEASE\_AUTHOR
8
-
9
- > `const` **RELEASE\_AUTHOR**: `object`
10
-
11
- Defined in: [packages/release-go/src/tags.ts:32](https://gitlab.com/wetryfun/release/release/-/blob/838e75e66ef604439e05c0180870e65b00370ea2/packages/release-go/src/tags.ts#L32)
12
-
13
- The author and the committer of a release commit, where the environment names none.
14
-
15
- ## Type Declaration
16
-
17
- ### email
18
-
19
- > `readonly` **email**: `"semantic-release-bot@martynus.net"` = `'semantic-release-bot@martynus.net'`
20
-
21
- ### name
22
-
23
- > `readonly` **name**: `"semantic-release-bot"` = `'semantic-release-bot'`