@wtf/release-docs 8.2.0 → 8.2.2

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 (557) hide show
  1. package/README.md +56 -44
  2. package/api/@wtf/release-cargo/auth/functions/mask.md +1 -1
  3. package/api/@wtf/release-cargo/auth/functions/tokenVariableOf.md +1 -1
  4. package/api/@wtf/release-cargo/auth/functions/trustedPublishing.md +1 -1
  5. package/api/@wtf/release-cargo/auth/interfaces/HttpResponse.md +5 -5
  6. package/api/@wtf/release-cargo/auth/interfaces/TrustedPublishing.md +5 -5
  7. package/api/@wtf/release-cargo/auth/interfaces/TrustedPublishingOptions.md +6 -6
  8. package/api/@wtf/release-cargo/auth/type-aliases/HttpFetch.md +1 -1
  9. package/api/@wtf/release-cargo/auth/variables/CRATES_IO_API.md +1 -1
  10. package/api/@wtf/release-cargo/auth/variables/ID_TOKEN_VARIABLE.md +1 -1
  11. package/api/@wtf/release-cargo/auth/variables/USER_AGENT.md +1 -1
  12. package/api/@wtf/release-cargo/crates/functions/publishOrder.md +1 -1
  13. package/api/@wtf/release-cargo/crates/functions/publishable.md +1 -1
  14. package/api/@wtf/release-cargo/crates/functions/readWorkspace.md +1 -1
  15. package/api/@wtf/release-cargo/crates/functions/selectCrates.md +1 -1
  16. package/api/@wtf/release-cargo/crates/interfaces/Selection.md +5 -5
  17. package/api/@wtf/release-cargo/ecosystem/functions/packagesAt.md +1 -1
  18. package/api/@wtf/release-cargo/ecosystem/functions/packagesOfTree.md +1 -1
  19. package/api/@wtf/release-cargo/ecosystem/functions/packagesOfWorkspace.md +1 -1
  20. package/api/@wtf/release-cargo/ecosystem/functions/resolveRequirement.md +1 -1
  21. package/api/@wtf/release-cargo/ecosystem/functions/satisfiesRequirement.md +1 -1
  22. package/api/@wtf/release-cargo/ecosystem/functions/semverRange.md +1 -1
  23. package/api/@wtf/release-cargo/ecosystem/interfaces/CargoPackage.md +7 -7
  24. package/api/@wtf/release-cargo/ecosystem/variables/cargoEcosystem.md +1 -1
  25. package/api/@wtf/release-cargo/errors/classes/CargoError.md +5 -5
  26. package/api/@wtf/release-cargo/errors/type-aliases/CargoErrorCode.md +1 -1
  27. package/api/@wtf/release-cargo/errors/variables/CARGO_ERRORS.md +1 -1
  28. package/api/@wtf/release-cargo/interfaces/Crate.md +6 -6
  29. package/api/@wtf/release-cargo/interfaces/CrateDependency.md +6 -6
  30. package/api/@wtf/release-cargo/interfaces/Workspace.md +3 -3
  31. package/api/@wtf/release-cargo/publish/functions/publishCrates.md +1 -1
  32. package/api/@wtf/release-cargo/publish/interfaces/PublishCratesOptions.md +11 -11
  33. package/api/@wtf/release-cargo/publish/interfaces/PublishedCrate.md +5 -5
  34. package/api/@wtf/release-cargo/publish/type-aliases/CrateStatus.md +1 -1
  35. package/api/@wtf/release-cargo/publish/variables/RECHECK_WAITS.md +1 -1
  36. package/api/@wtf/release-cargo/registry/functions/crateUrl.md +1 -1
  37. package/api/@wtf/release-cargo/registry/functions/indexHasVersion.md +1 -1
  38. package/api/@wtf/release-cargo/registry/functions/indexPath.md +1 -1
  39. package/api/@wtf/release-cargo/registry/variables/CRATES_IO_INDEX.md +1 -1
  40. package/api/@wtf/release-cargo/stamp/functions/checkVersions.md +1 -1
  41. package/api/@wtf/release-cargo/stamp/functions/inheritsVersion.md +1 -1
  42. package/api/@wtf/release-cargo/stamp/functions/stampManifest.md +1 -1
  43. package/api/@wtf/release-cargo/stamp/functions/stampWorkspace.md +1 -1
  44. package/api/@wtf/release-cargo/stamp/interfaces/StampOptions.md +4 -4
  45. package/api/@wtf/release-cargo/stamp/interfaces/Stamped.md +3 -3
  46. package/api/@wtf/release-cargo/stamp/interfaces/StampedWorkspace.md +3 -3
  47. package/api/@wtf/release-cargo/type-aliases/DependencyKind.md +1 -1
  48. package/api/@wtf/release-go/ecosystem/functions/packagesOfModules.md +1 -1
  49. package/api/@wtf/release-go/ecosystem/functions/packagesOfRepo.md +1 -1
  50. package/api/@wtf/release-go/ecosystem/functions/resolveVersion.md +1 -1
  51. package/api/@wtf/release-go/ecosystem/functions/satisfiesVersion.md +1 -1
  52. package/api/@wtf/release-go/ecosystem/interfaces/GoPackage.md +7 -7
  53. package/api/@wtf/release-go/ecosystem/variables/goEcosystem.md +1 -1
  54. package/api/@wtf/release-go/errors/classes/GoError.md +5 -5
  55. package/api/@wtf/release-go/errors/type-aliases/GoErrorCode.md +1 -1
  56. package/api/@wtf/release-go/errors/variables/GO_ERRORS.md +1 -1
  57. package/api/@wtf/release-go/gomod/functions/entriesOf.md +1 -1
  58. package/api/@wtf/release-go/gomod/functions/linesOf.md +1 -1
  59. package/api/@wtf/release-go/gomod/functions/readGoMod.md +1 -1
  60. package/api/@wtf/release-go/gomod/functions/tokensOf.md +1 -1
  61. package/api/@wtf/release-go/gomod/interfaces/Entry.md +4 -4
  62. package/api/@wtf/release-go/gomod/interfaces/GoMod.md +4 -4
  63. package/api/@wtf/release-go/gomod/interfaces/GoReplace.md +6 -6
  64. package/api/@wtf/release-go/gomod/interfaces/GoRequire.md +4 -4
  65. package/api/@wtf/release-go/gomod/interfaces/Token.md +5 -5
  66. package/api/@wtf/release-go/interfaces/GoModule.md +6 -6
  67. package/api/@wtf/release-go/modules/functions/isFetchable.md +1 -1
  68. package/api/@wtf/release-go/modules/functions/isGoMod.md +1 -1
  69. package/api/@wtf/release-go/modules/functions/majorErrors.md +1 -1
  70. package/api/@wtf/release-go/modules/functions/majorOfPath.md +1 -1
  71. package/api/@wtf/release-go/modules/functions/modulesAt.md +1 -1
  72. package/api/@wtf/release-go/modules/functions/modulesOf.md +1 -1
  73. package/api/@wtf/release-go/modules/functions/readModules.md +1 -1
  74. package/api/@wtf/release-go/modules/functions/selectModules.md +1 -1
  75. package/api/@wtf/release-go/modules/interfaces/Selection.md +4 -4
  76. package/api/@wtf/release-go/stamp/functions/checkVersions.md +1 -1
  77. package/api/@wtf/release-go/stamp/functions/stampGoMod.md +1 -1
  78. package/api/@wtf/release-go/stamp/functions/stampModules.md +1 -1
  79. package/api/@wtf/release-go/stamp/interfaces/Stamped.md +3 -3
  80. package/api/@wtf/release-go/stamp/interfaces/StampedModules.md +3 -3
  81. package/api/@wtf/release-go/tags/functions/askProxy.md +1 -1
  82. package/api/@wtf/release-go/tags/functions/maskCredentials.md +1 -1
  83. package/api/@wtf/release-go/tags/functions/releaseCommit.md +1 -1
  84. package/api/@wtf/release-go/tags/functions/remoteTags.md +1 -1
  85. package/api/@wtf/release-go/tags/functions/tagModules.md +1 -1
  86. package/api/@wtf/release-go/tags/functions/tagOfModule.md +1 -1
  87. package/api/@wtf/release-go/tags/functions/tagPrefix.md +1 -1
  88. package/api/@wtf/release-go/tags/interfaces/TagModulesOptions.md +8 -8
  89. package/api/@wtf/release-go/tags/interfaces/TaggedModule.md +5 -5
  90. package/api/@wtf/release-go/tags/type-aliases/ModuleStatus.md +1 -1
  91. package/api/@wtf/release-go/tags/variables/RELEASE_AUTHOR.md +1 -1
  92. package/api/@wtf/release-maven/artifacts/functions/groupIdOf.md +1 -1
  93. package/api/@wtf/release-maven/artifacts/functions/installsOf.md +1 -1
  94. package/api/@wtf/release-maven/artifacts/functions/isPomFile.md +1 -1
  95. package/api/@wtf/release-maven/artifacts/functions/isRange.md +1 -1
  96. package/api/@wtf/release-maven/artifacts/functions/modulesOf.md +1 -1
  97. package/api/@wtf/release-maven/artifacts/functions/nameOf.md +1 -1
  98. package/api/@wtf/release-maven/artifacts/functions/publishOrder.md +1 -1
  99. package/api/@wtf/release-maven/artifacts/functions/readModules.md +1 -1
  100. package/api/@wtf/release-maven/artifacts/functions/readPoms.md +1 -1
  101. package/api/@wtf/release-maven/artifacts/functions/selectArtifacts.md +1 -1
  102. package/api/@wtf/release-maven/artifacts/interfaces/Selection.md +4 -4
  103. package/api/@wtf/release-maven/ecosystem/functions/compareVersions.md +1 -1
  104. package/api/@wtf/release-maven/ecosystem/functions/parseRange.md +1 -1
  105. package/api/@wtf/release-maven/ecosystem/functions/resolveVersion.md +1 -1
  106. package/api/@wtf/release-maven/ecosystem/functions/satisfiesVersion.md +1 -1
  107. package/api/@wtf/release-maven/ecosystem/interfaces/Bound.md +3 -3
  108. package/api/@wtf/release-maven/ecosystem/interfaces/Restriction.md +3 -3
  109. package/api/@wtf/release-maven/ecosystem/variables/mavenEcosystem.md +1 -1
  110. package/api/@wtf/release-maven/errors/classes/MavenError.md +5 -5
  111. package/api/@wtf/release-maven/errors/type-aliases/MavenErrorCode.md +1 -1
  112. package/api/@wtf/release-maven/errors/variables/MAVEN_ERRORS.md +1 -1
  113. package/api/@wtf/release-maven/interfaces/MavenModule.md +14 -14
  114. package/api/@wtf/release-maven/pom/functions/childOf.md +1 -1
  115. package/api/@wtf/release-maven/pom/functions/childrenOf.md +1 -1
  116. package/api/@wtf/release-maven/pom/functions/dependencyOf.md +1 -1
  117. package/api/@wtf/release-maven/pom/functions/escapeXml.md +1 -1
  118. package/api/@wtf/release-maven/pom/functions/parseXml.md +1 -1
  119. package/api/@wtf/release-maven/pom/functions/readPom.md +1 -1
  120. package/api/@wtf/release-maven/pom/functions/textAt.md +1 -1
  121. package/api/@wtf/release-maven/pom/interfaces/Pom.md +15 -15
  122. package/api/@wtf/release-maven/pom/interfaces/PomDependency.md +5 -5
  123. package/api/@wtf/release-maven/pom/interfaces/PomParent.md +4 -4
  124. package/api/@wtf/release-maven/pom/interfaces/PomPlugin.md +5 -5
  125. package/api/@wtf/release-maven/pom/interfaces/PomRepository.md +3 -3
  126. package/api/@wtf/release-maven/pom/interfaces/Span.md +3 -3
  127. package/api/@wtf/release-maven/pom/interfaces/XmlElement.md +7 -7
  128. package/api/@wtf/release-maven/pom/variables/PLUGIN_GROUP.md +1 -1
  129. package/api/@wtf/release-maven/publish/functions/deployModules.md +1 -1
  130. package/api/@wtf/release-maven/publish/interfaces/DeployModulesOptions.md +11 -11
  131. package/api/@wtf/release-maven/publish/interfaces/DeployedModule.md +4 -4
  132. package/api/@wtf/release-maven/publish/type-aliases/ModuleStatus.md +1 -1
  133. package/api/@wtf/release-maven/repository/functions/deployTargets.md +1 -1
  134. package/api/@wtf/release-maven/repository/functions/expandValues.md +1 -1
  135. package/api/@wtf/release-maven/repository/functions/hasPom.md +1 -1
  136. package/api/@wtf/release-maven/repository/functions/pomPath.md +1 -1
  137. package/api/@wtf/release-maven/repository/functions/pomUrl.md +1 -1
  138. package/api/@wtf/release-maven/repository/interfaces/Repository.md +3 -3
  139. package/api/@wtf/release-maven/repository/interfaces/ValuesOf.md +3 -3
  140. package/api/@wtf/release-maven/repository/variables/MAVEN_CENTRAL.md +1 -1
  141. package/api/@wtf/release-maven/stamp/functions/checkVersions.md +1 -1
  142. package/api/@wtf/release-maven/stamp/functions/stampModules.md +1 -1
  143. package/api/@wtf/release-maven/stamp/functions/stampPom.md +1 -1
  144. package/api/@wtf/release-maven/stamp/interfaces/PomStampOptions.md +5 -5
  145. package/api/@wtf/release-maven/stamp/interfaces/Stamped.md +3 -3
  146. package/api/@wtf/release-maven/stamp/interfaces/StampedModules.md +3 -3
  147. package/api/@wtf/release-npm/check/functions/checkPackages.md +1 -1
  148. package/api/@wtf/release-npm/check/functions/formatIssue.md +1 -1
  149. package/api/@wtf/release-npm/check/interfaces/CheckOptions.md +6 -6
  150. package/api/@wtf/release-npm/check/interfaces/Issue.md +5 -5
  151. package/api/@wtf/release-npm/check/type-aliases/CheckedPackage.md +1 -1
  152. package/api/@wtf/release-npm/check/type-aliases/IssueCode.md +1 -1
  153. package/api/@wtf/release-npm/ecosystem/variables/npmEcosystem.md +1 -1
  154. package/api/@wtf/release-npm/errors/type-aliases/NpmErrorCode.md +1 -1
  155. package/api/@wtf/release-npm/errors/variables/NPM_ERRORS.md +1 -1
  156. package/api/@wtf/release-npm/interfaces/Lookup.md +3 -3
  157. package/api/@wtf/release-npm/interfaces/PublishOptions.md +6 -6
  158. package/api/@wtf/release-npm/interfaces/PublishPackage.md +5 -5
  159. package/api/@wtf/release-npm/interfaces/PublishTrainOptions.md +13 -13
  160. package/api/@wtf/release-npm/interfaces/Publisher.md +7 -7
  161. package/api/@wtf/release-npm/interfaces/PublisherContext.md +7 -7
  162. package/api/@wtf/release-npm/manifests/functions/concreteRange.md +1 -1
  163. package/api/@wtf/release-npm/manifests/functions/manifestsAt.md +1 -1
  164. package/api/@wtf/release-npm/manifests/functions/packageOf.md +1 -1
  165. package/api/@wtf/release-npm/manifests/functions/packagesOfManifests.md +1 -1
  166. package/api/@wtf/release-npm/manifests/functions/readManifests.md +1 -1
  167. package/api/@wtf/release-npm/manifests/functions/resolveSpecifier.md +1 -1
  168. package/api/@wtf/release-npm/manifests/functions/runtimeDependenciesOf.md +1 -1
  169. package/api/@wtf/release-npm/manifests/functions/satisfiesRange.md +1 -1
  170. package/api/@wtf/release-npm/manifests/interfaces/Manifest.md +5 -5
  171. package/api/@wtf/release-npm/manifests/interfaces/NpmPackage.md +7 -7
  172. package/api/@wtf/release-npm/manifests/type-aliases/DependencyField.md +1 -1
  173. package/api/@wtf/release-npm/manifests/variables/DEPENDENCY_FIELDS.md +1 -1
  174. package/api/@wtf/release-npm/manifests/variables/FIELD_KINDS.md +1 -1
  175. package/api/@wtf/release-npm/manifests/variables/RUNTIME_FIELDS.md +1 -1
  176. package/api/@wtf/release-npm/prepare/functions/isTypeScriptSource.md +1 -1
  177. package/api/@wtf/release-npm/prepare/functions/prepareManifest.md +1 -1
  178. package/api/@wtf/release-npm/prepare/functions/stripSourceConditions.md +1 -1
  179. package/api/@wtf/release-npm/prepare/interfaces/PrepareOptions.md +5 -5
  180. package/api/@wtf/release-npm/prepare/interfaces/PreparedManifest.md +6 -6
  181. package/api/@wtf/release-npm/prepare/variables/SOURCE_CONDITIONS.md +1 -1
  182. package/api/@wtf/release-npm/publishers/functions/builtInPublisher.md +1 -1
  183. package/api/@wtf/release-npm/publishers/functions/isPublisher.md +1 -1
  184. package/api/@wtf/release-npm/publishers/variables/NPM_REGISTRY.md +1 -1
  185. package/api/@wtf/release-npm/publishers/variables/PUBLISHERS.md +1 -1
  186. package/api/@wtf/release-npm/publishers/variables/npmPublisher.md +1 -1
  187. package/api/@wtf/release-npm/publishers/variables/pnpmPublisher.md +1 -1
  188. package/api/@wtf/release-npm/release/functions/checkTrain.md +1 -1
  189. package/api/@wtf/release-npm/release/functions/distTagOf.md +1 -1
  190. package/api/@wtf/release-npm/release/functions/packTrain.md +1 -1
  191. package/api/@wtf/release-npm/release/functions/publishPacked.md +1 -1
  192. package/api/@wtf/release-npm/release/functions/publishTrain.md +1 -1
  193. package/api/@wtf/release-npm/release/functions/publishedOf.md +1 -1
  194. package/api/@wtf/release-npm/release/functions/publishedOfResolved.md +1 -1
  195. package/api/@wtf/release-npm/release/functions/releaseTrain.md +1 -1
  196. package/api/@wtf/release-npm/release/functions/resolveManifests.md +1 -1
  197. package/api/@wtf/release-npm/release/functions/tagTrain.md +1 -1
  198. package/api/@wtf/release-npm/release/interfaces/CheckRelease.md +16 -16
  199. package/api/@wtf/release-npm/release/interfaces/PackOptions.md +8 -8
  200. package/api/@wtf/release-npm/release/interfaces/PackedTrain.md +12 -12
  201. package/api/@wtf/release-npm/release/interfaces/PublishRun.md +11 -11
  202. package/api/@wtf/release-npm/release/interfaces/PublishedOf.md +4 -4
  203. package/api/@wtf/release-npm/release/interfaces/PublishedPackage.md +7 -7
  204. package/api/@wtf/release-npm/release/interfaces/PublishedTrain.md +5 -5
  205. package/api/@wtf/release-npm/release/interfaces/ResolveRelease.md +17 -17
  206. package/api/@wtf/release-npm/release/interfaces/ResolvedPackage.md +4 -4
  207. package/api/@wtf/release-npm/release/interfaces/ResolvedTrain.md +6 -6
  208. package/api/@wtf/release-npm/release/interfaces/TagRelease.md +14 -14
  209. package/api/@wtf/release-npm/release/type-aliases/LookedUpTrain.md +1 -1
  210. package/api/@wtf/release-npm/release/type-aliases/ReleaseRun.md +1 -1
  211. package/api/@wtf/release-npm/release/variables/ID_TOKENS.md +1 -1
  212. package/api/@wtf/release-npm/release/variables/RUNNER_ENVIRONMENTS.md +1 -1
  213. package/api/@wtf/release-npm/workspace/functions/pnpmWorkspaceGlobs.md +1 -1
  214. package/api/@wtf/release-npm/workspace/functions/publishableOf.md +1 -1
  215. package/api/@wtf/release-npm/workspace/functions/readWorkspace.md +1 -1
  216. package/api/@wtf/release-npm/workspace/functions/workspaceFolders.md +1 -1
  217. package/api/@wtf/release-npm/workspace/functions/workspaceGlobs.md +1 -1
  218. package/api/@wtf/release-npm/workspace/interfaces/WorkspaceGlobs.md +3 -3
  219. package/api/@wtf/release-npm/workspace/interfaces/WorkspaceOptions.md +2 -2
  220. package/api/@wtf/release-replace/errors/classes/ReplaceError.md +5 -5
  221. package/api/@wtf/release-replace/errors/type-aliases/ReplaceErrorCode.md +1 -1
  222. package/api/@wtf/release-replace/errors/variables/REPLACE_ERRORS.md +1 -1
  223. package/api/@wtf/release-replace/files/functions/filesMatcher.md +1 -1
  224. package/api/@wtf/release-replace/interfaces/ReplaceMatch.md +5 -5
  225. package/api/@wtf/release-replace/interfaces/ReplacementOf.md +5 -5
  226. package/api/@wtf/release-replace/replace/functions/regExpOf.md +1 -1
  227. package/api/@wtf/release-replace/replace/functions/replaceFiles.md +1 -1
  228. package/api/@wtf/release-replace/replace/functions/replaceText.md +1 -1
  229. package/api/@wtf/release-replace/replace/interfaces/ReplaceOptions.md +10 -10
  230. package/api/@wtf/release-replace/replace/interfaces/TextOptions.md +5 -5
  231. package/api/@wtf/release-replace/replace/type-aliases/To.md +1 -1
  232. package/api/@wtf/release-replace/templates/functions/mergeTemplates.md +1 -1
  233. package/api/@wtf/release-replace/templates/functions/resolveReplacement.md +1 -1
  234. package/api/@wtf/release-replace/templates/functions/resolveReplacements.md +1 -1
  235. package/api/@wtf/release-replace/type-aliases/Escape.md +1 -1
  236. package/api/@wtf/release-replace/type-aliases/ReplaceFunction.md +1 -1
  237. package/api/@wtf/release-replace/type-aliases/Replacement.md +1 -1
  238. package/api/@wtf/release-replace/type-aliases/ReplacementSpec.md +1 -1
  239. package/api/@wtf/release-replace/type-aliases/TemplateUse.md +1 -1
  240. package/api/@wtf/release-replace/type-aliases/Templates.md +1 -1
  241. package/api/@wtf/release-replace/values/functions/escapeValue.md +1 -1
  242. package/api/@wtf/release-replace/values/functions/textOf.md +1 -1
  243. package/api/@wtf/release-replace/values/functions/valueAt.md +1 -1
  244. package/api/@wtf/release-replace/values/variables/ESCAPES.md +1 -1
  245. package/api/@wtf/release-replace/values/variables/VALUE.md +1 -1
  246. package/api/@wtf/release-system/errors/classes/ReleaseError.md +5 -5
  247. package/api/@wtf/release-system/errors/functions/throwAll.md +1 -1
  248. package/api/@wtf/release-system/errors/type-aliases/ErrorClass.md +1 -1
  249. package/api/@wtf/release-system/errors/type-aliases/SystemErrorCode.md +1 -1
  250. package/api/@wtf/release-system/errors/variables/SYSTEM_ERRORS.md +1 -1
  251. package/api/@wtf/release-system/git/functions/commitsSince.md +1 -1
  252. package/api/@wtf/release-system/git/functions/filesOfCommits.md +1 -1
  253. package/api/@wtf/release-system/git/functions/git.md +1 -1
  254. package/api/@wtf/release-system/git/functions/gitOf.md +1 -1
  255. package/api/@wtf/release-system/git/functions/trackedFiles.md +1 -1
  256. package/api/@wtf/release-system/git/interfaces/GitContext.md +4 -4
  257. package/api/@wtf/release-system/git/interfaces/LogCommit.md +5 -5
  258. package/api/@wtf/release-system/node/functions/nodeSystem.md +1 -1
  259. package/api/@wtf/release-system/node/functions/realPathOf.md +1 -1
  260. package/api/@wtf/release-system/node/functions/systemOf.md +1 -1
  261. package/api/@wtf/release-system/paths/functions/normalizePath.md +1 -1
  262. package/api/@wtf/release-system/paths/functions/pathMatcher.md +1 -1
  263. package/api/@wtf/release-system/paths/type-aliases/PathMatcher.md +1 -1
  264. package/api/@wtf/release-system/posix/functions/basenameOf.md +1 -1
  265. package/api/@wtf/release-system/posix/functions/dirnameOf.md +1 -1
  266. package/api/@wtf/release-system/posix/functions/joinPath.md +1 -1
  267. package/api/@wtf/release-system/posix/functions/relativePath.md +1 -1
  268. package/api/@wtf/release-system/posix/functions/resolvePath.md +1 -1
  269. package/api/@wtf/release-system/system/interfaces/DirEntry.md +3 -3
  270. package/api/@wtf/release-system/system/interfaces/ExecOptions.md +4 -4
  271. package/api/@wtf/release-system/system/interfaces/ExecResult.md +4 -4
  272. package/api/@wtf/release-system/system/interfaces/System.md +7 -7
  273. package/api/@wtf/release-system/system/interfaces/SystemFs.md +8 -8
  274. package/api/@wtf/release-system/system/type-aliases/Exec.md +1 -1
  275. package/api/@wtf/release-system/system/type-aliases/SystemInput.md +1 -1
  276. package/api/@wtf/release-system/validator/functions/allOf.md +1 -1
  277. package/api/@wtf/release-system/validator/functions/anyObject.md +1 -1
  278. package/api/@wtf/release-system/validator/functions/anyOf.md +1 -1
  279. package/api/@wtf/release-system/validator/functions/arrayOf.md +1 -1
  280. package/api/@wtf/release-system/validator/functions/booleanOf.md +1 -1
  281. package/api/@wtf/release-system/validator/functions/errorOf.md +1 -1
  282. package/api/@wtf/release-system/validator/functions/errorsOf.md +1 -1
  283. package/api/@wtf/release-system/validator/functions/exclusive.md +1 -1
  284. package/api/@wtf/release-system/validator/functions/issuesOf.md +1 -1
  285. package/api/@wtf/release-system/validator/functions/objectOf.md +1 -1
  286. package/api/@wtf/release-system/validator/functions/oneOf.md +1 -1
  287. package/api/@wtf/release-system/validator/functions/orFunction.md +1 -1
  288. package/api/@wtf/release-system/validator/functions/pathText.md +1 -1
  289. package/api/@wtf/release-system/validator/functions/pluginEntriesOf.md +1 -1
  290. package/api/@wtf/release-system/validator/functions/recordOf.md +1 -1
  291. package/api/@wtf/release-system/validator/functions/refined.md +1 -1
  292. package/api/@wtf/release-system/validator/functions/stringOf.md +1 -1
  293. package/api/@wtf/release-system/validator/functions/tupleOf.md +1 -1
  294. package/api/@wtf/release-system/validator/interfaces/ArrayOptions.md +5 -5
  295. package/api/@wtf/release-system/validator/interfaces/IssueOptions.md +4 -4
  296. package/api/@wtf/release-system/validator/interfaces/ObjectOptions.md +5 -5
  297. package/api/@wtf/release-system/validator/interfaces/OptionIssue.md +4 -4
  298. package/api/@wtf/release-system/validator/interfaces/Property.md +4 -4
  299. package/api/@wtf/release-system/validator/interfaces/RecordOptions.md +6 -6
  300. package/api/@wtf/release-system/validator/interfaces/StringOptions.md +6 -6
  301. package/api/@wtf/release-system/validator/interfaces/Validator.md +4 -4
  302. package/api/@wtf/release-system/validator/type-aliases/JsonSchema.md +1 -1
  303. package/api/@wtf/release-system/validator/type-aliases/Path.md +1 -1
  304. package/api/@wtf/release-trains/cascade/functions/cascadeNotes.md +1 -1
  305. package/api/@wtf/release-trains/cascade/functions/cascadeText.md +1 -1
  306. package/api/@wtf/release-trains/cascade/functions/cascadeType.md +1 -1
  307. package/api/@wtf/release-trains/cascade/functions/cascadesOf.md +1 -1
  308. package/api/@wtf/release-trains/cascade/functions/higherType.md +1 -1
  309. package/api/@wtf/release-trains/cascade/interfaces/Cascade.md +11 -11
  310. package/api/@wtf/release-trains/cascade/interfaces/CascadeCheck.md +8 -8
  311. package/api/@wtf/release-trains/cascade/type-aliases/CascadeKind.md +1 -1
  312. package/api/@wtf/release-trains/cascade/type-aliases/ReleaseType.md +1 -1
  313. package/api/@wtf/release-trains/cascade/variables/RELEASE_TYPES.md +1 -1
  314. package/api/@wtf/release-trains/ecosystem/functions/isEcosystem.md +1 -1
  315. package/api/@wtf/release-trains/ecosystem/functions/loadEcosystems.md +1 -1
  316. package/api/@wtf/release-trains/ecosystem/functions/readPackages.md +1 -1
  317. package/api/@wtf/release-trains/ecosystem/interfaces/Dependency.md +4 -4
  318. package/api/@wtf/release-trains/ecosystem/interfaces/Ecosystem.md +5 -5
  319. package/api/@wtf/release-trains/ecosystem/interfaces/EcosystemContext.md +5 -5
  320. package/api/@wtf/release-trains/ecosystem/interfaces/EcosystemPackages.md +3 -3
  321. package/api/@wtf/release-trains/ecosystem/interfaces/Package.md +6 -6
  322. package/api/@wtf/release-trains/ecosystem/type-aliases/DependencyKind.md +1 -1
  323. package/api/@wtf/release-trains/ecosystem/type-aliases/ModuleLoader.md +1 -1
  324. package/api/@wtf/release-trains/ecosystem/variables/DEPENDENCY_KINDS.md +1 -1
  325. package/api/@wtf/release-trains/errors/classes/TrainsError.md +5 -5
  326. package/api/@wtf/release-trains/errors/type-aliases/TrainsErrorCode.md +1 -1
  327. package/api/@wtf/release-trains/errors/variables/TRAINS_ERRORS.md +1 -1
  328. package/api/@wtf/release-trains/generated/functions/filesIn.md +1 -1
  329. package/api/@wtf/release-trains/generated/functions/formatGenerated.md +1 -1
  330. package/api/@wtf/release-trains/generated/functions/listGenerated.md +1 -1
  331. package/api/@wtf/release-trains/generated/functions/parseGenerated.md +1 -1
  332. package/api/@wtf/release-trains/generated/functions/readGenerated.md +1 -1
  333. package/api/@wtf/release-trains/generated/functions/stageGenerated.md +1 -1
  334. package/api/@wtf/release-trains/generated/functions/stageGeneratedFolders.md +1 -1
  335. package/api/@wtf/release-trains/generated/functions/unlistedIn.md +1 -1
  336. package/api/@wtf/release-trains/generated/interfaces/GeneratedOptions.md +2 -2
  337. package/api/@wtf/release-trains/generated/interfaces/StageOptions.md +6 -6
  338. package/api/@wtf/release-trains/generated/variables/GENERATED.md +1 -1
  339. package/api/@wtf/release-trains/git/functions/tagOf.md +1 -1
  340. package/api/@wtf/release-trains/git/functions/tagsOf.md +1 -1
  341. package/api/@wtf/release-trains/git/functions/versionOfTag.md +1 -1
  342. package/api/@wtf/release-trains/git/interfaces/TrainTag.md +3 -3
  343. package/api/@wtf/release-trains/interfaces/Train.md +7 -7
  344. package/api/@wtf/release-trains/packages/functions/dependencyEdges.md +1 -1
  345. package/api/@wtf/release-trains/packages/functions/dependencyText.md +1 -1
  346. package/api/@wtf/release-trains/packages/functions/dependsOnErrors.md +1 -1
  347. package/api/@wtf/release-trains/packages/functions/normalizeDir.md +1 -1
  348. package/api/@wtf/release-trains/packages/functions/ownersOf.md +1 -1
  349. package/api/@wtf/release-trains/packages/functions/packagesOf.md +1 -1
  350. package/api/@wtf/release-trains/packages/functions/publishOrder.md +1 -1
  351. package/api/@wtf/release-trains/packages/functions/releasedVersions.md +1 -1
  352. package/api/@wtf/release-trains/packages/functions/trainDependencies.md +1 -1
  353. package/api/@wtf/release-trains/packages/functions/trainOrder.md +1 -1
  354. package/api/@wtf/release-trains/packages/functions/unsatisfiedErrors.md +1 -1
  355. package/api/@wtf/release-trains/packages/interfaces/DependencyEdge.md +6 -6
  356. package/api/@wtf/release-trains/packages/interfaces/OrderFault.md +4 -4
  357. package/api/@wtf/release-trains/packages/interfaces/OrderPins.md +3 -3
  358. package/api/@wtf/release-trains/packages/interfaces/PublishOrder.md +3 -3
  359. package/api/@wtf/release-trains/packages/interfaces/TrainDependency.md +3 -3
  360. package/api/@wtf/release-trains/packages/interfaces/VersionsRelease.md +7 -7
  361. package/api/@wtf/release-trains/paths/functions/filterCommits.md +1 -1
  362. package/api/@wtf/release-trains/paths/functions/gitFilesOf.md +1 -1
  363. package/api/@wtf/release-trains/paths/functions/overlapError.md +1 -1
  364. package/api/@wtf/release-trains/paths/functions/trainOfPath.md +1 -1
  365. package/api/@wtf/release-trains/paths/functions/trainsOfCommit.md +1 -1
  366. package/api/@wtf/release-trains/paths/functions/trainsOfPath.md +1 -1
  367. package/api/@wtf/release-trains/paths/type-aliases/FilesOf.md +1 -1
  368. package/api/@wtf/release-trains/schema/interfaces/ConfigPart.md +6 -6
  369. package/api/@wtf/release-trains/schema/interfaces/RootOptions.md +7 -7
  370. package/api/@wtf/release-trains/schema/type-aliases/DependencyRule.md +1 -1
  371. package/api/@wtf/release-trains/schema/variables/DEPENDENCY_RULES.md +1 -1
  372. package/api/@wtf/release-trains/schema/variables/TAG_FORMAT_PATTERN.md +1 -1
  373. package/api/@wtf/release-trains/schema/variables/TRAIN_NAME_PATTERN.md +1 -1
  374. package/api/@wtf/release-trains/schema/variables/configSchema.md +1 -1
  375. package/api/@wtf/release-trains/schema/variables/jsonSchema.md +1 -1
  376. package/api/@wtf/release-trains/schema/variables/rootOptionsSchema.md +1 -1
  377. package/api/@wtf/release-trains/schema/variables/trainSchema.md +1 -1
  378. package/api/@wtf/release-trains/schema/variables/trainsSchema.md +1 -1
  379. package/api/@wtf/release-trains/trains/functions/changelogOf.md +1 -1
  380. package/api/@wtf/release-trains/trains/functions/matchersOf.md +1 -1
  381. package/api/@wtf/release-trains/trains/functions/overlapErrors.md +1 -1
  382. package/api/@wtf/release-trains/trains/functions/selectTrain.md +1 -1
  383. package/api/@wtf/release-trains/trains/functions/tagFormatOf.md +1 -1
  384. package/api/@wtf/release-trains/trains/functions/trainHeadedNotes.md +1 -1
  385. package/api/@wtf/release-trains/trains/functions/trainOfRun.md +1 -1
  386. package/api/@wtf/release-trains/trains/functions/trainOfTag.md +1 -1
  387. package/api/@wtf/release-trains/trains/functions/trainsErrors.md +1 -1
  388. package/api/@wtf/release-trains/trains/functions/trainsOfOptions.md +1 -1
  389. package/api/@wtf/release-trains/trains/variables/TRAIN_VARIABLE.md +1 -1
  390. package/api/@wtf/release-trains/trains/variables/VERSION.md +1 -1
  391. package/api/@wtf/release-trains/type-aliases/BranchSpec.md +1 -1
  392. package/api/@wtf/release-trains/type-aliases/Trains.md +1 -1
  393. package/api/@wtf/release-trains/verify/functions/unreleasedDependencies.md +1 -1
  394. package/api/@wtf/release-trains/verify/functions/verifyTrain.md +1 -1
  395. package/api/@wtf/release-trains/verify/interfaces/UnreleasedDependencies.md +10 -10
  396. package/api/@wtf/release-trains/verify/interfaces/VerifiedTrain.md +5 -5
  397. package/api/@wtf/release-trains/verify/interfaces/VerifyRelease.md +8 -8
  398. package/api/@wtf/release-validate/errors/classes/ValidateError.md +5 -5
  399. package/api/@wtf/release-validate/errors/type-aliases/ValidateErrorCode.md +1 -1
  400. package/api/@wtf/release-validate/errors/variables/VALIDATE_ERRORS.md +1 -1
  401. package/api/@wtf/release-validate/interfaces/ConfigIssue.md +4 -4
  402. package/api/@wtf/release-validate/json-schema/functions/fromJsonSchema.md +1 -1
  403. package/api/@wtf/release-validate/json-schema/functions/pathOfPointer.md +1 -1
  404. package/api/@wtf/release-validate/json-schema/interfaces/JsonSchemaError.md +3 -3
  405. package/api/@wtf/release-validate/json-schema/interfaces/JsonSchemaValidator.md +3 -3
  406. package/api/@wtf/release-validate/validate/functions/configErrors.md +1 -1
  407. package/api/@wtf/release-validate/validate/functions/isStandardSchema.md +1 -1
  408. package/api/@wtf/release-validate/validate/functions/pathText.md +1 -1
  409. package/api/@wtf/release-validate/validate/functions/validateConfig.md +1 -1
  410. package/api/@wtf/semantic-release-cargo/functions/indexLookup.md +1 -1
  411. package/api/@wtf/semantic-release-cargo/functions/prepare.md +1 -1
  412. package/api/@wtf/semantic-release-cargo/functions/publish.md +1 -1
  413. package/api/@wtf/semantic-release-cargo/functions/verifyConditions.md +1 -1
  414. package/api/@wtf/semantic-release-cargo/interfaces/CargoPluginOptions.md +12 -12
  415. package/api/@wtf/semantic-release-cargo/interfaces/CargoRelease.md +3 -3
  416. package/api/@wtf/semantic-release-cargo/schema/type-aliases/CargoOptions.md +1 -1
  417. package/api/@wtf/semantic-release-cargo/schema/variables/cargoOptionsSchema.md +1 -1
  418. package/api/@wtf/semantic-release-cargo/schema/variables/cargoSchema.md +1 -1
  419. package/api/@wtf/semantic-release-cargo/schema/variables/configSchema.md +1 -1
  420. package/api/@wtf/semantic-release-cargo/schema/variables/jsonSchema.md +1 -1
  421. package/api/@wtf/semantic-release-cargo/variables/default.md +1 -1
  422. package/api/@wtf/semantic-release-go/functions/prepare.md +1 -1
  423. package/api/@wtf/semantic-release-go/functions/publish.md +1 -1
  424. package/api/@wtf/semantic-release-go/functions/verifyConditions.md +1 -1
  425. package/api/@wtf/semantic-release-go/functions/verifyRelease.md +1 -1
  426. package/api/@wtf/semantic-release-go/interfaces/GoPluginOptions.md +8 -8
  427. package/api/@wtf/semantic-release-go/interfaces/GoRelease.md +3 -3
  428. package/api/@wtf/semantic-release-go/schema/type-aliases/GoOptions.md +1 -1
  429. package/api/@wtf/semantic-release-go/schema/variables/configSchema.md +1 -1
  430. package/api/@wtf/semantic-release-go/schema/variables/goOptionsSchema.md +1 -1
  431. package/api/@wtf/semantic-release-go/schema/variables/goSchema.md +1 -1
  432. package/api/@wtf/semantic-release-go/schema/variables/jsonSchema.md +1 -1
  433. package/api/@wtf/semantic-release-go/variables/default.md +1 -1
  434. package/api/@wtf/semantic-release-maven/functions/pomLookup.md +1 -1
  435. package/api/@wtf/semantic-release-maven/functions/prepare.md +1 -1
  436. package/api/@wtf/semantic-release-maven/functions/publish.md +1 -1
  437. package/api/@wtf/semantic-release-maven/functions/verifyConditions.md +1 -1
  438. package/api/@wtf/semantic-release-maven/interfaces/LookupAuth.md +3 -3
  439. package/api/@wtf/semantic-release-maven/interfaces/MavenPluginOptions.md +12 -12
  440. package/api/@wtf/semantic-release-maven/interfaces/MavenRelease.md +2 -2
  441. package/api/@wtf/semantic-release-maven/schema/type-aliases/MavenOptions.md +1 -1
  442. package/api/@wtf/semantic-release-maven/schema/variables/configSchema.md +1 -1
  443. package/api/@wtf/semantic-release-maven/schema/variables/jsonSchema.md +1 -1
  444. package/api/@wtf/semantic-release-maven/schema/variables/mavenOptionsSchema.md +1 -1
  445. package/api/@wtf/semantic-release-maven/schema/variables/mavenSchema.md +1 -1
  446. package/api/@wtf/semantic-release-maven/variables/default.md +1 -1
  447. package/api/@wtf/semantic-release-npm/functions/addChannel.md +1 -1
  448. package/api/@wtf/semantic-release-npm/functions/fail.md +1 -1
  449. package/api/@wtf/semantic-release-npm/functions/loadPublisher.md +1 -1
  450. package/api/@wtf/semantic-release-npm/functions/prepare.md +1 -1
  451. package/api/@wtf/semantic-release-npm/functions/publish.md +1 -1
  452. package/api/@wtf/semantic-release-npm/functions/verifyConditions.md +1 -1
  453. package/api/@wtf/semantic-release-npm/interfaces/PublishPluginOptions.md +18 -18
  454. package/api/@wtf/semantic-release-npm/interfaces/PublishedRelease.md +4 -4
  455. package/api/@wtf/semantic-release-npm/interfaces/SmokeOption.md +2 -2
  456. package/api/@wtf/semantic-release-npm/schema/type-aliases/PublishOptions.md +1 -1
  457. package/api/@wtf/semantic-release-npm/schema/variables/configSchema.md +1 -1
  458. package/api/@wtf/semantic-release-npm/schema/variables/jsonSchema.md +1 -1
  459. package/api/@wtf/semantic-release-npm/schema/variables/publishOptionsSchema.md +1 -1
  460. package/api/@wtf/semantic-release-npm/schema/variables/publishSchema.md +1 -1
  461. package/api/@wtf/semantic-release-npm/type-aliases/PublisherSpec.md +1 -1
  462. package/api/@wtf/semantic-release-npm/variables/default.md +1 -1
  463. package/api/@wtf/semantic-release-replace/functions/functionOf.md +1 -1
  464. package/api/@wtf/semantic-release-replace/functions/prepare.md +1 -1
  465. package/api/@wtf/semantic-release-replace/functions/templatesOf.md +1 -1
  466. package/api/@wtf/semantic-release-replace/functions/verifyConditions.md +1 -1
  467. package/api/@wtf/semantic-release-replace/interfaces/ReplacePluginOptions.md +5 -5
  468. package/api/@wtf/semantic-release-replace/schema/interfaces/ModuleExport.md +3 -3
  469. package/api/@wtf/semantic-release-replace/schema/interfaces/ReplaceOptions.md +4 -4
  470. package/api/@wtf/semantic-release-replace/schema/interfaces/RootTemplates.md +2 -2
  471. package/api/@wtf/semantic-release-replace/schema/type-aliases/PluginReplacement.md +1 -1
  472. package/api/@wtf/semantic-release-replace/schema/type-aliases/PluginReplacementSpec.md +1 -1
  473. package/api/@wtf/semantic-release-replace/schema/type-aliases/PluginTemplates.md +1 -1
  474. package/api/@wtf/semantic-release-replace/schema/type-aliases/PluginTo.md +1 -1
  475. package/api/@wtf/semantic-release-replace/schema/type-aliases/TemplateSet.md +1 -1
  476. package/api/@wtf/semantic-release-replace/schema/type-aliases/TemplatesOption.md +1 -1
  477. package/api/@wtf/semantic-release-replace/schema/variables/configSchema.md +1 -1
  478. package/api/@wtf/semantic-release-replace/schema/variables/exportedSetSchema.md +1 -1
  479. package/api/@wtf/semantic-release-replace/schema/variables/jsonSchema.md +1 -1
  480. package/api/@wtf/semantic-release-replace/schema/variables/replaceOptionsSchema.md +1 -1
  481. package/api/@wtf/semantic-release-replace/schema/variables/replacementSchema.md +1 -1
  482. package/api/@wtf/semantic-release-replace/schema/variables/rootTemplatesSchema.md +1 -1
  483. package/api/@wtf/semantic-release-replace/schema/variables/templateSchema.md +1 -1
  484. package/api/@wtf/semantic-release-replace/schema/variables/templatesSchema.md +1 -1
  485. package/api/@wtf/semantic-release-replace/variables/default.md +1 -1
  486. package/api/@wtf/semantic-release-trains/config/functions/skipPlugins.md +1 -1
  487. package/api/@wtf/semantic-release-trains/config/functions/stepId.md +1 -1
  488. package/api/@wtf/semantic-release-trains/config/functions/trainAssets.md +1 -1
  489. package/api/@wtf/semantic-release-trains/config/functions/trainChangelog.md +1 -1
  490. package/api/@wtf/semantic-release-trains/config/functions/trainOfTag.md +1 -1
  491. package/api/@wtf/semantic-release-trains/config/functions/trainTagFormat.md +1 -1
  492. package/api/@wtf/semantic-release-trains/config/interfaces/AssetsOptions.md +4 -4
  493. package/api/@wtf/semantic-release-trains/config/interfaces/SkipOptions.md +3 -3
  494. package/api/@wtf/semantic-release-trains/config/variables/BRANCHES.md +1 -1
  495. package/api/@wtf/semantic-release-trains/config/variables/BREAKING.md +1 -1
  496. package/api/@wtf/semantic-release-trains/config/variables/TITLE.md +1 -1
  497. package/api/@wtf/semantic-release-trains/defaults/functions/skipRuleOf.md +1 -1
  498. package/api/@wtf/semantic-release-trains/defaults/functions/skips.md +1 -1
  499. package/api/@wtf/semantic-release-trains/defaults/functions/trainOptionsOf.md +1 -1
  500. package/api/@wtf/semantic-release-trains/defaults/interfaces/SkipContext.md +5 -5
  501. package/api/@wtf/semantic-release-trains/defaults/type-aliases/SkipCheck.md +1 -1
  502. package/api/@wtf/semantic-release-trains/defaults/type-aliases/TrainOptions.md +1 -1
  503. package/api/@wtf/semantic-release-trains/defaults/variables/SKIP_RULES.md +1 -1
  504. package/api/@wtf/semantic-release-trains/defaults/variables/TRAIN_OPTIONS.md +4 -3
  505. package/api/@wtf/semantic-release-trains/defaults/variables/TRAIN_SKIP.md +1 -1
  506. package/api/@wtf/semantic-release-trains/errors/type-aliases/PluginErrorCode.md +1 -1
  507. package/api/@wtf/semantic-release-trains/errors/variables/PLUGIN_ERRORS.md +1 -1
  508. package/api/@wtf/semantic-release-trains/info/functions/decideTrain.md +1 -1
  509. package/api/@wtf/semantic-release-trains/info/functions/dotenvOf.md +1 -1
  510. package/api/@wtf/semantic-release-trains/info/functions/infoOf.md +1 -1
  511. package/api/@wtf/semantic-release-trains/info/interfaces/DecideRun.md +4 -4
  512. package/api/@wtf/semantic-release-trains/info/interfaces/InfoRun.md +8 -8
  513. package/api/@wtf/semantic-release-trains/info/interfaces/TrainDecision.md +5 -5
  514. package/api/@wtf/semantic-release-trains/info/interfaces/TrainInfo.md +5 -5
  515. package/api/@wtf/semantic-release-trains/interfaces/TrainsEntryOptions.md +5 -5
  516. package/api/@wtf/semantic-release-trains/interfaces/TrainsOptions.md +7 -7
  517. package/api/@wtf/semantic-release-trains/schema/variables/configSchema.md +1 -1
  518. package/api/@wtf/semantic-release-trains/schema/variables/jsonSchema.md +1 -1
  519. package/api/@wtf/semantic-release-trains/schema/variables/pluginSpecSchema.md +1 -1
  520. package/api/@wtf/semantic-release-trains/schema/variables/skipRuleSchema.md +1 -1
  521. package/api/@wtf/semantic-release-trains/schema/variables/trainsEntrySchema.md +1 -1
  522. package/api/@wtf/semantic-release-trains/schema/variables/trainsPluginSchema.md +1 -1
  523. package/api/@wtf/semantic-release-trains/type-aliases/PluginSpec.md +1 -1
  524. package/api/@wtf/semantic-release-trains/type-aliases/TrainsPluginOptions.md +1 -1
  525. package/api/@wtf/semantic-release-trains/variables/addChannel.md +1 -1
  526. package/api/@wtf/semantic-release-trains/variables/analyzeCommits.md +1 -1
  527. package/api/@wtf/semantic-release-trains/variables/default.md +1 -1
  528. package/api/@wtf/semantic-release-trains/variables/fail.md +1 -1
  529. package/api/@wtf/semantic-release-trains/variables/generateNotes.md +1 -1
  530. package/api/@wtf/semantic-release-trains/variables/prepare.md +1 -1
  531. package/api/@wtf/semantic-release-trains/variables/publish.md +1 -1
  532. package/api/@wtf/semantic-release-trains/variables/success.md +1 -1
  533. package/api/@wtf/semantic-release-trains/variables/verifyConditions.md +1 -1
  534. package/api/@wtf/semantic-release-trains/variables/verifyRelease.md +1 -1
  535. package/api/@wtf/semantic-release-validate/functions/configOf.md +1 -1
  536. package/api/@wtf/semantic-release-validate/functions/loadSchema.md +1 -1
  537. package/api/@wtf/semantic-release-validate/functions/verifyConditions.md +1 -1
  538. package/api/@wtf/semantic-release-validate/interfaces/ValidatePluginOptions.md +2 -2
  539. package/api/@wtf/semantic-release-validate/schema/interfaces/Validator.md +2 -2
  540. package/api/@wtf/semantic-release-validate/schema/variables/configSchema.md +1 -1
  541. package/api/@wtf/semantic-release-validate/schema/variables/jsonSchema.md +1 -1
  542. package/api/@wtf/semantic-release-validate/schema/variables/validateOptionsSchema.md +1 -1
  543. package/api/@wtf/semantic-release-validate/variables/default.md +1 -1
  544. package/guides/changelogs.md +39 -28
  545. package/guides/ci-recipes.md +393 -271
  546. package/guides/configuring-trains.md +291 -203
  547. package/guides/dependency-rules.md +171 -113
  548. package/guides/ecosystems.md +222 -156
  549. package/guides/getting-started.md +135 -69
  550. package/guides/publishing-crates.md +208 -143
  551. package/guides/publishing-go-modules.md +170 -110
  552. package/guides/publishing-maven.md +197 -123
  553. package/guides/publishing.md +278 -191
  554. package/guides/system.md +50 -34
  555. package/guides/troubleshooting.md +358 -92
  556. package/guides/validating-a-config.md +68 -49
  557. package/package.json +3 -3
