renovate 42.4.0 → 42.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (708) hide show
  1. package/dist/config/decrypt.js +13 -14
  2. package/dist/config/decrypt.js.map +1 -1
  3. package/dist/config/massage.js +6 -7
  4. package/dist/config/massage.js.map +1 -1
  5. package/dist/config/migrate-validate.js +3 -3
  6. package/dist/config/migrate-validate.js.map +1 -1
  7. package/dist/config/migration.js +19 -20
  8. package/dist/config/migration.js.map +1 -1
  9. package/dist/config/migrations/base/abstract-migration.js +5 -6
  10. package/dist/config/migrations/base/abstract-migration.js.map +1 -1
  11. package/dist/config/migrations/custom/automerge-major-migration.js +2 -3
  12. package/dist/config/migrations/custom/automerge-major-migration.js.map +1 -1
  13. package/dist/config/migrations/custom/automerge-migration.js +4 -5
  14. package/dist/config/migrations/custom/automerge-migration.js.map +1 -1
  15. package/dist/config/migrations/custom/automerge-minor-migration.js +2 -3
  16. package/dist/config/migrations/custom/automerge-minor-migration.js.map +1 -1
  17. package/dist/config/migrations/custom/automerge-patch-migration.js +2 -3
  18. package/dist/config/migrations/custom/automerge-patch-migration.js.map +1 -1
  19. package/dist/config/migrations/custom/automerge-type-migration.js +2 -3
  20. package/dist/config/migrations/custom/automerge-type-migration.js.map +1 -1
  21. package/dist/config/migrations/custom/base-branch-migration.js +3 -4
  22. package/dist/config/migrations/custom/base-branch-migration.js.map +1 -1
  23. package/dist/config/migrations/custom/branch-name-migration.js +2 -3
  24. package/dist/config/migrations/custom/branch-name-migration.js.map +1 -1
  25. package/dist/config/migrations/custom/branch-prefix-migration.js +2 -3
  26. package/dist/config/migrations/custom/branch-prefix-migration.js.map +1 -1
  27. package/dist/config/migrations/custom/compatibility-migration.js +2 -3
  28. package/dist/config/migrations/custom/compatibility-migration.js.map +1 -1
  29. package/dist/config/migrations/custom/composer-ignore-platform-reqs-migration.js +2 -3
  30. package/dist/config/migrations/custom/composer-ignore-platform-reqs-migration.js.map +1 -1
  31. package/dist/config/migrations/custom/custom-managers-migration.js +2 -3
  32. package/dist/config/migrations/custom/custom-managers-migration.js.map +1 -1
  33. package/dist/config/migrations/custom/datasource-migration.js +2 -3
  34. package/dist/config/migrations/custom/datasource-migration.js.map +1 -1
  35. package/dist/config/migrations/custom/dep-types-migration.js +4 -5
  36. package/dist/config/migrations/custom/dep-types-migration.js.map +1 -1
  37. package/dist/config/migrations/custom/enabled-managers-migration.js +2 -3
  38. package/dist/config/migrations/custom/enabled-managers-migration.js.map +1 -1
  39. package/dist/config/migrations/custom/extends-migration.js +4 -5
  40. package/dist/config/migrations/custom/extends-migration.js.map +1 -1
  41. package/dist/config/migrations/custom/fetch-release-notes-migration.js +2 -3
  42. package/dist/config/migrations/custom/fetch-release-notes-migration.js.map +1 -1
  43. package/dist/config/migrations/custom/file-match-migration.js +3 -4
  44. package/dist/config/migrations/custom/file-match-migration.js.map +1 -1
  45. package/dist/config/migrations/custom/host-rules-migration.js +6 -7
  46. package/dist/config/migrations/custom/host-rules-migration.js.map +1 -1
  47. package/dist/config/migrations/custom/ignore-npmrc-file-migration.js +2 -3
  48. package/dist/config/migrations/custom/ignore-npmrc-file-migration.js.map +1 -1
  49. package/dist/config/migrations/custom/include-forks-migration.js +2 -3
  50. package/dist/config/migrations/custom/include-forks-migration.js.map +1 -1
  51. package/dist/config/migrations/custom/match-datasources-migration.js +2 -3
  52. package/dist/config/migrations/custom/match-datasources-migration.js.map +1 -1
  53. package/dist/config/migrations/custom/match-managers-migration.js +2 -3
  54. package/dist/config/migrations/custom/match-managers-migration.js.map +1 -1
  55. package/dist/config/migrations/custom/match-strings-migration.js +2 -3
  56. package/dist/config/migrations/custom/match-strings-migration.js.map +1 -1
  57. package/dist/config/migrations/custom/package-files-migration.js +6 -7
  58. package/dist/config/migrations/custom/package-files-migration.js.map +1 -1
  59. package/dist/config/migrations/custom/package-rules-migration.js +15 -16
  60. package/dist/config/migrations/custom/package-rules-migration.js.map +1 -1
  61. package/dist/config/migrations/custom/packages-migration.js +3 -4
  62. package/dist/config/migrations/custom/packages-migration.js.map +1 -1
  63. package/dist/config/migrations/custom/path-rules-migration.js +3 -4
  64. package/dist/config/migrations/custom/path-rules-migration.js.map +1 -1
  65. package/dist/config/migrations/custom/pin-versions-migration.js +2 -3
  66. package/dist/config/migrations/custom/pin-versions-migration.js.map +1 -1
  67. package/dist/config/migrations/custom/platform-commit-migration.js +2 -3
  68. package/dist/config/migrations/custom/platform-commit-migration.js.map +1 -1
  69. package/dist/config/migrations/custom/post-update-options-migration.js +2 -3
  70. package/dist/config/migrations/custom/post-update-options-migration.js.map +1 -1
  71. package/dist/config/migrations/custom/rebase-stale-prs-migration.js +2 -3
  72. package/dist/config/migrations/custom/rebase-stale-prs-migration.js.map +1 -1
  73. package/dist/config/migrations/custom/recreate-closed-migration.js +2 -3
  74. package/dist/config/migrations/custom/recreate-closed-migration.js.map +1 -1
  75. package/dist/config/migrations/custom/renovate-fork-migration.js +2 -3
  76. package/dist/config/migrations/custom/renovate-fork-migration.js.map +1 -1
  77. package/dist/config/migrations/custom/schedule-migration.js +4 -4
  78. package/dist/config/migrations/custom/schedule-migration.js.map +1 -1
  79. package/dist/config/migrations/custom/semantic-commits-migration.js +2 -3
  80. package/dist/config/migrations/custom/semantic-commits-migration.js.map +1 -1
  81. package/dist/config/migrations/custom/semantic-prefix-migration.js +2 -3
  82. package/dist/config/migrations/custom/semantic-prefix-migration.js.map +1 -1
  83. package/dist/config/migrations/custom/stability-days-migration.js +2 -3
  84. package/dist/config/migrations/custom/stability-days-migration.js.map +1 -1
  85. package/dist/config/migrations/custom/suppress-notifications-migration.js +2 -3
  86. package/dist/config/migrations/custom/suppress-notifications-migration.js.map +1 -1
  87. package/dist/config/migrations/custom/unpublish-safe-migration.js +2 -3
  88. package/dist/config/migrations/custom/unpublish-safe-migration.js.map +1 -1
  89. package/dist/config/migrations/migrations-service.js +2 -3
  90. package/dist/config/migrations/migrations-service.js.map +1 -1
  91. package/dist/config/options/index.js +7 -0
  92. package/dist/config/options/index.js.map +1 -1
  93. package/dist/config/presets/github/index.js +2 -3
  94. package/dist/config/presets/github/index.js.map +1 -1
  95. package/dist/config/presets/gitlab/index.js +2 -3
  96. package/dist/config/presets/gitlab/index.js.map +1 -1
  97. package/dist/config/presets/index.js +8 -8
  98. package/dist/config/presets/index.js.map +1 -1
  99. package/dist/config/presets/parse.js +2 -3
  100. package/dist/config/presets/parse.js.map +1 -1
  101. package/dist/config/secrets.js +3 -4
  102. package/dist/config/secrets.js.map +1 -1
  103. package/dist/config/types.d.ts +1 -0
  104. package/dist/config/types.js.map +1 -1
  105. package/dist/config/validation-helpers/match-base-branches.js +2 -3
  106. package/dist/config/validation-helpers/match-base-branches.js.map +1 -1
  107. package/dist/config/validation-helpers/regex-glob-matchers.js +2 -3
  108. package/dist/config/validation-helpers/regex-glob-matchers.js.map +1 -1
  109. package/dist/config/validation-helpers/utils.js +6 -6
  110. package/dist/config/validation-helpers/utils.js.map +1 -1
  111. package/dist/config/validation.js +29 -29
  112. package/dist/config/validation.js.map +1 -1
  113. package/dist/instrumentation/reporting.js +7 -8
  114. package/dist/instrumentation/reporting.js.map +1 -1
  115. package/dist/instrumentation/utils.js +2 -3
  116. package/dist/instrumentation/utils.js.map +1 -1
  117. package/dist/logger/err-serializer.js +2 -2
  118. package/dist/logger/err-serializer.js.map +1 -1
  119. package/dist/logger/index.js +3 -3
  120. package/dist/logger/index.js.map +1 -1
  121. package/dist/logger/renovate-logger.js +4 -5
  122. package/dist/logger/renovate-logger.js.map +1 -1
  123. package/dist/logger/utils.js +19 -19
  124. package/dist/logger/utils.js.map +1 -1
  125. package/dist/modules/datasource/aws-eks-addon/index.js +2 -2
  126. package/dist/modules/datasource/aws-eks-addon/index.js.map +1 -1
  127. package/dist/modules/datasource/bazel/index.js +2 -2
  128. package/dist/modules/datasource/bazel/index.js.map +1 -1
  129. package/dist/modules/datasource/bitrise/index.js +2 -2
  130. package/dist/modules/datasource/bitrise/index.js.map +1 -1
  131. package/dist/modules/datasource/common.js +4 -4
  132. package/dist/modules/datasource/common.js.map +1 -1
  133. package/dist/modules/datasource/conan/index.js +3 -3
  134. package/dist/modules/datasource/conan/index.js.map +1 -1
  135. package/dist/modules/datasource/custom/formats/html.js +2 -5
  136. package/dist/modules/datasource/custom/formats/html.js.map +1 -1
  137. package/dist/modules/datasource/custom/index.js +2 -3
  138. package/dist/modules/datasource/custom/index.js.map +1 -1
  139. package/dist/modules/datasource/custom/utils.js +4 -4
  140. package/dist/modules/datasource/custom/utils.js.map +1 -1
  141. package/dist/modules/datasource/dart-version/index.js +2 -3
  142. package/dist/modules/datasource/dart-version/index.js.map +1 -1
  143. package/dist/modules/datasource/deno/index.js +2 -2
  144. package/dist/modules/datasource/deno/index.js.map +1 -1
  145. package/dist/modules/datasource/docker/common.js +5 -5
  146. package/dist/modules/datasource/docker/common.js.map +1 -1
  147. package/dist/modules/datasource/docker/index.js +6 -6
  148. package/dist/modules/datasource/docker/index.js.map +1 -1
  149. package/dist/modules/datasource/endoflife-date/index.js +2 -2
  150. package/dist/modules/datasource/endoflife-date/index.js.map +1 -1
  151. package/dist/modules/datasource/galaxy/index.js +2 -2
  152. package/dist/modules/datasource/galaxy/index.js.map +1 -1
  153. package/dist/modules/datasource/galaxy-collection/index.js +2 -2
  154. package/dist/modules/datasource/galaxy-collection/index.js.map +1 -1
  155. package/dist/modules/datasource/git-refs/base.js +2 -2
  156. package/dist/modules/datasource/git-refs/base.js.map +1 -1
  157. package/dist/modules/datasource/github-release-attachments/index.js +2 -2
  158. package/dist/modules/datasource/github-release-attachments/index.js.map +1 -1
  159. package/dist/modules/datasource/github-releases/index.js +2 -3
  160. package/dist/modules/datasource/github-releases/index.js.map +1 -1
  161. package/dist/modules/datasource/github-tags/index.js +2 -3
  162. package/dist/modules/datasource/github-tags/index.js.map +1 -1
  163. package/dist/modules/datasource/go/goproxy-parser.js +3 -3
  164. package/dist/modules/datasource/go/goproxy-parser.js.map +1 -1
  165. package/dist/modules/datasource/go/index.js +2 -2
  166. package/dist/modules/datasource/go/index.js.map +1 -1
  167. package/dist/modules/datasource/go/releases-goproxy.js +3 -3
  168. package/dist/modules/datasource/go/releases-goproxy.js.map +1 -1
  169. package/dist/modules/datasource/hackage/index.js +2 -2
  170. package/dist/modules/datasource/hackage/index.js.map +1 -1
  171. package/dist/modules/datasource/hex/schema.js +2 -3
  172. package/dist/modules/datasource/hex/schema.js.map +1 -1
  173. package/dist/modules/datasource/hexpm-bob/index.js +2 -2
  174. package/dist/modules/datasource/hexpm-bob/index.js.map +1 -1
  175. package/dist/modules/datasource/index.js +14 -14
  176. package/dist/modules/datasource/index.js.map +1 -1
  177. package/dist/modules/datasource/jsr/index.js +2 -2
  178. package/dist/modules/datasource/jsr/index.js.map +1 -1
  179. package/dist/modules/datasource/jsr/util.js +3 -4
  180. package/dist/modules/datasource/jsr/util.js.map +1 -1
  181. package/dist/modules/datasource/metadata.js +5 -5
  182. package/dist/modules/datasource/metadata.js.map +1 -1
  183. package/dist/modules/datasource/npm/get.js +2 -2
  184. package/dist/modules/datasource/npm/get.js.map +1 -1
  185. package/dist/modules/datasource/npm/npmrc.js +7 -7
  186. package/dist/modules/datasource/npm/npmrc.js.map +1 -1
  187. package/dist/modules/datasource/nuget/v3.js +2 -2
  188. package/dist/modules/datasource/nuget/v3.js.map +1 -1
  189. package/dist/modules/datasource/packagist/index.js +2 -2
  190. package/dist/modules/datasource/packagist/index.js.map +1 -1
  191. package/dist/modules/datasource/packagist/schema.js +3 -4
  192. package/dist/modules/datasource/packagist/schema.js.map +1 -1
  193. package/dist/modules/datasource/pypi/index.js +2 -2
  194. package/dist/modules/datasource/pypi/index.js.map +1 -1
  195. package/dist/modules/datasource/repology/index.js +3 -3
  196. package/dist/modules/datasource/repology/index.js.map +1 -1
  197. package/dist/modules/datasource/rubygems/schema.js +5 -6
  198. package/dist/modules/datasource/rubygems/schema.js.map +1 -1
  199. package/dist/modules/datasource/util.js +2 -3
  200. package/dist/modules/datasource/util.js.map +1 -1
  201. package/dist/modules/manager/argocd/extract.js +3 -4
  202. package/dist/modules/manager/argocd/extract.js.map +1 -1
  203. package/dist/modules/manager/asdf/extract.js +2 -3
  204. package/dist/modules/manager/asdf/extract.js.map +1 -1
  205. package/dist/modules/manager/bazel/artifacts.js +2 -2
  206. package/dist/modules/manager/bazel/artifacts.js.map +1 -1
  207. package/dist/modules/manager/bazel/common.js +4 -5
  208. package/dist/modules/manager/bazel/common.js.map +1 -1
  209. package/dist/modules/manager/bazel/rules/http.js +3 -4
  210. package/dist/modules/manager/bazel/rules/http.js.map +1 -1
  211. package/dist/modules/manager/bazel/rules/maven.js +2 -3
  212. package/dist/modules/manager/bazel/rules/maven.js.map +1 -1
  213. package/dist/modules/manager/bazel-module/parser/starlark.js +2 -3
  214. package/dist/modules/manager/bazel-module/parser/starlark.js.map +1 -1
  215. package/dist/modules/manager/bazel-module/rules.js +3 -3
  216. package/dist/modules/manager/bazel-module/rules.js.map +1 -1
  217. package/dist/modules/manager/bitrise/utils.js +3 -4
  218. package/dist/modules/manager/bitrise/utils.js.map +1 -1
  219. package/dist/modules/manager/buildpacks/extract.js +2 -3
  220. package/dist/modules/manager/buildpacks/extract.js.map +1 -1
  221. package/dist/modules/manager/bun/artifacts.js +2 -2
  222. package/dist/modules/manager/bun/artifacts.js.map +1 -1
  223. package/dist/modules/manager/bun/extract.js +2 -3
  224. package/dist/modules/manager/bun/extract.js.map +1 -1
  225. package/dist/modules/manager/bundler/artifacts.js +3 -3
  226. package/dist/modules/manager/bundler/artifacts.js.map +1 -1
  227. package/dist/modules/manager/bundler/extract.js +5 -6
  228. package/dist/modules/manager/bundler/extract.js.map +1 -1
  229. package/dist/modules/manager/cargo/extract.js +3 -4
  230. package/dist/modules/manager/cargo/extract.js.map +1 -1
  231. package/dist/modules/manager/composer/artifacts.js +3 -3
  232. package/dist/modules/manager/composer/artifacts.js.map +1 -1
  233. package/dist/modules/manager/composer/utils.js +3 -4
  234. package/dist/modules/manager/composer/utils.js.map +1 -1
  235. package/dist/modules/manager/conan/extract.js +2 -3
  236. package/dist/modules/manager/conan/extract.js.map +1 -1
  237. package/dist/modules/manager/copier/utils.js +3 -4
  238. package/dist/modules/manager/copier/utils.js.map +1 -1
  239. package/dist/modules/manager/crow/extract.js +2 -3
  240. package/dist/modules/manager/crow/extract.js.map +1 -1
  241. package/dist/modules/manager/custom/jsonata/index.js +2 -3
  242. package/dist/modules/manager/custom/jsonata/index.js.map +1 -1
  243. package/dist/modules/manager/custom/jsonata/utils.js +3 -3
  244. package/dist/modules/manager/custom/jsonata/utils.js.map +1 -1
  245. package/dist/modules/manager/custom/regex/index.js +2 -3
  246. package/dist/modules/manager/custom/regex/index.js.map +1 -1
  247. package/dist/modules/manager/custom/regex/strategies.js +4 -5
  248. package/dist/modules/manager/custom/regex/strategies.js.map +1 -1
  249. package/dist/modules/manager/custom/regex/utils.js +2 -2
  250. package/dist/modules/manager/custom/regex/utils.js.map +1 -1
  251. package/dist/modules/manager/custom/utils.js +6 -7
  252. package/dist/modules/manager/custom/utils.js.map +1 -1
  253. package/dist/modules/manager/deps-edn/extract.js +13 -14
  254. package/dist/modules/manager/deps-edn/extract.js.map +1 -1
  255. package/dist/modules/manager/deps-edn/parser.js +2 -2
  256. package/dist/modules/manager/deps-edn/parser.js.map +1 -1
  257. package/dist/modules/manager/devbox/artifacts.js +2 -2
  258. package/dist/modules/manager/devbox/artifacts.js.map +1 -1
  259. package/dist/modules/manager/docker-compose/extract.js +3 -4
  260. package/dist/modules/manager/docker-compose/extract.js.map +1 -1
  261. package/dist/modules/manager/docker-compose/schema.js +2 -3
  262. package/dist/modules/manager/docker-compose/schema.js.map +1 -1
  263. package/dist/modules/manager/dockerfile/extract.js +5 -5
  264. package/dist/modules/manager/dockerfile/extract.js.map +1 -1
  265. package/dist/modules/manager/fingerprint.generated.js +5 -5
  266. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  267. package/dist/modules/manager/fleet/extract.js +2 -3
  268. package/dist/modules/manager/fleet/extract.js.map +1 -1
  269. package/dist/modules/manager/flux/extract.js +2 -3
  270. package/dist/modules/manager/flux/extract.js.map +1 -1
  271. package/dist/modules/manager/glasskube/extract.js +2 -3
  272. package/dist/modules/manager/glasskube/extract.js.map +1 -1
  273. package/dist/modules/manager/gleam/artifacts.js +3 -4
  274. package/dist/modules/manager/gleam/artifacts.js.map +1 -1
  275. package/dist/modules/manager/gomod/artifacts.js +2 -2
  276. package/dist/modules/manager/gomod/artifacts.js.map +1 -1
  277. package/dist/modules/manager/gradle/artifacts.js +2 -2
  278. package/dist/modules/manager/gradle/artifacts.js.map +1 -1
  279. package/dist/modules/manager/gradle/extract/catalog.js +5 -5
  280. package/dist/modules/manager/gradle/extract/catalog.js.map +1 -1
  281. package/dist/modules/manager/gradle-wrapper/artifacts.js +2 -2
  282. package/dist/modules/manager/gradle-wrapper/artifacts.js.map +1 -1
  283. package/dist/modules/manager/helm-requirements/extract.js +2 -3
  284. package/dist/modules/manager/helm-requirements/extract.js.map +1 -1
  285. package/dist/modules/manager/helmfile/artifacts.js +2 -3
  286. package/dist/modules/manager/helmfile/artifacts.js.map +1 -1
  287. package/dist/modules/manager/helmfile/extract.js +4 -5
  288. package/dist/modules/manager/helmfile/extract.js.map +1 -1
  289. package/dist/modules/manager/helmsman/extract.js +4 -5
  290. package/dist/modules/manager/helmsman/extract.js.map +1 -1
  291. package/dist/modules/manager/helmv3/artifacts.js +4 -4
  292. package/dist/modules/manager/helmv3/artifacts.js.map +1 -1
  293. package/dist/modules/manager/helmv3/extract.js +4 -5
  294. package/dist/modules/manager/helmv3/extract.js.map +1 -1
  295. package/dist/modules/manager/helmv3/oci.js +3 -4
  296. package/dist/modules/manager/helmv3/oci.js.map +1 -1
  297. package/dist/modules/manager/jenkins/extract.js +3 -3
  298. package/dist/modules/manager/jenkins/extract.js.map +1 -1
  299. package/dist/modules/manager/kotlin-script/extract.js +3 -4
  300. package/dist/modules/manager/kotlin-script/extract.js.map +1 -1
  301. package/dist/modules/manager/kubernetes/extract.js +4 -4
  302. package/dist/modules/manager/kubernetes/extract.js.map +1 -1
  303. package/dist/modules/manager/kustomize/artifacts.js +8 -8
  304. package/dist/modules/manager/kustomize/artifacts.js.map +1 -1
  305. package/dist/modules/manager/kustomize/extract.js +8 -8
  306. package/dist/modules/manager/kustomize/extract.js.map +1 -1
  307. package/dist/modules/manager/maven/extract.js +4 -4
  308. package/dist/modules/manager/maven/extract.js.map +1 -1
  309. package/dist/modules/manager/maven/update.js +2 -2
  310. package/dist/modules/manager/maven/update.js.map +1 -1
  311. package/dist/modules/manager/maven-wrapper/artifacts.js +2 -2
  312. package/dist/modules/manager/maven-wrapper/artifacts.js.map +1 -1
  313. package/dist/modules/manager/mise/backends.js +9 -10
  314. package/dist/modules/manager/mise/backends.js.map +1 -1
  315. package/dist/modules/manager/mise/extract.js +7 -8
  316. package/dist/modules/manager/mise/extract.js.map +1 -1
  317. package/dist/modules/manager/mix/artifacts.js +3 -3
  318. package/dist/modules/manager/mix/artifacts.js.map +1 -1
  319. package/dist/modules/manager/nix/artifacts.js +2 -2
  320. package/dist/modules/manager/nix/artifacts.js.map +1 -1
  321. package/dist/modules/manager/npm/detect.js +2 -2
  322. package/dist/modules/manager/npm/detect.js.map +1 -1
  323. package/dist/modules/manager/npm/extract/common/dependency.js +2 -2
  324. package/dist/modules/manager/npm/extract/common/dependency.js.map +1 -1
  325. package/dist/modules/manager/npm/extract/common/overrides.js +3 -4
  326. package/dist/modules/manager/npm/extract/common/overrides.js.map +1 -1
  327. package/dist/modules/manager/npm/extract/common/package-file.js +8 -9
  328. package/dist/modules/manager/npm/extract/common/package-file.js.map +1 -1
  329. package/dist/modules/manager/npm/extract/index.js +10 -10
  330. package/dist/modules/manager/npm/extract/index.js.map +1 -1
  331. package/dist/modules/manager/npm/extract/pnpm.js +7 -7
  332. package/dist/modules/manager/npm/extract/pnpm.js.map +1 -1
  333. package/dist/modules/manager/npm/extract/post/locked-versions.js +3 -3
  334. package/dist/modules/manager/npm/extract/post/locked-versions.js.map +1 -1
  335. package/dist/modules/manager/npm/extract/post/monorepo.js +3 -4
  336. package/dist/modules/manager/npm/extract/post/monorepo.js.map +1 -1
  337. package/dist/modules/manager/npm/extract/yarn.js +2 -3
  338. package/dist/modules/manager/npm/extract/yarn.js.map +1 -1
  339. package/dist/modules/manager/npm/extract/yarnrc.js +2 -3
  340. package/dist/modules/manager/npm/extract/yarnrc.js.map +1 -1
  341. package/dist/modules/manager/npm/post-update/index.js +6 -6
  342. package/dist/modules/manager/npm/post-update/index.js.map +1 -1
  343. package/dist/modules/manager/npm/post-update/npm.js +4 -4
  344. package/dist/modules/manager/npm/post-update/npm.js.map +1 -1
  345. package/dist/modules/manager/npm/post-update/pnpm.js +3 -3
  346. package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
  347. package/dist/modules/manager/npm/post-update/rules.js +2 -2
  348. package/dist/modules/manager/npm/post-update/rules.js.map +1 -1
  349. package/dist/modules/manager/npm/post-update/utils.js +2 -2
  350. package/dist/modules/manager/npm/post-update/utils.js.map +1 -1
  351. package/dist/modules/manager/npm/post-update/yarn.js +3 -3
  352. package/dist/modules/manager/npm/post-update/yarn.js.map +1 -1
  353. package/dist/modules/manager/npm/update/dependency/index.js +2 -3
  354. package/dist/modules/manager/npm/update/dependency/index.js.map +1 -1
  355. package/dist/modules/manager/npm/update/dependency/pnpm.js +2 -3
  356. package/dist/modules/manager/npm/update/dependency/pnpm.js.map +1 -1
  357. package/dist/modules/manager/npm/update/dependency/yarn.js +3 -4
  358. package/dist/modules/manager/npm/update/dependency/yarn.js.map +1 -1
  359. package/dist/modules/manager/nuget/config-formatter.js +2 -2
  360. package/dist/modules/manager/nuget/config-formatter.js.map +1 -1
  361. package/dist/modules/manager/nuget/extract.js +4 -4
  362. package/dist/modules/manager/nuget/extract.js.map +1 -1
  363. package/dist/modules/manager/nuget/package-tree.js +2 -2
  364. package/dist/modules/manager/nuget/package-tree.js.map +1 -1
  365. package/dist/modules/manager/ocb/extract.js +2 -3
  366. package/dist/modules/manager/ocb/extract.js.map +1 -1
  367. package/dist/modules/manager/osgi/extract.js +4 -4
  368. package/dist/modules/manager/osgi/extract.js.map +1 -1
  369. package/dist/modules/manager/pep621/artifacts.js +3 -4
  370. package/dist/modules/manager/pep621/artifacts.js.map +1 -1
  371. package/dist/modules/manager/pep621/processors/uv.js +2 -3
  372. package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
  373. package/dist/modules/manager/pep621/utils.js +8 -10
  374. package/dist/modules/manager/pep621/utils.js.map +1 -1
  375. package/dist/modules/manager/pep723/schema.js +2 -3
  376. package/dist/modules/manager/pep723/schema.js.map +1 -1
  377. package/dist/modules/manager/pip-compile/common.js +3 -3
  378. package/dist/modules/manager/pip-compile/common.js.map +1 -1
  379. package/dist/modules/manager/pip_requirements/artifacts.js +2 -3
  380. package/dist/modules/manager/pip_requirements/artifacts.js.map +1 -1
  381. package/dist/modules/manager/pip_requirements/extract.js +2 -3
  382. package/dist/modules/manager/pip_requirements/extract.js.map +1 -1
  383. package/dist/modules/manager/pipenv/artifacts.js +3 -4
  384. package/dist/modules/manager/pipenv/artifacts.js.map +1 -1
  385. package/dist/modules/manager/pipenv/extract.js +6 -7
  386. package/dist/modules/manager/pipenv/extract.js.map +1 -1
  387. package/dist/modules/manager/pixi/artifacts.js +2 -3
  388. package/dist/modules/manager/pixi/artifacts.js.map +1 -1
  389. package/dist/modules/manager/pixi/extract.js +2 -3
  390. package/dist/modules/manager/pixi/extract.js.map +1 -1
  391. package/dist/modules/manager/poetry/artifacts.js +4 -5
  392. package/dist/modules/manager/poetry/artifacts.js.map +1 -1
  393. package/dist/modules/manager/poetry/extract.js +2 -3
  394. package/dist/modules/manager/poetry/extract.js.map +1 -1
  395. package/dist/modules/manager/pre-commit/extract.js +4 -5
  396. package/dist/modules/manager/pre-commit/extract.js.map +1 -1
  397. package/dist/modules/manager/pub/artifacts.js +3 -4
  398. package/dist/modules/manager/pub/artifacts.js.map +1 -1
  399. package/dist/modules/manager/pub/extract.js +8 -11
  400. package/dist/modules/manager/pub/extract.js.map +1 -1
  401. package/dist/modules/manager/renovate-config-presets/extract.js +4 -5
  402. package/dist/modules/manager/renovate-config-presets/extract.js.map +1 -1
  403. package/dist/modules/manager/tekton/extract.js +9 -10
  404. package/dist/modules/manager/tekton/extract.js.map +1 -1
  405. package/dist/modules/manager/terraform/base.js +2 -3
  406. package/dist/modules/manager/terraform/base.js.map +1 -1
  407. package/dist/modules/manager/terraform/extract.js +2 -2
  408. package/dist/modules/manager/terraform/extract.js.map +1 -1
  409. package/dist/modules/manager/terraform/extractors/others/modules.js +3 -4
  410. package/dist/modules/manager/terraform/extractors/others/modules.js.map +1 -1
  411. package/dist/modules/manager/terraform/extractors/others/providers.js +3 -4
  412. package/dist/modules/manager/terraform/extractors/others/providers.js.map +1 -1
  413. package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js +7 -8
  414. package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js.map +1 -1
  415. package/dist/modules/manager/terraform/extractors/resources/helm-release.js +5 -6
  416. package/dist/modules/manager/terraform/extractors/resources/helm-release.js.map +1 -1
  417. package/dist/modules/manager/terraform/extractors/resources/terraform-workspace.js +3 -4
  418. package/dist/modules/manager/terraform/extractors/resources/terraform-workspace.js.map +1 -1
  419. package/dist/modules/manager/terraform/extractors/terraform-block/required-provider.js +4 -5
  420. package/dist/modules/manager/terraform/extractors/terraform-block/required-provider.js.map +1 -1
  421. package/dist/modules/manager/terraform/extractors/terraform-block/terraform-version.js +3 -3
  422. package/dist/modules/manager/terraform/extractors/terraform-block/terraform-version.js.map +1 -1
  423. package/dist/modules/manager/terraform/lockfile/index.js +2 -2
  424. package/dist/modules/manager/terraform/lockfile/index.js.map +1 -1
  425. package/dist/modules/manager/terraform/lockfile/util.js +2 -3
  426. package/dist/modules/manager/terraform/lockfile/util.js.map +1 -1
  427. package/dist/modules/manager/terraform/util.js +2 -3
  428. package/dist/modules/manager/terraform/util.js.map +1 -1
  429. package/dist/modules/manager/tflint-plugin/plugins.js +2 -3
  430. package/dist/modules/manager/tflint-plugin/plugins.js.map +1 -1
  431. package/dist/modules/manager/travis/extract.js +5 -6
  432. package/dist/modules/manager/travis/extract.js.map +1 -1
  433. package/dist/modules/manager/woodpecker/extract.js +2 -3
  434. package/dist/modules/manager/woodpecker/extract.js.map +1 -1
  435. package/dist/modules/platform/azure/index.js +2 -2
  436. package/dist/modules/platform/azure/index.js.map +1 -1
  437. package/dist/modules/platform/bitbucket/index.js +5 -5
  438. package/dist/modules/platform/bitbucket/index.js.map +1 -1
  439. package/dist/modules/platform/bitbucket-server/pr-cache.js +2 -2
  440. package/dist/modules/platform/bitbucket-server/pr-cache.js.map +1 -1
  441. package/dist/modules/platform/bitbucket-server/utils.js +2 -2
  442. package/dist/modules/platform/bitbucket-server/utils.js.map +1 -1
  443. package/dist/modules/platform/codecommit/codecommit-client.js +2 -2
  444. package/dist/modules/platform/codecommit/codecommit-client.js.map +1 -1
  445. package/dist/modules/platform/forgejo/index.js +5 -5
  446. package/dist/modules/platform/forgejo/index.js.map +1 -1
  447. package/dist/modules/platform/forgejo/utils.js +2 -2
  448. package/dist/modules/platform/forgejo/utils.js.map +1 -1
  449. package/dist/modules/platform/gitea/index.js +5 -5
  450. package/dist/modules/platform/gitea/index.js.map +1 -1
  451. package/dist/modules/platform/gitea/utils.js +2 -2
  452. package/dist/modules/platform/gitea/utils.js.map +1 -1
  453. package/dist/modules/platform/github/common.js +4 -5
  454. package/dist/modules/platform/github/common.js.map +1 -1
  455. package/dist/modules/platform/github/index.js +5 -5
  456. package/dist/modules/platform/github/index.js.map +1 -1
  457. package/dist/modules/platform/github/pr.js +2 -3
  458. package/dist/modules/platform/github/pr.js.map +1 -1
  459. package/dist/modules/platform/gitlab/http.js +2 -3
  460. package/dist/modules/platform/gitlab/http.js.map +1 -1
  461. package/dist/modules/platform/gitlab/index.js +3 -3
  462. package/dist/modules/platform/gitlab/index.js.map +1 -1
  463. package/dist/modules/platform/gitlab/utils.js +3 -3
  464. package/dist/modules/platform/gitlab/utils.js.map +1 -1
  465. package/dist/modules/platform/pr-body.js +2 -3
  466. package/dist/modules/platform/pr-body.js.map +1 -1
  467. package/dist/modules/versioning/composer/index.js +2 -3
  468. package/dist/modules/versioning/composer/index.js.map +1 -1
  469. package/dist/modules/versioning/generic.js +5 -6
  470. package/dist/modules/versioning/generic.js.map +1 -1
  471. package/dist/modules/versioning/gradle/compare.js +3 -4
  472. package/dist/modules/versioning/gradle/compare.js.map +1 -1
  473. package/dist/modules/versioning/nixpkgs/index.js +6 -7
  474. package/dist/modules/versioning/nixpkgs/index.js.map +1 -1
  475. package/dist/modules/versioning/npm/range.js +2 -2
  476. package/dist/modules/versioning/npm/range.js.map +1 -1
  477. package/dist/modules/versioning/rpm/index.js +4 -5
  478. package/dist/modules/versioning/rpm/index.js.map +1 -1
  479. package/dist/modules/versioning/schema.js +2 -2
  480. package/dist/modules/versioning/schema.js.map +1 -1
  481. package/dist/modules/versioning/semver-coerced/index.js +3 -3
  482. package/dist/modules/versioning/semver-coerced/index.js.map +1 -1
  483. package/dist/modules/versioning/semver-partial/index.js +4 -4
  484. package/dist/modules/versioning/semver-partial/index.js.map +1 -1
  485. package/dist/proxy.js +3 -4
  486. package/dist/proxy.js.map +1 -1
  487. package/dist/util/array.js +4 -5
  488. package/dist/util/array.js.map +1 -1
  489. package/dist/util/assign-keys.js +2 -3
  490. package/dist/util/assign-keys.js.map +1 -1
  491. package/dist/util/cache/package/decorator.js +6 -6
  492. package/dist/util/cache/package/decorator.js.map +1 -1
  493. package/dist/util/cache/package/ttl.js +4 -5
  494. package/dist/util/cache/package/ttl.js.map +1 -1
  495. package/dist/util/cache/repository/impl/base.js +3 -4
  496. package/dist/util/cache/repository/impl/base.js.map +1 -1
  497. package/dist/util/cache/repository/impl/s3.js +2 -3
  498. package/dist/util/cache/repository/impl/s3.js.map +1 -1
  499. package/dist/util/exec/common.js +2 -3
  500. package/dist/util/exec/common.js.map +1 -1
  501. package/dist/util/exec/containerbase.js +2 -2
  502. package/dist/util/exec/containerbase.js.map +1 -1
  503. package/dist/util/exec/docker/index.js +5 -5
  504. package/dist/util/exec/docker/index.js.map +1 -1
  505. package/dist/util/exec/index.js +2 -2
  506. package/dist/util/exec/index.js.map +1 -1
  507. package/dist/util/exec/utils.js +3 -4
  508. package/dist/util/exec/utils.js.map +1 -1
  509. package/dist/util/filter-map.js +2 -3
  510. package/dist/util/filter-map.js.map +1 -1
  511. package/dist/util/fs/index.js +3 -3
  512. package/dist/util/fs/index.js.map +1 -1
  513. package/dist/util/git/auth.js +2 -3
  514. package/dist/util/git/auth.js.map +1 -1
  515. package/dist/util/git/config.js +3 -4
  516. package/dist/util/git/config.js.map +1 -1
  517. package/dist/util/git/index.js +4 -4
  518. package/dist/util/git/index.js.map +1 -1
  519. package/dist/util/git/private-key.js +2 -2
  520. package/dist/util/git/private-key.js.map +1 -1
  521. package/dist/util/host-rules.js +6 -6
  522. package/dist/util/host-rules.js.map +1 -1
  523. package/dist/util/http/auth.js +3 -4
  524. package/dist/util/http/auth.js.map +1 -1
  525. package/dist/util/http/bitbucket-server.js +2 -3
  526. package/dist/util/http/bitbucket-server.js.map +1 -1
  527. package/dist/util/http/bitbucket.js +3 -4
  528. package/dist/util/http/bitbucket.js.map +1 -1
  529. package/dist/util/http/cache/package-http-cache-provider.js +2 -2
  530. package/dist/util/http/cache/package-http-cache-provider.js.map +1 -1
  531. package/dist/util/http/forgejo.js +3 -4
  532. package/dist/util/http/forgejo.js.map +1 -1
  533. package/dist/util/http/gitea.js +3 -4
  534. package/dist/util/http/gitea.js.map +1 -1
  535. package/dist/util/http/github.js +10 -10
  536. package/dist/util/http/github.js.map +1 -1
  537. package/dist/util/http/gitlab.js +4 -5
  538. package/dist/util/http/gitlab.js.map +1 -1
  539. package/dist/util/http/host-rules.js +10 -10
  540. package/dist/util/http/host-rules.js.map +1 -1
  541. package/dist/util/http/http.js +5 -5
  542. package/dist/util/http/http.js.map +1 -1
  543. package/dist/util/http/rate-limits.js +3 -3
  544. package/dist/util/http/rate-limits.js.map +1 -1
  545. package/dist/util/interpolator.js +8 -9
  546. package/dist/util/interpolator.js.map +1 -1
  547. package/dist/util/merge-confidence/index.js +5 -5
  548. package/dist/util/merge-confidence/index.js.map +1 -1
  549. package/dist/util/number.js +2 -3
  550. package/dist/util/number.js.map +1 -1
  551. package/dist/util/package-rules/base-branches.js +3 -4
  552. package/dist/util/package-rules/base-branches.js.map +1 -1
  553. package/dist/util/package-rules/categories.js +3 -4
  554. package/dist/util/package-rules/categories.js.map +1 -1
  555. package/dist/util/package-rules/current-age.js +3 -4
  556. package/dist/util/package-rules/current-age.js.map +1 -1
  557. package/dist/util/package-rules/current-value.js +2 -3
  558. package/dist/util/package-rules/current-value.js.map +1 -1
  559. package/dist/util/package-rules/current-version.js +5 -5
  560. package/dist/util/package-rules/current-version.js.map +1 -1
  561. package/dist/util/package-rules/datasources.js +3 -4
  562. package/dist/util/package-rules/datasources.js.map +1 -1
  563. package/dist/util/package-rules/dep-names.js +3 -4
  564. package/dist/util/package-rules/dep-names.js.map +1 -1
  565. package/dist/util/package-rules/dep-types.js +2 -3
  566. package/dist/util/package-rules/dep-types.js.map +1 -1
  567. package/dist/util/package-rules/files.js +4 -5
  568. package/dist/util/package-rules/files.js.map +1 -1
  569. package/dist/util/package-rules/index.js +6 -6
  570. package/dist/util/package-rules/index.js.map +1 -1
  571. package/dist/util/package-rules/managers.js +3 -4
  572. package/dist/util/package-rules/managers.js.map +1 -1
  573. package/dist/util/package-rules/merge-confidence.js +5 -6
  574. package/dist/util/package-rules/merge-confidence.js.map +1 -1
  575. package/dist/util/package-rules/new-value.js +2 -3
  576. package/dist/util/package-rules/new-value.js.map +1 -1
  577. package/dist/util/package-rules/package-names.js +2 -3
  578. package/dist/util/package-rules/package-names.js.map +1 -1
  579. package/dist/util/package-rules/repositories.js +3 -4
  580. package/dist/util/package-rules/repositories.js.map +1 -1
  581. package/dist/util/package-rules/sourceurls.js +2 -3
  582. package/dist/util/package-rules/sourceurls.js.map +1 -1
  583. package/dist/util/package-rules/update-types.js +2 -3
  584. package/dist/util/package-rules/update-types.js.map +1 -1
  585. package/dist/util/pretty-time.js +4 -4
  586. package/dist/util/pretty-time.js.map +1 -1
  587. package/dist/util/regex.js +2 -3
  588. package/dist/util/regex.js.map +1 -1
  589. package/dist/util/s3.js +2 -3
  590. package/dist/util/s3.js.map +1 -1
  591. package/dist/util/sanitize.js +2 -3
  592. package/dist/util/sanitize.js.map +1 -1
  593. package/dist/util/string-match.js +2 -3
  594. package/dist/util/string-match.js.map +1 -1
  595. package/dist/util/template/index.js +6 -6
  596. package/dist/util/template/index.js.map +1 -1
  597. package/dist/util/url.js +5 -5
  598. package/dist/util/url.js.map +1 -1
  599. package/dist/workers/global/autodiscover.js +3 -4
  600. package/dist/workers/global/autodiscover.js.map +1 -1
  601. package/dist/workers/global/config/parse/additional-config-file.js +4 -4
  602. package/dist/workers/global/config/parse/additional-config-file.js.map +1 -1
  603. package/dist/workers/global/config/parse/coersions.js +2 -2
  604. package/dist/workers/global/config/parse/coersions.js.map +1 -1
  605. package/dist/workers/global/config/parse/env.js +2 -2
  606. package/dist/workers/global/config/parse/env.js.map +1 -1
  607. package/dist/workers/global/config/parse/file.js +5 -5
  608. package/dist/workers/global/config/parse/file.js.map +1 -1
  609. package/dist/workers/global/config/parse/index.js +6 -7
  610. package/dist/workers/global/config/parse/index.js.map +1 -1
  611. package/dist/workers/global/config/parse/util.js +2 -2
  612. package/dist/workers/global/config/parse/util.js.map +1 -1
  613. package/dist/workers/global/index.js +5 -5
  614. package/dist/workers/global/index.js.map +1 -1
  615. package/dist/workers/global/limits.js +6 -7
  616. package/dist/workers/global/limits.js.map +1 -1
  617. package/dist/workers/repository/config-migration/branch/index.js +2 -3
  618. package/dist/workers/repository/config-migration/branch/index.js.map +1 -1
  619. package/dist/workers/repository/config-migration/branch/migrated-data.js +2 -2
  620. package/dist/workers/repository/config-migration/branch/migrated-data.js.map +1 -1
  621. package/dist/workers/repository/config-migration/pr/index.js +3 -3
  622. package/dist/workers/repository/config-migration/pr/index.js.map +1 -1
  623. package/dist/workers/repository/dependency-dashboard.js +10 -10
  624. package/dist/workers/repository/dependency-dashboard.js.map +1 -1
  625. package/dist/workers/repository/error.js +6 -1
  626. package/dist/workers/repository/error.js.map +1 -1
  627. package/dist/workers/repository/extract/index.js +2 -3
  628. package/dist/workers/repository/extract/index.js.map +1 -1
  629. package/dist/workers/repository/extract/manager-files.js +2 -3
  630. package/dist/workers/repository/extract/manager-files.js.map +1 -1
  631. package/dist/workers/repository/extract/supersedes.js +4 -5
  632. package/dist/workers/repository/extract/supersedes.js.map +1 -1
  633. package/dist/workers/repository/finalize/prune.js +2 -3
  634. package/dist/workers/repository/finalize/prune.js.map +1 -1
  635. package/dist/workers/repository/init/inherited.js +5 -5
  636. package/dist/workers/repository/init/inherited.js.map +1 -1
  637. package/dist/workers/repository/init/merge.js +13 -13
  638. package/dist/workers/repository/init/merge.js.map +1 -1
  639. package/dist/workers/repository/model/commit-message.js +2 -3
  640. package/dist/workers/repository/model/commit-message.js.map +1 -1
  641. package/dist/workers/repository/onboarding/branch/index.js +2 -3
  642. package/dist/workers/repository/onboarding/branch/index.js.map +1 -1
  643. package/dist/workers/repository/onboarding/branch/onboarding-branch-cache.js +5 -6
  644. package/dist/workers/repository/onboarding/branch/onboarding-branch-cache.js.map +1 -1
  645. package/dist/workers/repository/onboarding/pr/config-description.js +2 -5
  646. package/dist/workers/repository/onboarding/pr/config-description.js.map +1 -1
  647. package/dist/workers/repository/onboarding/pr/index.js +3 -3
  648. package/dist/workers/repository/onboarding/pr/index.js.map +1 -1
  649. package/dist/workers/repository/package-files.js +8 -9
  650. package/dist/workers/repository/package-files.js.map +1 -1
  651. package/dist/workers/repository/process/extract-update.js +2 -2
  652. package/dist/workers/repository/process/extract-update.js.map +1 -1
  653. package/dist/workers/repository/process/fetch.js +3 -3
  654. package/dist/workers/repository/process/fetch.js.map +1 -1
  655. package/dist/workers/repository/process/lookup/current.js +2 -3
  656. package/dist/workers/repository/process/lookup/current.js.map +1 -1
  657. package/dist/workers/repository/process/lookup/filter-checks.js +4 -5
  658. package/dist/workers/repository/process/lookup/filter-checks.js.map +1 -1
  659. package/dist/workers/repository/process/lookup/generate.js +2 -3
  660. package/dist/workers/repository/process/lookup/generate.js.map +1 -1
  661. package/dist/workers/repository/process/lookup/index.js +15 -16
  662. package/dist/workers/repository/process/lookup/index.js.map +1 -1
  663. package/dist/workers/repository/process/lookup/utils.js +7 -7
  664. package/dist/workers/repository/process/lookup/utils.js.map +1 -1
  665. package/dist/workers/repository/process/vulnerabilities.js +11 -11
  666. package/dist/workers/repository/process/vulnerabilities.js.map +1 -1
  667. package/dist/workers/repository/process/write.js +2 -3
  668. package/dist/workers/repository/process/write.js.map +1 -1
  669. package/dist/workers/repository/reconfigure/comment.js +2 -5
  670. package/dist/workers/repository/reconfigure/comment.js.map +1 -1
  671. package/dist/workers/repository/reconfigure/utils.js +2 -3
  672. package/dist/workers/repository/reconfigure/utils.js.map +1 -1
  673. package/dist/workers/repository/reconfigure/validate.js +2 -3
  674. package/dist/workers/repository/reconfigure/validate.js.map +1 -1
  675. package/dist/workers/repository/update/branch/auto-replace.js +4 -5
  676. package/dist/workers/repository/update/branch/auto-replace.js.map +1 -1
  677. package/dist/workers/repository/update/branch/commit.js +3 -4
  678. package/dist/workers/repository/update/branch/commit.js.map +1 -1
  679. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js +12 -5
  680. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js.map +1 -1
  681. package/dist/workers/repository/update/branch/get-updated.js +8 -9
  682. package/dist/workers/repository/update/branch/get-updated.js.map +1 -1
  683. package/dist/workers/repository/update/branch/index.js +3 -3
  684. package/dist/workers/repository/update/branch/index.js.map +1 -1
  685. package/dist/workers/repository/update/branch/schedule.js +2 -2
  686. package/dist/workers/repository/update/branch/schedule.js.map +1 -1
  687. package/dist/workers/repository/update/pr/body/notes.js +2 -2
  688. package/dist/workers/repository/update/pr/body/notes.js.map +1 -1
  689. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js +2 -2
  690. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js.map +1 -1
  691. package/dist/workers/repository/update/pr/changelog/index.js +3 -3
  692. package/dist/workers/repository/update/pr/changelog/index.js.map +1 -1
  693. package/dist/workers/repository/update/pr/changelog/release-notes.js +4 -4
  694. package/dist/workers/repository/update/pr/changelog/release-notes.js.map +1 -1
  695. package/dist/workers/repository/update/pr/changelog/source.js +8 -8
  696. package/dist/workers/repository/update/pr/changelog/source.js.map +1 -1
  697. package/dist/workers/repository/update/pr/code-owners.js +2 -2
  698. package/dist/workers/repository/update/pr/code-owners.js.map +1 -1
  699. package/dist/workers/repository/update/pr/index.js +7 -8
  700. package/dist/workers/repository/update/pr/index.js.map +1 -1
  701. package/dist/workers/repository/update/pr/labels.js +4 -4
  702. package/dist/workers/repository/update/pr/labels.js.map +1 -1
  703. package/dist/workers/repository/update/pr/participants.js +4 -5
  704. package/dist/workers/repository/update/pr/participants.js.map +1 -1
  705. package/dist/workers/repository/updates/generate.js +4 -4
  706. package/dist/workers/repository/updates/generate.js.map +1 -1
  707. package/package.json +3 -3
  708. package/renovate-schema.json +7 -2
