renovate 42.0.0-next.2 → 42.0.1

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 (778) hide show
  1. package/dist/config/app-strings.d.ts +2 -1
  2. package/dist/config/app-strings.js +10 -2
  3. package/dist/config/app-strings.js.map +1 -1
  4. package/dist/config/decrypt/bcpgp.d.ts +1 -0
  5. package/dist/config/decrypt/bcpgp.js +57 -0
  6. package/dist/config/decrypt/bcpgp.js.map +1 -0
  7. package/dist/config/decrypt/openpgp.js +0 -4
  8. package/dist/config/decrypt/openpgp.js.map +1 -1
  9. package/dist/config/decrypt.d.ts +1 -1
  10. package/dist/config/decrypt.js +9 -26
  11. package/dist/config/decrypt.js.map +1 -1
  12. package/dist/config/global.js +1 -0
  13. package/dist/config/global.js.map +1 -1
  14. package/dist/config/migrations/custom/schedule-migration.js +9 -11
  15. package/dist/config/migrations/custom/schedule-migration.js.map +1 -1
  16. package/dist/config/migrations/custom/unpublish-safe-migration.js +3 -2
  17. package/dist/config/migrations/custom/unpublish-safe-migration.js.map +1 -1
  18. package/dist/config/options/index.js +49 -2
  19. package/dist/config/options/index.js.map +1 -1
  20. package/dist/config/presets/common.js +1 -0
  21. package/dist/config/presets/common.js.map +1 -1
  22. package/dist/config/presets/internal/abandonments.js +4 -1
  23. package/dist/config/presets/internal/abandonments.js.map +1 -1
  24. package/dist/config/presets/internal/config.js +15 -0
  25. package/dist/config/presets/internal/config.js.map +1 -1
  26. package/dist/config/presets/internal/custom-managers.js +2 -2
  27. package/dist/config/presets/internal/custom-managers.js.map +1 -1
  28. package/dist/config/presets/internal/default.js +12 -1
  29. package/dist/config/presets/internal/default.js.map +1 -1
  30. package/dist/config/presets/internal/group.js +13 -0
  31. package/dist/config/presets/internal/group.js.map +1 -1
  32. package/dist/config/presets/internal/npm.js +1 -8
  33. package/dist/config/presets/internal/npm.js.map +1 -1
  34. package/dist/config/presets/internal/packages.js +5 -1
  35. package/dist/config/presets/internal/packages.js.map +1 -1
  36. package/dist/config/presets/internal/security.js +8 -0
  37. package/dist/config/presets/internal/security.js.map +1 -1
  38. package/dist/config/presets/internal/workarounds.js +2 -2
  39. package/dist/config/presets/internal/workarounds.js.map +1 -1
  40. package/dist/config/schema.d.ts +1 -1
  41. package/dist/config/secrets.js +2 -2
  42. package/dist/config/secrets.js.map +1 -1
  43. package/dist/config/types.d.ts +26 -1
  44. package/dist/config/types.js.map +1 -1
  45. package/dist/config/validation.js +4 -3
  46. package/dist/config/validation.js.map +1 -1
  47. package/dist/config-validator.js +1 -1
  48. package/dist/config-validator.js.map +1 -1
  49. package/dist/constants/platforms.js +1 -0
  50. package/dist/constants/platforms.js.map +1 -1
  51. package/dist/data/monorepo.json +13 -2
  52. package/dist/data/node-js-schedule.json +1 -1
  53. package/dist/data/replacements.json +34 -0
  54. package/dist/data-files.generated.js +3 -3
  55. package/dist/data-files.generated.js.map +1 -1
  56. package/dist/logger/renovate-logger.d.ts +1 -0
  57. package/dist/logger/renovate-logger.js +3 -0
  58. package/dist/logger/renovate-logger.js.map +1 -1
  59. package/dist/logger/utils.js +2 -1
  60. package/dist/logger/utils.js.map +1 -1
  61. package/dist/manager-list.generated.d.ts +1 -1
  62. package/dist/manager-list.generated.js +1 -1
  63. package/dist/manager-list.generated.js.map +1 -1
  64. package/dist/modules/datasource/api.js +4 -0
  65. package/dist/modules/datasource/api.js.map +1 -1
  66. package/dist/modules/datasource/aws-eks-addon/schema.d.ts +1 -8
  67. package/dist/modules/datasource/aws-eks-addon/schema.js +7 -5
  68. package/dist/modules/datasource/aws-eks-addon/schema.js.map +1 -1
  69. package/dist/modules/datasource/azure-pipelines-tasks/schema.d.ts +12 -12
  70. package/dist/modules/datasource/bitrise/schema.d.ts +1 -1
  71. package/dist/modules/datasource/buildpacks-registry/index.js +1 -1
  72. package/dist/modules/datasource/buildpacks-registry/index.js.map +1 -1
  73. package/dist/modules/datasource/buildpacks-registry/schema.d.ts +1 -1
  74. package/dist/modules/datasource/buildpacks-registry/schema.js +2 -2
  75. package/dist/modules/datasource/buildpacks-registry/schema.js.map +1 -1
  76. package/dist/modules/datasource/cdnjs/index.js +2 -2
  77. package/dist/modules/datasource/cdnjs/index.js.map +1 -1
  78. package/dist/modules/datasource/cdnjs/schema.d.ts +8 -8
  79. package/dist/modules/datasource/cdnjs/schema.js +3 -3
  80. package/dist/modules/datasource/cdnjs/schema.js.map +1 -1
  81. package/dist/modules/datasource/conan/schema.d.ts +3 -3
  82. package/dist/modules/datasource/conda/prefix-dev.js +1 -1
  83. package/dist/modules/datasource/conda/prefix-dev.js.map +1 -1
  84. package/dist/modules/datasource/conda/schema/prefix-dev.d.ts +7 -7
  85. package/dist/modules/datasource/conda/schema/prefix-dev.js +2 -2
  86. package/dist/modules/datasource/conda/schema/prefix-dev.js.map +1 -1
  87. package/dist/modules/datasource/cpan/schema.js +2 -2
  88. package/dist/modules/datasource/cpan/schema.js.map +1 -1
  89. package/dist/modules/datasource/crate/index.js +12 -11
  90. package/dist/modules/datasource/crate/index.js.map +1 -1
  91. package/dist/modules/datasource/crate/schema.d.ts +1 -1
  92. package/dist/modules/datasource/crate/schema.js +2 -2
  93. package/dist/modules/datasource/crate/schema.js.map +1 -1
  94. package/dist/modules/datasource/custom/index.d.ts +1 -1
  95. package/dist/modules/datasource/custom/index.js +2 -2
  96. package/dist/modules/datasource/custom/index.js.map +1 -1
  97. package/dist/modules/datasource/custom/schema.d.ts +1 -1
  98. package/dist/modules/datasource/custom/schema.js +2 -2
  99. package/dist/modules/datasource/custom/schema.js.map +1 -1
  100. package/dist/modules/datasource/docker/index.d.ts +1 -1
  101. package/dist/modules/datasource/docker/index.js +4 -1
  102. package/dist/modules/datasource/docker/index.js.map +1 -1
  103. package/dist/modules/datasource/docker/schema.d.ts +4 -4
  104. package/dist/modules/datasource/forgejo-releases/index.js +3 -3
  105. package/dist/modules/datasource/forgejo-releases/index.js.map +1 -1
  106. package/dist/modules/datasource/forgejo-releases/schema.d.ts +6 -6
  107. package/dist/modules/datasource/forgejo-releases/schema.js +3 -3
  108. package/dist/modules/datasource/forgejo-releases/schema.js.map +1 -1
  109. package/dist/modules/datasource/forgejo-tags/index.js +3 -3
  110. package/dist/modules/datasource/forgejo-tags/index.js.map +1 -1
  111. package/dist/modules/datasource/forgejo-tags/schema.d.ts +4 -4
  112. package/dist/modules/datasource/forgejo-tags/schema.js +7 -7
  113. package/dist/modules/datasource/forgejo-tags/schema.js.map +1 -1
  114. package/dist/modules/datasource/gitea-releases/index.js +3 -3
  115. package/dist/modules/datasource/gitea-releases/index.js.map +1 -1
  116. package/dist/modules/datasource/gitea-releases/schema.d.ts +6 -6
  117. package/dist/modules/datasource/gitea-releases/schema.js +3 -3
  118. package/dist/modules/datasource/gitea-releases/schema.js.map +1 -1
  119. package/dist/modules/datasource/gitea-tags/index.js +3 -3
  120. package/dist/modules/datasource/gitea-tags/index.js.map +1 -1
  121. package/dist/modules/datasource/gitea-tags/schema.d.ts +4 -4
  122. package/dist/modules/datasource/gitea-tags/schema.js +7 -7
  123. package/dist/modules/datasource/gitea-tags/schema.js.map +1 -1
  124. package/dist/modules/datasource/github-runners/index.js +5 -3
  125. package/dist/modules/datasource/github-runners/index.js.map +1 -1
  126. package/dist/modules/datasource/go/base.js +3 -2
  127. package/dist/modules/datasource/go/base.js.map +1 -1
  128. package/dist/modules/datasource/go/common.js +13 -9
  129. package/dist/modules/datasource/go/common.js.map +1 -1
  130. package/dist/modules/datasource/go/index.js +7 -2
  131. package/dist/modules/datasource/go/index.js.map +1 -1
  132. package/dist/modules/datasource/go/releases-direct.d.ts +2 -0
  133. package/dist/modules/datasource/go/releases-direct.js +7 -1
  134. package/dist/modules/datasource/go/releases-direct.js.map +1 -1
  135. package/dist/modules/datasource/go/releases-goproxy.js +1 -1
  136. package/dist/modules/datasource/go/releases-goproxy.js.map +1 -1
  137. package/dist/modules/datasource/helm/index.js +1 -1
  138. package/dist/modules/datasource/helm/index.js.map +1 -1
  139. package/dist/modules/datasource/helm/schema.d.ts +2 -2
  140. package/dist/modules/datasource/helm/schema.js +4 -4
  141. package/dist/modules/datasource/helm/schema.js.map +1 -1
  142. package/dist/modules/datasource/jsr/common.d.ts +1 -0
  143. package/dist/modules/datasource/jsr/common.js +12 -0
  144. package/dist/modules/datasource/jsr/common.js.map +1 -0
  145. package/dist/modules/datasource/jsr/index.d.ts +12 -0
  146. package/dist/modules/datasource/jsr/index.js +66 -0
  147. package/dist/modules/datasource/jsr/index.js.map +1 -0
  148. package/dist/modules/datasource/jsr/schema.d.ts +27 -0
  149. package/dist/modules/datasource/jsr/schema.js +20 -0
  150. package/dist/modules/datasource/jsr/schema.js.map +1 -0
  151. package/dist/modules/datasource/jsr/util.d.ts +4 -0
  152. package/dist/modules/datasource/jsr/util.js +53 -0
  153. package/dist/modules/datasource/jsr/util.js.map +1 -0
  154. package/dist/modules/datasource/maven/index.js +14 -0
  155. package/dist/modules/datasource/maven/index.js.map +1 -1
  156. package/dist/modules/datasource/maven/util.js +10 -0
  157. package/dist/modules/datasource/maven/util.js.map +1 -1
  158. package/dist/modules/datasource/npm/get.js +2 -1
  159. package/dist/modules/datasource/npm/get.js.map +1 -1
  160. package/dist/modules/datasource/npm/types.d.ts +7 -0
  161. package/dist/modules/datasource/npm/types.js.map +1 -1
  162. package/dist/modules/datasource/nuget/v3.js +3 -1
  163. package/dist/modules/datasource/nuget/v3.js.map +1 -1
  164. package/dist/modules/datasource/packagist/schema.d.ts +12 -12
  165. package/dist/modules/datasource/pypi/index.d.ts +1 -0
  166. package/dist/modules/datasource/pypi/index.js +1 -0
  167. package/dist/modules/datasource/pypi/index.js.map +1 -1
  168. package/dist/modules/datasource/python-version/schema.d.ts +3 -3
  169. package/dist/modules/datasource/rpm/index.d.ts +7 -0
  170. package/dist/modules/datasource/rpm/index.js +7 -0
  171. package/dist/modules/datasource/rpm/index.js.map +1 -1
  172. package/dist/modules/datasource/types.d.ts +2 -0
  173. package/dist/modules/datasource/types.js.map +1 -1
  174. package/dist/modules/datasource/typst/index.d.ts +11 -0
  175. package/dist/modules/datasource/typst/index.js +65 -0
  176. package/dist/modules/datasource/typst/index.js.map +1 -0
  177. package/dist/modules/datasource/typst/schema.d.ts +31 -0
  178. package/dist/modules/datasource/typst/schema.js +28 -0
  179. package/dist/modules/datasource/typst/schema.js.map +1 -0
  180. package/dist/modules/datasource/unity3d-packages/schema.d.ts +4 -4
  181. package/dist/modules/manager/api.js +6 -0
  182. package/dist/modules/manager/api.js.map +1 -1
  183. package/dist/modules/manager/argocd/extract.js +1 -1
  184. package/dist/modules/manager/argocd/extract.js.map +1 -1
  185. package/dist/modules/manager/argocd/schema.d.ts +1 -1
  186. package/dist/modules/manager/argocd/schema.js +2 -2
  187. package/dist/modules/manager/argocd/schema.js.map +1 -1
  188. package/dist/modules/manager/azure-pipelines/schema.d.ts +1 -1
  189. package/dist/modules/manager/batect/extract.js +1 -1
  190. package/dist/modules/manager/batect/extract.js.map +1 -1
  191. package/dist/modules/manager/batect/schema.d.ts +4 -4
  192. package/dist/modules/manager/batect/schema.js +2 -2
  193. package/dist/modules/manager/batect/schema.js.map +1 -1
  194. package/dist/modules/manager/bazel/rules/docker.d.ts +3 -3
  195. package/dist/modules/manager/bazel/rules/git.d.ts +5 -5
  196. package/dist/modules/manager/bazel/rules/go.d.ts +5 -5
  197. package/dist/modules/manager/bazel/rules/oci.d.ts +3 -3
  198. package/dist/modules/manager/bazel-module/extract.js +5 -0
  199. package/dist/modules/manager/bazel-module/extract.js.map +1 -1
  200. package/dist/modules/manager/bazel-module/parser/context.d.ts +6 -0
  201. package/dist/modules/manager/bazel-module/parser/context.js +42 -2
  202. package/dist/modules/manager/bazel-module/parser/context.js.map +1 -1
  203. package/dist/modules/manager/bazel-module/parser/fragments.d.ts +276 -112
  204. package/dist/modules/manager/bazel-module/parser/fragments.js +70 -32
  205. package/dist/modules/manager/bazel-module/parser/fragments.js.map +1 -1
  206. package/dist/modules/manager/bazel-module/parser/index.js +3 -1
  207. package/dist/modules/manager/bazel-module/parser/index.js.map +1 -1
  208. package/dist/modules/manager/bazel-module/parser/maven.d.ts +27 -27
  209. package/dist/modules/manager/bazel-module/parser/maven.js +7 -7
  210. package/dist/modules/manager/bazel-module/parser/maven.js.map +1 -1
  211. package/dist/modules/manager/bazel-module/parser/oci.d.ts +38 -38
  212. package/dist/modules/manager/bazel-module/parser/oci.js +5 -5
  213. package/dist/modules/manager/bazel-module/parser/oci.js.map +1 -1
  214. package/dist/modules/manager/bazel-module/parser/repo-rules.d.ts +5 -0
  215. package/dist/modules/manager/bazel-module/parser/repo-rules.js +71 -0
  216. package/dist/modules/manager/bazel-module/parser/repo-rules.js.map +1 -0
  217. package/dist/modules/manager/bazel-module/rules-img.d.ts +229 -0
  218. package/dist/modules/manager/bazel-module/rules-img.js +74 -0
  219. package/dist/modules/manager/bazel-module/rules-img.js.map +1 -0
  220. package/dist/modules/manager/bazel-module/rules.d.ts +101 -101
  221. package/dist/modules/manager/bazel-module/rules.js +18 -18
  222. package/dist/modules/manager/bazel-module/rules.js.map +1 -1
  223. package/dist/modules/manager/bitrise/schema.d.ts +1 -1
  224. package/dist/modules/manager/bun/artifacts.js +5 -4
  225. package/dist/modules/manager/bun/artifacts.js.map +1 -1
  226. package/dist/modules/manager/bundler/locked-version.js +44 -23
  227. package/dist/modules/manager/bundler/locked-version.js.map +1 -1
  228. package/dist/modules/manager/cargo/artifacts.js +15 -11
  229. package/dist/modules/manager/cargo/artifacts.js.map +1 -1
  230. package/dist/modules/manager/cargo/extract.js +6 -3
  231. package/dist/modules/manager/cargo/extract.js.map +1 -1
  232. package/dist/modules/manager/cargo/index.d.ts +0 -1
  233. package/dist/modules/manager/cargo/index.js +11 -4
  234. package/dist/modules/manager/cargo/index.js.map +1 -1
  235. package/dist/modules/manager/cargo/locked-version.d.ts +2 -2
  236. package/dist/modules/manager/cargo/locked-version.js +1 -1
  237. package/dist/modules/manager/cargo/locked-version.js.map +1 -1
  238. package/dist/modules/manager/cargo/schema.d.ts +206 -35
  239. package/dist/modules/manager/cargo/schema.js +26 -18
  240. package/dist/modules/manager/cargo/schema.js.map +1 -1
  241. package/dist/modules/manager/cloudbuild/schema.d.ts +1 -1
  242. package/dist/modules/manager/composer/schema.d.ts +98 -98
  243. package/dist/modules/manager/conan/artifacts.js +12 -2
  244. package/dist/modules/manager/conan/artifacts.js.map +1 -1
  245. package/dist/modules/manager/conan/extract.js +1 -1
  246. package/dist/modules/manager/conan/extract.js.map +1 -1
  247. package/dist/modules/manager/conan/index.d.ts +0 -1
  248. package/dist/modules/manager/conan/index.js +0 -1
  249. package/dist/modules/manager/conan/index.js.map +1 -1
  250. package/dist/modules/manager/copier/artifacts.js +5 -5
  251. package/dist/modules/manager/copier/artifacts.js.map +1 -1
  252. package/dist/modules/manager/copier/schema.d.ts +2 -2
  253. package/dist/modules/manager/copier/schema.js +5 -1
  254. package/dist/modules/manager/copier/schema.js.map +1 -1
  255. package/dist/modules/manager/crossplane/extract.js +1 -1
  256. package/dist/modules/manager/crossplane/extract.js.map +1 -1
  257. package/dist/modules/manager/crossplane/schema.d.ts +2 -2
  258. package/dist/modules/manager/crossplane/schema.js +2 -2
  259. package/dist/modules/manager/crossplane/schema.js.map +1 -1
  260. package/dist/modules/manager/crow/extract.d.ts +2 -0
  261. package/dist/modules/manager/crow/extract.js +35 -0
  262. package/dist/modules/manager/crow/extract.js.map +1 -0
  263. package/dist/modules/manager/crow/index.d.ts +8 -0
  264. package/dist/modules/manager/crow/index.js +13 -0
  265. package/dist/modules/manager/crow/index.js.map +1 -0
  266. package/dist/modules/manager/crow/schema.d.ts +66 -0
  267. package/dist/modules/manager/crow/schema.js +15 -0
  268. package/dist/modules/manager/crow/schema.js.map +1 -0
  269. package/dist/modules/manager/custom/jsonata/schema.d.ts +1 -1
  270. package/dist/modules/manager/custom/jsonata/schema.js +4 -4
  271. package/dist/modules/manager/custom/jsonata/schema.js.map +1 -1
  272. package/dist/modules/manager/custom/jsonata/utils.js +3 -3
  273. package/dist/modules/manager/custom/jsonata/utils.js.map +1 -1
  274. package/dist/modules/manager/devbox/extract.js +1 -1
  275. package/dist/modules/manager/devbox/extract.js.map +1 -1
  276. package/dist/modules/manager/devbox/schema.d.ts +1 -1
  277. package/dist/modules/manager/devbox/schema.js +2 -2
  278. package/dist/modules/manager/devbox/schema.js.map +1 -1
  279. package/dist/modules/manager/devcontainer/schema.d.ts +1 -1
  280. package/dist/modules/manager/fingerprint.generated.js +35 -32
  281. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  282. package/dist/modules/manager/fleet/schema.d.ts +16 -16
  283. package/dist/modules/manager/flux/schema.d.ts +24 -24
  284. package/dist/modules/manager/github-actions/community.d.ts +96 -0
  285. package/dist/modules/manager/github-actions/community.js +116 -10
  286. package/dist/modules/manager/github-actions/community.js.map +1 -1
  287. package/dist/modules/manager/github-actions/extract.js +2 -1
  288. package/dist/modules/manager/github-actions/extract.js.map +1 -1
  289. package/dist/modules/manager/github-actions/schema.d.ts +3 -3
  290. package/dist/modules/manager/github-actions/schema.js +7 -7
  291. package/dist/modules/manager/github-actions/schema.js.map +1 -1
  292. package/dist/modules/manager/gitlabci/extract.js +2 -0
  293. package/dist/modules/manager/gitlabci/extract.js.map +1 -1
  294. package/dist/modules/manager/glasskube/schema.d.ts +12 -12
  295. package/dist/modules/manager/gleam/schema.d.ts +4 -4
  296. package/dist/modules/manager/gomod/artifacts.js +8 -4
  297. package/dist/modules/manager/gomod/artifacts.js.map +1 -1
  298. package/dist/modules/manager/gradle/parser/dependencies.js +23 -2
  299. package/dist/modules/manager/gradle/parser/dependencies.js.map +1 -1
  300. package/dist/modules/manager/gradle/parser/objects.js +15 -0
  301. package/dist/modules/manager/gradle/parser/objects.js.map +1 -1
  302. package/dist/modules/manager/gradle/parser.js +1 -1
  303. package/dist/modules/manager/gradle/parser.js.map +1 -1
  304. package/dist/modules/manager/helmfile/extract.js +26 -21
  305. package/dist/modules/manager/helmfile/extract.js.map +1 -1
  306. package/dist/modules/manager/helmfile/index.js +4 -1
  307. package/dist/modules/manager/helmfile/index.js.map +1 -1
  308. package/dist/modules/manager/helmfile/schema.d.ts +4 -4
  309. package/dist/modules/manager/maven-wrapper/artifacts.js +1 -1
  310. package/dist/modules/manager/maven-wrapper/artifacts.js.map +1 -1
  311. package/dist/modules/manager/maven-wrapper/extract.js +4 -4
  312. package/dist/modules/manager/maven-wrapper/extract.js.map +1 -1
  313. package/dist/modules/manager/maven-wrapper/index.d.ts +1 -1
  314. package/dist/modules/manager/maven-wrapper/index.js +5 -2
  315. package/dist/modules/manager/maven-wrapper/index.js.map +1 -1
  316. package/dist/modules/manager/mise/backends.d.ts +2 -2
  317. package/dist/modules/manager/mise/backends.js +1 -1
  318. package/dist/modules/manager/mise/backends.js.map +1 -1
  319. package/dist/modules/manager/mise/extract.js.map +1 -1
  320. package/dist/modules/manager/mise/schema.d.ts +6 -29
  321. package/dist/modules/manager/mise/schema.js +7 -8
  322. package/dist/modules/manager/mise/schema.js.map +1 -1
  323. package/dist/modules/manager/mise/upgradeable-tooling.js +1 -1
  324. package/dist/modules/manager/mise/upgradeable-tooling.js.map +1 -1
  325. package/dist/modules/manager/mise/utils.d.ts +2 -2
  326. package/dist/modules/manager/mise/utils.js +1 -1
  327. package/dist/modules/manager/mise/utils.js.map +1 -1
  328. package/dist/modules/manager/nix/artifacts.js +2 -2
  329. package/dist/modules/manager/nix/artifacts.js.map +1 -1
  330. package/dist/modules/manager/nix/extract.d.ts +2 -2
  331. package/dist/modules/manager/nix/extract.js +79 -67
  332. package/dist/modules/manager/nix/extract.js.map +1 -1
  333. package/dist/modules/manager/nix/index.d.ts +1 -0
  334. package/dist/modules/manager/nix/index.js +3 -1
  335. package/dist/modules/manager/nix/index.js.map +1 -1
  336. package/dist/modules/manager/nix/range.d.ts +3 -0
  337. package/dist/modules/manager/nix/range.js +10 -0
  338. package/dist/modules/manager/nix/range.js.map +1 -0
  339. package/dist/modules/manager/nix/schema.d.ts +42 -28
  340. package/dist/modules/manager/nix/schema.js +4 -1
  341. package/dist/modules/manager/nix/schema.js.map +1 -1
  342. package/dist/modules/manager/npm/extract/common/package-file.d.ts +1 -0
  343. package/dist/modules/manager/npm/extract/common/package-file.js +8 -0
  344. package/dist/modules/manager/npm/extract/common/package-file.js.map +1 -1
  345. package/dist/modules/manager/npm/extract/index.js +24 -7
  346. package/dist/modules/manager/npm/extract/index.js.map +1 -1
  347. package/dist/modules/manager/npm/extract/pnpm.d.ts +4 -3
  348. package/dist/modules/manager/npm/extract/pnpm.js +1 -1
  349. package/dist/modules/manager/npm/extract/pnpm.js.map +1 -1
  350. package/dist/modules/manager/npm/extract/post/locked-versions.js +6 -0
  351. package/dist/modules/manager/npm/extract/post/locked-versions.js.map +1 -1
  352. package/dist/modules/manager/npm/extract/yarn.d.ts +4 -0
  353. package/dist/modules/manager/npm/extract/yarn.js +35 -0
  354. package/dist/modules/manager/npm/extract/yarn.js.map +1 -1
  355. package/dist/modules/manager/npm/extract/yarnrc.d.ts +4 -4
  356. package/dist/modules/manager/npm/extract/yarnrc.js +1 -2
  357. package/dist/modules/manager/npm/extract/yarnrc.js.map +1 -1
  358. package/dist/modules/manager/npm/index.js +1 -0
  359. package/dist/modules/manager/npm/index.js.map +1 -1
  360. package/dist/modules/manager/npm/post-update/index.js +2 -1
  361. package/dist/modules/manager/npm/post-update/index.js.map +1 -1
  362. package/dist/modules/manager/npm/post-update/npm.js +14 -1
  363. package/dist/modules/manager/npm/post-update/npm.js.map +1 -1
  364. package/dist/modules/manager/npm/post-update/pnpm.js +6 -1
  365. package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
  366. package/dist/modules/manager/npm/post-update/types.d.ts +5 -5
  367. package/dist/modules/manager/npm/post-update/types.js.map +1 -1
  368. package/dist/modules/manager/npm/post-update/utils.d.ts +3 -4
  369. package/dist/modules/manager/npm/post-update/utils.js +2 -13
  370. package/dist/modules/manager/npm/post-update/utils.js.map +1 -1
  371. package/dist/modules/manager/npm/schema.d.ts +35 -97
  372. package/dist/modules/manager/npm/schema.js +21 -16
  373. package/dist/modules/manager/npm/schema.js.map +1 -1
  374. package/dist/modules/manager/npm/update/dependency/index.js +4 -0
  375. package/dist/modules/manager/npm/update/dependency/index.js.map +1 -1
  376. package/dist/modules/manager/npm/update/dependency/pnpm.js +1 -1
  377. package/dist/modules/manager/npm/update/dependency/pnpm.js.map +1 -1
  378. package/dist/modules/manager/npm/update/dependency/yarn.d.ts +2 -0
  379. package/dist/modules/manager/npm/update/dependency/yarn.js +102 -0
  380. package/dist/modules/manager/npm/update/dependency/yarn.js.map +1 -0
  381. package/dist/modules/manager/npm/utils.d.ts +2 -0
  382. package/dist/modules/manager/npm/utils.js +10 -0
  383. package/dist/modules/manager/npm/utils.js.map +1 -1
  384. package/dist/modules/manager/nuget/extract.js +5 -0
  385. package/dist/modules/manager/nuget/extract.js.map +1 -1
  386. package/dist/modules/manager/nuget/schema.d.ts +3 -56
  387. package/dist/modules/manager/nuget/schema.js +5 -6
  388. package/dist/modules/manager/nuget/schema.js.map +1 -1
  389. package/dist/modules/manager/nvm/extract.js +8 -1
  390. package/dist/modules/manager/nvm/extract.js.map +1 -1
  391. package/dist/modules/manager/ocb/extract.js +1 -1
  392. package/dist/modules/manager/ocb/extract.js.map +1 -1
  393. package/dist/modules/manager/ocb/schema.d.ts +4 -4
  394. package/dist/modules/manager/ocb/schema.js +9 -9
  395. package/dist/modules/manager/ocb/schema.js.map +1 -1
  396. package/dist/modules/manager/pep621/extract.d.ts +1 -1
  397. package/dist/modules/manager/pep621/extract.js +11 -3
  398. package/dist/modules/manager/pep621/extract.js.map +1 -1
  399. package/dist/modules/manager/pep621/processors/abstract.d.ts +10 -0
  400. package/dist/modules/manager/pep621/processors/abstract.js +25 -0
  401. package/dist/modules/manager/pep621/processors/abstract.js.map +1 -0
  402. package/dist/modules/manager/pep621/processors/hatch.d.ts +2 -2
  403. package/dist/modules/manager/pep621/processors/hatch.js +2 -1
  404. package/dist/modules/manager/pep621/processors/hatch.js.map +1 -1
  405. package/dist/modules/manager/pep621/processors/index.d.ts +2 -4
  406. package/dist/modules/manager/pep621/processors/index.js.map +1 -1
  407. package/dist/modules/manager/pep621/processors/pdm.d.ts +3 -2
  408. package/dist/modules/manager/pep621/processors/pdm.js +5 -4
  409. package/dist/modules/manager/pep621/processors/pdm.js.map +1 -1
  410. package/dist/modules/manager/pep621/processors/types.d.ts +1 -0
  411. package/dist/modules/manager/pep621/processors/types.js.map +1 -1
  412. package/dist/modules/manager/pep621/processors/uv.d.ts +3 -2
  413. package/dist/modules/manager/pep621/processors/uv.js +8 -6
  414. package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
  415. package/dist/modules/manager/pep621/schema.d.ts +35 -257
  416. package/dist/modules/manager/pep621/schema.js +17 -21
  417. package/dist/modules/manager/pep621/schema.js.map +1 -1
  418. package/dist/modules/manager/pep723/extract.js +1 -1
  419. package/dist/modules/manager/pep723/extract.js.map +1 -1
  420. package/dist/modules/manager/pep723/schema.d.ts +1 -1
  421. package/dist/modules/manager/pep723/schema.js +2 -2
  422. package/dist/modules/manager/pep723/schema.js.map +1 -1
  423. package/dist/modules/manager/pip-compile/extract.d.ts +1 -1
  424. package/dist/modules/manager/pip-compile/extract.js +9 -6
  425. package/dist/modules/manager/pip-compile/extract.js.map +1 -1
  426. package/dist/modules/manager/pixi/extract.js +4 -7
  427. package/dist/modules/manager/pixi/extract.js.map +1 -1
  428. package/dist/modules/manager/pixi/schema.d.ts +296 -4
  429. package/dist/modules/manager/pixi/schema.js +11 -4
  430. package/dist/modules/manager/pixi/schema.js.map +1 -1
  431. package/dist/modules/manager/poetry/artifacts.js +2 -2
  432. package/dist/modules/manager/poetry/artifacts.js.map +1 -1
  433. package/dist/modules/manager/poetry/extract.js +1 -1
  434. package/dist/modules/manager/poetry/extract.js.map +1 -1
  435. package/dist/modules/manager/poetry/index.d.ts +1 -0
  436. package/dist/modules/manager/poetry/index.js +2 -1
  437. package/dist/modules/manager/poetry/index.js.map +1 -1
  438. package/dist/modules/manager/poetry/schema.d.ts +45 -138
  439. package/dist/modules/manager/poetry/schema.js +49 -32
  440. package/dist/modules/manager/poetry/schema.js.map +1 -1
  441. package/dist/modules/manager/poetry/update-locked.js +2 -2
  442. package/dist/modules/manager/poetry/update-locked.js.map +1 -1
  443. package/dist/modules/manager/pre-commit/extract.js +2 -1
  444. package/dist/modules/manager/pre-commit/extract.js.map +1 -1
  445. package/dist/modules/manager/pub/extract.js +38 -8
  446. package/dist/modules/manager/pub/extract.js.map +1 -1
  447. package/dist/modules/manager/pub/index.d.ts +0 -1
  448. package/dist/modules/manager/pub/index.js +0 -3
  449. package/dist/modules/manager/pub/index.js.map +1 -1
  450. package/dist/modules/manager/pub/schema.d.ts +25 -79
  451. package/dist/modules/manager/pub/schema.js +17 -10
  452. package/dist/modules/manager/pub/schema.js.map +1 -1
  453. package/dist/modules/manager/pub/utils.d.ts +3 -3
  454. package/dist/modules/manager/pub/utils.js +2 -2
  455. package/dist/modules/manager/pub/utils.js.map +1 -1
  456. package/dist/modules/manager/quadlet/extract.d.ts +2 -0
  457. package/dist/modules/manager/quadlet/extract.js +54 -0
  458. package/dist/modules/manager/quadlet/extract.js.map +1 -0
  459. package/dist/modules/manager/quadlet/index.d.ts +8 -0
  460. package/dist/modules/manager/quadlet/index.js +13 -0
  461. package/dist/modules/manager/quadlet/index.js.map +1 -0
  462. package/dist/modules/manager/quadlet/schema.d.ts +45 -0
  463. package/dist/modules/manager/quadlet/schema.js +23 -0
  464. package/dist/modules/manager/quadlet/schema.js.map +1 -0
  465. package/dist/modules/manager/renovate-config-presets/extract.js +1 -1
  466. package/dist/modules/manager/renovate-config-presets/extract.js.map +1 -1
  467. package/dist/modules/manager/renovate-config-presets/index.js +1 -1
  468. package/dist/modules/manager/renovate-config-presets/index.js.map +1 -1
  469. package/dist/modules/manager/renovate-config-presets/schema.d.ts +1 -1
  470. package/dist/modules/manager/renovate-config-presets/schema.js +2 -2
  471. package/dist/modules/manager/renovate-config-presets/schema.js.map +1 -1
  472. package/dist/modules/manager/swift/extract.js +25 -9
  473. package/dist/modules/manager/swift/extract.js.map +1 -1
  474. package/dist/modules/manager/swift/index.js +7 -1
  475. package/dist/modules/manager/swift/index.js.map +1 -1
  476. package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js +1 -1
  477. package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js.map +1 -1
  478. package/dist/modules/manager/terraform/lockfile/hash.js +1 -1
  479. package/dist/modules/manager/terraform/lockfile/hash.js.map +1 -1
  480. package/dist/modules/manager/terragrunt/util.js +1 -1
  481. package/dist/modules/manager/terragrunt/util.js.map +1 -1
  482. package/dist/modules/manager/types.d.ts +2 -0
  483. package/dist/modules/manager/types.js.map +1 -1
  484. package/dist/modules/manager/typst/extract.d.ts +2 -0
  485. package/dist/modules/manager/typst/extract.js +31 -0
  486. package/dist/modules/manager/typst/extract.js.map +1 -0
  487. package/dist/modules/manager/typst/index.d.ts +7 -0
  488. package/dist/modules/manager/typst/index.js +12 -0
  489. package/dist/modules/manager/typst/index.js.map +1 -0
  490. package/dist/modules/manager/util.js +3 -2
  491. package/dist/modules/manager/util.js.map +1 -1
  492. package/dist/modules/manager/vendir/schema.d.ts +13 -13
  493. package/dist/modules/platform/azure/azure-helper.js +1 -1
  494. package/dist/modules/platform/azure/azure-helper.js.map +1 -1
  495. package/dist/modules/platform/azure/schema.d.ts +3 -3
  496. package/dist/modules/platform/azure/schema.js +4 -4
  497. package/dist/modules/platform/azure/schema.js.map +1 -1
  498. package/dist/modules/platform/bitbucket/index.js +12 -9
  499. package/dist/modules/platform/bitbucket/index.js.map +1 -1
  500. package/dist/modules/platform/bitbucket/schema.d.ts +7 -7
  501. package/dist/modules/platform/bitbucket/schema.js +7 -7
  502. package/dist/modules/platform/bitbucket/schema.js.map +1 -1
  503. package/dist/modules/platform/bitbucket-server/index.js +7 -6
  504. package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
  505. package/dist/modules/platform/bitbucket-server/schema.d.ts +16 -17
  506. package/dist/modules/platform/bitbucket-server/schema.js +6 -8
  507. package/dist/modules/platform/bitbucket-server/schema.js.map +1 -1
  508. package/dist/modules/platform/codecommit/index.d.ts +0 -8
  509. package/dist/modules/platform/codecommit/index.js +16 -16
  510. package/dist/modules/platform/codecommit/index.js.map +1 -1
  511. package/dist/modules/platform/forgejo/index.js +39 -38
  512. package/dist/modules/platform/forgejo/index.js.map +1 -1
  513. package/dist/modules/platform/forgejo/types.d.ts +3 -2
  514. package/dist/modules/platform/forgejo/types.js.map +1 -1
  515. package/dist/modules/platform/forgejo/utils.d.ts +1 -0
  516. package/dist/modules/platform/forgejo/utils.js +17 -0
  517. package/dist/modules/platform/forgejo/utils.js.map +1 -1
  518. package/dist/modules/platform/gerrit/client.d.ts +1 -1
  519. package/dist/modules/platform/gerrit/client.js +32 -33
  520. package/dist/modules/platform/gerrit/client.js.map +1 -1
  521. package/dist/modules/platform/gerrit/index.d.ts +1 -2
  522. package/dist/modules/platform/gerrit/index.js +8 -16
  523. package/dist/modules/platform/gerrit/index.js.map +1 -1
  524. package/dist/modules/platform/gerrit/scm.js +7 -13
  525. package/dist/modules/platform/gerrit/scm.js.map +1 -1
  526. package/dist/modules/platform/gerrit/types.d.ts +27 -1
  527. package/dist/modules/platform/gerrit/types.js.map +1 -1
  528. package/dist/modules/platform/gitea/index.js +34 -37
  529. package/dist/modules/platform/gitea/index.js.map +1 -1
  530. package/dist/modules/platform/gitea/schema.d.ts +3 -3
  531. package/dist/modules/platform/gitea/schema.js +3 -3
  532. package/dist/modules/platform/gitea/schema.js.map +1 -1
  533. package/dist/modules/platform/gitea/types.d.ts +3 -2
  534. package/dist/modules/platform/gitea/types.js.map +1 -1
  535. package/dist/modules/platform/gitea/utils.d.ts +1 -0
  536. package/dist/modules/platform/gitea/utils.js +17 -0
  537. package/dist/modules/platform/gitea/utils.js.map +1 -1
  538. package/dist/modules/platform/github/index.d.ts +1 -1
  539. package/dist/modules/platform/github/index.js +92 -33
  540. package/dist/modules/platform/github/index.js.map +1 -1
  541. package/dist/modules/platform/github/schema.d.ts +32 -2
  542. package/dist/modules/platform/github/schema.js +32 -8
  543. package/dist/modules/platform/github/schema.js.map +1 -1
  544. package/dist/modules/platform/github/types.d.ts +2 -2
  545. package/dist/modules/platform/github/types.js.map +1 -1
  546. package/dist/modules/platform/github/user.d.ts +2 -1
  547. package/dist/modules/platform/github/user.js.map +1 -1
  548. package/dist/modules/platform/gitlab/index.js.map +1 -1
  549. package/dist/modules/platform/gitlab/pr-cache.d.ts +0 -2
  550. package/dist/modules/platform/gitlab/pr-cache.js +28 -37
  551. package/dist/modules/platform/gitlab/pr-cache.js.map +1 -1
  552. package/dist/modules/platform/gitlab/utils.js +1 -0
  553. package/dist/modules/platform/gitlab/utils.js.map +1 -1
  554. package/dist/modules/platform/types.d.ts +1 -1
  555. package/dist/modules/platform/types.js.map +1 -1
  556. package/dist/modules/versioning/api.js +2 -0
  557. package/dist/modules/versioning/api.js.map +1 -1
  558. package/dist/modules/versioning/cargo/index.js +7 -7
  559. package/dist/modules/versioning/cargo/index.js.map +1 -1
  560. package/dist/modules/versioning/composer/index.js +0 -4
  561. package/dist/modules/versioning/composer/index.js.map +1 -1
  562. package/dist/modules/versioning/conan/index.js +1 -1
  563. package/dist/modules/versioning/conan/index.js.map +1 -1
  564. package/dist/modules/versioning/conda/index.d.ts +2 -0
  565. package/dist/modules/versioning/conda/index.js +4 -4
  566. package/dist/modules/versioning/conda/index.js.map +1 -1
  567. package/dist/modules/versioning/debian/index.d.ts +1 -1
  568. package/dist/modules/versioning/debian/index.js +2 -17
  569. package/dist/modules/versioning/debian/index.js.map +1 -1
  570. package/dist/modules/versioning/gradle/index.js +2 -2
  571. package/dist/modules/versioning/gradle/index.js.map +1 -1
  572. package/dist/modules/versioning/hashicorp/index.js +0 -1
  573. package/dist/modules/versioning/hashicorp/index.js.map +1 -1
  574. package/dist/modules/versioning/helm/index.js +0 -1
  575. package/dist/modules/versioning/helm/index.js.map +1 -1
  576. package/dist/modules/versioning/hex/index.js +0 -1
  577. package/dist/modules/versioning/hex/index.js.map +1 -1
  578. package/dist/modules/versioning/ivy/index.js +1 -2
  579. package/dist/modules/versioning/ivy/index.js.map +1 -1
  580. package/dist/modules/versioning/npm/index.js +0 -1
  581. package/dist/modules/versioning/npm/index.js.map +1 -1
  582. package/dist/modules/versioning/npm/range.js +2 -3
  583. package/dist/modules/versioning/npm/range.js.map +1 -1
  584. package/dist/modules/versioning/nuget/index.js +8 -4
  585. package/dist/modules/versioning/nuget/index.js.map +1 -1
  586. package/dist/modules/versioning/pep440/index.js +1 -1
  587. package/dist/modules/versioning/pep440/index.js.map +1 -1
  588. package/dist/modules/versioning/pep440/range.d.ts +1 -0
  589. package/dist/modules/versioning/pep440/range.js +4 -3
  590. package/dist/modules/versioning/pep440/range.js.map +1 -1
  591. package/dist/modules/versioning/poetry/index.js +0 -4
  592. package/dist/modules/versioning/poetry/index.js.map +1 -1
  593. package/dist/modules/versioning/rez/index.js +0 -1
  594. package/dist/modules/versioning/rez/index.js.map +1 -1
  595. package/dist/modules/versioning/ruby/index.js +5 -5
  596. package/dist/modules/versioning/ruby/index.js.map +1 -1
  597. package/dist/modules/versioning/ruby/strategies/index.d.ts +1 -2
  598. package/dist/modules/versioning/ruby/strategies/index.js +1 -3
  599. package/dist/modules/versioning/ruby/strategies/index.js.map +1 -1
  600. package/dist/modules/versioning/semver-partial/index.d.ts +8 -0
  601. package/dist/modules/versioning/semver-partial/index.js +211 -0
  602. package/dist/modules/versioning/semver-partial/index.js.map +1 -0
  603. package/dist/modules/versioning/swift/index.js +0 -1
  604. package/dist/modules/versioning/swift/index.js.map +1 -1
  605. package/dist/modules/versioning/types.d.ts +5 -0
  606. package/dist/modules/versioning/types.js.map +1 -1
  607. package/dist/renovate.js +0 -0
  608. package/dist/util/cache/package/decorator.js +20 -9
  609. package/dist/util/cache/package/decorator.js.map +1 -1
  610. package/dist/util/cache/package/file.d.ts +1 -1
  611. package/dist/util/cache/package/file.js +3 -3
  612. package/dist/util/cache/package/file.js.map +1 -1
  613. package/dist/util/cache/package/index.d.ts +9 -2
  614. package/dist/util/cache/package/index.js +19 -4
  615. package/dist/util/cache/package/index.js.map +1 -1
  616. package/dist/util/cache/package/namespaces.d.ts +1 -1
  617. package/dist/util/cache/package/namespaces.js +3 -0
  618. package/dist/util/cache/package/namespaces.js.map +1 -1
  619. package/dist/util/cache/package/redis.d.ts +1 -1
  620. package/dist/util/cache/package/redis.js +17 -7
  621. package/dist/util/cache/package/redis.js.map +1 -1
  622. package/dist/util/cache/package/sqlite.d.ts +1 -1
  623. package/dist/util/cache/package/sqlite.js +2 -2
  624. package/dist/util/cache/package/sqlite.js.map +1 -1
  625. package/dist/util/cache/package/types.d.ts +1 -1
  626. package/dist/util/cache/package/types.js.map +1 -1
  627. package/dist/util/cache/repository/http-cache.js +1 -1
  628. package/dist/util/cache/repository/http-cache.js.map +1 -1
  629. package/dist/util/cache/repository/schema.d.ts +1 -1
  630. package/dist/util/cache/repository/types.d.ts +1 -0
  631. package/dist/util/cache/repository/types.js.map +1 -1
  632. package/dist/util/emoji.js +2 -2
  633. package/dist/util/emoji.js.map +1 -1
  634. package/dist/util/exec/containerbase.js +5 -0
  635. package/dist/util/exec/containerbase.js.map +1 -1
  636. package/dist/util/git/index.js +6 -3
  637. package/dist/util/git/index.js.map +1 -1
  638. package/dist/util/git/private-key.js +23 -3
  639. package/dist/util/git/private-key.js.map +1 -1
  640. package/dist/util/git/types.d.ts +2 -1
  641. package/dist/util/git/types.js.map +1 -1
  642. package/dist/util/github/graphql/query-adapters/releases-query-adapter.d.ts +6 -6
  643. package/dist/util/http/bitbucket.js +0 -1
  644. package/dist/util/http/bitbucket.js.map +1 -1
  645. package/dist/util/http/cache/abstract-http-cache-provider.d.ts +7 -7
  646. package/dist/util/http/cache/abstract-http-cache-provider.js +11 -11
  647. package/dist/util/http/cache/abstract-http-cache-provider.js.map +1 -1
  648. package/dist/util/http/cache/memory-http-cache-provider.d.ts +3 -3
  649. package/dist/util/http/cache/memory-http-cache-provider.js +8 -8
  650. package/dist/util/http/cache/memory-http-cache-provider.js.map +1 -1
  651. package/dist/util/http/cache/package-http-cache-provider.d.ts +5 -4
  652. package/dist/util/http/cache/package-http-cache-provider.js +17 -11
  653. package/dist/util/http/cache/package-http-cache-provider.js.map +1 -1
  654. package/dist/util/http/cache/repository-http-cache-provider.d.ts +16 -3
  655. package/dist/util/http/cache/repository-http-cache-provider.js +60 -3
  656. package/dist/util/http/cache/repository-http-cache-provider.js.map +1 -1
  657. package/dist/util/http/cache/schema.d.ts +2 -2
  658. package/dist/util/http/cache/schema.js +2 -2
  659. package/dist/util/http/cache/schema.js.map +1 -1
  660. package/dist/util/http/cache/types.d.ts +3 -3
  661. package/dist/util/http/cache/types.js.map +1 -1
  662. package/dist/util/http/gerrit.d.ts +1 -1
  663. package/dist/util/http/gerrit.js +1 -1
  664. package/dist/util/http/gerrit.js.map +1 -1
  665. package/dist/util/http/gitlab.js +0 -1
  666. package/dist/util/http/gitlab.js.map +1 -1
  667. package/dist/util/http/host-rules.js +10 -0
  668. package/dist/util/http/host-rules.js.map +1 -1
  669. package/dist/util/http/http.d.ts +1 -1
  670. package/dist/util/http/http.js +17 -15
  671. package/dist/util/http/http.js.map +1 -1
  672. package/dist/util/http/retry-after.js +1 -1
  673. package/dist/util/http/retry-after.js.map +1 -1
  674. package/dist/util/interpolator.js +2 -0
  675. package/dist/util/interpolator.js.map +1 -1
  676. package/dist/util/markdown.js +3 -3
  677. package/dist/util/markdown.js.map +1 -1
  678. package/dist/util/merge-confidence/index.js +3 -1
  679. package/dist/util/merge-confidence/index.js.map +1 -1
  680. package/dist/util/schema-utils/index.d.ts +8 -4
  681. package/dist/util/schema-utils/index.js +16 -1
  682. package/dist/util/schema-utils/index.js.map +1 -1
  683. package/dist/util/template/index.d.ts +1 -0
  684. package/dist/util/template/index.js +70 -64
  685. package/dist/util/template/index.js.map +1 -1
  686. package/dist/workers/global/config/parse/file.js +6 -0
  687. package/dist/workers/global/config/parse/file.js.map +1 -1
  688. package/dist/workers/global/config/parse/index.js +2 -1
  689. package/dist/workers/global/config/parse/index.js.map +1 -1
  690. package/dist/workers/repository/config-migration/branch/commit-message.js +2 -1
  691. package/dist/workers/repository/config-migration/branch/commit-message.js.map +1 -1
  692. package/dist/workers/repository/config-migration/branch/create.js +1 -0
  693. package/dist/workers/repository/config-migration/branch/create.js.map +1 -1
  694. package/dist/workers/repository/config-migration/branch/rebase.js +1 -0
  695. package/dist/workers/repository/config-migration/branch/rebase.js.map +1 -1
  696. package/dist/workers/repository/dependency-dashboard.js +42 -5
  697. package/dist/workers/repository/dependency-dashboard.js.map +1 -1
  698. package/dist/workers/repository/error-config.js +1 -1
  699. package/dist/workers/repository/error-config.js.map +1 -1
  700. package/dist/workers/repository/error.js +1 -1
  701. package/dist/workers/repository/error.js.map +1 -1
  702. package/dist/workers/repository/extract/supersedes.d.ts +1 -1
  703. package/dist/workers/repository/extract/supersedes.js +31 -17
  704. package/dist/workers/repository/extract/supersedes.js.map +1 -1
  705. package/dist/workers/repository/finalize/index.js +1 -1
  706. package/dist/workers/repository/finalize/index.js.map +1 -1
  707. package/dist/workers/repository/finalize/prune.js +4 -3
  708. package/dist/workers/repository/finalize/prune.js.map +1 -1
  709. package/dist/workers/repository/index.js +49 -20
  710. package/dist/workers/repository/index.js.map +1 -1
  711. package/dist/workers/repository/init/inherited.js +7 -0
  712. package/dist/workers/repository/init/inherited.js.map +1 -1
  713. package/dist/workers/repository/init/merge.js +1 -1
  714. package/dist/workers/repository/init/merge.js.map +1 -1
  715. package/dist/workers/repository/onboarding/branch/check.js +5 -3
  716. package/dist/workers/repository/onboarding/branch/check.js.map +1 -1
  717. package/dist/workers/repository/onboarding/branch/create.js +1 -0
  718. package/dist/workers/repository/onboarding/branch/create.js.map +1 -1
  719. package/dist/workers/repository/onboarding/branch/rebase.js +1 -0
  720. package/dist/workers/repository/onboarding/branch/rebase.js.map +1 -1
  721. package/dist/workers/repository/onboarding/common.js +3 -2
  722. package/dist/workers/repository/onboarding/common.js.map +1 -1
  723. package/dist/workers/repository/process/extract-update.js +2 -2
  724. package/dist/workers/repository/process/extract-update.js.map +1 -1
  725. package/dist/workers/repository/process/fetch.js +4 -3
  726. package/dist/workers/repository/process/fetch.js.map +1 -1
  727. package/dist/workers/repository/process/index.d.ts +1 -0
  728. package/dist/workers/repository/process/index.js +25 -5
  729. package/dist/workers/repository/process/index.js.map +1 -1
  730. package/dist/workers/repository/process/lookup/filter-checks.js +42 -8
  731. package/dist/workers/repository/process/lookup/filter-checks.js.map +1 -1
  732. package/dist/workers/repository/process/lookup/filter.js +5 -7
  733. package/dist/workers/repository/process/lookup/filter.js.map +1 -1
  734. package/dist/workers/repository/process/lookup/index.js +10 -13
  735. package/dist/workers/repository/process/lookup/index.js.map +1 -1
  736. package/dist/workers/repository/process/vulnerabilities.d.ts +1 -1
  737. package/dist/workers/repository/process/vulnerabilities.js +13 -8
  738. package/dist/workers/repository/process/vulnerabilities.js.map +1 -1
  739. package/dist/workers/repository/reconfigure/comment.js +1 -1
  740. package/dist/workers/repository/reconfigure/comment.js.map +1 -1
  741. package/dist/workers/repository/reconfigure/index.js +1 -1
  742. package/dist/workers/repository/reconfigure/index.js.map +1 -1
  743. package/dist/workers/repository/update/branch/commit.js +2 -0
  744. package/dist/workers/repository/update/branch/commit.js.map +1 -1
  745. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js +12 -1
  746. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js.map +1 -1
  747. package/dist/workers/repository/update/branch/index.js +65 -20
  748. package/dist/workers/repository/update/branch/index.js.map +1 -1
  749. package/dist/workers/repository/update/branch/status-checks.js +5 -0
  750. package/dist/workers/repository/update/branch/status-checks.js.map +1 -1
  751. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js +1 -1
  752. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js.map +1 -1
  753. package/dist/workers/repository/update/pr/changelog/forgejo/index.js +3 -3
  754. package/dist/workers/repository/update/pr/changelog/forgejo/index.js.map +1 -1
  755. package/dist/workers/repository/update/pr/changelog/gitea/index.js +3 -3
  756. package/dist/workers/repository/update/pr/changelog/gitea/index.js.map +1 -1
  757. package/dist/workers/repository/update/pr/changelog/release-notes.js +9 -4
  758. package/dist/workers/repository/update/pr/changelog/release-notes.js.map +1 -1
  759. package/dist/workers/repository/update/pr/index.js +28 -11
  760. package/dist/workers/repository/update/pr/index.js.map +1 -1
  761. package/dist/workers/repository/update/pr/pr-reuse.d.ts +1 -1
  762. package/dist/workers/repository/update/pr/pr-reuse.js +2 -2
  763. package/dist/workers/repository/update/pr/pr-reuse.js.map +1 -1
  764. package/dist/workers/repository/updates/generate.js +1 -0
  765. package/dist/workers/repository/updates/generate.js.map +1 -1
  766. package/dist/workers/types.d.ts +1 -0
  767. package/dist/workers/types.js.map +1 -1
  768. package/package.json +136 -153
  769. package/renovate-schema.json +325 -111
  770. package/dist/config/decrypt/kbpgp.d.ts +0 -1
  771. package/dist/config/decrypt/kbpgp.js +0 -58
  772. package/dist/config/decrypt/kbpgp.js.map +0 -1
  773. package/dist/config/decrypt/legacy.d.ts +0 -2
  774. package/dist/config/decrypt/legacy.js +0 -36
  775. package/dist/config/decrypt/legacy.js.map +0 -1
  776. package/dist/modules/versioning/ruby/strategies/pin.d.ts +0 -4
  777. package/dist/modules/versioning/ruby/strategies/pin.js +0 -4
  778. package/dist/modules/versioning/ruby/strategies/pin.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"range.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/pep440/range.ts"],"names":[],"mappings":"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","sourcesContent":["import { gte, lt, lte, satisfies } from '@renovatebot/pep440';\nimport { parse as parseRange } from '@renovatebot/pep440/lib/specifier.js';\nimport { parse as parseVersion } from '@renovatebot/pep440/lib/version.js';\nimport { logger } from '../../../logger';\nimport { coerceArray } from '../../../util/array';\nimport { regEx } from '../../../util/regex';\nimport type { NewValueConfig } from '../types';\n\nconst UserPolicyPrecisionMap = {\n Major: 0,\n Minor: 1,\n Micro: 2,\n Bug: 3,\n None: Infinity,\n} as const;\nconst PrecisionUserPolicyMap = {\n 0: 'Major',\n 1: 'Minor',\n 2: 'Micro',\n 3: 'Bug',\n} as const;\n\ntype UserPolicy =\n (typeof UserPolicyPrecisionMap)[keyof typeof UserPolicyPrecisionMap];\n\n/**\n * Calculate current update range precision.\n * @param ranges A {@link Range} consists of current range\n * @returns A {@link UserPolicy}\n */\nfunction getRangePrecision(ranges: Range[]): UserPolicy {\n const bound = coerceArray(\n parseVersion((ranges[1] || ranges[0]).version)?.release,\n );\n let rangePrecision = -1;\n // range is defined by a single bound.\n // ie. <1.2.2.3,\n // >=7\n if (ranges.length === 1) {\n rangePrecision = bound.length - 1;\n }\n // Range is defined by both upper and lower bounds.\n if (ranges.length === 2) {\n const lowerBound = coerceArray(parseVersion(ranges[0].version)?.release);\n rangePrecision = bound.findIndex((el, index) => el > lowerBound[index]);\n }\n // Tune down Major precision if followed by a zero\n if (\n rangePrecision === UserPolicyPrecisionMap.Major &&\n rangePrecision + 1 < bound.length &&\n bound[rangePrecision + 1] === 0\n ) {\n rangePrecision++;\n }\n // Could not calculate user precision\n // Default to the smallest possible\n // istanbul ignore next\n if (rangePrecision === -1) {\n rangePrecision = bound.length - 1;\n }\n const key =\n PrecisionUserPolicyMap[\n rangePrecision as keyof typeof PrecisionUserPolicyMap\n ];\n return UserPolicyPrecisionMap[key as keyof typeof UserPolicyPrecisionMap];\n}\n\n/**\n * @param policy Required range precision\n * @param newVersion The newly accepted version\n * @param baseVersion Optional Current upper bound\n * @returns A string represents a future version upper bound.\n */\nfunction getFutureVersion(\n policy: UserPolicy,\n newVersion: string,\n baseVersion?: string,\n): number[] {\n const toRelease = coerceArray(parseVersion(newVersion)?.release);\n const baseRelease = coerceArray(\n parseVersion(baseVersion ?? newVersion)?.release,\n );\n return baseRelease.map((_, index) => {\n const toPart = toRelease[index] ?? 0;\n if (index < policy) {\n return toPart;\n }\n if (index === policy) {\n return toPart + (baseVersion === undefined ? 0 : 1);\n }\n return 0;\n });\n}\n\ninterface Range {\n operator: string;\n prefix?: string;\n version: string;\n}\n\nexport function getNewValue({\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n isReplacement,\n}: NewValueConfig): string | null {\n let ranges: Range[];\n let updatedRange: (string | null)[];\n if (rangeStrategy === 'pin' && !isReplacement) {\n return '==' + newVersion;\n }\n\n // no symbol: accept only that specific version specified\n if (currentValue === currentVersion || isReplacement) {\n return newVersion;\n }\n\n try {\n ranges = parseCurrentRange(currentValue);\n if (!ranges.length) {\n // an empty string is an allowed value for PEP440 range\n // it means get any version\n logger.warn({ currentValue }, 'Empty currentValue');\n return currentValue;\n }\n } catch (err) {\n logger.warn({ currentValue, err }, 'Unexpected range error');\n return null;\n }\n\n // return early if newVersion is excluded from range\n if (\n ranges.some(\n (range) => range.operator === '!=' && range.version === newVersion,\n )\n ) {\n logger.debug(\n `Cannot calculate new value as the newVersion:\\`${newVersion}\\` is excluded from range: \\`${currentValue}\\``,\n );\n return null;\n }\n\n switch (rangeStrategy) {\n case 'auto':\n case 'replace':\n updatedRange = handleReplaceStrategy(\n {\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n },\n ranges,\n );\n break;\n case 'widen':\n updatedRange = handleWidenStrategy(\n {\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n },\n ranges,\n );\n break;\n case 'bump':\n updatedRange = handleBumpStrategy(\n {\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n },\n ranges,\n );\n break;\n default:\n // Unsupported rangeStrategy\n // Valid rangeStrategy values are: bump, extend, pin, replace.\n // https://docs.renovatebot.com/modules/versioning/#pep440-versioning\n logger.debug(\n 'Unsupported rangeStrategy: ' +\n rangeStrategy +\n '. Using \"replace\" instead.',\n );\n return getNewValue({\n currentValue,\n rangeStrategy: 'replace',\n currentVersion,\n newVersion,\n });\n }\n\n let result = updatedRange.filter(Boolean).join(', ');\n\n if (result.includes(', ') && !currentValue.includes(', ')) {\n result = result.replace(regEx(/, /g), ',');\n }\n const checkedResult = checkRangeAndRemoveUnnecessaryRangeLimit(\n result,\n newVersion,\n );\n\n // istanbul ignore if\n if (!satisfies(newVersion, checkedResult)) {\n // we failed at creating the range\n logger.warn(\n { result, newVersion, currentValue },\n 'pep440: failed to calculate newValue',\n );\n return null;\n }\n return checkedResult;\n}\n\nexport function isLessThanRange(input: string, range: string): boolean {\n try {\n let invertResult = true;\n\n const results = range\n .split(',')\n .map((x) =>\n x\n .replace(regEx(/\\s*/g), '')\n .split(regEx(/(~=|==|!=|<=|>=|<|>|===)/))\n .slice(1),\n )\n .map(([op, version]) => {\n if (['!=', '<=', '<'].includes(op)) {\n return true;\n }\n invertResult = false;\n if (['~=', '==', '>=', '==='].includes(op)) {\n return lt(input, version);\n }\n if (op === '>') {\n return lte(input, version);\n }\n // istanbul ignore next\n return false;\n });\n\n const result = results.every((res) => res === true);\n\n return invertResult ? !result : result;\n } catch /* istanbul ignore next */ {\n return false;\n }\n}\n\nfunction parseCurrentRange(currentValue: string): Range[] {\n const ranges: Range[] = parseRange(currentValue);\n if (!ranges) {\n throw new TypeError('Invalid pep440 currentValue');\n }\n if (ranges.some((range) => range.operator === '===')) {\n // the operator \"===\" is used for legacy non PEP440 versions\n throw new TypeError('PEP440 arbitrary equality (===) not supported');\n }\n return ranges;\n}\n\nfunction handleLowerBound(range: Range, newVersion: string): string | null {\n // used to mark minimum supported version\n // lower the bound if the new version is lower than current range\n if (['>', '>='].includes(range.operator)) {\n if (lte(newVersion, range.version)) {\n // this looks like a rollback\n return '>=' + newVersion;\n }\n // otherwise, treat it same as exclude\n return range.operator + range.version;\n }\n // istanbul ignore next\n return null;\n}\n\nfunction handleUpperBound(range: Range, newVersion: string): string | null {\n // this is used to exclude future versions\n if (range.operator === '<') {\n // if newVersion is that future version\n if (gte(newVersion, range.version)) {\n // now here things get tricky\n // we calculate the new future version\n const precision = getRangePrecision([range]);\n const futureVersion = getFutureVersion(\n precision,\n newVersion,\n range.version,\n );\n return range.operator + futureVersion.join('.');\n }\n // newVersion is in range, for other than \"replace\" strategies\n return range.operator + range.version;\n }\n // istanbul ignore next\n return null;\n}\n\nfunction updateRangeValue(\n { currentValue, rangeStrategy, currentVersion, newVersion }: NewValueConfig,\n range: Range,\n): string | null {\n // used to exclude versions,\n // we assume that's for a good reason\n if (range.operator === '!=') {\n return range.operator + range.version;\n }\n\n // keep the .* suffix\n if (range.prefix) {\n const futureVersion = getFutureVersion(\n UserPolicyPrecisionMap.None,\n newVersion,\n range.version,\n ).join('.');\n return range.operator + futureVersion + '.*';\n }\n if (range.operator === '~=') {\n const baseVersion = coerceArray(parseVersion(range.version)?.release);\n const futureVersion = coerceArray(parseVersion(newVersion)?.release);\n const baseLen = baseVersion.length;\n const newVerLen = futureVersion.length;\n // trim redundant trailing version specifiers\n if (baseLen < newVerLen) {\n return (\n range.operator + futureVersion.slice(0, baseVersion.length).join('.')\n );\n }\n // pad with specifiers\n if (baseLen > newVerLen) {\n for (let i = baseLen - newVerLen - 1; i >= 0; i--) {\n futureVersion.push(0);\n }\n return range.operator + futureVersion.join('.');\n }\n return range.operator + newVersion;\n }\n if (['==', '<='].includes(range.operator)) {\n if (lte(newVersion, range.version)) {\n return range.operator + range.version;\n }\n return range.operator + newVersion;\n }\n\n let output = handleUpperBound(range, newVersion);\n if (output) {\n // manged to update upperbound\n // no need to try anything else\n return output;\n }\n output = handleLowerBound(range, newVersion);\n if (output) {\n return output;\n }\n\n // unless PEP440 changes, this won't happen\n // istanbul ignore next\n logger.error(\n { newVersion, currentValue, range },\n 'pep440: failed to process range',\n );\n // istanbul ignore next\n return null;\n}\n\n/**\n * Checks for zero specifiers.\n * returns true if one of the bounds' length is < 3.\n * @param ranges A {@link Range} array.\n * @returns A boolean value\n * Used mainly for cosmetics for the rez versioning syntax.\n */\nfunction hasZeroSpecifier(ranges: Range[]): boolean {\n return ranges.some((range) => {\n const release = parseVersion(range.version)?.release;\n return release && release.length < 3;\n });\n}\n\nfunction trimTrailingZeros(numbers: number[]): number[] {\n let i = numbers.length - 1;\n while (numbers[i] === 0) {\n i--;\n }\n return numbers.slice(0, i + 1);\n}\n\nfunction divideCompatibleReleaseRange(currentRange: Range): Range[] {\n const currentVersionUpperBound = currentRange.version\n .split('.')\n .map((num) => parseInt(num));\n if (currentVersionUpperBound.length > 1) {\n currentVersionUpperBound.splice(-1);\n }\n currentVersionUpperBound[currentVersionUpperBound.length - 1] += 1;\n return [\n { operator: '>=', version: currentRange.version },\n {\n operator: '<',\n version: currentVersionUpperBound.join('.'),\n },\n ];\n}\n\nfunction handleWidenStrategy(\n { currentValue, rangeStrategy, currentVersion, newVersion }: NewValueConfig,\n ranges: Range[],\n): (string | null)[] {\n // newVersion is within range\n if (satisfies(newVersion, currentValue)) {\n return [currentValue];\n }\n let rangePrecision = getRangePrecision(ranges);\n const trimZeros = hasZeroSpecifier(ranges);\n let newRanges: Range[] = [];\n if (ranges.length === 1 && ranges[0].operator === '~=') {\n // If range operator is '~=', divide the range into its logical equivalent.\n // Example: ~=1.0 --> >=1.0,<2\n newRanges = divideCompatibleReleaseRange(ranges[0]);\n } else {\n newRanges = ranges;\n }\n return newRanges.map((range) => {\n // newVersion is over the upper bound\n if (range.operator === '<' && gte(newVersion, range.version)) {\n const upperBound = coerceArray(parseVersion(range.version)?.release);\n const len = upperBound.length;\n // Match the precision of the smallest specifier if other than 0\n if (upperBound[len - 1] !== 0) {\n const key =\n PrecisionUserPolicyMap[\n (len - 1) as keyof typeof PrecisionUserPolicyMap\n ];\n rangePrecision =\n UserPolicyPrecisionMap[key as keyof typeof UserPolicyPrecisionMap];\n }\n let futureVersion = getFutureVersion(\n rangePrecision,\n newVersion,\n range.version,\n );\n if (trimZeros) {\n futureVersion = trimTrailingZeros(futureVersion);\n }\n return range.operator + futureVersion.join('.');\n }\n // default\n return updateRangeValue(\n {\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n },\n range,\n );\n });\n}\n\nfunction handleReplaceStrategy(\n { currentValue, rangeStrategy, currentVersion, newVersion }: NewValueConfig,\n ranges: Range[],\n): (string | null)[] {\n // newVersion is within range\n if (satisfies(newVersion, currentValue)) {\n return [currentValue];\n }\n const trimZeros = hasZeroSpecifier(ranges);\n return ranges.map((range) => {\n // newVersion is over the upper bound\n if (range.operator === '<' && gte(newVersion, range.version)) {\n const rangePrecision = getRangePrecision(ranges);\n let futureVersion = getFutureVersion(\n rangePrecision,\n newVersion,\n range.version,\n );\n if (trimZeros) {\n futureVersion = trimTrailingZeros(futureVersion);\n }\n return range.operator + futureVersion.join('.');\n }\n // handle lower bound\n if (['>', '>='].includes(range.operator)) {\n if (lte(newVersion, range.version)) {\n // this looks like a rollback\n return '>=' + newVersion;\n }\n // update the lower bound to reflect the accepted new version\n const lowerBound = coerceArray(parseVersion(range.version)?.release);\n const rangePrecision = lowerBound.length - 1;\n let newBase = getFutureVersion(rangePrecision, newVersion);\n if (trimZeros) {\n newBase = trimTrailingZeros(newBase);\n }\n // trim last element of the newBase when new accepted version is out of range.\n // example: let new bound be >8.2.5 & newVersion be 8.2.5\n // return value will be: >8.2\n if (range.operator === '>') {\n if (newVersion === newBase.join('.') && newBase.length > 1) {\n newBase.pop();\n }\n }\n return range.operator + newBase.join('.');\n }\n // default\n return updateRangeValue(\n {\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n },\n range,\n );\n });\n}\n\nfunction handleBumpStrategy(\n { currentValue, rangeStrategy, currentVersion, newVersion }: NewValueConfig,\n ranges: Range[],\n): (string | null)[] {\n return ranges.map((range) => {\n // bump lower bound to current new version\n if (range.operator === '>=') {\n return range.operator + newVersion;\n }\n return updateRangeValue(\n {\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n },\n range,\n );\n });\n}\n\nexport function checkRangeAndRemoveUnnecessaryRangeLimit(\n rangeInput: string,\n newVersion: string,\n): string {\n let newRange: string = rangeInput;\n if (rangeInput.includes(',')) {\n const newRes = rangeInput.split(',');\n if (\n newRes[0].includes('.*') &&\n newRes[0].includes('==') &&\n newRes[1].includes('>=')\n ) {\n if (satisfies(newVersion, newRes[0])) {\n newRange = newRes[0];\n }\n }\n } else {\n return rangeInput;\n }\n\n return newRange;\n}\n"]}