@@ -1,25 +1,40 @@
1
- # Ecosystems
2
-
3
- The trains read no manifest. Which train holds each package, the order the trains release in, the
4
- checks of a release, and the releases a train owes the trains it depends on are the same for every
5
- kind of package; what a package is, what it depends on, and what a range of versions means, are
6
- not. An **ecosystem** says those: a package of its own reads the manifests of one kind, as npm's
7
- `package.json` or cargo's `Cargo.toml`, gives the trains their packages, and publishes them.
8
-
9
- | Ecosystem | Its package | Its plugin | Its manifests |
10
- | --------- | -------------------- | ----------------------------- | ---------------------------------------------------- |
11
- | `npm` | `@wtf/release-npm` | `@wtf/semantic-release-npm` | each `package.json` git tracks |
12
- | `cargo` | `@wtf/release-cargo` | `@wtf/semantic-release-cargo` | the Cargo workspace at the root, by `cargo metadata` |
13
- | `go` | `@wtf/release-go` | `@wtf/semantic-release-go` | each `go.mod` git tracks |
14
- | `maven` | `@wtf/release-maven` | `@wtf/semantic-release-maven` | each `pom.xml` git tracks |
15
-
16
- A config names the ecosystems of the repo at its root, beside `trains`, each by the name of its
17
- module, whose default export is the ecosystem. It is required, and a repo of two kinds names both.
18
- Each plugin exports its ecosystem at `./ecosystem`, as `'@wtf/semantic-release-npm/ecosystem'`,
19
- so a config names the plugin it installs and nothing more; the package of the ecosystem,
20
- `'@wtf/release-npm'`, is the same ecosystem, for a repo that installs it. A global install of
21
- semantic-release, as the semantic-release component of to-be-continuous makes, finds the plugin's
22
- alone: it puts the package of the ecosystem in the plugin's own node_modules.
1
+ # How ecosystems work
2
+
3
+ The trains do not read manifests themselves. Much of their work is the same for every kind of
4
+ package: which train holds each package, the order the trains release in, the checks of a release,
5
+ and the releases a train owes the trains it depends on. Other things differ between kinds of
6
+ package: what a package is, what it depends on, and what a version range means. An **ecosystem**
7
+ supplies those parts.
8
+
9
+ An ecosystem is a module that reads one kind of manifest, such as npm's `package.json` or cargo's
10
+ `Cargo.toml`, and gives the trains their packages. It has a name and three functions:
11
+
12
+ - `packages` lists the repo's packages and their dependencies.
13
+ - `resolve` returns the range that a release publishes for a dependency, given the version it
14
+ depends on.
15
+ - `satisfies` says whether a version is within a range, by the ecosystem's own rules.
16
+
17
+ Four ecosystems are built in. Each one has a semantic-release plugin of its own that publishes its
18
+ packages:
19
+
20
+ | Ecosystem | Package | Plugin | Manifests it reads |
21
+ | --------- | -------------------- | ----------------------------- | --------------------------------------------------------- |
22
+ | `npm` | `@wtf/release-npm` | `@wtf/semantic-release-npm` | each `package.json` that git tracks |
23
+ | `cargo` | `@wtf/release-cargo` | `@wtf/semantic-release-cargo` | the Cargo workspace at the root, through `cargo metadata` |
24
+ | `go` | `@wtf/release-go` | `@wtf/semantic-release-go` | each `go.mod` that git tracks |
25
+ | `maven` | `@wtf/release-maven` | `@wtf/semantic-release-maven` | each `pom.xml` that git tracks |
26
+
27
+ ## Name the ecosystems in your config
28
+
29
+ List the repo's ecosystems in `ecosystems` at the root of your config, beside `trains`. The list is
30
+ required. Name each ecosystem by its module, whose default export is the ecosystem. A repo with two
31
+ kinds of package names both.
32
+
33
+ Each plugin exports its ecosystem at `./ecosystem`, such as `'@wtf/semantic-release-npm/ecosystem'`.
34
+ So you only need to name the plugin you install. The ecosystem's own package, such as
35
+ `'@wtf/release-npm'`, is the same ecosystem, for a repo that installs that package. With a global
36
+ install of semantic-release, such as the one the to-be-continuous semantic-release component makes,
37
+ only the plugin's export works: the plugin keeps the ecosystem's package in its own `node_modules`.
23
38
 