@@ -1 +1 @@
1
- {"version":3,"file":"pr-body.js","sourceRoot":"","sources":["../../../lib/modules/platform/pr-body.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../logger';\nimport { stripEmojis } from '../../util/emoji';\nimport { toSha256 } from '../../util/hash';\nimport { regEx } from '../../util/regex';\nimport { fromBase64 } from '../../util/string';\nimport type { PrBodyStruct } from './types';\n\nexport const prDebugDataRe = regEx(\n /\\n?<!--renovate-debug:(?<payload>.*?)-->\\n?/,\n);\n\nconst renovateConfigHashRe = regEx(\n /\\n?<!--renovate-config-hash:(?<payload>.*?)-->\\n?/,\n);\n\nconst prCheckboxRe = regEx(/- (?<checkbox>\\[[\\sx]]) <!-- rebase-check -->/);\n\nfunction noWhitespaceOrHeadings(input: string): string {\n return input.replace(regEx(/\\r?\\n|\\r|\\s|#/g), '');\n}\n\nconst reviewableRegex = regEx(/\\s*<!-- Reviewable:start -->/);\n\nexport function hashBody(body: string | undefined): string {\n let result = body?.trim() ?? '';\n result = result.replace(prDebugDataRe, '');\n const reviewableIndex = result.search(reviewableRegex);\n if (reviewableIndex > -1) {\n result = result.slice(0, reviewableIndex);\n }\n result = stripEmojis(result);\n result = noWhitespaceOrHeadings(result);\n result = toSha256(result);\n return result;\n}\n\nfunction isRebaseRequested(body: string): boolean | undefined {\n const match = prCheckboxRe.exec(body);\n if (!match) {\n return undefined;\n }\n return match.groups?.checkbox === '[x]';\n}\n\nexport function getRenovateDebugPayload(body: string): string | undefined {\n const match = prDebugDataRe.exec(body);\n return match?.groups?.payload;\n}\n\nexport function getRenovateConfigHashPayload(body: string): string | undefined {\n const match = renovateConfigHashRe.exec(body);\n return match?.groups?.payload;\n}\n\nexport function getPrBodyStruct(\n input: string | undefined | null,\n): PrBodyStruct {\n const body = input ?? '';\n const hash = hashBody(body);\n const result: PrBodyStruct = { hash };\n\n const rebaseRequested = isRebaseRequested(body);\n\n if (!is.undefined(rebaseRequested)) {\n result.rebaseRequested = rebaseRequested;\n }\n\n const rawConfigHash = getRenovateConfigHashPayload(body);\n if (rawConfigHash) {\n result.rawConfigHash = rawConfigHash;\n }\n\n const debugPayload = getRenovateDebugPayload(body);\n if (debugPayload) {\n try {\n result.debugData = JSON.parse(fromBase64(debugPayload));\n } catch {\n logger.warn('Unable to read and parse debugData from the PR');\n }\n }\n return result;\n}\n"]}
1
+ {"version":3,"file":"pr-body.js","sourceRoot":"","sources":["../../../lib/modules/platform/pr-body.ts"],"names":[],"mappings":"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","sourcesContent":["import { isUndefined } from '@sindresorhus/is';\nimport { logger } from '../../logger';\nimport { stripEmojis } from '../../util/emoji';\nimport { toSha256 } from '../../util/hash';\nimport { regEx } from '../../util/regex';\nimport { fromBase64 } from '../../util/string';\nimport type { PrBodyStruct } from './types';\n\nexport const prDebugDataRe = regEx(\n /\\n?<!--renovate-debug:(?<payload>.*?)-->\\n?/,\n);\n\nconst renovateConfigHashRe = regEx(\n /\\n?<!--renovate-config-hash:(?<payload>.*?)-->\\n?/,\n);\n\nconst prCheckboxRe = regEx(/- (?<checkbox>\\[[\\sx]]) <!-- rebase-check -->/);\n\nfunction noWhitespaceOrHeadings(input: string): string {\n return input.replace(regEx(/\\r?\\n|\\r|\\s|#/g), '');\n}\n\nconst reviewableRegex = regEx(/\\s*<!-- Reviewable:start -->/);\n\nexport function hashBody(body: string | undefined): string {\n let result = body?.trim() ?? '';\n result = result.replace(prDebugDataRe, '');\n const reviewableIndex = result.search(reviewableRegex);\n if (reviewableIndex > -1) {\n result = result.slice(0, reviewableIndex);\n }\n result = stripEmojis(result);\n result = noWhitespaceOrHeadings(result);\n result = toSha256(result);\n return result;\n}\n\nfunction isRebaseRequested(body: string): boolean | undefined {\n const match = prCheckboxRe.exec(body);\n if (!match) {\n return undefined;\n }\n return match.groups?.checkbox === '[x]';\n}\n\nexport function getRenovateDebugPayload(body: string): string | undefined {\n const match = prDebugDataRe.exec(body);\n return match?.groups?.payload;\n}\n\nexport function getRenovateConfigHashPayload(body: string): string | undefined {\n const match = renovateConfigHashRe.exec(body);\n return match?.groups?.payload;\n}\n\nexport function getPrBodyStruct(\n input: string | undefined | null,\n): PrBodyStruct {\n const body = input ?? '';\n const hash = hashBody(body);\n const result: PrBodyStruct = { hash };\n\n const rebaseRequested = isRebaseRequested(body);\n\n if (!isUndefined(rebaseRequested)) {\n result.rebaseRequested = rebaseRequested;\n }\n\n const rawConfigHash = getRenovateConfigHashPayload(body);\n if (rawConfigHash) {\n result.rawConfigHash = rawConfigHash;\n }\n\n const debugPayload = getRenovateDebugPayload(body);\n if (debugPayload) {\n try {\n result.debugData = JSON.parse(fromBase64(debugPayload));\n } catch {\n logger.warn('Unable to read and parse debugData from the PR');\n }\n }\n return result;\n}\n"]}
@@ -4,7 +4,7 @@ exports.api = exports.supportedRangeStrategies = exports.supportsRanges = export
4
4
  exports.isValid = isValid;