1
+ {"version":3,"file":"range.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/pep440/range.ts"],"names":[],"mappings":"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","sourcesContent":["import { gte, lt, lte, satisfies } from '@renovatebot/pep440';\nimport { parse as parseRange } from '@renovatebot/pep440/lib/specifier.js';\nimport { parse as parseVersion } from '@renovatebot/pep440/lib/version.js';\nimport { logger } from '../../../logger';\nimport { coerceArray } from '../../../util/array';\nimport { regEx } from '../../../util/regex';\nimport type { NewValueConfig } from '../types';\n\nconst UserPolicyPrecisionMap = {\n Major: 0,\n Minor: 1,\n Micro: 2,\n Bug: 3,\n None: Infinity,\n} as const;\nconst PrecisionUserPolicyMap = {\n 0: 'Major',\n 1: 'Minor',\n 2: 'Micro',\n 3: 'Bug',\n} as const;\n\ntype UserPolicy =\n (typeof UserPolicyPrecisionMap)[keyof typeof UserPolicyPrecisionMap];\n\n/**\n * Calculate current update range precision.\n * @param ranges A {@link Range} consists of current range\n * @returns A {@link UserPolicy}\n */\nfunction getRangePrecision(ranges: Range[]): UserPolicy {\n const bound = coerceArray(\n parseVersion((ranges[1] || ranges[0]).version)?.release,\n );\n let rangePrecision = -1;\n // range is defined by a single bound.\n // ie. <1.2.2.3,\n // >=7\n if (ranges.length === 1) {\n rangePrecision = bound.length - 1;\n }\n // Range is defined by both upper and lower bounds.\n if (ranges.length === 2) {\n const lowerBound = coerceArray(parseVersion(ranges[0].version)?.release);\n rangePrecision = bound.findIndex((el, index) => el > lowerBound[index]);\n }\n // Tune down Major precision if followed by a zero\n if (\n rangePrecision === UserPolicyPrecisionMap.Major &&\n rangePrecision + 1 < bound.length &&\n bound[rangePrecision + 1] === 0\n ) {\n rangePrecision++;\n }\n // Could not calculate user precision\n // Default to the smallest possible\n // istanbul ignore next\n if (rangePrecision === -1) {\n rangePrecision = bound.length - 1;\n }\n const key =\n PrecisionUserPolicyMap[\n rangePrecision as keyof typeof PrecisionUserPolicyMap\n ];\n return UserPolicyPrecisionMap[key as keyof typeof UserPolicyPrecisionMap];\n}\n\n/**\n * @param policy Required range precision\n * @param newVersion The newly accepted version\n * @param baseVersion Optional Current upper bound\n * @returns A string represents a future version upper bound.\n */\nfunction getFutureVersion(\n policy: UserPolicy,\n newVersion: string,\n baseVersion?: string,\n): number[] {\n const toRelease = coerceArray(parseVersion(newVersion)?.release);\n const baseRelease = coerceArray(\n parseVersion(baseVersion ?? newVersion)?.release,\n );\n return baseRelease.map((_, index) => {\n const toPart = toRelease[index] ?? 0;\n if (index < policy) {\n return toPart;\n }\n if (index === policy) {\n return toPart + (baseVersion === undefined ? 0 : 1);\n }\n return 0;\n });\n}\n\ninterface Range {\n operator: string;\n prefix?: string;\n version: string;\n}\n\nexport function getPinnedValue(newVersion: string): string {\n return `==${newVersion}`;\n}\n\nexport function getNewValue({\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n isReplacement,\n}: NewValueConfig): string | null {\n let ranges: Range[];\n let updatedRange: (string | null)[];\n\n // no symbol: accept only that specific version specified\n if (currentValue === currentVersion || isReplacement) {\n return newVersion;\n }\n\n try {\n ranges = parseCurrentRange(currentValue);\n if (!ranges.length) {\n // an empty string is an allowed value for PEP440 range\n // it means get any version\n logger.warn({ currentValue }, 'Empty currentValue');\n return currentValue;\n }\n } catch (err) {\n logger.warn({ currentValue, err }, 'Unexpected range error');\n return null;\n }\n\n // return early if newVersion is excluded from range\n if (\n ranges.some(\n (range) => range.operator === '!=' && range.version === newVersion,\n )\n ) {\n logger.debug(\n `Cannot calculate new value as the newVersion:\\`${newVersion}\\` is excluded from range: \\`${currentValue}\\``,\n );\n return null;\n }\n\n switch (rangeStrategy) {\n case 'auto':\n case 'replace':\n updatedRange = handleReplaceStrategy(\n {\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n },\n ranges,\n );\n break;\n case 'widen':\n updatedRange = handleWidenStrategy(\n {\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n },\n ranges,\n );\n break;\n case 'bump':\n updatedRange = handleBumpStrategy(\n {\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n },\n ranges,\n );\n break;\n default:\n // Unsupported rangeStrategy\n // Valid rangeStrategy values are: bump, extend, pin, replace.\n // https://docs.renovatebot.com/modules/versioning/#pep440-versioning\n logger.debug(\n 'Unsupported rangeStrategy: ' +\n rangeStrategy +\n '. Using \"replace\" instead.',\n );\n return getNewValue({\n currentValue,\n rangeStrategy: 'replace',\n currentVersion,\n newVersion,\n });\n }\n\n let result = updatedRange.filter(Boolean).join(', ');\n\n if (result.includes(', ') && !currentValue.includes(', ')) {\n result = result.replace(regEx(/, /g), ',');\n }\n const checkedResult = checkRangeAndRemoveUnnecessaryRangeLimit(\n result,\n newVersion,\n );\n\n // istanbul ignore if\n if (!satisfies(newVersion, checkedResult)) {\n // we failed at creating the range\n logger.warn(\n { result, newVersion, currentValue },\n 'pep440: failed to calculate newValue',\n );\n return null;\n }\n return checkedResult;\n}\n\nexport function isLessThanRange(input: string, range: string): boolean {\n try {\n let invertResult = true;\n\n const results = range\n .split(',')\n .map((x) =>\n x\n .replace(regEx(/\\s*/g), '')\n .split(regEx(/(~=|==|!=|<=|>=|<|>|===)/))\n .slice(1),\n )\n .map(([op, version]) => {\n if (['!=', '<=', '<'].includes(op)) {\n return true;\n }\n invertResult = false;\n if (['~=', '==', '>=', '==='].includes(op)) {\n return lt(input, version);\n }\n if (op === '>') {\n return lte(input, version);\n }\n // istanbul ignore next\n return false;\n });\n\n const result = results.every((res) => res === true);\n\n return invertResult ? !result : result;\n } catch /* istanbul ignore next */ {\n return false;\n }\n}\n\nfunction parseCurrentRange(currentValue: string): Range[] {\n const ranges: Range[] = parseRange(currentValue);\n if (!ranges) {\n throw new TypeError('Invalid pep440 currentValue');\n }\n if (ranges.some((range) => range.operator === '===')) {\n // the operator \"===\" is used for legacy non PEP440 versions\n throw new TypeError('PEP440 arbitrary equality (===) not supported');\n }\n return ranges;\n}\n\nfunction handleLowerBound(range: Range, newVersion: string): string | null {\n // used to mark minimum supported version\n // lower the bound if the new version is lower than current range\n if (['>', '>='].includes(range.operator)) {\n if (lte(newVersion, range.version)) {\n // this looks like a rollback\n return '>=' + newVersion;\n }\n // otherwise, treat it same as exclude\n return range.operator + range.version;\n }\n // istanbul ignore next\n return null;\n}\n\nfunction handleUpperBound(range: Range, newVersion: string): string | null {\n // this is used to exclude future versions\n if (range.operator === '<') {\n // if newVersion is that future version\n if (gte(newVersion, range.version)) {\n // now here things get tricky\n // we calculate the new future version\n const precision = getRangePrecision([range]);\n const futureVersion = getFutureVersion(\n precision,\n newVersion,\n range.version,\n );\n return range.operator + futureVersion.join('.');\n }\n // newVersion is in range, for other than \"replace\" strategies\n return range.operator + range.version;\n }\n // istanbul ignore next\n return null;\n}\n\nfunction updateRangeValue(\n { currentValue, rangeStrategy, currentVersion, newVersion }: NewValueConfig,\n range: Range,\n): string | null {\n // used to exclude versions,\n // we assume that's for a good reason\n if (range.operator === '!=') {\n return range.operator + range.version;\n }\n\n // keep the .* suffix\n if (range.prefix) {\n const futureVersion = getFutureVersion(\n UserPolicyPrecisionMap.None,\n newVersion,\n range.version,\n ).join('.');\n return range.operator + futureVersion + '.*';\n }\n if (range.operator === '~=') {\n const baseVersion = coerceArray(parseVersion(range.version)?.release);\n const futureVersion = coerceArray(parseVersion(newVersion)?.release);\n const baseLen = baseVersion.length;\n const newVerLen = futureVersion.length;\n // trim redundant trailing version specifiers\n if (baseLen < newVerLen) {\n return (\n range.operator + futureVersion.slice(0, baseVersion.length).join('.')\n );\n }\n // pad with specifiers\n if (baseLen > newVerLen) {\n for (let i = baseLen - newVerLen - 1; i >= 0; i--) {\n futureVersion.push(0);\n }\n return range.operator + futureVersion.join('.');\n }\n return range.operator + newVersion;\n }\n if (['==', '<='].includes(range.operator)) {\n if (lte(newVersion, range.version)) {\n return range.operator + range.version;\n }\n return range.operator + newVersion;\n }\n\n let output = handleUpperBound(range, newVersion);\n if (output) {\n // manged to update upperbound\n // no need to try anything else\n return output;\n }\n output = handleLowerBound(range, newVersion);\n if (output) {\n return output;\n }\n\n // unless PEP440 changes, this won't happen\n // istanbul ignore next\n logger.error(\n { newVersion, currentValue, range },\n 'pep440: failed to process range',\n );\n // istanbul ignore next\n return null;\n}\n\n/**\n * Checks for zero specifiers.\n * returns true if one of the bounds' length is < 3.\n * @param ranges A {@link Range} array.\n * @returns A boolean value\n * Used mainly for cosmetics for the rez versioning syntax.\n */\nfunction hasZeroSpecifier(ranges: Range[]): boolean {\n return ranges.some((range) => {\n const release = parseVersion(range.version)?.release;\n return release && release.length < 3;\n });\n}\n\nfunction trimTrailingZeros(numbers: number[]): number[] {\n let i = numbers.length - 1;\n while (numbers[i] === 0) {\n i--;\n }\n return numbers.slice(0, i + 1);\n}\n\nfunction divideCompatibleReleaseRange(currentRange: Range): Range[] {\n const currentVersionUpperBound = currentRange.version\n .split('.')\n .map((num) => parseInt(num));\n if (currentVersionUpperBound.length > 1) {\n currentVersionUpperBound.splice(-1);\n }\n currentVersionUpperBound[currentVersionUpperBound.length - 1] += 1;\n return [\n { operator: '>=', version: currentRange.version },\n {\n operator: '<',\n version: currentVersionUpperBound.join('.'),\n },\n ];\n}\n\nfunction handleWidenStrategy(\n { currentValue, rangeStrategy, currentVersion, newVersion }: NewValueConfig,\n ranges: Range[],\n): (string | null)[] {\n // newVersion is within range\n if (satisfies(newVersion, currentValue)) {\n return [currentValue];\n }\n let rangePrecision = getRangePrecision(ranges);\n const trimZeros = hasZeroSpecifier(ranges);\n let newRanges: Range[] = [];\n if (ranges.length === 1 && ranges[0].operator === '~=') {\n // If range operator is '~=', divide the range into its logical equivalent.\n // Example: ~=1.0 --> >=1.0,<2\n newRanges = divideCompatibleReleaseRange(ranges[0]);\n } else {\n newRanges = ranges;\n }\n return newRanges.map((range) => {\n // newVersion is over the upper bound\n if (range.operator === '<' && gte(newVersion, range.version)) {\n const upperBound = coerceArray(parseVersion(range.version)?.release);\n const len = upperBound.length;\n // Match the precision of the smallest specifier if other than 0\n if (upperBound[len - 1] !== 0) {\n const key =\n PrecisionUserPolicyMap[\n (len - 1) as keyof typeof PrecisionUserPolicyMap\n ];\n rangePrecision =\n UserPolicyPrecisionMap[key as keyof typeof UserPolicyPrecisionMap];\n }\n let futureVersion = getFutureVersion(\n rangePrecision,\n newVersion,\n range.version,\n );\n if (trimZeros) {\n futureVersion = trimTrailingZeros(futureVersion);\n }\n return range.operator + futureVersion.join('.');\n }\n // default\n return updateRangeValue(\n {\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n },\n range,\n );\n });\n}\n\nfunction handleReplaceStrategy(\n { currentValue, rangeStrategy, currentVersion, newVersion }: NewValueConfig,\n ranges: Range[],\n): (string | null)[] {\n // newVersion is within range\n if (satisfies(newVersion, currentValue)) {\n return [currentValue];\n }\n const trimZeros = hasZeroSpecifier(ranges);\n return ranges.map((range) => {\n // newVersion is over the upper bound\n if (range.operator === '<' && gte(newVersion, range.version)) {\n const rangePrecision = getRangePrecision(ranges);\n let futureVersion = getFutureVersion(\n rangePrecision,\n newVersion,\n range.version,\n );\n if (trimZeros) {\n futureVersion = trimTrailingZeros(futureVersion);\n }\n return range.operator + futureVersion.join('.');\n }\n // handle lower bound\n if (['>', '>='].includes(range.operator)) {\n if (lte(newVersion, range.version)) {\n // this looks like a rollback\n return '>=' + newVersion;\n }\n // update the lower bound to reflect the accepted new version\n const lowerBound = coerceArray(parseVersion(range.version)?.release);\n const rangePrecision = lowerBound.length - 1;\n let newBase = getFutureVersion(rangePrecision, newVersion);\n if (trimZeros) {\n newBase = trimTrailingZeros(newBase);\n }\n // trim last element of the newBase when new accepted version is out of range.\n // example: let new bound be >8.2.5 & newVersion be 8.2.5\n // return value will be: >8.2\n if (range.operator === '>') {\n if (newVersion === newBase.join('.') && newBase.length > 1) {\n newBase.pop();\n }\n }\n return range.operator + newBase.join('.');\n }\n // default\n return updateRangeValue(\n {\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n },\n range,\n );\n });\n}\n\nfunction handleBumpStrategy(\n { currentValue, rangeStrategy, currentVersion, newVersion }: NewValueConfig,\n ranges: Range[],\n): (string | null)[] {\n return ranges.map((range) => {\n // bump lower bound to current new version\n if (range.operator === '>=') {\n return range.operator + newVersion;\n }\n return updateRangeValue(\n {\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n },\n range,\n );\n });\n}\n\nexport function checkRangeAndRemoveUnnecessaryRangeLimit(\n rangeInput: string,\n newVersion: string,\n): string {\n let newRange: string = rangeInput;\n if (rangeInput.includes(',')) {\n const newRes = rangeInput.split(',');\n if (\n newRes[0].includes('.*') &&\n newRes[0].includes('==') &&\n newRes[1].includes('>=')\n ) {\n if (satisfies(newVersion, newRes[0])) {\n newRange = newRes[0];\n }\n }\n } else {\n return rangeInput;\n }\n\n return newRange;\n}\n"]}
@@ -19,7 +19,6 @@ exports.supportsRanges = true;
19
19
  exports.supportedRangeStrategies = [
20
20
  'bump',
21
21
  'widen',
22
- 'pin',
23
22
  'replace',
24
23
  ];