24
39
  ```js norun
25
40
  // release.config.mjs
@@ -32,36 +47,156 @@ export default {
32
47
  }
33
48
  ```
34
49
 
35
- The plugins load each of the repo, as an entry of `wrap` loads the plugin it wraps: by its name, its
36
- path from the repo (`./release/mine.mjs`), or its `file:` URL. One that cannot be loaded, whose
37
- default export is no ecosystem, or of the name of another, fails with `EECOSYSTEM`. An ecosystem
38
- that finds no manifest of its kind in the repo gives no package, so naming one more costs a repo
39
- nothing: cargo's gives none of a repo of no `Cargo.toml` at its root, and runs no `cargo`.
40
-
41
- ## What the trains make of the packages
42
-
43
- - **Membership.** A package is of the train whose `paths` hold its folder (`dir`). A folder the
44
- paths of two trains hold fails with `ETRAINOVERLAP`.
45
- - **Order.** A train depends on another when a package of its depends on a package of the other's
46
- by a `runtime`, `peer` or `build` dependency; `dev` makes no edge. The trains release in the order
47
- of those edges and of `dependsOn` ([Dependency rules](dependency-rules.md)).
48
- - **Checks.** A package that publishes, of a dependency that reaches the registry (a `range` that is
49
- not `undefined`), on a package that publishes, must depend on a package of a train
50
- (`EDEPENDENCYNOTRAIN`) that has released (`EDEPENDENCYNORELEASE`), at a version a release of that
51
- train has (`EDEPENDENCYUNSATISFIED`).
52
- - **Versions.** A release stamps each range on a package of another train of that train's last
53
- release, of its tags that `HEAD` holds (`releasedVersions` of `@wtf/release-trains/packages`).
54
- - **Cascade.** Where another train's last release has left a range the train's last release
55
- published, the train releases again: a major of a `peer` that a major left, a patch of any other
56
- kind.
57
- - **A train of none.** A publishing plugin of an ecosystem (`@wtf/semantic-release-npm`, `-cargo`,
58
- `-go`, `-maven`) does nothing in a run of a train that holds none of that ecosystem's packages: it
59
- says so in the log, and asks for no credential. So a config of several ecosystems lists each
60
- plugin for every train, and a train of npm packages alone skips the crates.
61
-
62
- ## The interface
63
-
64
- `@wtf/release-trains/ecosystem` declares it:
50
+ The plugins load each ecosystem the way a `wrap` entry loads the plugin it wraps: by its name, by
51
+ its path from the repo (`./release/mine.mjs`), or by its `file:` URL. The run fails with
52
+ `EECOSYSTEM` when an ecosystem cannot be loaded, when its default export is not an ecosystem, or
53
+ when it has the same name as another ecosystem.
54
+
55
+ An ecosystem that finds no manifest of its kind in the repo gives no package. So naming one more
56
+ ecosystem costs a repo nothing. For example, cargo's ecosystem gives no package in a repo without a
57
+ `Cargo.toml` at its root, and does not run `cargo`.
58
+
59
+ ## What the trains do with the packages
60
+
61
+ - **Membership.** A package belongs to the train whose `paths` hold its folder (`dir`). A folder
62
+ that the paths of two trains hold fails with `ETRAINOVERLAP`.
63
+ - **Order.** A train depends on another train when one of its packages depends on one of the other
64
+ train's packages by a `runtime`, `peer` or `build` dependency. A `dev` dependency does not count.
65
+ The trains release in the order of these dependencies and of `dependsOn` (see
66
+ [Trains that depend on other trains](dependency-rules.md)).
67
+ - **Checks.** Take a published package that depends on another published package by a range that
68
+ reaches the registry (a `range` that is not `undefined`). The package it depends on must belong to
69
+ a train (`EDEPENDENCYNOTRAIN`). That train must have released (`EDEPENDENCYNORELEASE`), and one
70
+ of its releases must be within the range (`EDEPENDENCYUNSATISFIED`).
71
+ - **Versions.** A release stamps each range on another train's package with that train's last
72
+ release, read from the train's tags that `HEAD` holds (`releasedVersions` of
73
+ `@wtf/release-trains/packages`).
74
+ - **Cascade.** When another train's last release falls outside a range that this train's last
75
+ release published, this train releases again. It releases a major when a major left a `peer`
76
+ range behind, and a patch for any other kind.
77
+ - **Trains without the ecosystem's packages.** A publishing plugin (`@wtf/semantic-release-npm`,
78
+ `-cargo`, `-go`, `-maven`) does nothing in the run of a train that holds none of its ecosystem's
79
+ packages. It says so in the log and asks for no credential. So a config with several ecosystems
80
+ can list every plugin for every train, and a train that holds only npm packages skips the crates.
81
+
82
+ ## The built-in ecosystems
83
+
84
+ Each built-in ecosystem reads its manifests from the working tree, or from a commit when the trains
85
+ ask for one. The sections below show what each one counts as a package, how it maps dependencies to
86
+ the kinds `runtime`, `peer`, `build` and `dev`, and how its `resolve` and `satisfies` work.
87
+
88
+ ### npm
89
+
90
+ `@wtf/release-npm` reads each `package.json` that git tracks and that has a name. It reads a
91
+ commit's files with `git show`.
92
+
93
+ - **Published:** every package that is not `private`.
94
+ - **Kinds:** `dependencies` and `optionalDependencies` are `runtime`, `peerDependencies` are `peer`,
95
+ and `devDependencies` are `dev`.
96
+ - **Range:** the range the manifest lists, such as `workspace:^`. A devDependency has no range,
97
+ because no consumer installs it.
98
+ - **`resolve`:** pnpm's rules for the workspace protocol. `workspace:^` with `7.0.0` gives
99
+ `^7.0.0`.
100
+ - **`satisfies`:** semver's rules. A range that names no version, such as `*`, a tag or a path,
101
+ takes any version.
102
+
103
+ See [Publish npm packages](publishing.md).
104
+
105
+ ### cargo
106
+
107
+ `@wtf/release-cargo` reads the Cargo workspace at the root of the repo with
108
+ `cargo metadata --no-deps --format-version 1`. For a commit, it exports the files with
109
+ `git archive` into the system's temporary files, unpacks them with `tar`, reads them, and removes
110
+ them.
111
+
112
+ - **Published:** every crate without `publish = false`.
113
+ - **Kinds:** a normal dependency is `runtime`, a build dependency is `build`, and a dev-dependency
114
+ is `dev`.
115
+ - **Range:** the requirement that cargo reports, such as `^0.0.0-development`. A dev-dependency
116
+ without a version has no range, because cargo drops it when it packages the crate.
117
+ - **`resolve`:** the version itself, as the stamp writes it (`runtime = "1.4.0"`).
118
+ - **`satisfies`:** cargo's rules. The ecosystem rewrites the requirement as an npm range and checks
119
+ it with semver:
120
+
121
+ | cargo | semver | takes |
122
+ | ------------- | ------------ | ---------------------- |
123
+ | `1.2.3` | `^1.2.3` | `>=1.2.3, <2.0.0` |
124
+ | `1.2` | `^1.2` | `>=1.2.0, <2.0.0` |
125
+ | `0.2.1` | `^0.2.1` | `>=0.2.1, <0.3.0` |
126
+ | `~1.2.3` | `~1.2.3` | `>=1.2.3, <1.3.0` |
127
+ | `=1.2.3` | `=1.2.3` | `1.2.3` |
128
+ | `>=1.2, <1.5` | `>=1.2 <1.5` | `>=1.2.0, <1.5.0` |
129
+ | `1.*`, `*` | `1.*`, `*` | `>=1.0.0, <2.0.0`; any |
130
+
131
+ See [Publish Cargo crates](publishing-crates.md).
132
+
133
+ ### Go
134
+
135
+ `@wtf/release-go` reads each `go.mod` that git tracks, except those under a `vendor` or `testdata`
136
+ folder. It reads a commit's files with `git show`.
137
+
138
+ - **Name:** the module path from the `module` line. A go.mod without one, or two go.mod files with
139
+ the same path, fail with `EGOMOD`.
140
+ - **Published:** every module that Go can fetch, which means the first element of its path has a
141
+ dot (`example.com/repo/core`, not `tools`).
142
+ - **Kinds:** each `require` of another module of the repo is `runtime`, Go's only kind. This holds
143
+ for a require on its own line or in a block, and for one marked `// indirect`.
144
+ - **Range:** the version the require names, such as `v0.0.0`.
145
+ - **`resolve`:** the version itself with a `v`, as the stamp writes it (`v1.4.0`).
146
+ - **`satisfies`:** Go's minimal version selection. The version must have the same major and be the
147
+ same version or a later one. Prereleases follow semver's order.
148
+
149
+ | requires | takes |
150
+ | -------- | ------------------------- |
151
+ | `v1.4.0` | `>=1.4.0, <2.0.0` |
152
+ | `v0.2.1` | `>=0.2.1, <1.0.0` |
153
+ | `v2.0.0` | `>=2.0.0, <3.0.0` |
154
+ | `latest` | none: it names no version |
155
+
156
+ See [Publish Go modules](publishing-go-modules.md).
157
+
158
+ ### Maven
159
+
160
+ `@wtf/release-maven` reads each `pom.xml` that git tracks, except one in a `src` or a `target`
161
+ folder. It reads a commit's files with `git show`, and parses them with a small XML reader of its
162
+ own.
163
+
164
+ - **Name:** `groupId:artifactId`. When the pom writes no groupId, the module takes its parent's.
165
+ - **Published:** every module, unless `maven.deploy.skip` is `true` in its `<properties>` or in
166
+ those of a parent in the repo. The module's own value comes first.
167
+ - **Kinds:**
168
+ - The `<parent>`, and each `<dependency>` with the scope `compile`, `runtime` or no scope, are
169
+ `runtime`.
170
+ - The scope `provided` is `peer`.
171
+ - The scope `test` is `dev`, with no range, because no consumer resolves it.
172
+ - The scope `system` is not a dependency.
173
+ - A `<dependencyManagement>` entry with the scope `import` is `runtime`.
174
+ - A build plugin, or a plugin's dependency, is `build`.
175
+ - **Range:** the `<version>` as written, including `${project.version}`.
176
+ - **`resolve`:** the version itself, as the stamp writes it. A range of the author's own stays as
177
+ it is.
178
+ - **`satisfies`:** Maven's rules, in Maven's order of versions:
179
+
180
+ | pom | takes |
181
+ | ------------ | ----------------------------------------- |
182
+ | `1.4.0` | any: a bare version is a soft requirement |
183
+ | `[1.4,2.0)` | `>=1.4.0, <2.0.0` |
184
+ | `[1.4,)` | `>=1.4.0` |
185
+ | `(,1.0]` | `<=1.0.0` |
186
+ | `[1.4]` | `1.4.0` |
187
+ | `[1,2),[3,)` | `>=1.0.0, <2.0.0`, or `>=3.0.0` |
188
+
189
+ So a bare version never causes a cascade, and the release never rewrites a range of your own. See
190
+ [Publish Maven modules](publishing-maven.md).
191
+
192
+ ## Write your own ecosystem
193
+
194
+ Write an ecosystem when your repo holds a kind of package that none of the built-in ecosystems
195
+ reads.
196
+
197
+ ### The interface
198
+
199
+ `@wtf/release-trains/ecosystem` declares the interface:
65
200
 