5
5
  exports.isVersion = isVersion;
6
6
  const tslib_1 = require("tslib");
7
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
7
+ const is_1 = require("@sindresorhus/is");
8
8
  const semver_1 = tslib_1.__importDefault(require("semver"));
9
9
  const semver_utils_1 = require("semver-utils");
10
10
  const logger_1 = require("../../../logger");
@@ -234,8 +234,7 @@ function getNewValue({ currentValue, rangeStrategy, currentVersion, newVersion,
234
234
  if (rangeStrategy === 'bump') {
235
235
  newValue = `${operator}${newVersion}`;
236
236
  }
237
- else if ((is_1.default.number(currentMajor) && toMajor > currentMajor) ||
238
- !toMinor) {
237
+ else if (((0, is_1.isNumber)(currentMajor) && toMajor > currentMajor) || !toMinor) {
239
238
  // handle ~4.1 case
240
239
  newValue = `${operator}${toMajor}.0`;
241
240
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/composer/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport semver from 'semver';\nimport { parseRange } from 'semver-utils';\nimport { logger } from '../../../logger';\nimport type { RangeStrategy } from '../../../types/versioning';\nimport { regEx } from '../../../util/regex';\nimport { api as npm } from '../npm';\nimport type { NewValueConfig, VersioningApi } from '../types';\n\nexport const id = 'composer';\nexport const displayName = 'Composer';\nexport const urls = [\n 'https://getcomposer.org/doc/articles/versions.md',\n 'https://packagist.org/packages/composer/semver',\n 'https://madewithlove.be/tilde-and-caret-constraints/',\n 'https://semver.mwl.be',\n];\nexport const supportsRanges = true;\nexport const supportedRangeStrategies: RangeStrategy[] = [\n 'bump',\n 'widen',\n 'replace',\n 'update-lockfile',\n];\n\nfunction getVersionParts(input: string): [string, string] {\n const versionParts = input.split('-');\n if (versionParts.length === 1) {\n return [input, ''];\n }\n\n return [versionParts[0], '-' + versionParts[1]];\n}\n\nfunction padZeroes(input: string): string {\n const [output, stability] = getVersionParts(input);\n\n const sections = output.split('.');\n while (sections.length < 3) {\n sections.push('0');\n }\n return sections.join('.') + stability;\n}\n\nfunction convertStabilityModifier(input: string): string {\n // Handle stability modifiers.\n const versionParts = input.split('@');\n if (versionParts.length === 1) {\n return input;\n }\n\n // 1.0@beta2 to 1.0-beta.2\n const stability = versionParts[1].replace(\n regEx(/(?:^|\\s)(beta|alpha|rc)([1-9][0-9]*)(?: |$)/gi),\n '$1.$2',\n );\n\n // If there is a stability part, npm semver expects the version\n // to be full\n return padZeroes(versionParts[0]) + '-' + stability;\n}\n\nfunction normalizeVersion(input: string): string {\n let output = input;\n output = output.replace(regEx(/(^|>|>=|\\^|~)v/i), '$1');\n return convertStabilityModifier(output);\n}\n\n/**\n * @param versions Version list in any format, it recognizes the specific patch format x.x.x-pXX\n * @param range Range in composer format\n * @param minMode If true, it will calculate minSatisfyingVersion, if false, it calculates the maxSatisfyingVersion\n * @returns min or max satisfyingVersion from the input\n */\nfunction calculateSatisfyingVersionIntenal(\n versions: string[],\n range: string,\n minMode: boolean,\n): string | null {\n // Because composer -p versions are considered stable, we have to remove the suffix for the npm.XXX functions.\n const versionsMapped = versions.map((x) => {\n return {\n origianl: x,\n cleaned: removeComposerSpecificPatchPart(x),\n npmVariant: composer2npm(removeComposerSpecificPatchPart(x)[0]),\n };\n });\n\n const npmVersions = versionsMapped.map((x) => x.npmVariant);\n const npmVersion = minMode\n ? npm.minSatisfyingVersion(npmVersions, composer2npm(range))\n : npm.getSatisfyingVersion(npmVersions, composer2npm(range));\n\n if (!npmVersion) {\n return null;\n }\n\n // After we find the npm versions, we select from them back in the mapping the possible patches.\n const candidates = versionsMapped\n .filter((x) => x.npmVariant === npmVersion)\n .sort((a, b) => (minMode ? 1 : -1) * sortVersions(a.origianl, b.origianl));\n\n return candidates[0].origianl;\n}\n\n/**\n * @param intput Version in any format, it recognizes the specific patch format x.x.x-pXX\n * @returns If input contains the specific patch, it returns the input with removed the patch and true, otherwise it retunrs the same string and false.\n */\nfunction removeComposerSpecificPatchPart(input: string): [string, boolean] {\n // the regex is based on the original from composer implementation https://github.com/composer/semver/blob/fa1ec24f0ab1efe642671ec15c51a3ab879f59bf/src/VersionParser.php#L137\n const pattern = /^v?\\d+(\\.\\d+(\\.\\d+(\\.\\d+)?)?)?(?<suffix>-p[1-9]\\d*)$/gi;\n const match = pattern.exec(input);\n\n return match\n ? [input.replace(match.groups!.suffix, ''), true]\n : [input, false];\n}\n\nfunction composer2npm(input: string): string {\n return input\n .split(regEx(/\\s*\\|\\|?\\s*/g))\n .map((part): string => {\n const cleanInput = normalizeVersion(part);\n if (npm.isVersion(cleanInput)) {\n return cleanInput;\n }\n if (npm.isVersion(padZeroes(cleanInput))) {\n return padZeroes(cleanInput);\n }\n const [versionId, stability] = getVersionParts(cleanInput);\n let output = versionId;\n\n // ~4 to ^4 and ~4.1 to ^4.1\n output = output.replace(\n regEx(/(?:^|\\s)~([1-9][0-9]*(?:\\.[0-9]*)?)(?: |$)/g),\n '^$1',\n );\n // ~0.4 to >=0.4 <1\n output = output.replace(\n regEx(/(?:^|\\s)~(0\\.[1-9][0-9]*)(?: |$)/g),\n '>=$1 <1',\n );\n\n // add extra digits to <8-DEV and <8.0-DEV\n output = output\n .replace(regEx(/^(<\\d+(\\.\\d+)?)$/g), '$1.0')\n .replace(regEx(/^(<\\d+(\\.\\d+)?)$/g), '$1.0');\n\n return output + stability;\n })\n .map((part) => part.replace(/([a-z])([0-9])/gi, '$1.$2'))\n .join(' || ');\n}\n\nfunction equals(a: string, b: string): boolean {\n return npm.equals(composer2npm(a), composer2npm(b));\n}\n\nfunction getMajor(version: string): number | null {\n const semverVersion = semver.coerce(composer2npm(version));\n return semverVersion ? npm.getMajor(semverVersion) : null;\n}\n\nfunction getMinor(version: string): number | null {\n const semverVersion = semver.coerce(composer2npm(version));\n return semverVersion ? npm.getMinor(semverVersion) : null;\n}\n\nfunction getPatch(version: string): number | null {\n const semverVersion = semver.coerce(composer2npm(version));\n\n // This returns only the numbers without the optional `-pXX` patch version supported by composer. Fixing that would require a bigger\n // refactoring, because the API supports only numbers.\n return semverVersion ? npm.getPatch(semverVersion) : null;\n}\n\nfunction isGreaterThan(a: string, b: string): boolean {\n return sortVersions(a, b) === 1;\n}\n\nfunction isLessThanRange(version: string, range: string): boolean {\n return !!npm.isLessThanRange?.(composer2npm(version), composer2npm(range));\n}\n\nfunction isSingleVersion(input: string): boolean {\n return !!input && npm.isSingleVersion(composer2npm(input));\n}\n\nfunction isStable(version: string): boolean {\n if (version) {\n // Composer considers patches `-pXX` as stable: https://github.com/composer/semver/blob/fa1ec24f0ab1efe642671ec15c51a3ab879f59bf/src/VersionParser.php#L568 but npm not.\n // In order to be able to use the standard npm.isStable function, we remove the potential patch version for the check.\n const [withoutPatch] = removeComposerSpecificPatchPart(version);\n return npm.isStable(composer2npm(withoutPatch));\n }\n\n return false;\n}\n\nexport function isValid(input: string): boolean {\n return !!input && npm.isValid(composer2npm(input));\n}\n\nexport function isVersion(input: string): boolean {\n return !!input && npm.isVersion(composer2npm(input));\n}\n\nfunction matches(version: string, range: string): boolean {\n return npm.matches(composer2npm(version), composer2npm(range));\n}\n\nfunction getSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n return calculateSatisfyingVersionIntenal(versions, range, false);\n}\n\nfunction minSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n return calculateSatisfyingVersionIntenal(versions, range, true);\n}\n\nfunction subset(subRange: string, superRange: string): boolean | undefined {\n try {\n return npm.subset!(composer2npm(subRange), composer2npm(superRange));\n } catch (err) {\n logger.trace({ err }, 'composer.subset error');\n return false;\n }\n}\n\nfunction intersects(subRange: string, superRange: string): boolean {\n try {\n return npm.intersects!(composer2npm(subRange), composer2npm(superRange));\n } catch (err) {\n logger.trace({ err }, 'composer.intersects error');\n return false;\n }\n}\n\nfunction getNewValue({\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n}: NewValueConfig): string | null {\n if (rangeStrategy === 'update-lockfile') {\n if (matches(newVersion, currentValue)) {\n return currentValue;\n }\n return getNewValue({\n currentValue,\n rangeStrategy: 'replace',\n currentVersion,\n newVersion,\n });\n }\n const currentMajor = currentVersion ? getMajor(currentVersion) : null;\n const toMajor = getMajor(newVersion);\n const toMinor = getMinor(newVersion);\n let newValue: string | null = null;\n if (isVersion(currentValue)) {\n newValue = newVersion;\n } else if (regEx(/^[~^](0\\.[1-9][0-9]*)$/).test(currentValue)) {\n const operator = currentValue.substring(0, 1);\n // handle ~0.4 case first\n if (toMajor === 0) {\n // TODO: types (#22198)\n newValue = `${operator}0.${toMinor!}`;\n } else {\n // TODO: types (#22198)\n newValue = `${operator}${toMajor!}.0`;\n }\n } else if (regEx(/^[~^]([0-9]*)$/).test(currentValue)) {\n // handle ~4 case\n const operator = currentValue.substring(0, 1);\n // TODO: types (#22198)\n newValue = `${operator}${toMajor!}`;\n } else if (\n toMajor &&\n regEx(/^[~^]([0-9]*(?:\\.[0-9]*)?)$/).test(currentValue)\n ) {\n const operator = currentValue.substring(0, 1);\n if (rangeStrategy === 'bump') {\n newValue = `${operator}${newVersion}`;\n } else if (\n (is.number(currentMajor) && toMajor > currentMajor) ||\n !toMinor\n ) {\n // handle ~4.1 case\n newValue = `${operator}${toMajor}.0`;\n } else {\n newValue = `${operator}${toMajor}.${toMinor}`;\n }\n } else if (\n currentVersion &&\n npm.isVersion(padZeroes(normalizeVersion(newVersion))) &&\n npm.isValid(normalizeVersion(currentValue)) &&\n composer2npm(currentValue) === normalizeVersion(currentValue)\n ) {\n newValue = npm.getNewValue({\n currentValue: normalizeVersion(currentValue),\n rangeStrategy,\n currentVersion: padZeroes(normalizeVersion(currentVersion)),\n newVersion: padZeroes(normalizeVersion(newVersion)),\n });\n }\n\n if (rangeStrategy === 'widen' && matches(newVersion, currentValue)) {\n newValue = currentValue;\n } else {\n const hasOr = currentValue.includes(' || ');\n if (hasOr || rangeStrategy === 'widen') {\n const splitValues = currentValue.split('||');\n const lastValue = splitValues[splitValues.length - 1];\n const replacementValue = getNewValue({\n currentValue: lastValue.trim(),\n rangeStrategy: 'replace',\n currentVersion,\n newVersion,\n });\n if (rangeStrategy === 'replace') {\n newValue = replacementValue;\n } else if (replacementValue) {\n const parsedRange = parseRange(replacementValue);\n const element = parsedRange[parsedRange.length - 1];\n if (element.operator?.startsWith('<')) {\n const splitCurrent = currentValue.split(element.operator);\n splitCurrent.pop();\n newValue = splitCurrent.join(element.operator) + replacementValue;\n } else {\n newValue = currentValue + ' || ' + replacementValue;\n }\n }\n }\n }\n\n if (!newValue) {\n logger.warn(\n { currentValue, rangeStrategy, currentVersion, newVersion },\n 'Unsupported composer value',\n );\n newValue = newVersion;\n }\n if (currentValue.split('.')[0].includes('v')) {\n newValue = newValue.replace(regEx(/([0-9])/), 'v$1');\n }\n\n // Preserve original min-stability specifier\n if (currentValue.includes('@')) {\n newValue += '@' + currentValue.split('@')[1];\n }\n\n return newValue;\n}\n\nfunction sortVersions(a: string, b: string): number {\n const [aWithoutPatch, aContainsPatch] = removeComposerSpecificPatchPart(a);\n const [bWithoutPatch, bContainsPatch] = removeComposerSpecificPatchPart(b);\n\n if (aContainsPatch === bContainsPatch) {\n // If both [a and b] contain patch version or both [a and b] do not contain patch version, then npm comparison deliveres correct results\n return npm.sortVersions(composer2npm(a), composer2npm(b));\n } else if (\n npm.equals(composer2npm(aWithoutPatch), composer2npm(bWithoutPatch))\n ) {\n // If only one [a or b] contains patch version and the parts without patch versions are equal, then the version with patch is greater (this is the case where npm comparison fails)\n return aContainsPatch ? 1 : -1;\n } else {\n // All other cases can be compared correctly by npm\n return npm.sortVersions(composer2npm(a), composer2npm(b));\n }\n}\n\nfunction isCompatible(version: string): boolean {\n return isVersion(version);\n}\n\nfunction isBreaking(current: string, version: string): boolean {\n return npm.isBreaking!(composer2npm(current), composer2npm(version));\n}\n\nexport const api: VersioningApi = {\n equals,\n getMajor,\n getMinor,\n getPatch,\n isBreaking,\n isCompatible,\n isGreaterThan,\n isLessThanRange,\n isSingleVersion,\n isStable,\n isValid,\n isVersion,\n matches,\n getSatisfyingVersion,\n minSatisfyingVersion,\n getNewValue,\n sortVersions,\n subset,\n intersects,\n};\nexport default api;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/composer/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNumber } from '@sindresorhus/is';\nimport semver from 'semver';\nimport { parseRange } from 'semver-utils';\nimport { logger } from '../../../logger';\nimport type { RangeStrategy } from '../../../types/versioning';\nimport { regEx } from '../../../util/regex';\nimport { api as npm } from '../npm';\nimport type { NewValueConfig, VersioningApi } from '../types';\n\nexport const id = 'composer';\nexport const displayName = 'Composer';\nexport const urls = [\n 'https://getcomposer.org/doc/articles/versions.md',\n 'https://packagist.org/packages/composer/semver',\n 'https://madewithlove.be/tilde-and-caret-constraints/',\n 'https://semver.mwl.be',\n];\nexport const supportsRanges = true;\nexport const supportedRangeStrategies: RangeStrategy[] = [\n 'bump',\n 'widen',\n 'replace',\n 'update-lockfile',\n];\n\nfunction getVersionParts(input: string): [string, string] {\n const versionParts = input.split('-');\n if (versionParts.length === 1) {\n return [input, ''];\n }\n\n return [versionParts[0], '-' + versionParts[1]];\n}\n\nfunction padZeroes(input: string): string {\n const [output, stability] = getVersionParts(input);\n\n const sections = output.split('.');\n while (sections.length < 3) {\n sections.push('0');\n }\n return sections.join('.') + stability;\n}\n\nfunction convertStabilityModifier(input: string): string {\n // Handle stability modifiers.\n const versionParts = input.split('@');\n if (versionParts.length === 1) {\n return input;\n }\n\n // 1.0@beta2 to 1.0-beta.2\n const stability = versionParts[1].replace(\n regEx(/(?:^|\\s)(beta|alpha|rc)([1-9][0-9]*)(?: |$)/gi),\n '$1.$2',\n );\n\n // If there is a stability part, npm semver expects the version\n // to be full\n return padZeroes(versionParts[0]) + '-' + stability;\n}\n\nfunction normalizeVersion(input: string): string {\n let output = input;\n output = output.replace(regEx(/(^|>|>=|\\^|~)v/i), '$1');\n return convertStabilityModifier(output);\n}\n\n/**\n * @param versions Version list in any format, it recognizes the specific patch format x.x.x-pXX\n * @param range Range in composer format\n * @param minMode If true, it will calculate minSatisfyingVersion, if false, it calculates the maxSatisfyingVersion\n * @returns min or max satisfyingVersion from the input\n */\nfunction calculateSatisfyingVersionIntenal(\n versions: string[],\n range: string,\n minMode: boolean,\n): string | null {\n // Because composer -p versions are considered stable, we have to remove the suffix for the npm.XXX functions.\n const versionsMapped = versions.map((x) => {\n return {\n origianl: x,\n cleaned: removeComposerSpecificPatchPart(x),\n npmVariant: composer2npm(removeComposerSpecificPatchPart(x)[0]),\n };\n });\n\n const npmVersions = versionsMapped.map((x) => x.npmVariant);\n const npmVersion = minMode\n ? npm.minSatisfyingVersion(npmVersions, composer2npm(range))\n : npm.getSatisfyingVersion(npmVersions, composer2npm(range));\n\n if (!npmVersion) {\n return null;\n }\n\n // After we find the npm versions, we select from them back in the mapping the possible patches.\n const candidates = versionsMapped\n .filter((x) => x.npmVariant === npmVersion)\n .sort((a, b) => (minMode ? 1 : -1) * sortVersions(a.origianl, b.origianl));\n\n return candidates[0].origianl;\n}\n\n/**\n * @param intput Version in any format, it recognizes the specific patch format x.x.x-pXX\n * @returns If input contains the specific patch, it returns the input with removed the patch and true, otherwise it retunrs the same string and false.\n */\nfunction removeComposerSpecificPatchPart(input: string): [string, boolean] {\n // the regex is based on the original from composer implementation https://github.com/composer/semver/blob/fa1ec24f0ab1efe642671ec15c51a3ab879f59bf/src/VersionParser.php#L137\n const pattern = /^v?\\d+(\\.\\d+(\\.\\d+(\\.\\d+)?)?)?(?<suffix>-p[1-9]\\d*)$/gi;\n const match = pattern.exec(input);\n\n return match\n ? [input.replace(match.groups!.suffix, ''), true]\n : [input, false];\n}\n\nfunction composer2npm(input: string): string {\n return input\n .split(regEx(/\\s*\\|\\|?\\s*/g))\n .map((part): string => {\n const cleanInput = normalizeVersion(part);\n if (npm.isVersion(cleanInput)) {\n return cleanInput;\n }\n if (npm.isVersion(padZeroes(cleanInput))) {\n return padZeroes(cleanInput);\n }\n const [versionId, stability] = getVersionParts(cleanInput);\n let output = versionId;\n\n // ~4 to ^4 and ~4.1 to ^4.1\n output = output.replace(\n regEx(/(?:^|\\s)~([1-9][0-9]*(?:\\.[0-9]*)?)(?: |$)/g),\n '^$1',\n );\n // ~0.4 to >=0.4 <1\n output = output.replace(\n regEx(/(?:^|\\s)~(0\\.[1-9][0-9]*)(?: |$)/g),\n '>=$1 <1',\n );\n\n // add extra digits to <8-DEV and <8.0-DEV\n output = output\n .replace(regEx(/^(<\\d+(\\.\\d+)?)$/g), '$1.0')\n .replace(regEx(/^(<\\d+(\\.\\d+)?)$/g), '$1.0');\n\n return output + stability;\n })\n .map((part) => part.replace(/([a-z])([0-9])/gi, '$1.$2'))\n .join(' || ');\n}\n\nfunction equals(a: string, b: string): boolean {\n return npm.equals(composer2npm(a), composer2npm(b));\n}\n\nfunction getMajor(version: string): number | null {\n const semverVersion = semver.coerce(composer2npm(version));\n return semverVersion ? npm.getMajor(semverVersion) : null;\n}\n\nfunction getMinor(version: string): number | null {\n const semverVersion = semver.coerce(composer2npm(version));\n return semverVersion ? npm.getMinor(semverVersion) : null;\n}\n\nfunction getPatch(version: string): number | null {\n const semverVersion = semver.coerce(composer2npm(version));\n\n // This returns only the numbers without the optional `-pXX` patch version supported by composer. Fixing that would require a bigger\n // refactoring, because the API supports only numbers.\n return semverVersion ? npm.getPatch(semverVersion) : null;\n}\n\nfunction isGreaterThan(a: string, b: string): boolean {\n return sortVersions(a, b) === 1;\n}\n\nfunction isLessThanRange(version: string, range: string): boolean {\n return !!npm.isLessThanRange?.(composer2npm(version), composer2npm(range));\n}\n\nfunction isSingleVersion(input: string): boolean {\n return !!input && npm.isSingleVersion(composer2npm(input));\n}\n\nfunction isStable(version: string): boolean {\n if (version) {\n // Composer considers patches `-pXX` as stable: https://github.com/composer/semver/blob/fa1ec24f0ab1efe642671ec15c51a3ab879f59bf/src/VersionParser.php#L568 but npm not.\n // In order to be able to use the standard npm.isStable function, we remove the potential patch version for the check.\n const [withoutPatch] = removeComposerSpecificPatchPart(version);\n return npm.isStable(composer2npm(withoutPatch));\n }\n\n return false;\n}\n\nexport function isValid(input: string): boolean {\n return !!input && npm.isValid(composer2npm(input));\n}\n\nexport function isVersion(input: string): boolean {\n return !!input && npm.isVersion(composer2npm(input));\n}\n\nfunction matches(version: string, range: string): boolean {\n return npm.matches(composer2npm(version), composer2npm(range));\n}\n\nfunction getSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n return calculateSatisfyingVersionIntenal(versions, range, false);\n}\n\nfunction minSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n return calculateSatisfyingVersionIntenal(versions, range, true);\n}\n\nfunction subset(subRange: string, superRange: string): boolean | undefined {\n try {\n return npm.subset!(composer2npm(subRange), composer2npm(superRange));\n } catch (err) {\n logger.trace({ err }, 'composer.subset error');\n return false;\n }\n}\n\nfunction intersects(subRange: string, superRange: string): boolean {\n try {\n return npm.intersects!(composer2npm(subRange), composer2npm(superRange));\n } catch (err) {\n logger.trace({ err }, 'composer.intersects error');\n return false;\n }\n}\n\nfunction getNewValue({\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n}: NewValueConfig): string | null {\n if (rangeStrategy === 'update-lockfile') {\n if (matches(newVersion, currentValue)) {\n return currentValue;\n }\n return getNewValue({\n currentValue,\n rangeStrategy: 'replace',\n currentVersion,\n newVersion,\n });\n }\n const currentMajor = currentVersion ? getMajor(currentVersion) : null;\n const toMajor = getMajor(newVersion);\n const toMinor = getMinor(newVersion);\n let newValue: string | null = null;\n if (isVersion(currentValue)) {\n newValue = newVersion;\n } else if (regEx(/^[~^](0\\.[1-9][0-9]*)$/).test(currentValue)) {\n const operator = currentValue.substring(0, 1);\n // handle ~0.4 case first\n if (toMajor === 0) {\n // TODO: types (#22198)\n newValue = `${operator}0.${toMinor!}`;\n } else {\n // TODO: types (#22198)\n newValue = `${operator}${toMajor!}.0`;\n }\n } else if (regEx(/^[~^]([0-9]*)$/).test(currentValue)) {\n // handle ~4 case\n const operator = currentValue.substring(0, 1);\n // TODO: types (#22198)\n newValue = `${operator}${toMajor!}`;\n } else if (\n toMajor &&\n regEx(/^[~^]([0-9]*(?:\\.[0-9]*)?)$/).test(currentValue)\n ) {\n const operator = currentValue.substring(0, 1);\n if (rangeStrategy === 'bump') {\n newValue = `${operator}${newVersion}`;\n } else if ((isNumber(currentMajor) && toMajor > currentMajor) || !toMinor) {\n // handle ~4.1 case\n newValue = `${operator}${toMajor}.0`;\n } else {\n newValue = `${operator}${toMajor}.${toMinor}`;\n }\n } else if (\n currentVersion &&\n npm.isVersion(padZeroes(normalizeVersion(newVersion))) &&\n npm.isValid(normalizeVersion(currentValue)) &&\n composer2npm(currentValue) === normalizeVersion(currentValue)\n ) {\n newValue = npm.getNewValue({\n currentValue: normalizeVersion(currentValue),\n rangeStrategy,\n currentVersion: padZeroes(normalizeVersion(currentVersion)),\n newVersion: padZeroes(normalizeVersion(newVersion)),\n });\n }\n\n if (rangeStrategy === 'widen' && matches(newVersion, currentValue)) {\n newValue = currentValue;\n } else {\n const hasOr = currentValue.includes(' || ');\n if (hasOr || rangeStrategy === 'widen') {\n const splitValues = currentValue.split('||');\n const lastValue = splitValues[splitValues.length - 1];\n const replacementValue = getNewValue({\n currentValue: lastValue.trim(),\n rangeStrategy: 'replace',\n currentVersion,\n newVersion,\n });\n if (rangeStrategy === 'replace') {\n newValue = replacementValue;\n } else if (replacementValue) {\n const parsedRange = parseRange(replacementValue);\n const element = parsedRange[parsedRange.length - 1];\n if (element.operator?.startsWith('<')) {\n const splitCurrent = currentValue.split(element.operator);\n splitCurrent.pop();\n newValue = splitCurrent.join(element.operator) + replacementValue;\n } else {\n newValue = currentValue + ' || ' + replacementValue;\n }\n }\n }\n }\n\n if (!newValue) {\n logger.warn(\n { currentValue, rangeStrategy, currentVersion, newVersion },\n 'Unsupported composer value',\n );\n newValue = newVersion;\n }\n if (currentValue.split('.')[0].includes('v')) {\n newValue = newValue.replace(regEx(/([0-9])/), 'v$1');\n }\n\n // Preserve original min-stability specifier\n if (currentValue.includes('@')) {\n newValue += '@' + currentValue.split('@')[1];\n }\n\n return newValue;\n}\n\nfunction sortVersions(a: string, b: string): number {\n const [aWithoutPatch, aContainsPatch] = removeComposerSpecificPatchPart(a);\n const [bWithoutPatch, bContainsPatch] = removeComposerSpecificPatchPart(b);\n\n if (aContainsPatch === bContainsPatch) {\n // If both [a and b] contain patch version or both [a and b] do not contain patch version, then npm comparison deliveres correct results\n return npm.sortVersions(composer2npm(a), composer2npm(b));\n } else if (\n npm.equals(composer2npm(aWithoutPatch), composer2npm(bWithoutPatch))\n ) {\n // If only one [a or b] contains patch version and the parts without patch versions are equal, then the version with patch is greater (this is the case where npm comparison fails)\n return aContainsPatch ? 1 : -1;\n } else {\n // All other cases can be compared correctly by npm\n return npm.sortVersions(composer2npm(a), composer2npm(b));\n }\n}\n\nfunction isCompatible(version: string): boolean {\n return isVersion(version);\n}\n\nfunction isBreaking(current: string, version: string): boolean {\n return npm.isBreaking!(composer2npm(current), composer2npm(version));\n}\n\nexport const api: VersioningApi = {\n equals,\n getMajor,\n getMinor,\n getPatch,\n isBreaking,\n isCompatible,\n isGreaterThan,\n isLessThanRange,\n isSingleVersion,\n isStable,\n isValid,\n isVersion,\n matches,\n getSatisfyingVersion,\n minSatisfyingVersion,\n getNewValue,\n sortVersions,\n subset,\n intersects,\n};\nexport default api;\n"]}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GenericVersioningApi = void 0;
4
- const tslib_1 = require("tslib");
5
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
4
+ const is_1 = require("@sindresorhus/is");
6
5
  class GenericVersioningApi {
7
6
  _getSection(version, index) {
8
7
  const parsed = this._parse(version);
@@ -27,8 +26,8 @@ class GenericVersioningApi {
27
26
  return part1 - part2;
28
27
  }
29
28
  }
30
- if (is_1.default.nonEmptyString(left.prerelease) &&
31
- is_1.default.nonEmptyString(right.prerelease)) {
29
+ if ((0, is_1.isNonEmptyString)(left.prerelease) &&
30
+ (0, is_1.isNonEmptyString)(right.prerelease)) {
32
31
  const pre = left.prerelease.localeCompare(right.prerelease, undefined, {
33
32
  numeric: true,
34
33
  });
@@ -36,10 +35,10 @@ class GenericVersioningApi {
36
35
  return pre;
37
36
  }
38
37
  }
39
- else if (is_1.default.nonEmptyString(left.prerelease)) {
38
+ else if ((0, is_1.isNonEmptyString)(left.prerelease)) {
40
39
  return -1;
41
40
  }
42
- else if (is_1.default.nonEmptyString(right.prerelease)) {
41
+ else if ((0, is_1.isNonEmptyString)(right.prerelease)) {
43
42
  return 1;
44
43
  }
45
44
  return this._compareOther(left, right);
@@ -1 +1 @@
1
- {"version":3,"file":"generic.js","sourceRoot":"","sources":["../../../lib/modules/versioning/generic.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport type { NewValueConfig, VersioningApi } from './types';\n\nexport interface GenericVersion {\n release: number[];\n /** prereleases are treated in the standard semver manner, if present */\n prerelease?: string;\n suffix?: string;\n}\nexport type VersionParser = (version: string) => GenericVersion;\n\nexport type VersionComparator = (version: string, other: string) => number;\n\nexport abstract class GenericVersioningApi<\n T extends GenericVersion = GenericVersion,\n> implements VersioningApi\n{\n private _getSection(version: string, index: number): number | null {\n const parsed = this._parse(version);\n return parsed && parsed.release.length > index\n ? parsed.release[index]\n : null;\n }\n\n protected _compare(version: string, other: string): number {\n const left = this._parse(version);\n const right = this._parse(other);\n\n // istanbul ignore if\n if (!(left && right)) {\n return 1;\n }\n\n // support variable length compare\n const length = Math.max(left.release.length, right.release.length);\n for (let i = 0; i < length; i += 1) {\n // 2.1 and 2.1.0 are equivalent\n const part1 = left.release[i] ?? 0;\n const part2 = right.release[i] ?? 0;\n if (part1 !== part2) {\n return part1 - part2;\n }\n }\n\n if (\n is.nonEmptyString(left.prerelease) &&\n is.nonEmptyString(right.prerelease)\n ) {\n const pre = left.prerelease.localeCompare(right.prerelease, undefined, {\n numeric: true,\n });\n\n if (pre !== 0) {\n return pre;\n }\n } else if (is.nonEmptyString(left.prerelease)) {\n return -1;\n } else if (is.nonEmptyString(right.prerelease)) {\n return 1;\n }\n\n return this._compareOther(left, right);\n }\n\n /*\n * virtual\n */\n\n protected _compareOther(_left: T, _right: T): number {\n return 0;\n }\n\n protected abstract _parse(version: string): T | null;\n\n isValid(version: string): boolean {\n return this._parse(version) !== null;\n }\n\n isCompatible(version: string, _current: string): boolean {\n return this.isValid(version);\n }\n\n isStable(version: string): boolean {\n const parsed = this._parse(version);\n return !!(parsed && !parsed.prerelease);\n }\n\n isSingleVersion(version: string): boolean {\n return this.isValid(version);\n }\n\n isVersion(version: string): boolean {\n return this.isValid(version);\n }\n\n getMajor(version: string): number | null {\n return this._getSection(version, 0);\n }\n\n getMinor(version: string): number | null {\n return this._getSection(version, 1);\n }\n\n getPatch(version: string): number | null {\n return this._getSection(version, 2);\n }\n\n equals(version: string, other: string): boolean {\n return this._compare(version, other) === 0;\n }\n\n isGreaterThan(version: string, other: string): boolean {\n return this._compare(version, other) > 0;\n }\n\n isLessThanRange(version: string, range: string): boolean {\n return this._compare(version, range) < 0;\n }\n\n getSatisfyingVersion(versions: string[], range: string): string | null {\n const result = versions.find((v) => this.equals(v, range));\n return result ?? null;\n }\n\n minSatisfyingVersion(versions: string[], range: string): string | null {\n const result = versions.find((v) => this.equals(v, range));\n return result ?? null;\n }\n\n getNewValue({\n currentValue,\n currentVersion,\n newVersion,\n }: NewValueConfig): string | null {\n if (currentVersion === `v${currentValue}`) {\n return newVersion.replace(/^v/, '');\n }\n return newVersion ?? null;\n }\n\n sortVersions(version: string, other: string): number {\n return this._compare(version, other);\n }\n\n matches(version: string, range: string): boolean {\n return this.equals(version, range);\n }\n\n isSame(type: 'major' | 'minor' | 'patch', a: string, b: string): boolean {\n if (type === 'major') {\n return this.getMajor(a) === this.getMajor(b);\n }\n if (type === 'minor') {\n return this.getMinor(a) === this.getMinor(b);\n }\n return this.getPatch(a) === this.getPatch(b);\n }\n}\n"]}
1
+ {"version":3,"file":"generic.js","sourceRoot":"","sources":["../../../lib/modules/versioning/generic.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNonEmptyString } from '@sindresorhus/is';\nimport type { NewValueConfig, VersioningApi } from './types';\n\nexport interface GenericVersion {\n release: number[];\n /** prereleases are treated in the standard semver manner, if present */\n prerelease?: string;\n suffix?: string;\n}\nexport type VersionParser = (version: string) => GenericVersion;\n\nexport type VersionComparator = (version: string, other: string) => number;\n\nexport abstract class GenericVersioningApi<\n T extends GenericVersion = GenericVersion,\n> implements VersioningApi\n{\n private _getSection(version: string, index: number): number | null {\n const parsed = this._parse(version);\n return parsed && parsed.release.length > index\n ? parsed.release[index]\n : null;\n }\n\n protected _compare(version: string, other: string): number {\n const left = this._parse(version);\n const right = this._parse(other);\n\n // istanbul ignore if\n if (!(left && right)) {\n return 1;\n }\n\n // support variable length compare\n const length = Math.max(left.release.length, right.release.length);\n for (let i = 0; i < length; i += 1) {\n // 2.1 and 2.1.0 are equivalent\n const part1 = left.release[i] ?? 0;\n const part2 = right.release[i] ?? 0;\n if (part1 !== part2) {\n return part1 - part2;\n }\n }\n\n if (\n isNonEmptyString(left.prerelease) &&\n isNonEmptyString(right.prerelease)\n ) {\n const pre = left.prerelease.localeCompare(right.prerelease, undefined, {\n numeric: true,\n });\n\n if (pre !== 0) {\n return pre;\n }\n } else if (isNonEmptyString(left.prerelease)) {\n return -1;\n } else if (isNonEmptyString(right.prerelease)) {\n return 1;\n }\n\n return this._compareOther(left, right);\n }\n\n /*\n * virtual\n */\n\n protected _compareOther(_left: T, _right: T): number {\n return 0;\n }\n\n protected abstract _parse(version: string): T | null;\n\n isValid(version: string): boolean {\n return this._parse(version) !== null;\n }\n\n isCompatible(version: string, _current: string): boolean {\n return this.isValid(version);\n }\n\n isStable(version: string): boolean {\n const parsed = this._parse(version);\n return !!(parsed && !parsed.prerelease);\n }\n\n isSingleVersion(version: string): boolean {\n return this.isValid(version);\n }\n\n isVersion(version: string): boolean {\n return this.isValid(version);\n }\n\n getMajor(version: string): number | null {\n return this._getSection(version, 0);\n }\n\n getMinor(version: string): number | null {\n return this._getSection(version, 1);\n }\n\n getPatch(version: string): number | null {\n return this._getSection(version, 2);\n }\n\n equals(version: string, other: string): boolean {\n return this._compare(version, other) === 0;\n }\n\n isGreaterThan(version: string, other: string): boolean {\n return this._compare(version, other) > 0;\n }\n\n isLessThanRange(version: string, range: string): boolean {\n return this._compare(version, range) < 0;\n }\n\n getSatisfyingVersion(versions: string[], range: string): string | null {\n const result = versions.find((v) => this.equals(v, range));\n return result ?? null;\n }\n\n minSatisfyingVersion(versions: string[], range: string): string | null {\n const result = versions.find((v) => this.equals(v, range));\n return result ?? null;\n }\n\n getNewValue({\n currentValue,\n currentVersion,\n newVersion,\n }: NewValueConfig): string | null {\n if (currentVersion === `v${currentValue}`) {\n return newVersion.replace(/^v/, '');\n }\n return newVersion ?? null;\n }\n\n sortVersions(version: string, other: string): number {\n return this._compare(version, other);\n }\n\n matches(version: string, range: string): boolean {\n return this.equals(version, range);\n }\n\n isSame(type: 'major' | 'minor' | 'patch', a: string, b: string): boolean {\n if (type === 'major') {\n return this.getMajor(a) === this.getMajor(b);\n }\n if (type === 'minor') {\n return this.getMinor(a) === this.getMinor(b);\n }\n return this.getPatch(a) === this.getPatch(b);\n }\n}\n"]}
@@ -10,8 +10,7 @@ exports.parsePrefixRange = parsePrefixRange;
10
10
  exports.parseMavenBasedRange = parseMavenBasedRange;
11
11
  exports.parseSingleVersionRange = parseSingleVersionRange;
12
12
  exports.isValid = isValid;
13
- const tslib_1 = require("tslib");
14
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
13
+ const is_1 = require("@sindresorhus/is");
15
14
  const regex_1 = require("../../../util/regex");
16
15
  exports.TokenType = {
17
16
  Number: 1,
@@ -238,8 +237,8 @@ function parseMavenBasedRange(input) {
238
237
  if (!rightVal) {
239
238
  rightVal = null;
240
239
  }
241
- const isVersionLeft = is_1.default.string(leftVal) && isVersion(leftVal);
242
- const isVersionRight = is_1.default.string(rightVal) && isVersion(rightVal);
240
+ const isVersionLeft = (0, is_1.isString)(leftVal) && isVersion(leftVal);
241
+ const isVersionRight = (0, is_1.isString)(rightVal) && isVersion(rightVal);
243
242
  if ((leftVal === null || isVersionLeft) &&
244
243
  (rightVal === null || isVersionRight)) {
245
244
  if (isVersionLeft &&
@@ -1 +1 @@
1
- {"version":3,"file":"compare.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/gradle/compare.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { regEx } from '../../../util/regex';\n\nexport const TokenType = {\n Number: 1,\n String: 2,\n};\n\ninterface Token {\n type: number;\n val: string | number;\n}\n\nfunction iterateChars(\n str: string,\n cb: (p: string | null, n: string | null) => void,\n): void {\n let prev = null;\n let next = null;\n for (let i = 0; i < str.length; i += 1) {\n next = str.charAt(i);\n cb(prev, next);\n prev = next;\n }\n cb(prev, null);\n}\n\nfunction isSeparator(char: string): boolean {\n return regEx(/^[-._+]$/i).test(char);\n}\n\nfunction isDigit(char: string): boolean {\n return regEx(/^\\d$/).test(char);\n}\n\nfunction isLetter(char: string): boolean {\n return !isSeparator(char) && !isDigit(char);\n}\n\nfunction isTransition(prevChar: string, nextChar: string): boolean {\n return (\n (isDigit(prevChar) && isLetter(nextChar)) ||\n (isLetter(prevChar) && isDigit(nextChar))\n );\n}\n\nexport function tokenize(versionStr: string): Token[] | null {\n let result: Token[] | null = [];\n let currentVal = '';\n\n function yieldToken(): void {\n if (result) {\n const val = currentVal;\n if (regEx(/^\\d+$/).test(val)) {\n result.push({\n type: TokenType.Number,\n val: parseInt(val),\n });\n } else {\n result.push({\n type: TokenType.String,\n val,\n });\n }\n }\n }\n\n iterateChars(versionStr, (prevChar, nextChar) => {\n if (nextChar === null) {\n yieldToken();\n } else if (isSeparator(nextChar)) {\n if (prevChar && !isSeparator(prevChar)) {\n yieldToken();\n currentVal = '';\n } else {\n result = null;\n }\n } else if (prevChar !== null && isTransition(prevChar, nextChar)) {\n yieldToken();\n currentVal = nextChar;\n } else {\n currentVal = currentVal.concat(nextChar);\n }\n });\n\n return result;\n}\n\nexport const QualifierRank = {\n Dev: -1,\n Default: 0,\n RC: 1,\n Snapshot: 2,\n Final: 3,\n GA: 4,\n Release: 5,\n SP: 6,\n} as const;\n\nexport function qualifierRank(input: string): number {\n const val = input.toLowerCase();\n if (val === 'dev') {\n return QualifierRank.Dev;\n }\n if (val === 'rc' || val === 'cr') {\n return QualifierRank.RC;\n }\n if (val === 'snapshot') {\n return QualifierRank.Snapshot;\n }\n if (val === 'ga') {\n return QualifierRank.GA;\n }\n if (val === 'final') {\n return QualifierRank.Final;\n }\n if (val === 'release' || val === 'latest' || val === 'sr') {\n return QualifierRank.Release;\n }\n if (val === 'sp') {\n return QualifierRank.SP;\n }\n return QualifierRank.Default;\n}\n\nfunction stringTokenCmp(left: string, right: string): number {\n const leftRank = qualifierRank(left);\n const rightRank = qualifierRank(right);\n if (leftRank === 0 && rightRank === 0) {\n if (left < right) {\n return -1;\n }\n\n if (left > right) {\n return 1;\n }\n } else {\n if (leftRank < rightRank) {\n return -1;\n }\n if (leftRank > rightRank) {\n return 1;\n }\n }\n return 0;\n}\n\nfunction tokenCmp(left: Token | null, right: Token | null): number {\n if (left === null) {\n if (right?.type === TokenType.String) {\n return 1;\n }\n return -1;\n }\n\n if (right === null) {\n if (left.type === TokenType.String) {\n return -1;\n }\n return 1;\n }\n\n if (left.type === TokenType.Number && right.type === TokenType.Number) {\n if (left.val < right.val) {\n return -1;\n }\n if (left.val > right.val) {\n return 1;\n }\n } else if (typeof left.val === 'string' && typeof right.val === 'string') {\n return stringTokenCmp(left.val, right.val);\n } else if (right.type === TokenType.Number) {\n return -1;\n } else if (left.type === TokenType.Number) {\n return 1;\n }\n\n return 0;\n}\n\nexport function compare(left: string, right: string): number {\n const leftTokens = tokenize(left) ?? [];\n const rightTokens = tokenize(right) ?? [];\n const length = Math.max(leftTokens.length, rightTokens.length);\n for (let idx = 0; idx < length; idx += 1) {\n const leftToken = leftTokens[idx] || null;\n const rightToken = rightTokens[idx] || null;\n const cmpResult = tokenCmp(leftToken, rightToken);\n if (cmpResult !== 0) {\n return cmpResult;\n }\n }\n return 0;\n}\n\nexport function parse(input: string): Token[] | null {\n if (!input) {\n return null;\n }\n\n if (!regEx(/^[-._+a-zA-Z0-9]+$/i).test(input)) {\n return null;\n }\n\n if (regEx(/^latest\\.?/i).test(input)) {\n return null;\n }\n\n const tokens = tokenize(input);\n // istanbul ignore if: should not happen\n if (!tokens?.length) {\n return null;\n }\n return tokens;\n}\n\nexport function isVersion(input: string): boolean {\n return !!parse(input);\n}\n\ninterface PrefixRange {\n tokens: Token[];\n}\n\nexport type RangeBound = 'inclusive' | 'exclusive';\n\ninterface MavenBasedRange {\n leftBound: RangeBound;\n leftBoundStr: string;\n leftVal: string | null;\n separator: string;\n rightBound: RangeBound;\n rightBoundStr: string;\n rightVal: string | null;\n}\n\nexport function parsePrefixRange(input: string): PrefixRange | null {\n if (!input) {\n return null;\n }\n\n if (input.trim() === '+') {\n return { tokens: [] };\n }\n\n const postfixRegex = regEx(/[^-._+][-._]\\+$/);\n if (postfixRegex.test(input)) {\n const prefixValue = input.replace(regEx(/[-._]\\+$/), '');\n const tokens = tokenize(prefixValue);\n if (tokens) {\n return { tokens };\n }\n }\n\n return null;\n}\n\nconst mavenBasedRangeRegex = regEx(\n /^(?<leftBoundStr>[[\\](]\\s*)(?<leftVal>[-._+a-zA-Z0-9]*?)(?<separator>\\s*,\\s*)(?<rightVal>[-._+a-zA-Z0-9]*?)(?<rightBoundStr>\\s*[[\\])])$/,\n);\n\nexport function parseMavenBasedRange(input: string): MavenBasedRange | null {\n if (!input) {\n return null;\n }\n\n const matchGroups = mavenBasedRangeRegex.exec(input)?.groups;\n if (matchGroups) {\n const { leftBoundStr, separator, rightBoundStr } = matchGroups;\n let leftVal: string | null = matchGroups.leftVal;\n let rightVal: string | null = matchGroups.rightVal;\n if (!leftVal) {\n leftVal = null;\n }\n if (!rightVal) {\n rightVal = null;\n }\n const isVersionLeft = is.string(leftVal) && isVersion(leftVal);\n const isVersionRight = is.string(rightVal) && isVersion(rightVal);\n if (\n (leftVal === null || isVersionLeft) &&\n (rightVal === null || isVersionRight)\n ) {\n if (\n isVersionLeft &&\n isVersionRight &&\n leftVal &&\n rightVal &&\n compare(leftVal, rightVal) === 1\n ) {\n return null;\n }\n const leftBound = leftBoundStr.trim() === '[' ? 'inclusive' : 'exclusive';\n const rightBound =\n rightBoundStr.trim() === ']' ? 'inclusive' : 'exclusive';\n return {\n leftBound,\n leftBoundStr,\n leftVal,\n separator,\n rightBound,\n rightBoundStr,\n rightVal,\n };\n }\n }\n\n return null;\n}\n\ninterface SingleVersionRange {\n val: string;\n}\n\nconst singleVersionRangeRegex = regEx(/^\\[\\s*(?<val>[-._+a-zA-Z0-9]*?)\\s*\\]$/);\n\nexport function parseSingleVersionRange(\n input: string,\n): SingleVersionRange | null {\n const matchGroups = singleVersionRangeRegex.exec(input)?.groups;\n if (!matchGroups) {\n return null;\n }\n\n const { val } = matchGroups;\n if (!isVersion(val)) {\n return null;\n }\n\n return { val };\n}\n\nexport function isValid(str: string): boolean {\n if (!str) {\n return false;\n }\n\n return (\n isVersion(str) ||\n !!parsePrefixRange(str) ||\n !!parseMavenBasedRange(str) ||\n !!parseSingleVersionRange(str)\n );\n}\n"]}
1
+ {"version":3,"file":"compare.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/gradle/compare.ts"],"names":[],"mappings":"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","sourcesContent":["import { isString } from '@sindresorhus/is';\nimport { regEx } from '../../../util/regex';\n\nexport const TokenType = {\n Number: 1,\n String: 2,\n};\n\ninterface Token {\n type: number;\n val: string | number;\n}\n\nfunction iterateChars(\n str: string,\n cb: (p: string | null, n: string | null) => void,\n): void {\n let prev = null;\n let next = null;\n for (let i = 0; i < str.length; i += 1) {\n next = str.charAt(i);\n cb(prev, next);\n prev = next;\n }\n cb(prev, null);\n}\n\nfunction isSeparator(char: string): boolean {\n return regEx(/^[-._+]$/i).test(char);\n}\n\nfunction isDigit(char: string): boolean {\n return regEx(/^\\d$/).test(char);\n}\n\nfunction isLetter(char: string): boolean {\n return !isSeparator(char) && !isDigit(char);\n}\n\nfunction isTransition(prevChar: string, nextChar: string): boolean {\n return (\n (isDigit(prevChar) && isLetter(nextChar)) ||\n (isLetter(prevChar) && isDigit(nextChar))\n );\n}\n\nexport function tokenize(versionStr: string): Token[] | null {\n let result: Token[] | null = [];\n let currentVal = '';\n\n function yieldToken(): void {\n if (result) {\n const val = currentVal;\n if (regEx(/^\\d+$/).test(val)) {\n result.push({\n type: TokenType.Number,\n val: parseInt(val),\n });\n } else {\n result.push({\n type: TokenType.String,\n val,\n });\n }\n }\n }\n\n iterateChars(versionStr, (prevChar, nextChar) => {\n if (nextChar === null) {\n yieldToken();\n } else if (isSeparator(nextChar)) {\n if (prevChar && !isSeparator(prevChar)) {\n yieldToken();\n currentVal = '';\n } else {\n result = null;\n }\n } else if (prevChar !== null && isTransition(prevChar, nextChar)) {\n yieldToken();\n currentVal = nextChar;\n } else {\n currentVal = currentVal.concat(nextChar);\n }\n });\n\n return result;\n}\n\nexport const QualifierRank = {\n Dev: -1,\n Default: 0,\n RC: 1,\n Snapshot: 2,\n Final: 3,\n GA: 4,\n Release: 5,\n SP: 6,\n} as const;\n\nexport function qualifierRank(input: string): number {\n const val = input.toLowerCase();\n if (val === 'dev') {\n return QualifierRank.Dev;\n }\n if (val === 'rc' || val === 'cr') {\n return QualifierRank.RC;\n }\n if (val === 'snapshot') {\n return QualifierRank.Snapshot;\n }\n if (val === 'ga') {\n return QualifierRank.GA;\n }\n if (val === 'final') {\n return QualifierRank.Final;\n }\n if (val === 'release' || val === 'latest' || val === 'sr') {\n return QualifierRank.Release;\n }\n if (val === 'sp') {\n return QualifierRank.SP;\n }\n return QualifierRank.Default;\n}\n\nfunction stringTokenCmp(left: string, right: string): number {\n const leftRank = qualifierRank(left);\n const rightRank = qualifierRank(right);\n if (leftRank === 0 && rightRank === 0) {\n if (left < right) {\n return -1;\n }\n\n if (left > right) {\n return 1;\n }\n } else {\n if (leftRank < rightRank) {\n return -1;\n }\n if (leftRank > rightRank) {\n return 1;\n }\n }\n return 0;\n}\n\nfunction tokenCmp(left: Token | null, right: Token | null): number {\n if (left === null) {\n if (right?.type === TokenType.String) {\n return 1;\n }\n return -1;\n }\n\n if (right === null) {\n if (left.type === TokenType.String) {\n return -1;\n }\n return 1;\n }\n\n if (left.type === TokenType.Number && right.type === TokenType.Number) {\n if (left.val < right.val) {\n return -1;\n }\n if (left.val > right.val) {\n return 1;\n }\n } else if (typeof left.val === 'string' && typeof right.val === 'string') {\n return stringTokenCmp(left.val, right.val);\n } else if (right.type === TokenType.Number) {\n return -1;\n } else if (left.type === TokenType.Number) {\n return 1;\n }\n\n return 0;\n}\n\nexport function compare(left: string, right: string): number {\n const leftTokens = tokenize(left) ?? [];\n const rightTokens = tokenize(right) ?? [];\n const length = Math.max(leftTokens.length, rightTokens.length);\n for (let idx = 0; idx < length; idx += 1) {\n const leftToken = leftTokens[idx] || null;\n const rightToken = rightTokens[idx] || null;\n const cmpResult = tokenCmp(leftToken, rightToken);\n if (cmpResult !== 0) {\n return cmpResult;\n }\n }\n return 0;\n}\n\nexport function parse(input: string): Token[] | null {\n if (!input) {\n return null;\n }\n\n if (!regEx(/^[-._+a-zA-Z0-9]+$/i).test(input)) {\n return null;\n }\n\n if (regEx(/^latest\\.?/i).test(input)) {\n return null;\n }\n\n const tokens = tokenize(input);\n // istanbul ignore if: should not happen\n if (!tokens?.length) {\n return null;\n }\n return tokens;\n}\n\nexport function isVersion(input: string): boolean {\n return !!parse(input);\n}\n\ninterface PrefixRange {\n tokens: Token[];\n}\n\nexport type RangeBound = 'inclusive' | 'exclusive';\n\ninterface MavenBasedRange {\n leftBound: RangeBound;\n leftBoundStr: string;\n leftVal: string | null;\n separator: string;\n rightBound: RangeBound;\n rightBoundStr: string;\n rightVal: string | null;\n}\n\nexport function parsePrefixRange(input: string): PrefixRange | null {\n if (!input) {\n return null;\n }\n\n if (input.trim() === '+') {\n return { tokens: [] };\n }\n\n const postfixRegex = regEx(/[^-._+][-._]\\+$/);\n if (postfixRegex.test(input)) {\n const prefixValue = input.replace(regEx(/[-._]\\+$/), '');\n const tokens = tokenize(prefixValue);\n if (tokens) {\n return { tokens };\n }\n }\n\n return null;\n}\n\nconst mavenBasedRangeRegex = regEx(\n /^(?<leftBoundStr>[[\\](]\\s*)(?<leftVal>[-._+a-zA-Z0-9]*?)(?<separator>\\s*,\\s*)(?<rightVal>[-._+a-zA-Z0-9]*?)(?<rightBoundStr>\\s*[[\\])])$/,\n);\n\nexport function parseMavenBasedRange(input: string): MavenBasedRange | null {\n if (!input) {\n return null;\n }\n\n const matchGroups = mavenBasedRangeRegex.exec(input)?.groups;\n if (matchGroups) {\n const { leftBoundStr, separator, rightBoundStr } = matchGroups;\n let leftVal: string | null = matchGroups.leftVal;\n let rightVal: string | null = matchGroups.rightVal;\n if (!leftVal) {\n leftVal = null;\n }\n if (!rightVal) {\n rightVal = null;\n }\n const isVersionLeft = isString(leftVal) && isVersion(leftVal);\n const isVersionRight = isString(rightVal) && isVersion(rightVal);\n if (\n (leftVal === null || isVersionLeft) &&\n (rightVal === null || isVersionRight)\n ) {\n if (\n isVersionLeft &&\n isVersionRight &&\n leftVal &&\n rightVal &&\n compare(leftVal, rightVal) === 1\n ) {\n return null;\n }\n const leftBound = leftBoundStr.trim() === '[' ? 'inclusive' : 'exclusive';\n const rightBound =\n rightBoundStr.trim() === ']' ? 'inclusive' : 'exclusive';\n return {\n leftBound,\n leftBoundStr,\n leftVal,\n separator,\n rightBound,\n rightBoundStr,\n rightVal,\n };\n }\n }\n\n return null;\n}\n\ninterface SingleVersionRange {\n val: string;\n}\n\nconst singleVersionRangeRegex = regEx(/^\\[\\s*(?<val>[-._+a-zA-Z0-9]*?)\\s*\\]$/);\n\nexport function parseSingleVersionRange(\n input: string,\n): SingleVersionRange | null {\n const matchGroups = singleVersionRangeRegex.exec(input)?.groups;\n if (!matchGroups) {\n return null;\n }\n\n const { val } = matchGroups;\n if (!isVersion(val)) {\n return null;\n }\n\n return { val };\n}\n\nexport function isValid(str: string): boolean {\n if (!str) {\n return false;\n }\n\n return (\n isVersion(str) ||\n !!parsePrefixRange(str) ||\n !!parseMavenBasedRange(str) ||\n !!parseSingleVersionRange(str)\n );\n}\n"]}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.api = exports.NixPkgsVersioning = exports.supportsRanges = exports.urls = exports.displayName = exports.id = void 0;
4
- const tslib_1 = require("tslib");
5
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
4
+ const is_1 = require("@sindresorhus/is");
6
5
  const regex_1 = require("../regex");
7
6
  exports.id = 'nixpkgs';
8
7
  exports.displayName = 'Nixpkgs';
@@ -26,7 +25,7 @@ class NixPkgsVersioning extends regex_1.RegExpVersioningApi {
26
25
  if (minor) {
27
26
  release.push(Number.parseInt(minor));
28
27
  }
29
- const compatibility = is_1.default.nonEmptyStringAndNotWhitespace(suffix)
28
+ const compatibility = (0, is_1.isNonEmptyStringAndNotWhitespace)(suffix)
30
29
  ? `${prefix}-${suffix}`
31
30
  : prefix;
32
31
  return {
@@ -36,19 +35,19 @@ class NixPkgsVersioning extends regex_1.RegExpVersioningApi {
36
35
  }
37
36
  isStable(version) {
38
37
  const parsed = this._parse(version);
39
- return is_1.default.nonEmptyArray(parsed?.release);
38
+ return (0, is_1.isNonEmptyArray)(parsed?.release);
40
39
  }
41
40
  _compare(version, other) {
42
41
  const left = this._parse(version);
43
42
  const right = this._parse(other);
44
43
  // empty version is equal to 'unstable'
45
- if (is_1.default.emptyArray(left?.release) && is_1.default.emptyArray(right?.release)) {
44
+ if ((0, is_1.isEmptyArray)(left?.release) && (0, is_1.isEmptyArray)(right?.release)) {
46
45
  return 0;
47
46
  }
48
- if (is_1.default.emptyArray(left?.release)) {
47
+ if ((0, is_1.isEmptyArray)(left?.release)) {
49
48
  return 1;
50
49
  }
51
- if (is_1.default.emptyArray(right?.release)) {
50
+ if ((0, is_1.isEmptyArray)(right?.release)) {
52
51
  return -1;
53
52
  }
54
53
  return super._compare(version, other);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/nixpkgs/index.ts"],"names":[],"mappings":";;;;AAAA,kEAAkC;AAElC,oCAA+C;AAGlC,QAAA,EAAE,GAAG,SAAS,CAAC;AACf,QAAA,WAAW,GAAG,SAAS,CAAC;AACxB,QAAA,IAAI,GAAG,CAAC,kCAAkC,CAAC,CAAC;AAC5C,QAAA,cAAc,GAAG,KAAK,CAAC;AAEpC,MAAa,iBAAkB,SAAQ,2BAAmB;IAChD,MAAM,CAAU,YAAY,GAClC,0HAA0H,CAAC;IAE7H;QACE,KAAK,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IAEkB,MAAM,CAAC,OAAe;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAEnD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAChD,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,aAAa,GAAG,YAAE,CAAC,8BAA8B,CAAC,MAAM,CAAC;YAC7D,CAAC,CAAC,GAAG,MAAM,IAAI,MAAM,EAAE;YACvB,CAAC,CAAC,MAAM,CAAC;QAEX,OAAO;YACL,OAAO;YACP,aAAa;SACd,CAAC;IACJ,CAAC;IAEQ,QAAQ,CAAC,OAAe;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,YAAE,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAEkB,QAAQ,CAAC,OAAe,EAAE,KAAa;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEjC,uCAAuC;QACvC,IAAI,YAAE,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,YAAE,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YAClE,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,YAAE,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,YAAE,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC;QACD,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;;AAxDH,8CAyDC;AAEY,QAAA,GAAG,GAA6B,iBAAiB,CAAC;AAE/D,kBAAe,WAAG,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport type { RegExpVersion } from '../regex';\nimport { RegExpVersioningApi } from '../regex';\nimport type { VersioningApiConstructor } from '../types';\n\nexport const id = 'nixpkgs';\nexport const displayName = 'Nixpkgs';\nexport const urls = ['https://github.com/NixOS/nixpkgs'];\nexport const supportsRanges = false;\n\nexport class NixPkgsVersioning extends RegExpVersioningApi {\n private static readonly versionRegex =\n '^(?<prefix>(nixos|nixpkgs|release))-((?<major>\\\\d{2})\\\\.(?<minor>\\\\d{2})|unstable)(-(?<suffix>(small|aarch64|darwin)))?$';\n\n constructor() {\n super(NixPkgsVersioning.versionRegex);\n }\n\n protected override _parse(version: string): RegExpVersion | null {\n const groups = this._config?.exec(version)?.groups;\n\n if (!groups) {\n return null;\n }\n\n const { prefix, major, minor, suffix } = groups;\n const release = [];\n\n if (major) {\n release.push(Number.parseInt(major));\n }\n\n if (minor) {\n release.push(Number.parseInt(minor));\n }\n\n const compatibility = is.nonEmptyStringAndNotWhitespace(suffix)\n ? `${prefix}-${suffix}`\n : prefix;\n\n return {\n release,\n compatibility,\n };\n }\n\n override isStable(version: string): boolean {\n const parsed = this._parse(version);\n return is.nonEmptyArray(parsed?.release);\n }\n\n protected override _compare(version: string, other: string): number {\n const left = this._parse(version);\n const right = this._parse(other);\n\n // empty version is equal to 'unstable'\n if (is.emptyArray(left?.release) && is.emptyArray(right?.release)) {\n return 0;\n }\n if (is.emptyArray(left?.release)) {\n return 1;\n }\n if (is.emptyArray(right?.release)) {\n return -1;\n }\n return super._compare(version, other);\n }\n}\n\nexport const api: VersioningApiConstructor = NixPkgsVersioning;\n\nexport default api;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/nixpkgs/index.ts"],"names":[],"mappings":";;;AAAA,yCAI0B;AAE1B,oCAA+C;AAGlC,QAAA,EAAE,GAAG,SAAS,CAAC;AACf,QAAA,WAAW,GAAG,SAAS,CAAC;AACxB,QAAA,IAAI,GAAG,CAAC,kCAAkC,CAAC,CAAC;AAC5C,QAAA,cAAc,GAAG,KAAK,CAAC;AAEpC,MAAa,iBAAkB,SAAQ,2BAAmB;IAChD,MAAM,CAAU,YAAY,GAClC,0HAA0H,CAAC;IAE7H;QACE,KAAK,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IAEkB,MAAM,CAAC,OAAe;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAEnD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAChD,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,aAAa,GAAG,IAAA,qCAAgC,EAAC,MAAM,CAAC;YAC5D,CAAC,CAAC,GAAG,MAAM,IAAI,MAAM,EAAE;YACvB,CAAC,CAAC,MAAM,CAAC;QAEX,OAAO;YACL,OAAO;YACP,aAAa;SACd,CAAC;IACJ,CAAC;IAEQ,QAAQ,CAAC,OAAe;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,IAAA,oBAAe,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEkB,QAAQ,CAAC,OAAe,EAAE,KAAa;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEjC,uCAAuC;QACvC,IAAI,IAAA,iBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAA,iBAAY,EAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YAChE,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,IAAA,iBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,IAAA,iBAAY,EAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC;QACD,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;;AAxDH,8CAyDC;AAEY,QAAA,GAAG,GAA6B,iBAAiB,CAAC;AAE/D,kBAAe,WAAG,CAAC","sourcesContent":["import {\n isEmptyArray,\n isNonEmptyArray,\n isNonEmptyStringAndNotWhitespace,\n} from '@sindresorhus/is';\nimport type { RegExpVersion } from '../regex';\nimport { RegExpVersioningApi } from '../regex';\nimport type { VersioningApiConstructor } from '../types';\n\nexport const id = 'nixpkgs';\nexport const displayName = 'Nixpkgs';\nexport const urls = ['https://github.com/NixOS/nixpkgs'];\nexport const supportsRanges = false;\n\nexport class NixPkgsVersioning extends RegExpVersioningApi {\n private static readonly versionRegex =\n '^(?<prefix>(nixos|nixpkgs|release))-((?<major>\\\\d{2})\\\\.(?<minor>\\\\d{2})|unstable)(-(?<suffix>(small|aarch64|darwin)))?$';\n\n constructor() {\n super(NixPkgsVersioning.versionRegex);\n }\n\n protected override _parse(version: string): RegExpVersion | null {\n const groups = this._config?.exec(version)?.groups;\n\n if (!groups) {\n return null;\n }\n\n const { prefix, major, minor, suffix } = groups;\n const release = [];\n\n if (major) {\n release.push(Number.parseInt(major));\n }\n\n if (minor) {\n release.push(Number.parseInt(minor));\n }\n\n const compatibility = isNonEmptyStringAndNotWhitespace(suffix)\n ? `${prefix}-${suffix}`\n : prefix;\n\n return {\n release,\n compatibility,\n };\n }\n\n override isStable(version: string): boolean {\n const parsed = this._parse(version);\n return isNonEmptyArray(parsed?.release);\n }\n\n protected override _compare(version: string, other: string): number {\n const left = this._parse(version);\n const right = this._parse(other);\n\n // empty version is equal to 'unstable'\n if (isEmptyArray(left?.release) && isEmptyArray(right?.release)) {\n return 0;\n }\n if (isEmptyArray(left?.release)) {\n return 1;\n }\n if (isEmptyArray(right?.release)) {\n return -1;\n }\n return super._compare(version, other);\n }\n}\n\nexport const api: VersioningApiConstructor = NixPkgsVersioning;\n\nexport default api;\n"]}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getNewValue = getNewValue;
4
4
  const tslib_1 = require("tslib");
5
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
5
+ const is_1 = require("@sindresorhus/is");
6
6
  const semver_1 = tslib_1.__importDefault(require("semver"));
7
7
  const semver_utils_1 = tslib_1.__importDefault(require("semver-utils"));
8
8
  const logger_1 = require("../../../logger");
@@ -131,7 +131,7 @@ function getNewValue({ currentValue, rangeStrategy, currentVersion, newVersion,
131
131
  return semver_utils_1.default
132
132
  .parseRange(currentValue)
133
133
  .map((x) => x.semver)
134
- .filter(is_1.default.string)
134
+ .filter(is_1.isString)
135
135
  .map((subRange) => {
136
136
  const bumpedSubRange = getNewValue({
137
137
  currentValue: subRange,
@@ -1 +1 @@
1
- {"version":3,"file":"range.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/npm/range.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport semver from 'semver';\nimport semverUtils from 'semver-utils';\nimport { logger } from '../../../logger';\nimport { regEx } from '../../../util/regex';\nimport { isSemVerXRange } from '../semver/common';\nimport type { NewValueConfig } from '../types';\n\nconst {\n inc: increment,\n valid: isVersion,\n major,\n minor,\n patch,\n prerelease,\n satisfies,\n} = semver;\n\nfunction replaceCaretValue(oldValue: string, newValue: string): string {\n const toVersionMajor = major(newValue);\n const toVersionMinor = minor(newValue);\n const toVersionPatch = patch(newValue);\n\n const currentMajor = major(oldValue);\n const currentMinor = minor(oldValue);\n const currentPatch = patch(oldValue);\n\n const oldTuple = [currentMajor, currentMinor, currentPatch];\n const newTuple = [toVersionMajor, toVersionMinor, toVersionPatch];\n const resultTuple = [];\n\n let leadingZero = true;\n let needReplace = false;\n for (let idx = 0; idx < 3; idx += 1) {\n const oldVal = oldTuple[idx];\n const newVal = newTuple[idx];\n\n let leadingDigit = false;\n if (oldVal !== 0 || newVal !== 0) {\n if (leadingZero) {\n leadingZero = false;\n leadingDigit = true;\n }\n }\n\n if (leadingDigit && newVal > oldVal) {\n needReplace = true;\n }\n\n if (!needReplace && newVal < oldVal) {\n return newValue;\n }\n\n resultTuple.push(leadingDigit ? newVal : 0);\n }\n\n return needReplace ? resultTuple.join('.') : oldValue;\n}\n\nfunction stripV(value: string): string {\n return value.replace(/^v/, '');\n}\n\n// TODO: #22198\nexport function getNewValue({\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n}: NewValueConfig): string | null {\n if (rangeStrategy !== 'update-lockfile' && isSemVerXRange(currentValue)) {\n return null;\n }\n if (isVersion(currentValue)) {\n return newVersion;\n }\n if (rangeStrategy === 'update-lockfile') {\n if (satisfies(newVersion, currentValue)) {\n return currentValue;\n }\n return getNewValue({\n currentValue,\n rangeStrategy: 'replace',\n currentVersion,\n newVersion,\n });\n }\n const parsedRange = semverUtils.parseRange(currentValue);\n const element = parsedRange[parsedRange.length - 1];\n if (rangeStrategy === 'widen') {\n if (satisfies(newVersion, currentValue)) {\n return currentValue;\n }\n const newValue = getNewValue({\n currentValue,\n rangeStrategy: 'replace',\n currentVersion,\n newVersion,\n });\n if (element.operator?.startsWith('<')) {\n // TODO fix this\n const splitCurrent = currentValue.split(element.operator);\n splitCurrent.pop();\n // TODO: types (#22198)\n return `${splitCurrent.join(element.operator)}${newValue!}`;\n }\n if (parsedRange.length > 1) {\n const previousElement = parsedRange[parsedRange.length - 2];\n if (previousElement.operator === '-') {\n const splitCurrent = currentValue.split('-');\n splitCurrent.pop();\n // TODO: types (#22198)\n return `${splitCurrent.join('-')}- ${newValue!}`;\n }\n if (element.operator?.startsWith('>')) {\n logger.warn(`Complex ranges ending in greater than are not supported`);\n return null;\n }\n }\n // TODO: types (#22198)\n return `${currentValue} || ${newValue!}`;\n }\n const toVersionMajor = major(newVersion);\n const toVersionMinor = minor(newVersion);\n const toVersionPatch = patch(newVersion);\n const toNewVersion = prerelease(newVersion);\n const suffix = toNewVersion ? `-${toNewVersion[0]}` : '';\n // Simple range\n if (rangeStrategy === 'bump') {\n if (parsedRange.length === 1) {\n if (!element.operator) {\n return stripV(newVersion);\n }\n if (element.operator === '^') {\n return `^${stripV(newVersion)}`;\n }\n if (element.operator === '~') {\n return `~${stripV(newVersion)}`;\n }\n if (element.operator === '=') {\n return `=${stripV(newVersion)}`;\n }\n if (element.operator === '>=') {\n return currentValue.includes('>= ')\n ? `>= ${stripV(newVersion)}`\n : `>=${stripV(newVersion)}`;\n }\n if (element.operator.startsWith('<')) {\n return currentValue;\n }\n } else {\n return semverUtils\n .parseRange(currentValue)\n .map((x) => x.semver)\n .filter(is.string)\n .map((subRange) => {\n const bumpedSubRange = getNewValue({\n currentValue: subRange,\n rangeStrategy: 'bump',\n currentVersion,\n newVersion,\n });\n if (bumpedSubRange && satisfies(newVersion, bumpedSubRange)) {\n return bumpedSubRange;\n }\n\n return getNewValue({\n currentValue: subRange,\n rangeStrategy: 'replace',\n currentVersion,\n newVersion,\n });\n })\n .filter((x) => x !== null && x !== '')\n .join(' ');\n }\n logger.debug(\n 'Unsupported range type for rangeStrategy=bump: ' + currentValue,\n );\n return null;\n }\n if (element.operator === '~>') {\n return `~> ${toVersionMajor}.${toVersionMinor}.0`;\n }\n if (element.operator === '^') {\n if (suffix.length || !currentVersion) {\n return `^${toVersionMajor}.${toVersionMinor}.${toVersionPatch}${suffix}`;\n }\n return `^${replaceCaretValue(currentVersion, newVersion)}`;\n }\n if (element.operator === '=') {\n return `=${stripV(newVersion)}`;\n }\n if (element.operator === '~') {\n if (suffix.length) {\n return `~${toVersionMajor}.${toVersionMinor}.${toVersionPatch}${suffix}`;\n }\n return `~${toVersionMajor}.${toVersionMinor}.0`;\n }\n if (element.operator === '<=') {\n let res;\n if (!!element.patch || suffix.length) {\n res = `<=${stripV(newVersion)}`;\n } else if (element.minor) {\n res = `<=${toVersionMajor}.${toVersionMinor}`;\n } else {\n res = `<=${toVersionMajor}`;\n }\n if (currentValue.includes('<= ')) {\n res = res.replace('<=', '<= ');\n }\n return res;\n }\n if (element.operator === '<') {\n let res;\n if (currentValue.endsWith('.0.0')) {\n const newMajor = toVersionMajor + 1;\n res = `<${newMajor}.0.0`;\n } else if (currentValue.endsWith('.0')) {\n const newMinor = toVersionMinor + 1;\n res = `<${toVersionMajor}.${newMinor}${element.patch ? '.0' : ''}`;\n } else if (element.patch) {\n // TODO: types (#22198)\n res = `<${increment(newVersion, 'patch')!}`;\n } else if (element.minor) {\n res = `<${toVersionMajor}.${toVersionMinor + 1}`;\n } else {\n res = `<${toVersionMajor + 1}`;\n }\n if (currentValue.includes('< ')) {\n res = res.replace(regEx(/</g), '< ');\n }\n return res;\n }\n if (!element.operator) {\n if (element.minor) {\n if (element.minor === 'x') {\n return `${toVersionMajor}.x`;\n }\n if (element.minor === '*') {\n return `${toVersionMajor}.*`;\n }\n if (element.patch === 'x') {\n return `${toVersionMajor}.${toVersionMinor}.x`;\n }\n if (element.patch === '*') {\n return `${toVersionMajor}.${toVersionMinor}.*`;\n }\n return `${toVersionMajor}.${toVersionMinor}`;\n }\n return `${toVersionMajor}`;\n }\n return newVersion;\n}\n"]}
1
+ {"version":3,"file":"range.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/npm/range.ts"],"names":[],"mappings":"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","sourcesContent":["import { isString } from '@sindresorhus/is';\nimport semver from 'semver';\nimport semverUtils from 'semver-utils';\nimport { logger } from '../../../logger';\nimport { regEx } from '../../../util/regex';\nimport { isSemVerXRange } from '../semver/common';\nimport type { NewValueConfig } from '../types';\n\nconst {\n inc: increment,\n valid: isVersion,\n major,\n minor,\n patch,\n prerelease,\n satisfies,\n} = semver;\n\nfunction replaceCaretValue(oldValue: string, newValue: string): string {\n const toVersionMajor = major(newValue);\n const toVersionMinor = minor(newValue);\n const toVersionPatch = patch(newValue);\n\n const currentMajor = major(oldValue);\n const currentMinor = minor(oldValue);\n const currentPatch = patch(oldValue);\n\n const oldTuple = [currentMajor, currentMinor, currentPatch];\n const newTuple = [toVersionMajor, toVersionMinor, toVersionPatch];\n const resultTuple = [];\n\n let leadingZero = true;\n let needReplace = false;\n for (let idx = 0; idx < 3; idx += 1) {\n const oldVal = oldTuple[idx];\n const newVal = newTuple[idx];\n\n let leadingDigit = false;\n if (oldVal !== 0 || newVal !== 0) {\n if (leadingZero) {\n leadingZero = false;\n leadingDigit = true;\n }\n }\n\n if (leadingDigit && newVal > oldVal) {\n needReplace = true;\n }\n\n if (!needReplace && newVal < oldVal) {\n return newValue;\n }\n\n resultTuple.push(leadingDigit ? newVal : 0);\n }\n\n return needReplace ? resultTuple.join('.') : oldValue;\n}\n\nfunction stripV(value: string): string {\n return value.replace(/^v/, '');\n}\n\n// TODO: #22198\nexport function getNewValue({\n currentValue,\n rangeStrategy,\n currentVersion,\n newVersion,\n}: NewValueConfig): string | null {\n if (rangeStrategy !== 'update-lockfile' && isSemVerXRange(currentValue)) {\n return null;\n }\n if (isVersion(currentValue)) {\n return newVersion;\n }\n if (rangeStrategy === 'update-lockfile') {\n if (satisfies(newVersion, currentValue)) {\n return currentValue;\n }\n return getNewValue({\n currentValue,\n rangeStrategy: 'replace',\n currentVersion,\n newVersion,\n });\n }\n const parsedRange = semverUtils.parseRange(currentValue);\n const element = parsedRange[parsedRange.length - 1];\n if (rangeStrategy === 'widen') {\n if (satisfies(newVersion, currentValue)) {\n return currentValue;\n }\n const newValue = getNewValue({\n currentValue,\n rangeStrategy: 'replace',\n currentVersion,\n newVersion,\n });\n if (element.operator?.startsWith('<')) {\n // TODO fix this\n const splitCurrent = currentValue.split(element.operator);\n splitCurrent.pop();\n // TODO: types (#22198)\n return `${splitCurrent.join(element.operator)}${newValue!}`;\n }\n if (parsedRange.length > 1) {\n const previousElement = parsedRange[parsedRange.length - 2];\n if (previousElement.operator === '-') {\n const splitCurrent = currentValue.split('-');\n splitCurrent.pop();\n // TODO: types (#22198)\n return `${splitCurrent.join('-')}- ${newValue!}`;\n }\n if (element.operator?.startsWith('>')) {\n logger.warn(`Complex ranges ending in greater than are not supported`);\n return null;\n }\n }\n // TODO: types (#22198)\n return `${currentValue} || ${newValue!}`;\n }\n const toVersionMajor = major(newVersion);\n const toVersionMinor = minor(newVersion);\n const toVersionPatch = patch(newVersion);\n const toNewVersion = prerelease(newVersion);\n const suffix = toNewVersion ? `-${toNewVersion[0]}` : '';\n // Simple range\n if (rangeStrategy === 'bump') {\n if (parsedRange.length === 1) {\n if (!element.operator) {\n return stripV(newVersion);\n }\n if (element.operator === '^') {\n return `^${stripV(newVersion)}`;\n }\n if (element.operator === '~') {\n return `~${stripV(newVersion)}`;\n }\n if (element.operator === '=') {\n return `=${stripV(newVersion)}`;\n }\n if (element.operator === '>=') {\n return currentValue.includes('>= ')\n ? `>= ${stripV(newVersion)}`\n : `>=${stripV(newVersion)}`;\n }\n if (element.operator.startsWith('<')) {\n return currentValue;\n }\n } else {\n return semverUtils\n .parseRange(currentValue)\n .map((x) => x.semver)\n .filter(isString)\n .map((subRange) => {\n const bumpedSubRange = getNewValue({\n currentValue: subRange,\n rangeStrategy: 'bump',\n currentVersion,\n newVersion,\n });\n if (bumpedSubRange && satisfies(newVersion, bumpedSubRange)) {\n return bumpedSubRange;\n }\n\n return getNewValue({\n currentValue: subRange,\n rangeStrategy: 'replace',\n currentVersion,\n newVersion,\n });\n })\n .filter((x) => x !== null && x !== '')\n .join(' ');\n }\n logger.debug(\n 'Unsupported range type for rangeStrategy=bump: ' + currentValue,\n );\n return null;\n }\n if (element.operator === '~>') {\n return `~> ${toVersionMajor}.${toVersionMinor}.0`;\n }\n if (element.operator === '^') {\n if (suffix.length || !currentVersion) {\n return `^${toVersionMajor}.${toVersionMinor}.${toVersionPatch}${suffix}`;\n }\n return `^${replaceCaretValue(currentVersion, newVersion)}`;\n }\n if (element.operator === '=') {\n return `=${stripV(newVersion)}`;\n }\n if (element.operator === '~') {\n if (suffix.length) {\n return `~${toVersionMajor}.${toVersionMinor}.${toVersionPatch}${suffix}`;\n }\n return `~${toVersionMajor}.${toVersionMinor}.0`;\n }\n if (element.operator === '<=') {\n let res;\n if (!!element.patch || suffix.length) {\n res = `<=${stripV(newVersion)}`;\n } else if (element.minor) {\n res = `<=${toVersionMajor}.${toVersionMinor}`;\n } else {\n res = `<=${toVersionMajor}`;\n }\n if (currentValue.includes('<= ')) {\n res = res.replace('<=', '<= ');\n }\n return res;\n }\n if (element.operator === '<') {\n let res;\n if (currentValue.endsWith('.0.0')) {\n const newMajor = toVersionMajor + 1;\n res = `<${newMajor}.0.0`;\n } else if (currentValue.endsWith('.0')) {\n const newMinor = toVersionMinor + 1;\n res = `<${toVersionMajor}.${newMinor}${element.patch ? '.0' : ''}`;\n } else if (element.patch) {\n // TODO: types (#22198)\n res = `<${increment(newVersion, 'patch')!}`;\n } else if (element.minor) {\n res = `<${toVersionMajor}.${toVersionMinor + 1}`;\n } else {\n res = `<${toVersionMajor + 1}`;\n }\n if (currentValue.includes('< ')) {\n res = res.replace(regEx(/</g), '< ');\n }\n return res;\n }\n if (!element.operator) {\n if (element.minor) {\n if (element.minor === 'x') {\n return `${toVersionMajor}.x`;\n }\n if (element.minor === '*') {\n return `${toVersionMajor}.*`;\n }\n if (element.patch === 'x') {\n return `${toVersionMajor}.${toVersionMinor}.x`;\n }\n if (element.patch === '*') {\n return `${toVersionMajor}.${toVersionMinor}.*`;\n }\n return `${toVersionMajor}.${toVersionMinor}`;\n }\n return `${toVersionMajor}`;\n }\n return newVersion;\n}\n"]}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.api = exports.supportsRanges = exports.urls = exports.displayName = exports.id = void 0;
4
- const tslib_1 = require("tslib");
5
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
4
+ const is_1 = require("@sindresorhus/is");
6
5
  const regex_1 = require("../../../util/regex");
7
6
  const generic_1 = require("../generic");
8
7
  exports.id = 'rpm';
@@ -123,9 +122,9 @@ class RpmVersioningApi extends generic_1.GenericVersioningApi {
123
122
  return -1;
124
123
  }
125
124
  }
126
- if (is_1.default.numericString(matchv1?.[0])) {
125
+ if ((0, is_1.isNumericString)(matchv1?.[0])) {
127
126
  // numbers are greater than letters
128
- if (!is_1.default.numericString(matchv2?.[0])) {
127
+ if (!(0, is_1.isNumericString)(matchv2?.[0])) {
129
128
  return 1;
130
129
  }
131
130
  //We clearly have a number here, so return which is greater
@@ -137,7 +136,7 @@ class RpmVersioningApi extends generic_1.GenericVersioningApi {
137
136
  }
138
137
  return Math.sign(result);
139
138
  }
140
- else if (is_1.default.numericString(matchv2?.[0])) {
139
+ else if ((0, is_1.isNumericString)(matchv2?.[0])) {
141
140
  return -1;
142
141
  }
143
142
  // We have two string globs, compare them