25
24
  function equals(a, b) {
@@ -119,9 +118,6 @@ function handleShort(operator, currentValue, newVersion) {
119
118
  return null;
120
119
  }
121
120
  function getNewValue({ currentValue, rangeStrategy, currentVersion, newVersion, }) {
122
- if (rangeStrategy === 'pin') {
123
- return newVersion;
124
- }
125
121
  if (rangeStrategy === 'replace') {
126
122
  const npmCurrentValue = (0, transform_1.poetry2npm)(currentValue);
127
123
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/poetry/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { parseRange } from 'semver-utils';\nimport { logger } from '../../../logger';\nimport type { RangeStrategy } from '../../../types/versioning';\nimport { api as npm } from '../npm';\nimport { api as pep440 } from '../pep440';\nimport type { NewValueConfig, VersioningApi } from '../types';\n\nimport { VERSION_PATTERN } from './patterns';\nimport {\n npm2poetry,\n poetry2npm,\n poetry2semver,\n semver2poetry,\n} from './transform';\n\nexport const id = 'poetry';\nexport const displayName = 'Poetry';\nexport const urls = [\n 'https://python-poetry.org/docs/dependency-specification/',\n 'https://python-poetry.org/docs/faq#why-does-poetry-not-adhere-to-semantic-versioning',\n 'https://python-poetry.org/docs/faq#why-does-poetry-enforce-pep-440-versions',\n];\nexport const supportsRanges = true;\nexport const supportedRangeStrategies: RangeStrategy[] = [\n 'bump',\n 'widen',\n 'pin',\n 'replace',\n];\n\nfunction equals(a: string, b: string): boolean {\n const semverA = poetry2semver(a);\n const semverB = poetry2semver(b);\n return !!(semverA && semverB && npm.equals(semverA, semverB));\n}\n\nfunction getMajor(version: string): number | null {\n const semverVersion = poetry2semver(version);\n return semverVersion ? npm.getMajor(semverVersion) : null;\n}\n\nfunction getMinor(version: string): number | null {\n const semverVersion = poetry2semver(version);\n return semverVersion ? npm.getMinor(semverVersion) : null;\n}\n\nfunction getPatch(version: string): number | null {\n const semverVersion = poetry2semver(version);\n return semverVersion ? npm.getPatch(semverVersion) : null;\n}\n\nfunction isVersion(input: string): boolean {\n return VERSION_PATTERN.test(input);\n}\n\nfunction isGreaterThan(a: string, b: string): boolean {\n return !!(a && b && pep440.isGreaterThan(a, b));\n}\n\nfunction isLessThanRange(version: string, range: string): boolean {\n const semverVersion = poetry2semver(version);\n return !!(\n isVersion(version) &&\n semverVersion &&\n npm.isLessThanRange?.(semverVersion, poetry2npm(range))\n );\n}\n\nexport function isValid(input: string): boolean {\n if (!input) {\n return false;\n }\n\n try {\n return npm.isValid(poetry2npm(input, true));\n } catch {\n logger.once.debug(\n { version: input },\n 'Poetry version or range is not supported by current implementation',\n );\n return false;\n }\n}\n\nfunction isStable(version: string): boolean {\n const semverVersion = poetry2semver(version);\n return !!(semverVersion && npm.isStable(semverVersion));\n}\n\nfunction matches(version: string, range: string): boolean {\n const semverVersion = poetry2semver(version);\n return !!(\n isVersion(version) &&\n semverVersion &&\n npm.matches(semverVersion, poetry2npm(range))\n );\n}\n\nfunction getSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n const semverVersions: string[] = [];\n versions.forEach((version) => {\n const semverVersion = poetry2semver(version);\n if (semverVersion) {\n semverVersions.push(semverVersion);\n }\n });\n const npmRange = poetry2npm(range);\n const satisfyingVersion = npm.getSatisfyingVersion(semverVersions, npmRange);\n return satisfyingVersion ? semver2poetry(satisfyingVersion) : null;\n}\n\nfunction minSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n const semverVersions: string[] = [];\n versions.forEach((version) => {\n const semverVersion = poetry2semver(version);\n if (semverVersion) {\n semverVersions.push(semverVersion);\n }\n });\n const npmRange = poetry2npm(range);\n const satisfyingVersion = npm.minSatisfyingVersion(semverVersions, npmRange);\n return satisfyingVersion ? semver2poetry(satisfyingVersion) : null;\n}\n\nfunction isSingleVersion(constraint: string): boolean {\n return (\n (constraint.trim().startsWith('=') &&\n isVersion(constraint.trim().substring(1).trim())) ||\n isVersion(constraint.trim())\n );\n}\n\nfunction handleShort(\n operator: string,\n currentValue: string,\n newVersion: string,\n): string | null {\n const toVersionMajor = getMajor(newVersion);\n const toVersionMinor = getMinor(newVersion);\n const split = currentValue.split('.');\n if (toVersionMajor !== null && split.length === 1) {\n // [^,~]4\n return `${operator}${toVersionMajor}`;\n }\n if (\n toVersionMajor !== null &&\n toVersionMinor !== null &&\n split.length === 2\n ) {\n // [^,~]4.1\n return `${operator}${toVersionMajor}.${toVersionMinor}`;\n }\n return null;\n}\n\nfunction getNewValue({\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n}: NewValueConfig): string {\n if (rangeStrategy === 'pin') {\n return newVersion;\n }\n if (rangeStrategy === 'replace') {\n const npmCurrentValue = poetry2npm(currentValue);\n try {\n const massagedNewVersion = poetry2semver(newVersion);\n if (\n massagedNewVersion &&\n isVersion(massagedNewVersion) &&\n npm.matches(massagedNewVersion, npmCurrentValue)\n ) {\n return currentValue;\n }\n } catch (err) /* istanbul ignore next */ {\n logger.info(\n { err },\n 'Poetry versioning: Error caught checking if newVersion satisfies currentValue',\n );\n }\n const parsedRange = parseRange(npmCurrentValue);\n const element = parsedRange[parsedRange.length - 1];\n if (parsedRange.length === 1 && element.operator) {\n if (element.operator === '^') {\n const version = handleShort('^', npmCurrentValue, newVersion);\n if (version) {\n return npm2poetry(version);\n }\n }\n if (element.operator === '~') {\n const version = handleShort('~', npmCurrentValue, newVersion);\n if (version) {\n return npm2poetry(version);\n }\n }\n }\n }\n\n // Explicitly check whether this is a fully-qualified version\n if (\n (VERSION_PATTERN.exec(newVersion)?.groups?.release ?? '').split('.')\n .length !== 3\n ) {\n logger.debug(\n 'Cannot massage python version to npm - returning currentValue',\n );\n return currentValue;\n }\n try {\n const currentSemverVersion =\n currentVersion && poetry2semver(currentVersion);\n\n const newSemverVersion = poetry2semver(newVersion);\n\n if (currentSemverVersion && newSemverVersion) {\n const newSemver = npm.getNewValue({\n currentValue: poetry2npm(currentValue),\n rangeStrategy,\n currentVersion: currentSemverVersion,\n newVersion: newSemverVersion,\n });\n const newPoetry = newSemver && npm2poetry(newSemver);\n if (newPoetry) {\n return newPoetry;\n }\n }\n } catch (err) /* istanbul ignore next */ {\n logger.debug(\n { currentValue, rangeStrategy, currentVersion, newVersion, err },\n 'Could not generate new value using npm.getNewValue()',\n );\n }\n\n // istanbul ignore next\n return currentValue;\n}\n\nfunction sortVersions(a: string, b: string): number {\n return pep440.sortVersions(a, b);\n}\n\nfunction subset(subRange: string, superRange: string): boolean | undefined {\n return npm.subset!(poetry2npm(subRange), poetry2npm(superRange));\n}\n\nexport const api: VersioningApi = {\n equals,\n getMajor,\n getMinor,\n getPatch,\n getNewValue,\n getSatisfyingVersion,\n isCompatible: isVersion,\n isGreaterThan,\n isLessThanRange,\n isSingleVersion,\n isStable,\n isValid,\n isVersion,\n matches,\n minSatisfyingVersion,\n sortVersions,\n subset,\n};\nexport default api;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/poetry/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { parseRange } from 'semver-utils';\nimport { logger } from '../../../logger';\nimport type { RangeStrategy } from '../../../types/versioning';\nimport { api as npm } from '../npm';\nimport { api as pep440 } from '../pep440';\nimport type { NewValueConfig, VersioningApi } from '../types';\n\nimport { VERSION_PATTERN } from './patterns';\nimport {\n npm2poetry,\n poetry2npm,\n poetry2semver,\n semver2poetry,\n} from './transform';\n\nexport const id = 'poetry';\nexport const displayName = 'Poetry';\nexport const urls = [\n 'https://python-poetry.org/docs/dependency-specification/',\n 'https://python-poetry.org/docs/faq#why-does-poetry-not-adhere-to-semantic-versioning',\n 'https://python-poetry.org/docs/faq#why-does-poetry-enforce-pep-440-versions',\n];\nexport const supportsRanges = true;\nexport const supportedRangeStrategies: RangeStrategy[] = [\n 'bump',\n 'widen',\n 'replace',\n];\n\nfunction equals(a: string, b: string): boolean {\n const semverA = poetry2semver(a);\n const semverB = poetry2semver(b);\n return !!(semverA && semverB && npm.equals(semverA, semverB));\n}\n\nfunction getMajor(version: string): number | null {\n const semverVersion = poetry2semver(version);\n return semverVersion ? npm.getMajor(semverVersion) : null;\n}\n\nfunction getMinor(version: string): number | null {\n const semverVersion = poetry2semver(version);\n return semverVersion ? npm.getMinor(semverVersion) : null;\n}\n\nfunction getPatch(version: string): number | null {\n const semverVersion = poetry2semver(version);\n return semverVersion ? npm.getPatch(semverVersion) : null;\n}\n\nfunction isVersion(input: string): boolean {\n return VERSION_PATTERN.test(input);\n}\n\nfunction isGreaterThan(a: string, b: string): boolean {\n return !!(a && b && pep440.isGreaterThan(a, b));\n}\n\nfunction isLessThanRange(version: string, range: string): boolean {\n const semverVersion = poetry2semver(version);\n return !!(\n isVersion(version) &&\n semverVersion &&\n npm.isLessThanRange?.(semverVersion, poetry2npm(range))\n );\n}\n\nexport function isValid(input: string): boolean {\n if (!input) {\n return false;\n }\n\n try {\n return npm.isValid(poetry2npm(input, true));\n } catch {\n logger.once.debug(\n { version: input },\n 'Poetry version or range is not supported by current implementation',\n );\n return false;\n }\n}\n\nfunction isStable(version: string): boolean {\n const semverVersion = poetry2semver(version);\n return !!(semverVersion && npm.isStable(semverVersion));\n}\n\nfunction matches(version: string, range: string): boolean {\n const semverVersion = poetry2semver(version);\n return !!(\n isVersion(version) &&\n semverVersion &&\n npm.matches(semverVersion, poetry2npm(range))\n );\n}\n\nfunction getSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n const semverVersions: string[] = [];\n versions.forEach((version) => {\n const semverVersion = poetry2semver(version);\n if (semverVersion) {\n semverVersions.push(semverVersion);\n }\n });\n const npmRange = poetry2npm(range);\n const satisfyingVersion = npm.getSatisfyingVersion(semverVersions, npmRange);\n return satisfyingVersion ? semver2poetry(satisfyingVersion) : null;\n}\n\nfunction minSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n const semverVersions: string[] = [];\n versions.forEach((version) => {\n const semverVersion = poetry2semver(version);\n if (semverVersion) {\n semverVersions.push(semverVersion);\n }\n });\n const npmRange = poetry2npm(range);\n const satisfyingVersion = npm.minSatisfyingVersion(semverVersions, npmRange);\n return satisfyingVersion ? semver2poetry(satisfyingVersion) : null;\n}\n\nfunction isSingleVersion(constraint: string): boolean {\n return (\n (constraint.trim().startsWith('=') &&\n isVersion(constraint.trim().substring(1).trim())) ||\n isVersion(constraint.trim())\n );\n}\n\nfunction handleShort(\n operator: string,\n currentValue: string,\n newVersion: string,\n): string | null {\n const toVersionMajor = getMajor(newVersion);\n const toVersionMinor = getMinor(newVersion);\n const split = currentValue.split('.');\n if (toVersionMajor !== null && split.length === 1) {\n // [^,~]4\n return `${operator}${toVersionMajor}`;\n }\n if (\n toVersionMajor !== null &&\n toVersionMinor !== null &&\n split.length === 2\n ) {\n // [^,~]4.1\n return `${operator}${toVersionMajor}.${toVersionMinor}`;\n }\n return null;\n}\n\nfunction getNewValue({\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n}: NewValueConfig): string {\n if (rangeStrategy === 'replace') {\n const npmCurrentValue = poetry2npm(currentValue);\n try {\n const massagedNewVersion = poetry2semver(newVersion);\n if (\n massagedNewVersion &&\n isVersion(massagedNewVersion) &&\n npm.matches(massagedNewVersion, npmCurrentValue)\n ) {\n return currentValue;\n }\n } catch (err) /* istanbul ignore next */ {\n logger.info(\n { err },\n 'Poetry versioning: Error caught checking if newVersion satisfies currentValue',\n );\n }\n const parsedRange = parseRange(npmCurrentValue);\n const element = parsedRange[parsedRange.length - 1];\n if (parsedRange.length === 1 && element.operator) {\n if (element.operator === '^') {\n const version = handleShort('^', npmCurrentValue, newVersion);\n if (version) {\n return npm2poetry(version);\n }\n }\n if (element.operator === '~') {\n const version = handleShort('~', npmCurrentValue, newVersion);\n if (version) {\n return npm2poetry(version);\n }\n }\n }\n }\n\n // Explicitly check whether this is a fully-qualified version\n if (\n (VERSION_PATTERN.exec(newVersion)?.groups?.release ?? '').split('.')\n .length !== 3\n ) {\n logger.debug(\n 'Cannot massage python version to npm - returning currentValue',\n );\n return currentValue;\n }\n try {\n const currentSemverVersion =\n currentVersion && poetry2semver(currentVersion);\n\n const newSemverVersion = poetry2semver(newVersion);\n\n if (currentSemverVersion && newSemverVersion) {\n const newSemver = npm.getNewValue({\n currentValue: poetry2npm(currentValue),\n rangeStrategy,\n currentVersion: currentSemverVersion,\n newVersion: newSemverVersion,\n });\n const newPoetry = newSemver && npm2poetry(newSemver);\n if (newPoetry) {\n return newPoetry;\n }\n }\n } catch (err) /* istanbul ignore next */ {\n logger.debug(\n { currentValue, rangeStrategy, currentVersion, newVersion, err },\n 'Could not generate new value using npm.getNewValue()',\n );\n }\n\n // istanbul ignore next\n return currentValue;\n}\n\nfunction sortVersions(a: string, b: string): number {\n return pep440.sortVersions(a, b);\n}\n\nfunction subset(subRange: string, superRange: string): boolean | undefined {\n return npm.subset!(poetry2npm(subRange), poetry2npm(superRange));\n}\n\nexport const api: VersioningApi = {\n equals,\n getMajor,\n getMinor,\n getPatch,\n getNewValue,\n getSatisfyingVersion,\n isCompatible: isVersion,\n isGreaterThan,\n isLessThanRange,\n isSingleVersion,\n isStable,\n isValid,\n isVersion,\n matches,\n minSatisfyingVersion,\n sortVersions,\n subset,\n};\nexport default api;\n"]}
@@ -15,7 +15,6 @@ exports.supportsRanges = true;
15
15
  exports.supportedRangeStrategies = [
16
16
  'bump',
17
17
  'widen',
18
- 'pin',
19
18
  'replace',
20
19
  ];
21
20
  function equals(a, b) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/rez/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { RangeStrategy } from '../../../types/versioning';\nimport { regEx } from '../../../util/regex';\nimport { coerceString } from '../../../util/string';\nimport { api as npm } from '../npm';\nimport { api as pep440 } from '../pep440';\nimport type { NewValueConfig, VersioningApi } from '../types';\n\nimport {\n ascendingRange,\n descendingRange,\n exactVersion,\n inclusiveBound,\n lowerBound,\n upperBound,\n versionGroup,\n} from './pattern';\nimport {\n npm2rezplus,\n padZeroes,\n pep4402rezInclusiveBound,\n rez2npm,\n rez2pep440,\n} from './transform';\n\nexport const id = 'rez';\nexport const displayName = 'rez';\nexport const urls = ['https://github.com/nerdvegas/rez'];\nexport const supportsRanges = true;\nexport const supportedRangeStrategies: RangeStrategy[] = [\n 'bump',\n 'widen',\n 'pin',\n 'replace',\n];\n\nfunction equals(a: string, b: string): boolean {\n try {\n return npm.equals(padZeroes(a), padZeroes(b));\n } catch /* istanbul ignore next */ {\n return pep440.equals(a, b);\n }\n}\n\nfunction getMajor(version: string): number | null {\n try {\n return npm.getMajor(padZeroes(version));\n } catch /* istanbul ignore next */ {\n return pep440.getMajor(version);\n }\n}\n\nfunction getMinor(version: string): number | null {\n try {\n return npm.getMinor(padZeroes(version));\n } catch /* istanbul ignore next */ {\n return pep440.getMinor(version);\n }\n}\n\nfunction getPatch(version: string): number | null {\n try {\n return npm.getPatch(padZeroes(version));\n } catch /* istanbul ignore next */ {\n return pep440.getPatch(version);\n }\n}\n\nfunction isGreaterThan(a: string, b: string): boolean {\n try {\n return npm.isGreaterThan(padZeroes(a), padZeroes(b));\n } catch /* istanbul ignore next */ {\n return pep440.isGreaterThan(a, b);\n }\n}\n\nfunction isLessThanRange(version: string, range: string): boolean {\n return (\n npm.isVersion(padZeroes(version)) &&\n !!npm.isLessThanRange?.(padZeroes(version), rez2npm(range))\n );\n}\n\nexport function isValid(input: string): boolean {\n return npm.isValid(rez2npm(input));\n}\n\nfunction isStable(version: string): boolean {\n return npm.isStable(padZeroes(version));\n}\n\nfunction isVersion(input: string): boolean {\n return npm.isVersion(padZeroes(rez2npm(input)));\n}\n\nfunction matches(version: string, range: string): boolean {\n return (\n npm.isVersion(padZeroes(version)) &&\n npm.matches(padZeroes(version), rez2npm(range))\n );\n}\n\nfunction getSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n return npm.getSatisfyingVersion(versions, rez2npm(range));\n}\n\nfunction minSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n return npm.minSatisfyingVersion(versions, rez2npm(range));\n}\n\nfunction isSingleVersion(constraint: string): boolean {\n return (\n (constraint.trim().startsWith('==') &&\n isVersion(constraint.trim().substring(2).trim())) ||\n isVersion(constraint.trim())\n );\n}\n\nfunction sortVersions(a: string, b: string): number {\n return npm.sortVersions(padZeroes(a), padZeroes(b));\n}\n\nfunction getNewValue({\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n}: NewValueConfig): string | null {\n const pep440Value = pep440.getNewValue({\n currentValue: rez2pep440(currentValue),\n rangeStrategy,\n currentVersion,\n newVersion,\n });\n if (exactVersion.test(currentValue)) {\n return pep440Value;\n }\n if (pep440Value && inclusiveBound.test(currentValue)) {\n return pep4402rezInclusiveBound(pep440Value);\n }\n if (pep440Value && lowerBound.test(currentValue)) {\n if (currentValue.includes('+')) {\n return npm2rezplus(pep440Value);\n }\n return pep440Value;\n }\n if (pep440Value && upperBound.test(currentValue)) {\n return pep440Value;\n }\n const matchAscRange = ascendingRange.exec(currentValue);\n if (pep440Value && matchAscRange?.groups) {\n // Replace version numbers but keep rez format, otherwise we just end up trying\n // to convert every single case separately.\n const lowerBoundAscCurrent = matchAscRange.groups.range_lower_asc;\n const upperBoundAscCurrent = matchAscRange.groups.range_upper_asc;\n const lowerAscVersionCurrent = matchAscRange.groups.range_lower_asc_version;\n const upperAscVersionCurrent = matchAscRange.groups.range_upper_asc_version;\n const [lowerBoundAscPep440, upperBoundAscPep440] = pep440Value.split(', ');\n const lowerAscVersionNew = coerceString(\n regEx(versionGroup).exec(lowerBoundAscPep440)?.[0],\n );\n const upperAscVersionNew = coerceString(\n regEx(versionGroup).exec(upperBoundAscPep440)?.[0],\n );\n const lowerBoundAscNew = lowerBoundAscCurrent.replace(\n lowerAscVersionCurrent,\n lowerAscVersionNew,\n );\n const upperBoundAscNew = upperBoundAscCurrent.replace(\n upperAscVersionCurrent,\n upperAscVersionNew,\n );\n const separator = currentValue.includes(',') ? ',' : '';\n\n return lowerBoundAscNew + separator + upperBoundAscNew;\n }\n const matchDscRange = descendingRange.exec(currentValue);\n if (pep440Value && matchDscRange?.groups) {\n // Replace version numbers but keep rez format, otherwise we just end up trying\n // to convert every single case separately.\n const upperBoundDescCurrent = matchDscRange.groups.range_upper_desc;\n const lowerBoundDescCurrent = matchDscRange.groups.range_lower_desc;\n const upperDescVersionCurrent =\n matchDscRange.groups.range_upper_desc_version;\n const lowerDescVersionCurrent =\n matchDscRange.groups.range_lower_desc_version;\n const [lowerBoundDescPep440, upperBoundDescPep440] =\n pep440Value.split(', ');\n\n const upperDescVersionNew = coerceString(\n regEx(versionGroup).exec(upperBoundDescPep440)?.[0],\n );\n const lowerDescVersionNew = coerceString(\n regEx(versionGroup).exec(lowerBoundDescPep440)?.[0],\n );\n const upperBoundDescNew = upperBoundDescCurrent.replace(\n upperDescVersionCurrent,\n upperDescVersionNew,\n );\n const lowerBoundDescNew = lowerBoundDescCurrent.replace(\n lowerDescVersionCurrent,\n lowerDescVersionNew,\n );\n // Descending ranges are only supported with a comma.\n const separator = ',';\n\n return upperBoundDescNew + separator + lowerBoundDescNew;\n }\n return null;\n}\n\nfunction isCompatible(version: string): boolean {\n return isVersion(version);\n}\n\nexport const api: VersioningApi = {\n equals,\n getMajor,\n getMinor,\n getPatch,\n getNewValue,\n getSatisfyingVersion,\n isCompatible,\n isGreaterThan,\n isLessThanRange,\n isSingleVersion,\n isStable,\n isValid,\n isVersion,\n matches,\n minSatisfyingVersion,\n sortVersions,\n};\nexport default api;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/rez/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { RangeStrategy } from '../../../types/versioning';\nimport { regEx } from '../../../util/regex';\nimport { coerceString } from '../../../util/string';\nimport { api as npm } from '../npm';\nimport { api as pep440 } from '../pep440';\nimport type { NewValueConfig, VersioningApi } from '../types';\n\nimport {\n ascendingRange,\n descendingRange,\n exactVersion,\n inclusiveBound,\n lowerBound,\n upperBound,\n versionGroup,\n} from './pattern';\nimport {\n npm2rezplus,\n padZeroes,\n pep4402rezInclusiveBound,\n rez2npm,\n rez2pep440,\n} from './transform';\n\nexport const id = 'rez';\nexport const displayName = 'rez';\nexport const urls = ['https://github.com/nerdvegas/rez'];\nexport const supportsRanges = true;\nexport const supportedRangeStrategies: RangeStrategy[] = [\n 'bump',\n 'widen',\n 'replace',\n];\n\nfunction equals(a: string, b: string): boolean {\n try {\n return npm.equals(padZeroes(a), padZeroes(b));\n } catch /* istanbul ignore next */ {\n return pep440.equals(a, b);\n }\n}\n\nfunction getMajor(version: string): number | null {\n try {\n return npm.getMajor(padZeroes(version));\n } catch /* istanbul ignore next */ {\n return pep440.getMajor(version);\n }\n}\n\nfunction getMinor(version: string): number | null {\n try {\n return npm.getMinor(padZeroes(version));\n } catch /* istanbul ignore next */ {\n return pep440.getMinor(version);\n }\n}\n\nfunction getPatch(version: string): number | null {\n try {\n return npm.getPatch(padZeroes(version));\n } catch /* istanbul ignore next */ {\n return pep440.getPatch(version);\n }\n}\n\nfunction isGreaterThan(a: string, b: string): boolean {\n try {\n return npm.isGreaterThan(padZeroes(a), padZeroes(b));\n } catch /* istanbul ignore next */ {\n return pep440.isGreaterThan(a, b);\n }\n}\n\nfunction isLessThanRange(version: string, range: string): boolean {\n return (\n npm.isVersion(padZeroes(version)) &&\n !!npm.isLessThanRange?.(padZeroes(version), rez2npm(range))\n );\n}\n\nexport function isValid(input: string): boolean {\n return npm.isValid(rez2npm(input));\n}\n\nfunction isStable(version: string): boolean {\n return npm.isStable(padZeroes(version));\n}\n\nfunction isVersion(input: string): boolean {\n return npm.isVersion(padZeroes(rez2npm(input)));\n}\n\nfunction matches(version: string, range: string): boolean {\n return (\n npm.isVersion(padZeroes(version)) &&\n npm.matches(padZeroes(version), rez2npm(range))\n );\n}\n\nfunction getSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n return npm.getSatisfyingVersion(versions, rez2npm(range));\n}\n\nfunction minSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n return npm.minSatisfyingVersion(versions, rez2npm(range));\n}\n\nfunction isSingleVersion(constraint: string): boolean {\n return (\n (constraint.trim().startsWith('==') &&\n isVersion(constraint.trim().substring(2).trim())) ||\n isVersion(constraint.trim())\n );\n}\n\nfunction sortVersions(a: string, b: string): number {\n return npm.sortVersions(padZeroes(a), padZeroes(b));\n}\n\nfunction getNewValue({\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n}: NewValueConfig): string | null {\n const pep440Value = pep440.getNewValue({\n currentValue: rez2pep440(currentValue),\n rangeStrategy,\n currentVersion,\n newVersion,\n });\n if (exactVersion.test(currentValue)) {\n return pep440Value;\n }\n if (pep440Value && inclusiveBound.test(currentValue)) {\n return pep4402rezInclusiveBound(pep440Value);\n }\n if (pep440Value && lowerBound.test(currentValue)) {\n if (currentValue.includes('+')) {\n return npm2rezplus(pep440Value);\n }\n return pep440Value;\n }\n if (pep440Value && upperBound.test(currentValue)) {\n return pep440Value;\n }\n const matchAscRange = ascendingRange.exec(currentValue);\n if (pep440Value && matchAscRange?.groups) {\n // Replace version numbers but keep rez format, otherwise we just end up trying\n // to convert every single case separately.\n const lowerBoundAscCurrent = matchAscRange.groups.range_lower_asc;\n const upperBoundAscCurrent = matchAscRange.groups.range_upper_asc;\n const lowerAscVersionCurrent = matchAscRange.groups.range_lower_asc_version;\n const upperAscVersionCurrent = matchAscRange.groups.range_upper_asc_version;\n const [lowerBoundAscPep440, upperBoundAscPep440] = pep440Value.split(', ');\n const lowerAscVersionNew = coerceString(\n regEx(versionGroup).exec(lowerBoundAscPep440)?.[0],\n );\n const upperAscVersionNew = coerceString(\n regEx(versionGroup).exec(upperBoundAscPep440)?.[0],\n );\n const lowerBoundAscNew = lowerBoundAscCurrent.replace(\n lowerAscVersionCurrent,\n lowerAscVersionNew,\n );\n const upperBoundAscNew = upperBoundAscCurrent.replace(\n upperAscVersionCurrent,\n upperAscVersionNew,\n );\n const separator = currentValue.includes(',') ? ',' : '';\n\n return lowerBoundAscNew + separator + upperBoundAscNew;\n }\n const matchDscRange = descendingRange.exec(currentValue);\n if (pep440Value && matchDscRange?.groups) {\n // Replace version numbers but keep rez format, otherwise we just end up trying\n // to convert every single case separately.\n const upperBoundDescCurrent = matchDscRange.groups.range_upper_desc;\n const lowerBoundDescCurrent = matchDscRange.groups.range_lower_desc;\n const upperDescVersionCurrent =\n matchDscRange.groups.range_upper_desc_version;\n const lowerDescVersionCurrent =\n matchDscRange.groups.range_lower_desc_version;\n const [lowerBoundDescPep440, upperBoundDescPep440] =\n pep440Value.split(', ');\n\n const upperDescVersionNew = coerceString(\n regEx(versionGroup).exec(upperBoundDescPep440)?.[0],\n );\n const lowerDescVersionNew = coerceString(\n regEx(versionGroup).exec(lowerBoundDescPep440)?.[0],\n );\n const upperBoundDescNew = upperBoundDescCurrent.replace(\n upperDescVersionCurrent,\n upperDescVersionNew,\n );\n const lowerBoundDescNew = lowerBoundDescCurrent.replace(\n lowerDescVersionCurrent,\n lowerDescVersionNew,\n );\n // Descending ranges are only supported with a comma.\n const separator = ',';\n\n return upperBoundDescNew + separator + lowerBoundDescNew;\n }\n return null;\n}\n\nfunction isCompatible(version: string): boolean {\n return isVersion(version);\n}\n\nexport const api: VersioningApi = {\n equals,\n getMajor,\n getMinor,\n getPatch,\n getNewValue,\n getSatisfyingVersion,\n isCompatible,\n isGreaterThan,\n isLessThanRange,\n isSingleVersion,\n isStable,\n isValid,\n isVersion,\n matches,\n minSatisfyingVersion,\n sortVersions,\n};\nexport default api;\n"]}
@@ -12,14 +12,13 @@ exports.id = 'ruby';
12
12
  exports.displayName = 'Ruby';
13
13
  exports.urls = [
14
14
  'https://guides.rubygems.org/patterns/',
15
- 'https://bundler.io/v1.5/gemfile.html',
15
+ 'https://bundler.io/guides/gemfile.html',
16
16
  'https://www.devalot.com/articles/2012/04/gem-versions.html',
17
17
  ];
18
18
  exports.supportsRanges = true;
19
19
  exports.supportedRangeStrategies = [
20
20
  'bump',
21
21
  'widen',
22
- 'pin',
23
22
  'replace',
24
23
  ];
25
24
  function vtrim(version) {
@@ -64,6 +63,9 @@ function getSatisfyingVersion(versions, range) {
64
63
  function minSatisfyingVersion(versions, range) {
65
64
  return (0, ruby_semver_1.minSatisfying)(versions.map(vtrim), vtrim(range));
66
65
  }
66
+ const getPinnedValue = (value) => {
67
+ return vtrim(value);
68
+ };
67
69
  const getNewValue = ({ currentValue, rangeStrategy, currentVersion, newVersion, }) => {
68
70
  let newValue = null;
69
71
  if ((0, exports.isVersion)(currentValue)) {
@@ -90,9 +92,6 @@ const getNewValue = ({ currentValue, rangeStrategy, currentVersion, newVersion,
90
92
  });
91
93
  }
92
94
  break;
93
- case 'pin':
94
- newValue = (0, strategies_1.pin)({ to: vtrim(newVersion) });
95
- break;
96
95
  case 'bump':
97
96
  newValue = (0, strategies_1.bump)({ range: vtrim(currentValue), to: vtrim(newVersion) });
98
97
  break;
@@ -141,6 +140,7 @@ exports.api = {
141
140
  matches: exports.matches,
142
141
  getSatisfyingVersion,
143
142
  minSatisfyingVersion,
143
+ getPinnedValue,
144
144
  getNewValue,
145
145
  sortVersions: exports.sortVersions,
146
146
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/ruby/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n eq,\n gt,\n maxSatisfying,\n minSatisfying,\n satisfies,\n valid,\n} from '@renovatebot/ruby-semver';\nimport { logger } from '../../../logger';\nimport type { RangeStrategy } from '../../../types/versioning';\nimport { regEx } from '../../../util/regex';\nimport type { NewValueConfig, VersioningApi } from '../types';\nimport { isSingleOperator, isValidOperator } from './operator';\nimport { ltr, parse as parseRange } from './range';\nimport { bump, pin, replace, widen } from './strategies';\nimport { parse as parseVersion } from './version';\n\nexport const id = 'ruby';\nexport const displayName = 'Ruby';\nexport const urls = [\n 'https://guides.rubygems.org/patterns/',\n 'https://bundler.io/v1.5/gemfile.html',\n 'https://www.devalot.com/articles/2012/04/gem-versions.html',\n];\nexport const supportsRanges = true;\nexport const supportedRangeStrategies: RangeStrategy[] = [\n 'bump',\n 'widen',\n 'pin',\n 'replace',\n];\n\nfunction vtrim<T = unknown>(version: T): string | T {\n if (typeof version === 'string') {\n return version.replace(regEx(/^v/), '').replace(regEx(/('|\")/g), '');\n }\n return version;\n}\n\nconst equals = (left: string, right: string): boolean =>\n eq(vtrim(left), vtrim(right));\n\nconst getMajor = (version: string): number =>\n parseVersion(vtrim(version)).major;\nconst getMinor = (version: string): number =>\n parseVersion(vtrim(version)).minor;\nconst getPatch = (version: string): number =>\n parseVersion(vtrim(version)).patch;\n\nexport const isVersion = (version: string): boolean => !!valid(vtrim(version));\nconst isGreaterThan = (left: string, right: string): boolean =>\n gt(vtrim(left), vtrim(right));\nconst isLessThanRange = (version: string, range: string): boolean =>\n !!ltr(vtrim(version), vtrim(range));\n\nconst isSingleVersion = (range: string): boolean => {\n const { version, operator } = parseRange(vtrim(range));\n\n return operator\n ? isVersion(version) && isSingleOperator(operator)\n : isVersion(version);\n};\n\nfunction isStable(version: string): boolean {\n const v = vtrim(version);\n return parseVersion(v).prerelease ? false : isVersion(v);\n}\n\nexport const isValid = (input: string): boolean =>\n input\n .split(',')\n .map((piece) => vtrim(piece.trim()))\n .every((range) => {\n const { version, operator } = parseRange(range);\n\n return operator\n ? isVersion(version) && isValidOperator(operator)\n : isVersion(version);\n });\n\nexport const matches = (version: string, range: string): boolean =>\n satisfies(vtrim(version), vtrim(range));\n\nfunction getSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n return maxSatisfying(versions.map(vtrim), vtrim(range));\n}\n\nfunction minSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n return minSatisfying(versions.map(vtrim), vtrim(range));\n}\n\nconst getNewValue = ({\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n}: NewValueConfig): string | null => {\n let newValue = null;\n if (isVersion(currentValue)) {\n newValue =\n currentValue.startsWith('v') && !newVersion.startsWith('v')\n ? `v${newVersion}`\n : newVersion;\n } else if (currentValue.replace(regEx(/^=\\s*/), '') === currentVersion) {\n newValue = currentValue.replace(currentVersion, newVersion);\n } else {\n switch (rangeStrategy) {\n case 'update-lockfile':\n if (satisfies(newVersion, vtrim(currentValue))) {\n newValue = vtrim(currentValue);\n } else {\n return getNewValue({\n currentValue,\n rangeStrategy: 'replace',\n currentVersion,\n newVersion,\n });\n }\n break;\n case 'pin':\n newValue = pin({ to: vtrim(newVersion) });\n break;\n case 'bump':\n newValue = bump({ range: vtrim(currentValue), to: vtrim(newVersion) });\n break;\n case 'auto':\n case 'replace':\n newValue = replace({\n range: vtrim(currentValue),\n to: vtrim(newVersion),\n });\n break;\n case 'widen':\n newValue = widen({\n range: vtrim(currentValue),\n to: vtrim(newVersion),\n });\n break;\n // istanbul ignore next\n default:\n logger.warn({ rangeStrategy }, 'Unsupported range strategy');\n }\n }\n if (newValue && regEx(/^('|\")/).exec(currentValue)) {\n const delimiter = currentValue[0];\n return newValue\n .split(',')\n .map((element) =>\n element.replace(\n regEx(`^(?<whitespace>\\\\s*)`),\n `$<whitespace>${delimiter}`,\n ),\n )\n .map(\n (element) =>\n element.replace(/(?<whitespace>\\s*)$/, `${delimiter}$<whitespace>`), // TODO #12875 adds ' at front when re2 is used\n )\n .join(',');\n }\n return newValue;\n};\n\nexport const sortVersions = (left: string, right: string): number =>\n gt(vtrim(left), vtrim(right)) ? 1 : -1;\n\nexport const api: VersioningApi = {\n equals,\n getMajor,\n getMinor,\n getPatch,\n isCompatible: isVersion,\n isGreaterThan,\n isLessThanRange,\n isSingleVersion,\n isStable,\n isValid,\n isVersion,\n matches,\n getSatisfyingVersion,\n minSatisfyingVersion,\n getNewValue,\n sortVersions,\n};\nexport default api;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/ruby/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n eq,\n gt,\n maxSatisfying,\n minSatisfying,\n satisfies,\n valid,\n} from '@renovatebot/ruby-semver';\nimport { logger } from '../../../logger';\nimport type { RangeStrategy } from '../../../types/versioning';\nimport { regEx } from '../../../util/regex';\nimport type { NewValueConfig, VersioningApi } from '../types';\nimport { isSingleOperator, isValidOperator } from './operator';\nimport { ltr, parse as parseRange } from './range';\nimport { bump, replace, widen } from './strategies';\nimport { parse as parseVersion } from './version';\n\nexport const id = 'ruby';\nexport const displayName = 'Ruby';\nexport const urls = [\n 'https://guides.rubygems.org/patterns/',\n 'https://bundler.io/guides/gemfile.html',\n 'https://www.devalot.com/articles/2012/04/gem-versions.html',\n];\nexport const supportsRanges = true;\nexport const supportedRangeStrategies: RangeStrategy[] = [\n 'bump',\n 'widen',\n 'replace',\n];\n\nfunction vtrim<T = unknown>(version: T): string | T {\n if (typeof version === 'string') {\n return version.replace(regEx(/^v/), '').replace(regEx(/('|\")/g), '');\n }\n return version;\n}\n\nconst equals = (left: string, right: string): boolean =>\n eq(vtrim(left), vtrim(right));\n\nconst getMajor = (version: string): number =>\n parseVersion(vtrim(version)).major;\nconst getMinor = (version: string): number =>\n parseVersion(vtrim(version)).minor;\nconst getPatch = (version: string): number =>\n parseVersion(vtrim(version)).patch;\n\nexport const isVersion = (version: string): boolean => !!valid(vtrim(version));\nconst isGreaterThan = (left: string, right: string): boolean =>\n gt(vtrim(left), vtrim(right));\nconst isLessThanRange = (version: string, range: string): boolean =>\n !!ltr(vtrim(version), vtrim(range));\n\nconst isSingleVersion = (range: string): boolean => {\n const { version, operator } = parseRange(vtrim(range));\n\n return operator\n ? isVersion(version) && isSingleOperator(operator)\n : isVersion(version);\n};\n\nfunction isStable(version: string): boolean {\n const v = vtrim(version);\n return parseVersion(v).prerelease ? false : isVersion(v);\n}\n\nexport const isValid = (input: string): boolean =>\n input\n .split(',')\n .map((piece) => vtrim(piece.trim()))\n .every((range) => {\n const { version, operator } = parseRange(range);\n\n return operator\n ? isVersion(version) && isValidOperator(operator)\n : isVersion(version);\n });\n\nexport const matches = (version: string, range: string): boolean =>\n satisfies(vtrim(version), vtrim(range));\n\nfunction getSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n return maxSatisfying(versions.map(vtrim), vtrim(range));\n}\n\nfunction minSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n return minSatisfying(versions.map(vtrim), vtrim(range));\n}\n\nconst getPinnedValue = (value: string): string => {\n return vtrim(value);\n};\n\nconst getNewValue = ({\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n}: NewValueConfig): string | null => {\n let newValue = null;\n if (isVersion(currentValue)) {\n newValue =\n currentValue.startsWith('v') && !newVersion.startsWith('v')\n ? `v${newVersion}`\n : newVersion;\n } else if (currentValue.replace(regEx(/^=\\s*/), '') === currentVersion) {\n newValue = currentValue.replace(currentVersion, newVersion);\n } else {\n switch (rangeStrategy) {\n case 'update-lockfile':\n if (satisfies(newVersion, vtrim(currentValue))) {\n newValue = vtrim(currentValue);\n } else {\n return getNewValue({\n currentValue,\n rangeStrategy: 'replace',\n currentVersion,\n newVersion,\n });\n }\n break;\n case 'bump':\n newValue = bump({ range: vtrim(currentValue), to: vtrim(newVersion) });\n break;\n case 'auto':\n case 'replace':\n newValue = replace({\n range: vtrim(currentValue),\n to: vtrim(newVersion),\n });\n break;\n case 'widen':\n newValue = widen({\n range: vtrim(currentValue),\n to: vtrim(newVersion),\n });\n break;\n // istanbul ignore next\n default:\n logger.warn({ rangeStrategy }, 'Unsupported range strategy');\n }\n }\n if (newValue && regEx(/^('|\")/).exec(currentValue)) {\n const delimiter = currentValue[0];\n return newValue\n .split(',')\n .map((element) =>\n element.replace(\n regEx(`^(?<whitespace>\\\\s*)`),\n `$<whitespace>${delimiter}`,\n ),\n )\n .map(\n (element) =>\n element.replace(/(?<whitespace>\\s*)$/, `${delimiter}$<whitespace>`), // TODO #12875 adds ' at front when re2 is used\n )\n .join(',');\n }\n return newValue;\n};\n\nexport const sortVersions = (left: string, right: string): number =>\n gt(vtrim(left), vtrim(right)) ? 1 : -1;\n\nexport const api: VersioningApi = {\n equals,\n getMajor,\n getMinor,\n getPatch,\n isCompatible: isVersion,\n isGreaterThan,\n isLessThanRange,\n isSingleVersion,\n isStable,\n isValid,\n isVersion,\n matches,\n getSatisfyingVersion,\n minSatisfyingVersion,\n getPinnedValue,\n getNewValue,\n sortVersions,\n};\nexport default api;\n"]}
@@ -1,5 +1,4 @@
1
1
  import bump from './bump';
2
- import pin from './pin';
3
2
  import replace from './replace';
4
3
  import widen from './widen';
5
- export { pin, bump, replace, widen };
4
+ export { bump, replace, widen };
@@ -1,11 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.widen = exports.replace = exports.bump = exports.pin = void 0;
3
+ exports.widen = exports.replace = exports.bump = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const bump_1 = tslib_1.__importDefault(require("./bump"));
6
6
  exports.bump = bump_1.default;
7
- const pin_1 = tslib_1.__importDefault(require("./pin"));
8
- exports.pin = pin_1.default;
9
7
  const replace_1 = tslib_1.__importDefault(require("./replace"));
10
8
  exports.replace = replace_1.default;
11
9
  const widen_1 = tslib_1.__importDefault(require("./widen"));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/modules/versioning/ruby/strategies/index.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAKZ,eALP,cAAI,CAKO;AAJlB,wDAAwB;AAIf,cAJF,aAAG,CAIE;AAHZ,gEAAgC;AAGZ,kBAHb,iBAAO,CAGa;AAF3B,4DAA4B;AAEC,gBAFtB,eAAK,CAEsB","sourcesContent":["import bump from './bump';\nimport pin from './pin';\nimport replace from './replace';\nimport widen from './widen';\n\nexport { pin, bump, replace, widen };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/modules/versioning/ruby/strategies/index.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAIjB,eAJF,cAAI,CAIE;AAHb,gEAAgC;AAGjB,kBAHR,iBAAO,CAGQ;AAFtB,4DAA4B;AAEJ,gBAFjB,eAAK,CAEiB","sourcesContent":["import bump from './bump';\nimport replace from './replace';\nimport widen from './widen';\n\nexport { bump, replace, widen };\n"]}
@@ -0,0 +1,8 @@
1
+ import type { VersioningApi } from '../types';
2
+ export declare const id = "semver-partial";
3
+ export declare const displayName = "Partial Semantic Versioning";
4
+ export declare const urls: string[];
5
+ export declare const supportsRanges = true;
6
+ export declare const supportedRangeStrategies: string[];
7
+ export declare const api: VersioningApi;
8
+ export default api;