66
201
  ```ts fragment
67
202
  export interface Ecosystem {
@@ -90,15 +225,16 @@ export interface Dependency {
90
225
  }
91
226
  ```
92
227
 
93
- `packages` is asked of the working tree (no `ref`), and of a commit, as the tag of a train's last
94
- release, which a cascade reads. It runs everything by the `system` of its context, as every library
95
- does ([The system](system.md)): files, git, and the tool of the ecosystem.
228
+ The trains call `packages` for the working tree, with no `ref`. They also call it for a commit, such
229
+ as the tag of a train's last release, which a cascade reads. `packages` does everything through its
230
+ context's `system`, as every library does: files, git, and the ecosystem's own tool. See
231
+ [The system](system.md).
96
232
 
97
- ## Writing one
233
+ ### An example
98
234
 
99
- An ecosystem is a module whose default export is an `Ecosystem`. Here is one of a manifest of its
100
- own, `release.json` of each folder, of a name, a flag of whether it publishes, and its dependencies
101
- of exact versions:
235
+ An ecosystem is a module whose default export is an `Ecosystem`. The example below reads a manifest
236
+ of its own, a `release.json` in each folder. The manifest holds a name, a flag that says whether the
237
+ package publishes, and dependencies at exact versions:
102
238
 
103
239
  ```ts
104
240
  import { git, gitOf, trackedFiles } from '@wtf/release-system/git'
@@ -156,100 +292,30 @@ const ecosystem: Ecosystem = {
156
292
  export default ecosystem
157
293
  ```
158
294
 
159
- What to get right:
160
-
161
- - **`range` is what a release publishes.** `undefined` of a dependency nothing of reaches the
162
- registry, as a dev-dependency a release drops: it is then checked of nothing and cascades nothing.
163
- - **`resolve` is the stamp.** It says the range a release writes of a dependency, of the version the
164
- trains give it, as the ecosystem's own publish writes it; the cascade compares what the last
165
- release published and what the next would, so the two must agree. A range of the author's own,
166
- which names its versions itself, is itself: a release is no fix of it.
167
- - **`satisfies` is the ecosystem's rules.** A prerelease within its bounds too, as `1.5.0-beta.1` of
168
- `^1.4.0`: the trains release prereleases on their channels.
169
- - **No manifest is no package.** A repo of none of the ecosystem's manifests gives `[]`, of no
170
- failure, so a config can name it before the first manifest is there.
171
- - **The system, always.** No `node:*`, no `process`, no global `fetch`: what the module does outside
172
- itself is by `context.system`, so the trains run it on a CLI's system, or a test's in memory.
173
-
174
- The publishing is the ecosystem's own: a plugin of semantic-release of its own, as
175
- `@wtf/semantic-release-npm`, `@wtf/semantic-release-cargo`, `@wtf/semantic-release-go` and `@wtf/semantic-release-maven` are, reads `trains`, `ecosystems` and
176
- `train` of the root, the packages of its train by `ownersOf` of `@wtf/release-trains/packages`, and
177
- the versions of the other trains by `releasedVersions`, which throws the errors of the trains.
178
-
179
- ### npm
180
-
181
- `@wtf/release-npm` reads each `package.json` git tracks, of the working tree or of a commit by
182
- `git show`, of a name. A package is published unless it is `private`. `dependencies` and
183
- `optionalDependencies` are `runtime`, `peerDependencies` `peer`, `devDependencies` `dev`, each of
184
- the range it lists, as `workspace:^`; a devDependency is of no range, as no consumer installs it.
185
- `resolve` is pnpm's rules of the workspace protocol (`workspace:^` and `7.0.0` is `^7.0.0`), and
186
- `satisfies` is semver's, a range that names no version, as `*`, a tag or a path, taking any. See
187
- [Publishing](publishing.md).
188
-
189
- ### cargo
190
-
191
- `@wtf/release-cargo` reads the Cargo workspace at the root of the repo by
192
- `cargo metadata --no-deps --format-version 1`, of the working tree, or of a commit, which it exports
193
- by `git archive` into the system's temporary files, unpacks by `tar`, reads and removes. A crate is
194
- published unless `publish = false`. A normal dependency is `runtime`, a build one `build`, a dev one
195
- `dev`, each of the requirement cargo reads, as `^0.0.0-development`; a dev-dependency of no version
196
- is of no range, as cargo drops it as it packages. `resolve` is the version itself, as the stamp
197
- writes it (`runtime = "1.4.0"`), and `satisfies` is cargo's rules, by semver, once the requirement
198
- is written as npm writes a range:
199
-
200
- | cargo | semver | takes |
201
- | ------------- | ------------ | ---------------------- |
202
- | `1.2.3` | `^1.2.3` | `>=1.2.3, <2.0.0` |
203
- | `1.2` | `^1.2` | `>=1.2.0, <2.0.0` |
204
- | `0.2.1` | `^0.2.1` | `>=0.2.1, <0.3.0` |
205
- | `~1.2.3` | `~1.2.3` | `>=1.2.3, <1.3.0` |
206
- | `=1.2.3` | `=1.2.3` | `1.2.3` |
207
- | `>=1.2, <1.5` | `>=1.2 <1.5` | `>=1.2.0, <1.5.0` |
208
- | `1.*`, `*` | `1.*`, `*` | `>=1.0.0, <2.0.0`; any |
209
-
210
- See [Publishing crates](publishing-crates.md).
211
-
212
- ### Go
213
-
214
- `@wtf/release-go` reads each `go.mod` git tracks, of the working tree or of a commit by `git show`,
215
- but those under a `vendor` or `testdata` folder. A package is named by its module path, of the
216
- `module` line; a go.mod of none, or two of one path, fail with `EGOMOD`. A module is published when
217
- Go can fetch it, as the first element of its path has a dot (`example.com/repo/core`, not `tools`).
218
- Each `require` of another module of the repo, of a line of its own or of a block, `// indirect` too,
219
- is `runtime`, Go's only kind, of the version it names, as `v0.0.0`. `resolve` is the version itself,
220
- of a `v`, as the stamp writes it (`v1.4.0`), and `satisfies` is Go's minimal version selection: the
221
- same major, and the same version or a later one, prereleases in the order of semver.
222
-
223
- | requires | takes |
224
- | -------- | ------------------------- |
225
- | `v1.4.0` | `>=1.4.0, <2.0.0` |
226
- | `v0.2.1` | `>=0.2.1, <1.0.0` |
227
- | `v2.0.0` | `>=2.0.0, <3.0.0` |
228
- | `latest` | none: it names no version |
229
-
230
- See [Publishing Go modules](publishing-go-modules.md).
231
-
232
- ### Maven
233
-
234
- `@wtf/release-maven` reads each `pom.xml` git tracks, of the working tree or of a commit by
235
- `git show`, but those in a `src` or a `target` folder, by a small XML reader of its own. A package
236
- is named `groupId:artifactId`, the groupId its parent's where the pom writes none. A module is
237
- published unless `maven.deploy.skip` is `true` in its `<properties>`, or in a parent's in the repo,
238
- its own value first. Its `<parent>` and each `<dependency>` of the scope `compile`, `runtime` or none
239
- are `runtime`, `provided` is `peer`, `test` is `dev` (of no range, as no consumer resolves it), and
240
- `system` is none; a `<dependencyManagement>` entry of the scope `import` is `runtime`, and a plugin of
241
- the build, or a plugin's dependency, `build`. The range is the `<version>` as written,
242
- `${project.version}` too. `resolve` is the version itself, as the stamp writes it, but a range of
243
- the author's own, which is itself; `satisfies` is Maven's rules, by Maven's order of versions:
244
-
245
- | pom | takes |
246
- | ------------ | ----------------------------------------- |
247
- | `1.4.0` | any: a bare version is a soft requirement |
248
- | `[1.4,2.0)` | `>=1.4.0, <2.0.0` |
249
- | `[1.4,)` | `>=1.4.0` |
250
- | `(,1.0]` | `<=1.0.0` |
251
- | `[1.4]` | `1.4.0` |
252
- | `[1,2),[3,)` | `>=1.0.0, <2.0.0`, or `>=3.0.0` |
253
-
254
- So a bare version cascades nothing; a range of your own is never rewritten. See
255
- [Publishing Maven modules](publishing-maven.md).
295
+ ### What to get right
296
+
297
+ - **`range` is what a release publishes.** Use `undefined` for a dependency that never reaches the
298
+ registry, such as a dev-dependency that a release drops. The trains then check nothing for it, and
299
+ it causes no cascade.
300
+ - **`resolve` is the stamp.** It returns the range that a release writes for a dependency, given
301
+ the version the trains pass in, the way the ecosystem's own publish writes it. The cascade
302
+ compares what the last release published with what the next release would publish, so the two
303
+ must agree. A range of the author's own that names its versions itself stays as it is: a release
304
+ does not fix it.
305
+ - **`satisfies` follows the ecosystem's rules.** It must accept a prerelease within the bounds too,
306
+ such as `1.5.0-beta.1` for `^1.4.0`, because the trains release prereleases on their channels.
307
+ - **No manifest means no package.** In a repo without any of the ecosystem's manifests, return `[]`
308
+ rather than fail. A config can then name the ecosystem before the first manifest exists.
309
+ - **Always use the system.** Do not use `node:*`, `process` or the global `fetch`. Everything the
310
+ module does outside itself goes through `context.system`. The trains can then run it on a CLI's
311
+ system, or on a test's system in memory.
312
+
313
+ ### Publish the packages
314
+
315
+ The ecosystem does not publish. Write a semantic-release plugin for that, as
316
+ `@wtf/semantic-release-npm`, `@wtf/semantic-release-cargo`, `@wtf/semantic-release-go` and
317
+ `@wtf/semantic-release-maven` are. The plugin:
318
+
319
+ - reads `trains`, `ecosystems` and `train` from the root of the config;
320
+ - finds its train's packages with `ownersOf` from `@wtf/release-trains/packages`;
321
+ - reads the other trains' versions with `releasedVersions`, which throws the trains' errors.