renovate 42.0.0-next.1 → 42.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (782) hide show
  1. package/dist/config/app-strings.d.ts +2 -1
  2. package/dist/config/app-strings.js +10 -2
  3. package/dist/config/app-strings.js.map +1 -1
  4. package/dist/config/decrypt/bcpgp.d.ts +1 -0
  5. package/dist/config/decrypt/bcpgp.js +57 -0
  6. package/dist/config/decrypt/bcpgp.js.map +1 -0
  7. package/dist/config/decrypt/openpgp.js +0 -4
  8. package/dist/config/decrypt/openpgp.js.map +1 -1
  9. package/dist/config/decrypt.d.ts +1 -1
  10. package/dist/config/decrypt.js +9 -26
  11. package/dist/config/decrypt.js.map +1 -1
  12. package/dist/config/global.js +1 -0
  13. package/dist/config/global.js.map +1 -1
  14. package/dist/config/migrations/custom/schedule-migration.js +9 -11
  15. package/dist/config/migrations/custom/schedule-migration.js.map +1 -1
  16. package/dist/config/migrations/custom/unpublish-safe-migration.js +3 -2
  17. package/dist/config/migrations/custom/unpublish-safe-migration.js.map +1 -1
  18. package/dist/config/options/index.js +49 -2
  19. package/dist/config/options/index.js.map +1 -1
  20. package/dist/config/presets/common.js +1 -0
  21. package/dist/config/presets/common.js.map +1 -1
  22. package/dist/config/presets/internal/abandonments.js +4 -1
  23. package/dist/config/presets/internal/abandonments.js.map +1 -1
  24. package/dist/config/presets/internal/config.js +15 -0
  25. package/dist/config/presets/internal/config.js.map +1 -1
  26. package/dist/config/presets/internal/custom-managers.js +2 -2
  27. package/dist/config/presets/internal/custom-managers.js.map +1 -1
  28. package/dist/config/presets/internal/default.js +12 -1
  29. package/dist/config/presets/internal/default.js.map +1 -1
  30. package/dist/config/presets/internal/group.js +13 -0
  31. package/dist/config/presets/internal/group.js.map +1 -1
  32. package/dist/config/presets/internal/npm.js +1 -8
  33. package/dist/config/presets/internal/npm.js.map +1 -1
  34. package/dist/config/presets/internal/packages.js +5 -1
  35. package/dist/config/presets/internal/packages.js.map +1 -1
  36. package/dist/config/presets/internal/security.js +8 -0
  37. package/dist/config/presets/internal/security.js.map +1 -1
  38. package/dist/config/presets/internal/workarounds.js +2 -2
  39. package/dist/config/presets/internal/workarounds.js.map +1 -1
  40. package/dist/config/schema.d.ts +1 -1
  41. package/dist/config/secrets.js +2 -2
  42. package/dist/config/secrets.js.map +1 -1
  43. package/dist/config/types.d.ts +26 -1
  44. package/dist/config/types.js.map +1 -1
  45. package/dist/config/validation.js +4 -3
  46. package/dist/config/validation.js.map +1 -1
  47. package/dist/config-validator.js +1 -1
  48. package/dist/config-validator.js.map +1 -1
  49. package/dist/constants/platforms.js +1 -0
  50. package/dist/constants/platforms.js.map +1 -1
  51. package/dist/data/monorepo.json +13 -2
  52. package/dist/data/node-js-schedule.json +1 -1
  53. package/dist/data/replacements.json +34 -0
  54. package/dist/data-files.generated.js +3 -3
  55. package/dist/data-files.generated.js.map +1 -1
  56. package/dist/logger/renovate-logger.d.ts +1 -0
  57. package/dist/logger/renovate-logger.js +3 -0
  58. package/dist/logger/renovate-logger.js.map +1 -1
  59. package/dist/logger/utils.js +2 -1
  60. package/dist/logger/utils.js.map +1 -1
  61. package/dist/manager-list.generated.d.ts +1 -1
  62. package/dist/manager-list.generated.js +1 -1
  63. package/dist/manager-list.generated.js.map +1 -1
  64. package/dist/modules/datasource/api.js +4 -0
  65. package/dist/modules/datasource/api.js.map +1 -1
  66. package/dist/modules/datasource/aws-eks-addon/schema.d.ts +1 -8
  67. package/dist/modules/datasource/aws-eks-addon/schema.js +7 -5
  68. package/dist/modules/datasource/aws-eks-addon/schema.js.map +1 -1
  69. package/dist/modules/datasource/azure-pipelines-tasks/schema.d.ts +12 -12
  70. package/dist/modules/datasource/bitrise/schema.d.ts +1 -1
  71. package/dist/modules/datasource/buildpacks-registry/index.js +1 -1
  72. package/dist/modules/datasource/buildpacks-registry/index.js.map +1 -1
  73. package/dist/modules/datasource/buildpacks-registry/schema.d.ts +1 -1
  74. package/dist/modules/datasource/buildpacks-registry/schema.js +2 -2
  75. package/dist/modules/datasource/buildpacks-registry/schema.js.map +1 -1
  76. package/dist/modules/datasource/cdnjs/index.js +2 -2
  77. package/dist/modules/datasource/cdnjs/index.js.map +1 -1
  78. package/dist/modules/datasource/cdnjs/schema.d.ts +8 -8
  79. package/dist/modules/datasource/cdnjs/schema.js +3 -3
  80. package/dist/modules/datasource/cdnjs/schema.js.map +1 -1
  81. package/dist/modules/datasource/conan/schema.d.ts +3 -3
  82. package/dist/modules/datasource/conda/prefix-dev.js +1 -1
  83. package/dist/modules/datasource/conda/prefix-dev.js.map +1 -1
  84. package/dist/modules/datasource/conda/schema/prefix-dev.d.ts +7 -7
  85. package/dist/modules/datasource/conda/schema/prefix-dev.js +2 -2
  86. package/dist/modules/datasource/conda/schema/prefix-dev.js.map +1 -1
  87. package/dist/modules/datasource/cpan/schema.js +2 -2
  88. package/dist/modules/datasource/cpan/schema.js.map +1 -1
  89. package/dist/modules/datasource/crate/index.js +12 -11
  90. package/dist/modules/datasource/crate/index.js.map +1 -1
  91. package/dist/modules/datasource/crate/schema.d.ts +1 -1
  92. package/dist/modules/datasource/crate/schema.js +2 -2
  93. package/dist/modules/datasource/crate/schema.js.map +1 -1
  94. package/dist/modules/datasource/custom/index.d.ts +1 -1
  95. package/dist/modules/datasource/custom/index.js +2 -2
  96. package/dist/modules/datasource/custom/index.js.map +1 -1
  97. package/dist/modules/datasource/custom/schema.d.ts +1 -1
  98. package/dist/modules/datasource/custom/schema.js +2 -2
  99. package/dist/modules/datasource/custom/schema.js.map +1 -1
  100. package/dist/modules/datasource/docker/index.d.ts +1 -1
  101. package/dist/modules/datasource/docker/index.js +4 -1
  102. package/dist/modules/datasource/docker/index.js.map +1 -1
  103. package/dist/modules/datasource/docker/schema.d.ts +4 -4
  104. package/dist/modules/datasource/forgejo-releases/index.js +3 -3
  105. package/dist/modules/datasource/forgejo-releases/index.js.map +1 -1
  106. package/dist/modules/datasource/forgejo-releases/schema.d.ts +6 -6
  107. package/dist/modules/datasource/forgejo-releases/schema.js +3 -3
  108. package/dist/modules/datasource/forgejo-releases/schema.js.map +1 -1
  109. package/dist/modules/datasource/forgejo-tags/index.js +3 -3
  110. package/dist/modules/datasource/forgejo-tags/index.js.map +1 -1
  111. package/dist/modules/datasource/forgejo-tags/schema.d.ts +4 -4
  112. package/dist/modules/datasource/forgejo-tags/schema.js +7 -7
  113. package/dist/modules/datasource/forgejo-tags/schema.js.map +1 -1
  114. package/dist/modules/datasource/gitea-releases/index.js +3 -3
  115. package/dist/modules/datasource/gitea-releases/index.js.map +1 -1
  116. package/dist/modules/datasource/gitea-releases/schema.d.ts +6 -6
  117. package/dist/modules/datasource/gitea-releases/schema.js +3 -3
  118. package/dist/modules/datasource/gitea-releases/schema.js.map +1 -1
  119. package/dist/modules/datasource/gitea-tags/index.js +3 -3
  120. package/dist/modules/datasource/gitea-tags/index.js.map +1 -1
  121. package/dist/modules/datasource/gitea-tags/schema.d.ts +4 -4
  122. package/dist/modules/datasource/gitea-tags/schema.js +7 -7
  123. package/dist/modules/datasource/gitea-tags/schema.js.map +1 -1
  124. package/dist/modules/datasource/github-runners/index.js +5 -3
  125. package/dist/modules/datasource/github-runners/index.js.map +1 -1
  126. package/dist/modules/datasource/go/base.js +3 -2
  127. package/dist/modules/datasource/go/base.js.map +1 -1
  128. package/dist/modules/datasource/go/common.js +13 -9
  129. package/dist/modules/datasource/go/common.js.map +1 -1
  130. package/dist/modules/datasource/go/index.js +7 -2
  131. package/dist/modules/datasource/go/index.js.map +1 -1
  132. package/dist/modules/datasource/go/releases-direct.d.ts +2 -0
  133. package/dist/modules/datasource/go/releases-direct.js +7 -1
  134. package/dist/modules/datasource/go/releases-direct.js.map +1 -1
  135. package/dist/modules/datasource/go/releases-goproxy.js +1 -1
  136. package/dist/modules/datasource/go/releases-goproxy.js.map +1 -1
  137. package/dist/modules/datasource/helm/index.js +1 -1
  138. package/dist/modules/datasource/helm/index.js.map +1 -1
  139. package/dist/modules/datasource/helm/schema.d.ts +2 -2
  140. package/dist/modules/datasource/helm/schema.js +4 -4
  141. package/dist/modules/datasource/helm/schema.js.map +1 -1
  142. package/dist/modules/datasource/jsr/common.d.ts +1 -0
  143. package/dist/modules/datasource/jsr/common.js +12 -0
  144. package/dist/modules/datasource/jsr/common.js.map +1 -0
  145. package/dist/modules/datasource/jsr/index.d.ts +12 -0
  146. package/dist/modules/datasource/jsr/index.js +66 -0
  147. package/dist/modules/datasource/jsr/index.js.map +1 -0
  148. package/dist/modules/datasource/jsr/schema.d.ts +27 -0
  149. package/dist/modules/datasource/jsr/schema.js +20 -0
  150. package/dist/modules/datasource/jsr/schema.js.map +1 -0
  151. package/dist/modules/datasource/jsr/util.d.ts +4 -0
  152. package/dist/modules/datasource/jsr/util.js +53 -0
  153. package/dist/modules/datasource/jsr/util.js.map +1 -0
  154. package/dist/modules/datasource/maven/index.js +14 -0
  155. package/dist/modules/datasource/maven/index.js.map +1 -1
  156. package/dist/modules/datasource/maven/util.js +10 -0
  157. package/dist/modules/datasource/maven/util.js.map +1 -1
  158. package/dist/modules/datasource/npm/get.js +2 -1
  159. package/dist/modules/datasource/npm/get.js.map +1 -1
  160. package/dist/modules/datasource/npm/types.d.ts +7 -0
  161. package/dist/modules/datasource/npm/types.js.map +1 -1
  162. package/dist/modules/datasource/nuget/v3.js +3 -1
  163. package/dist/modules/datasource/nuget/v3.js.map +1 -1
  164. package/dist/modules/datasource/packagist/schema.d.ts +12 -12
  165. package/dist/modules/datasource/pypi/index.d.ts +1 -0
  166. package/dist/modules/datasource/pypi/index.js +1 -0
  167. package/dist/modules/datasource/pypi/index.js.map +1 -1
  168. package/dist/modules/datasource/python-version/schema.d.ts +3 -3
  169. package/dist/modules/datasource/rpm/index.d.ts +7 -0
  170. package/dist/modules/datasource/rpm/index.js +7 -0
  171. package/dist/modules/datasource/rpm/index.js.map +1 -1
  172. package/dist/modules/datasource/types.d.ts +2 -0
  173. package/dist/modules/datasource/types.js.map +1 -1
  174. package/dist/modules/datasource/typst/index.d.ts +11 -0
  175. package/dist/modules/datasource/typst/index.js +65 -0
  176. package/dist/modules/datasource/typst/index.js.map +1 -0
  177. package/dist/modules/datasource/typst/schema.d.ts +31 -0
  178. package/dist/modules/datasource/typst/schema.js +28 -0
  179. package/dist/modules/datasource/typst/schema.js.map +1 -0
  180. package/dist/modules/datasource/unity3d-packages/schema.d.ts +4 -4
  181. package/dist/modules/manager/api.js +6 -0
  182. package/dist/modules/manager/api.js.map +1 -1
  183. package/dist/modules/manager/argocd/extract.js +1 -1
  184. package/dist/modules/manager/argocd/extract.js.map +1 -1
  185. package/dist/modules/manager/argocd/schema.d.ts +1 -1
  186. package/dist/modules/manager/argocd/schema.js +2 -2
  187. package/dist/modules/manager/argocd/schema.js.map +1 -1
  188. package/dist/modules/manager/azure-pipelines/schema.d.ts +1 -1
  189. package/dist/modules/manager/batect/extract.js +1 -1
  190. package/dist/modules/manager/batect/extract.js.map +1 -1
  191. package/dist/modules/manager/batect/schema.d.ts +4 -4
  192. package/dist/modules/manager/batect/schema.js +2 -2
  193. package/dist/modules/manager/batect/schema.js.map +1 -1
  194. package/dist/modules/manager/bazel/rules/docker.d.ts +3 -3
  195. package/dist/modules/manager/bazel/rules/git.d.ts +5 -5
  196. package/dist/modules/manager/bazel/rules/go.d.ts +5 -5
  197. package/dist/modules/manager/bazel/rules/oci.d.ts +3 -3
  198. package/dist/modules/manager/bazel-module/extract.js +5 -0
  199. package/dist/modules/manager/bazel-module/extract.js.map +1 -1
  200. package/dist/modules/manager/bazel-module/parser/context.d.ts +6 -0
  201. package/dist/modules/manager/bazel-module/parser/context.js +42 -2
  202. package/dist/modules/manager/bazel-module/parser/context.js.map +1 -1
  203. package/dist/modules/manager/bazel-module/parser/fragments.d.ts +276 -112
  204. package/dist/modules/manager/bazel-module/parser/fragments.js +70 -32
  205. package/dist/modules/manager/bazel-module/parser/fragments.js.map +1 -1
  206. package/dist/modules/manager/bazel-module/parser/index.js +3 -1
  207. package/dist/modules/manager/bazel-module/parser/index.js.map +1 -1
  208. package/dist/modules/manager/bazel-module/parser/maven.d.ts +27 -27
  209. package/dist/modules/manager/bazel-module/parser/maven.js +7 -7
  210. package/dist/modules/manager/bazel-module/parser/maven.js.map +1 -1
  211. package/dist/modules/manager/bazel-module/parser/oci.d.ts +38 -38
  212. package/dist/modules/manager/bazel-module/parser/oci.js +5 -5
  213. package/dist/modules/manager/bazel-module/parser/oci.js.map +1 -1
  214. package/dist/modules/manager/bazel-module/parser/repo-rules.d.ts +5 -0
  215. package/dist/modules/manager/bazel-module/parser/repo-rules.js +71 -0
  216. package/dist/modules/manager/bazel-module/parser/repo-rules.js.map +1 -0
  217. package/dist/modules/manager/bazel-module/rules-img.d.ts +229 -0
  218. package/dist/modules/manager/bazel-module/rules-img.js +74 -0
  219. package/dist/modules/manager/bazel-module/rules-img.js.map +1 -0
  220. package/dist/modules/manager/bazel-module/rules.d.ts +101 -101
  221. package/dist/modules/manager/bazel-module/rules.js +18 -18
  222. package/dist/modules/manager/bazel-module/rules.js.map +1 -1
  223. package/dist/modules/manager/bitrise/schema.d.ts +1 -1
  224. package/dist/modules/manager/bun/artifacts.js +5 -4
  225. package/dist/modules/manager/bun/artifacts.js.map +1 -1
  226. package/dist/modules/manager/bundler/locked-version.js +44 -23
  227. package/dist/modules/manager/bundler/locked-version.js.map +1 -1
  228. package/dist/modules/manager/cargo/artifacts.js +15 -11
  229. package/dist/modules/manager/cargo/artifacts.js.map +1 -1
  230. package/dist/modules/manager/cargo/extract.js +6 -3
  231. package/dist/modules/manager/cargo/extract.js.map +1 -1
  232. package/dist/modules/manager/cargo/index.d.ts +0 -1
  233. package/dist/modules/manager/cargo/index.js +11 -4
  234. package/dist/modules/manager/cargo/index.js.map +1 -1
  235. package/dist/modules/manager/cargo/locked-version.d.ts +2 -2
  236. package/dist/modules/manager/cargo/locked-version.js +1 -1
  237. package/dist/modules/manager/cargo/locked-version.js.map +1 -1
  238. package/dist/modules/manager/cargo/schema.d.ts +206 -35
  239. package/dist/modules/manager/cargo/schema.js +26 -18
  240. package/dist/modules/manager/cargo/schema.js.map +1 -1
  241. package/dist/modules/manager/cloudbuild/schema.d.ts +1 -1
  242. package/dist/modules/manager/composer/schema.d.ts +98 -98
  243. package/dist/modules/manager/conan/artifacts.js +12 -2
  244. package/dist/modules/manager/conan/artifacts.js.map +1 -1
  245. package/dist/modules/manager/conan/extract.js +1 -1
  246. package/dist/modules/manager/conan/extract.js.map +1 -1
  247. package/dist/modules/manager/conan/index.d.ts +0 -1
  248. package/dist/modules/manager/conan/index.js +0 -1
  249. package/dist/modules/manager/conan/index.js.map +1 -1
  250. package/dist/modules/manager/copier/artifacts.js +5 -5
  251. package/dist/modules/manager/copier/artifacts.js.map +1 -1
  252. package/dist/modules/manager/copier/schema.d.ts +2 -2
  253. package/dist/modules/manager/copier/schema.js +5 -1
  254. package/dist/modules/manager/copier/schema.js.map +1 -1
  255. package/dist/modules/manager/crossplane/extract.js +1 -1
  256. package/dist/modules/manager/crossplane/extract.js.map +1 -1
  257. package/dist/modules/manager/crossplane/schema.d.ts +2 -2
  258. package/dist/modules/manager/crossplane/schema.js +2 -2
  259. package/dist/modules/manager/crossplane/schema.js.map +1 -1
  260. package/dist/modules/manager/crow/extract.d.ts +2 -0
  261. package/dist/modules/manager/crow/extract.js +35 -0
  262. package/dist/modules/manager/crow/extract.js.map +1 -0
  263. package/dist/modules/manager/crow/index.d.ts +8 -0
  264. package/dist/modules/manager/crow/index.js +13 -0
  265. package/dist/modules/manager/crow/index.js.map +1 -0
  266. package/dist/modules/manager/crow/schema.d.ts +66 -0
  267. package/dist/modules/manager/crow/schema.js +15 -0
  268. package/dist/modules/manager/crow/schema.js.map +1 -0
  269. package/dist/modules/manager/custom/jsonata/schema.d.ts +1 -1
  270. package/dist/modules/manager/custom/jsonata/schema.js +4 -4
  271. package/dist/modules/manager/custom/jsonata/schema.js.map +1 -1
  272. package/dist/modules/manager/custom/jsonata/utils.js +3 -3
  273. package/dist/modules/manager/custom/jsonata/utils.js.map +1 -1
  274. package/dist/modules/manager/devbox/extract.js +1 -1
  275. package/dist/modules/manager/devbox/extract.js.map +1 -1
  276. package/dist/modules/manager/devbox/schema.d.ts +1 -1
  277. package/dist/modules/manager/devbox/schema.js +2 -2
  278. package/dist/modules/manager/devbox/schema.js.map +1 -1
  279. package/dist/modules/manager/devcontainer/schema.d.ts +1 -1
  280. package/dist/modules/manager/fingerprint.generated.js +35 -32
  281. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  282. package/dist/modules/manager/fleet/schema.d.ts +16 -16
  283. package/dist/modules/manager/flux/schema.d.ts +24 -24
  284. package/dist/modules/manager/github-actions/community.d.ts +96 -0
  285. package/dist/modules/manager/github-actions/community.js +116 -10
  286. package/dist/modules/manager/github-actions/community.js.map +1 -1
  287. package/dist/modules/manager/github-actions/extract.js +2 -1
  288. package/dist/modules/manager/github-actions/extract.js.map +1 -1
  289. package/dist/modules/manager/github-actions/schema.d.ts +3 -3
  290. package/dist/modules/manager/github-actions/schema.js +7 -7
  291. package/dist/modules/manager/github-actions/schema.js.map +1 -1
  292. package/dist/modules/manager/gitlabci/extract.js +2 -0
  293. package/dist/modules/manager/gitlabci/extract.js.map +1 -1
  294. package/dist/modules/manager/glasskube/schema.d.ts +12 -12
  295. package/dist/modules/manager/gleam/schema.d.ts +4 -4
  296. package/dist/modules/manager/gomod/artifacts.js +8 -4
  297. package/dist/modules/manager/gomod/artifacts.js.map +1 -1
  298. package/dist/modules/manager/gradle/parser/dependencies.js +23 -2
  299. package/dist/modules/manager/gradle/parser/dependencies.js.map +1 -1
  300. package/dist/modules/manager/gradle/parser/objects.js +15 -0
  301. package/dist/modules/manager/gradle/parser/objects.js.map +1 -1
  302. package/dist/modules/manager/gradle/parser.js +1 -1
  303. package/dist/modules/manager/gradle/parser.js.map +1 -1
  304. package/dist/modules/manager/helmfile/extract.js +26 -21
  305. package/dist/modules/manager/helmfile/extract.js.map +1 -1
  306. package/dist/modules/manager/helmfile/index.js +4 -1
  307. package/dist/modules/manager/helmfile/index.js.map +1 -1
  308. package/dist/modules/manager/helmfile/schema.d.ts +4 -4
  309. package/dist/modules/manager/maven-wrapper/artifacts.js +1 -1
  310. package/dist/modules/manager/maven-wrapper/artifacts.js.map +1 -1
  311. package/dist/modules/manager/maven-wrapper/extract.js +4 -4
  312. package/dist/modules/manager/maven-wrapper/extract.js.map +1 -1
  313. package/dist/modules/manager/maven-wrapper/index.d.ts +1 -1
  314. package/dist/modules/manager/maven-wrapper/index.js +5 -2
  315. package/dist/modules/manager/maven-wrapper/index.js.map +1 -1
  316. package/dist/modules/manager/mise/backends.d.ts +2 -2
  317. package/dist/modules/manager/mise/backends.js +1 -1
  318. package/dist/modules/manager/mise/backends.js.map +1 -1
  319. package/dist/modules/manager/mise/extract.js.map +1 -1
  320. package/dist/modules/manager/mise/schema.d.ts +6 -29
  321. package/dist/modules/manager/mise/schema.js +7 -8
  322. package/dist/modules/manager/mise/schema.js.map +1 -1
  323. package/dist/modules/manager/mise/upgradeable-tooling.js +1 -1
  324. package/dist/modules/manager/mise/upgradeable-tooling.js.map +1 -1
  325. package/dist/modules/manager/mise/utils.d.ts +2 -2
  326. package/dist/modules/manager/mise/utils.js +1 -1
  327. package/dist/modules/manager/mise/utils.js.map +1 -1
  328. package/dist/modules/manager/nix/artifacts.js +2 -2
  329. package/dist/modules/manager/nix/artifacts.js.map +1 -1
  330. package/dist/modules/manager/nix/extract.d.ts +2 -2
  331. package/dist/modules/manager/nix/extract.js +79 -67
  332. package/dist/modules/manager/nix/extract.js.map +1 -1
  333. package/dist/modules/manager/nix/index.d.ts +1 -0
  334. package/dist/modules/manager/nix/index.js +3 -1
  335. package/dist/modules/manager/nix/index.js.map +1 -1
  336. package/dist/modules/manager/nix/range.d.ts +3 -0
  337. package/dist/modules/manager/nix/range.js +10 -0
  338. package/dist/modules/manager/nix/range.js.map +1 -0
  339. package/dist/modules/manager/nix/schema.d.ts +42 -28
  340. package/dist/modules/manager/nix/schema.js +4 -1
  341. package/dist/modules/manager/nix/schema.js.map +1 -1
  342. package/dist/modules/manager/npm/extract/common/package-file.d.ts +1 -0
  343. package/dist/modules/manager/npm/extract/common/package-file.js +8 -0
  344. package/dist/modules/manager/npm/extract/common/package-file.js.map +1 -1
  345. package/dist/modules/manager/npm/extract/index.js +24 -7
  346. package/dist/modules/manager/npm/extract/index.js.map +1 -1
  347. package/dist/modules/manager/npm/extract/pnpm.d.ts +4 -3
  348. package/dist/modules/manager/npm/extract/pnpm.js +1 -1
  349. package/dist/modules/manager/npm/extract/pnpm.js.map +1 -1
  350. package/dist/modules/manager/npm/extract/post/locked-versions.js +6 -0
  351. package/dist/modules/manager/npm/extract/post/locked-versions.js.map +1 -1
  352. package/dist/modules/manager/npm/extract/yarn.d.ts +4 -0
  353. package/dist/modules/manager/npm/extract/yarn.js +35 -0
  354. package/dist/modules/manager/npm/extract/yarn.js.map +1 -1
  355. package/dist/modules/manager/npm/extract/yarnrc.d.ts +4 -4
  356. package/dist/modules/manager/npm/extract/yarnrc.js +1 -2
  357. package/dist/modules/manager/npm/extract/yarnrc.js.map +1 -1
  358. package/dist/modules/manager/npm/index.js +1 -0
  359. package/dist/modules/manager/npm/index.js.map +1 -1
  360. package/dist/modules/manager/npm/post-update/index.js +2 -1
  361. package/dist/modules/manager/npm/post-update/index.js.map +1 -1
  362. package/dist/modules/manager/npm/post-update/npm.js +14 -1
  363. package/dist/modules/manager/npm/post-update/npm.js.map +1 -1
  364. package/dist/modules/manager/npm/post-update/pnpm.js +6 -1
  365. package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
  366. package/dist/modules/manager/npm/post-update/types.d.ts +5 -5
  367. package/dist/modules/manager/npm/post-update/types.js.map +1 -1
  368. package/dist/modules/manager/npm/post-update/utils.d.ts +3 -4
  369. package/dist/modules/manager/npm/post-update/utils.js +2 -13
  370. package/dist/modules/manager/npm/post-update/utils.js.map +1 -1
  371. package/dist/modules/manager/npm/schema.d.ts +35 -97
  372. package/dist/modules/manager/npm/schema.js +21 -16
  373. package/dist/modules/manager/npm/schema.js.map +1 -1
  374. package/dist/modules/manager/npm/update/dependency/index.js +4 -0
  375. package/dist/modules/manager/npm/update/dependency/index.js.map +1 -1
  376. package/dist/modules/manager/npm/update/dependency/pnpm.js +1 -1
  377. package/dist/modules/manager/npm/update/dependency/pnpm.js.map +1 -1
  378. package/dist/modules/manager/npm/update/dependency/yarn.d.ts +2 -0
  379. package/dist/modules/manager/npm/update/dependency/yarn.js +102 -0
  380. package/dist/modules/manager/npm/update/dependency/yarn.js.map +1 -0
  381. package/dist/modules/manager/npm/utils.d.ts +2 -0
  382. package/dist/modules/manager/npm/utils.js +10 -0
  383. package/dist/modules/manager/npm/utils.js.map +1 -1
  384. package/dist/modules/manager/nuget/extract.js +5 -0
  385. package/dist/modules/manager/nuget/extract.js.map +1 -1
  386. package/dist/modules/manager/nuget/schema.d.ts +3 -56
  387. package/dist/modules/manager/nuget/schema.js +5 -6
  388. package/dist/modules/manager/nuget/schema.js.map +1 -1
  389. package/dist/modules/manager/nvm/extract.js +8 -1
  390. package/dist/modules/manager/nvm/extract.js.map +1 -1
  391. package/dist/modules/manager/ocb/extract.js +1 -1
  392. package/dist/modules/manager/ocb/extract.js.map +1 -1
  393. package/dist/modules/manager/ocb/schema.d.ts +4 -4
  394. package/dist/modules/manager/ocb/schema.js +9 -9
  395. package/dist/modules/manager/ocb/schema.js.map +1 -1
  396. package/dist/modules/manager/pep621/extract.d.ts +1 -1
  397. package/dist/modules/manager/pep621/extract.js +11 -3
  398. package/dist/modules/manager/pep621/extract.js.map +1 -1
  399. package/dist/modules/manager/pep621/processors/abstract.d.ts +10 -0
  400. package/dist/modules/manager/pep621/processors/abstract.js +25 -0
  401. package/dist/modules/manager/pep621/processors/abstract.js.map +1 -0
  402. package/dist/modules/manager/pep621/processors/hatch.d.ts +2 -2
  403. package/dist/modules/manager/pep621/processors/hatch.js +2 -1
  404. package/dist/modules/manager/pep621/processors/hatch.js.map +1 -1
  405. package/dist/modules/manager/pep621/processors/index.d.ts +2 -4
  406. package/dist/modules/manager/pep621/processors/index.js.map +1 -1
  407. package/dist/modules/manager/pep621/processors/pdm.d.ts +3 -2
  408. package/dist/modules/manager/pep621/processors/pdm.js +5 -4
  409. package/dist/modules/manager/pep621/processors/pdm.js.map +1 -1
  410. package/dist/modules/manager/pep621/processors/types.d.ts +1 -0
  411. package/dist/modules/manager/pep621/processors/types.js.map +1 -1
  412. package/dist/modules/manager/pep621/processors/uv.d.ts +3 -2
  413. package/dist/modules/manager/pep621/processors/uv.js +8 -6
  414. package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
  415. package/dist/modules/manager/pep621/schema.d.ts +35 -257
  416. package/dist/modules/manager/pep621/schema.js +17 -21
  417. package/dist/modules/manager/pep621/schema.js.map +1 -1
  418. package/dist/modules/manager/pep723/extract.js +1 -1
  419. package/dist/modules/manager/pep723/extract.js.map +1 -1
  420. package/dist/modules/manager/pep723/schema.d.ts +1 -1
  421. package/dist/modules/manager/pep723/schema.js +2 -2
  422. package/dist/modules/manager/pep723/schema.js.map +1 -1
  423. package/dist/modules/manager/pip-compile/extract.d.ts +1 -1
  424. package/dist/modules/manager/pip-compile/extract.js +9 -6
  425. package/dist/modules/manager/pip-compile/extract.js.map +1 -1
  426. package/dist/modules/manager/pixi/extract.js +4 -7
  427. package/dist/modules/manager/pixi/extract.js.map +1 -1
  428. package/dist/modules/manager/pixi/schema.d.ts +296 -4
  429. package/dist/modules/manager/pixi/schema.js +11 -4
  430. package/dist/modules/manager/pixi/schema.js.map +1 -1
  431. package/dist/modules/manager/poetry/artifacts.js +2 -2
  432. package/dist/modules/manager/poetry/artifacts.js.map +1 -1
  433. package/dist/modules/manager/poetry/extract.js +1 -1
  434. package/dist/modules/manager/poetry/extract.js.map +1 -1
  435. package/dist/modules/manager/poetry/index.d.ts +1 -0
  436. package/dist/modules/manager/poetry/index.js +2 -1
  437. package/dist/modules/manager/poetry/index.js.map +1 -1
  438. package/dist/modules/manager/poetry/schema.d.ts +45 -138
  439. package/dist/modules/manager/poetry/schema.js +49 -32
  440. package/dist/modules/manager/poetry/schema.js.map +1 -1
  441. package/dist/modules/manager/poetry/update-locked.js +2 -2
  442. package/dist/modules/manager/poetry/update-locked.js.map +1 -1
  443. package/dist/modules/manager/pre-commit/extract.js +2 -1
  444. package/dist/modules/manager/pre-commit/extract.js.map +1 -1
  445. package/dist/modules/manager/pub/extract.js +38 -8
  446. package/dist/modules/manager/pub/extract.js.map +1 -1
  447. package/dist/modules/manager/pub/index.d.ts +0 -1
  448. package/dist/modules/manager/pub/index.js +0 -3
  449. package/dist/modules/manager/pub/index.js.map +1 -1
  450. package/dist/modules/manager/pub/schema.d.ts +25 -79
  451. package/dist/modules/manager/pub/schema.js +17 -10
  452. package/dist/modules/manager/pub/schema.js.map +1 -1
  453. package/dist/modules/manager/pub/utils.d.ts +3 -3
  454. package/dist/modules/manager/pub/utils.js +2 -2
  455. package/dist/modules/manager/pub/utils.js.map +1 -1
  456. package/dist/modules/manager/quadlet/extract.d.ts +2 -0
  457. package/dist/modules/manager/quadlet/extract.js +54 -0
  458. package/dist/modules/manager/quadlet/extract.js.map +1 -0
  459. package/dist/modules/manager/quadlet/index.d.ts +8 -0
  460. package/dist/modules/manager/quadlet/index.js +13 -0
  461. package/dist/modules/manager/quadlet/index.js.map +1 -0
  462. package/dist/modules/manager/quadlet/schema.d.ts +45 -0
  463. package/dist/modules/manager/quadlet/schema.js +23 -0
  464. package/dist/modules/manager/quadlet/schema.js.map +1 -0
  465. package/dist/modules/manager/renovate-config-presets/extract.js +1 -1
  466. package/dist/modules/manager/renovate-config-presets/extract.js.map +1 -1
  467. package/dist/modules/manager/renovate-config-presets/index.js +1 -1
  468. package/dist/modules/manager/renovate-config-presets/index.js.map +1 -1
  469. package/dist/modules/manager/renovate-config-presets/schema.d.ts +1 -1
  470. package/dist/modules/manager/renovate-config-presets/schema.js +2 -2
  471. package/dist/modules/manager/renovate-config-presets/schema.js.map +1 -1
  472. package/dist/modules/manager/swift/extract.js +25 -9
  473. package/dist/modules/manager/swift/extract.js.map +1 -1
  474. package/dist/modules/manager/swift/index.js +7 -1
  475. package/dist/modules/manager/swift/index.js.map +1 -1
  476. package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js +1 -1
  477. package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js.map +1 -1
  478. package/dist/modules/manager/terraform/lockfile/hash.js +1 -1
  479. package/dist/modules/manager/terraform/lockfile/hash.js.map +1 -1
  480. package/dist/modules/manager/terragrunt/util.js +1 -1
  481. package/dist/modules/manager/terragrunt/util.js.map +1 -1
  482. package/dist/modules/manager/types.d.ts +2 -0
  483. package/dist/modules/manager/types.js.map +1 -1
  484. package/dist/modules/manager/typst/extract.d.ts +2 -0
  485. package/dist/modules/manager/typst/extract.js +31 -0
  486. package/dist/modules/manager/typst/extract.js.map +1 -0
  487. package/dist/modules/manager/typst/index.d.ts +7 -0
  488. package/dist/modules/manager/typst/index.js +12 -0
  489. package/dist/modules/manager/typst/index.js.map +1 -0
  490. package/dist/modules/manager/util.js +3 -2
  491. package/dist/modules/manager/util.js.map +1 -1
  492. package/dist/modules/manager/vendir/schema.d.ts +13 -13
  493. package/dist/modules/platform/azure/azure-helper.js +1 -1
  494. package/dist/modules/platform/azure/azure-helper.js.map +1 -1
  495. package/dist/modules/platform/azure/schema.d.ts +3 -3
  496. package/dist/modules/platform/azure/schema.js +4 -4
  497. package/dist/modules/platform/azure/schema.js.map +1 -1
  498. package/dist/modules/platform/bitbucket/index.js +12 -9
  499. package/dist/modules/platform/bitbucket/index.js.map +1 -1
  500. package/dist/modules/platform/bitbucket/schema.d.ts +7 -7
  501. package/dist/modules/platform/bitbucket/schema.js +7 -7
  502. package/dist/modules/platform/bitbucket/schema.js.map +1 -1
  503. package/dist/modules/platform/bitbucket-server/index.d.ts +3 -1
  504. package/dist/modules/platform/bitbucket-server/index.js +87 -4
  505. package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
  506. package/dist/modules/platform/bitbucket-server/schema.d.ts +106 -11
  507. package/dist/modules/platform/bitbucket-server/schema.js +13 -7
  508. package/dist/modules/platform/bitbucket-server/schema.js.map +1 -1
  509. package/dist/modules/platform/bitbucket-server/utils.d.ts +2 -0
  510. package/dist/modules/platform/bitbucket-server/utils.js +25 -0
  511. package/dist/modules/platform/bitbucket-server/utils.js.map +1 -1
  512. package/dist/modules/platform/codecommit/index.d.ts +0 -8
  513. package/dist/modules/platform/codecommit/index.js +16 -16
  514. package/dist/modules/platform/codecommit/index.js.map +1 -1
  515. package/dist/modules/platform/forgejo/index.js +39 -38
  516. package/dist/modules/platform/forgejo/index.js.map +1 -1
  517. package/dist/modules/platform/forgejo/types.d.ts +3 -2
  518. package/dist/modules/platform/forgejo/types.js.map +1 -1
  519. package/dist/modules/platform/forgejo/utils.d.ts +1 -0
  520. package/dist/modules/platform/forgejo/utils.js +17 -0
  521. package/dist/modules/platform/forgejo/utils.js.map +1 -1
  522. package/dist/modules/platform/gerrit/client.d.ts +1 -1
  523. package/dist/modules/platform/gerrit/client.js +32 -33
  524. package/dist/modules/platform/gerrit/client.js.map +1 -1
  525. package/dist/modules/platform/gerrit/index.d.ts +1 -2
  526. package/dist/modules/platform/gerrit/index.js +8 -16
  527. package/dist/modules/platform/gerrit/index.js.map +1 -1
  528. package/dist/modules/platform/gerrit/scm.js +7 -13
  529. package/dist/modules/platform/gerrit/scm.js.map +1 -1
  530. package/dist/modules/platform/gerrit/types.d.ts +27 -1
  531. package/dist/modules/platform/gerrit/types.js.map +1 -1
  532. package/dist/modules/platform/gitea/index.js +34 -37
  533. package/dist/modules/platform/gitea/index.js.map +1 -1
  534. package/dist/modules/platform/gitea/schema.d.ts +3 -3
  535. package/dist/modules/platform/gitea/schema.js +3 -3
  536. package/dist/modules/platform/gitea/schema.js.map +1 -1
  537. package/dist/modules/platform/gitea/types.d.ts +3 -2
  538. package/dist/modules/platform/gitea/types.js.map +1 -1
  539. package/dist/modules/platform/gitea/utils.d.ts +1 -0
  540. package/dist/modules/platform/gitea/utils.js +17 -0
  541. package/dist/modules/platform/gitea/utils.js.map +1 -1
  542. package/dist/modules/platform/github/index.d.ts +1 -1
  543. package/dist/modules/platform/github/index.js +92 -33
  544. package/dist/modules/platform/github/index.js.map +1 -1
  545. package/dist/modules/platform/github/schema.d.ts +32 -2
  546. package/dist/modules/platform/github/schema.js +32 -8
  547. package/dist/modules/platform/github/schema.js.map +1 -1
  548. package/dist/modules/platform/github/types.d.ts +2 -2
  549. package/dist/modules/platform/github/types.js.map +1 -1
  550. package/dist/modules/platform/github/user.d.ts +2 -1
  551. package/dist/modules/platform/github/user.js.map +1 -1
  552. package/dist/modules/platform/gitlab/index.js.map +1 -1
  553. package/dist/modules/platform/gitlab/pr-cache.d.ts +0 -2
  554. package/dist/modules/platform/gitlab/pr-cache.js +28 -37
  555. package/dist/modules/platform/gitlab/pr-cache.js.map +1 -1
  556. package/dist/modules/platform/gitlab/utils.js +1 -0
  557. package/dist/modules/platform/gitlab/utils.js.map +1 -1
  558. package/dist/modules/platform/types.d.ts +1 -1
  559. package/dist/modules/platform/types.js.map +1 -1
  560. package/dist/modules/versioning/api.js +2 -0
  561. package/dist/modules/versioning/api.js.map +1 -1
  562. package/dist/modules/versioning/cargo/index.js +7 -7
  563. package/dist/modules/versioning/cargo/index.js.map +1 -1
  564. package/dist/modules/versioning/composer/index.js +0 -4
  565. package/dist/modules/versioning/composer/index.js.map +1 -1
  566. package/dist/modules/versioning/conan/index.js +1 -1
  567. package/dist/modules/versioning/conan/index.js.map +1 -1
  568. package/dist/modules/versioning/conda/index.d.ts +2 -0
  569. package/dist/modules/versioning/conda/index.js +4 -4
  570. package/dist/modules/versioning/conda/index.js.map +1 -1
  571. package/dist/modules/versioning/debian/index.d.ts +1 -1
  572. package/dist/modules/versioning/debian/index.js +2 -17
  573. package/dist/modules/versioning/debian/index.js.map +1 -1
  574. package/dist/modules/versioning/gradle/index.js +2 -2
  575. package/dist/modules/versioning/gradle/index.js.map +1 -1
  576. package/dist/modules/versioning/hashicorp/index.js +0 -1
  577. package/dist/modules/versioning/hashicorp/index.js.map +1 -1
  578. package/dist/modules/versioning/helm/index.js +0 -1
  579. package/dist/modules/versioning/helm/index.js.map +1 -1
  580. package/dist/modules/versioning/hex/index.js +0 -1
  581. package/dist/modules/versioning/hex/index.js.map +1 -1
  582. package/dist/modules/versioning/ivy/index.js +1 -2
  583. package/dist/modules/versioning/ivy/index.js.map +1 -1
  584. package/dist/modules/versioning/npm/index.js +0 -1
  585. package/dist/modules/versioning/npm/index.js.map +1 -1
  586. package/dist/modules/versioning/npm/range.js +2 -3
  587. package/dist/modules/versioning/npm/range.js.map +1 -1
  588. package/dist/modules/versioning/nuget/index.js +8 -4
  589. package/dist/modules/versioning/nuget/index.js.map +1 -1
  590. package/dist/modules/versioning/pep440/index.js +1 -1
  591. package/dist/modules/versioning/pep440/index.js.map +1 -1
  592. package/dist/modules/versioning/pep440/range.d.ts +1 -0
  593. package/dist/modules/versioning/pep440/range.js +4 -3
  594. package/dist/modules/versioning/pep440/range.js.map +1 -1
  595. package/dist/modules/versioning/poetry/index.js +0 -4
  596. package/dist/modules/versioning/poetry/index.js.map +1 -1
  597. package/dist/modules/versioning/rez/index.js +0 -1
  598. package/dist/modules/versioning/rez/index.js.map +1 -1
  599. package/dist/modules/versioning/ruby/index.js +5 -5
  600. package/dist/modules/versioning/ruby/index.js.map +1 -1
  601. package/dist/modules/versioning/ruby/strategies/index.d.ts +1 -2
  602. package/dist/modules/versioning/ruby/strategies/index.js +1 -3
  603. package/dist/modules/versioning/ruby/strategies/index.js.map +1 -1
  604. package/dist/modules/versioning/semver-partial/index.d.ts +8 -0
  605. package/dist/modules/versioning/semver-partial/index.js +211 -0
  606. package/dist/modules/versioning/semver-partial/index.js.map +1 -0
  607. package/dist/modules/versioning/swift/index.js +0 -1
  608. package/dist/modules/versioning/swift/index.js.map +1 -1
  609. package/dist/modules/versioning/types.d.ts +5 -0
  610. package/dist/modules/versioning/types.js.map +1 -1
  611. package/dist/renovate.js +0 -0
  612. package/dist/util/cache/package/decorator.js +20 -9
  613. package/dist/util/cache/package/decorator.js.map +1 -1
  614. package/dist/util/cache/package/file.d.ts +1 -1
  615. package/dist/util/cache/package/file.js +3 -3
  616. package/dist/util/cache/package/file.js.map +1 -1
  617. package/dist/util/cache/package/index.d.ts +9 -2
  618. package/dist/util/cache/package/index.js +19 -4
  619. package/dist/util/cache/package/index.js.map +1 -1
  620. package/dist/util/cache/package/namespaces.d.ts +1 -1
  621. package/dist/util/cache/package/namespaces.js +3 -0
  622. package/dist/util/cache/package/namespaces.js.map +1 -1
  623. package/dist/util/cache/package/redis.d.ts +1 -1
  624. package/dist/util/cache/package/redis.js +17 -7
  625. package/dist/util/cache/package/redis.js.map +1 -1
  626. package/dist/util/cache/package/sqlite.d.ts +1 -1
  627. package/dist/util/cache/package/sqlite.js +2 -2
  628. package/dist/util/cache/package/sqlite.js.map +1 -1
  629. package/dist/util/cache/package/types.d.ts +1 -1
  630. package/dist/util/cache/package/types.js.map +1 -1
  631. package/dist/util/cache/repository/http-cache.js +1 -1
  632. package/dist/util/cache/repository/http-cache.js.map +1 -1
  633. package/dist/util/cache/repository/schema.d.ts +1 -1
  634. package/dist/util/cache/repository/types.d.ts +1 -0
  635. package/dist/util/cache/repository/types.js.map +1 -1
  636. package/dist/util/emoji.js +2 -2
  637. package/dist/util/emoji.js.map +1 -1
  638. package/dist/util/exec/containerbase.js +5 -0
  639. package/dist/util/exec/containerbase.js.map +1 -1
  640. package/dist/util/git/index.js +6 -3
  641. package/dist/util/git/index.js.map +1 -1
  642. package/dist/util/git/private-key.js +23 -3
  643. package/dist/util/git/private-key.js.map +1 -1
  644. package/dist/util/git/types.d.ts +2 -1
  645. package/dist/util/git/types.js.map +1 -1
  646. package/dist/util/github/graphql/query-adapters/releases-query-adapter.d.ts +6 -6
  647. package/dist/util/http/bitbucket.js +0 -1
  648. package/dist/util/http/bitbucket.js.map +1 -1
  649. package/dist/util/http/cache/abstract-http-cache-provider.d.ts +7 -7
  650. package/dist/util/http/cache/abstract-http-cache-provider.js +11 -11
  651. package/dist/util/http/cache/abstract-http-cache-provider.js.map +1 -1
  652. package/dist/util/http/cache/memory-http-cache-provider.d.ts +3 -3
  653. package/dist/util/http/cache/memory-http-cache-provider.js +8 -8
  654. package/dist/util/http/cache/memory-http-cache-provider.js.map +1 -1
  655. package/dist/util/http/cache/package-http-cache-provider.d.ts +5 -4
  656. package/dist/util/http/cache/package-http-cache-provider.js +17 -11
  657. package/dist/util/http/cache/package-http-cache-provider.js.map +1 -1
  658. package/dist/util/http/cache/repository-http-cache-provider.d.ts +16 -3
  659. package/dist/util/http/cache/repository-http-cache-provider.js +60 -3
  660. package/dist/util/http/cache/repository-http-cache-provider.js.map +1 -1
  661. package/dist/util/http/cache/schema.d.ts +2 -2
  662. package/dist/util/http/cache/schema.js +2 -2
  663. package/dist/util/http/cache/schema.js.map +1 -1
  664. package/dist/util/http/cache/types.d.ts +3 -3
  665. package/dist/util/http/cache/types.js.map +1 -1
  666. package/dist/util/http/gerrit.d.ts +1 -1
  667. package/dist/util/http/gerrit.js +1 -1
  668. package/dist/util/http/gerrit.js.map +1 -1
  669. package/dist/util/http/gitlab.js +0 -1
  670. package/dist/util/http/gitlab.js.map +1 -1
  671. package/dist/util/http/host-rules.js +10 -0
  672. package/dist/util/http/host-rules.js.map +1 -1
  673. package/dist/util/http/http.d.ts +1 -1
  674. package/dist/util/http/http.js +17 -15
  675. package/dist/util/http/http.js.map +1 -1
  676. package/dist/util/http/retry-after.js +1 -1
  677. package/dist/util/http/retry-after.js.map +1 -1
  678. package/dist/util/interpolator.js +2 -0
  679. package/dist/util/interpolator.js.map +1 -1
  680. package/dist/util/markdown.js +3 -3
  681. package/dist/util/markdown.js.map +1 -1
  682. package/dist/util/merge-confidence/index.js +3 -1
  683. package/dist/util/merge-confidence/index.js.map +1 -1
  684. package/dist/util/schema-utils/index.d.ts +8 -4
  685. package/dist/util/schema-utils/index.js +16 -1
  686. package/dist/util/schema-utils/index.js.map +1 -1
  687. package/dist/util/template/index.d.ts +1 -0
  688. package/dist/util/template/index.js +70 -64
  689. package/dist/util/template/index.js.map +1 -1
  690. package/dist/workers/global/config/parse/file.js +6 -0
  691. package/dist/workers/global/config/parse/file.js.map +1 -1
  692. package/dist/workers/global/config/parse/index.js +2 -1
  693. package/dist/workers/global/config/parse/index.js.map +1 -1
  694. package/dist/workers/repository/config-migration/branch/commit-message.js +2 -1
  695. package/dist/workers/repository/config-migration/branch/commit-message.js.map +1 -1
  696. package/dist/workers/repository/config-migration/branch/create.js +1 -0
  697. package/dist/workers/repository/config-migration/branch/create.js.map +1 -1
  698. package/dist/workers/repository/config-migration/branch/rebase.js +1 -0
  699. package/dist/workers/repository/config-migration/branch/rebase.js.map +1 -1
  700. package/dist/workers/repository/dependency-dashboard.js +42 -5
  701. package/dist/workers/repository/dependency-dashboard.js.map +1 -1
  702. package/dist/workers/repository/error-config.js +1 -1
  703. package/dist/workers/repository/error-config.js.map +1 -1
  704. package/dist/workers/repository/error.js +1 -1
  705. package/dist/workers/repository/error.js.map +1 -1
  706. package/dist/workers/repository/extract/supersedes.d.ts +1 -1
  707. package/dist/workers/repository/extract/supersedes.js +31 -17
  708. package/dist/workers/repository/extract/supersedes.js.map +1 -1
  709. package/dist/workers/repository/finalize/index.js +1 -1
  710. package/dist/workers/repository/finalize/index.js.map +1 -1
  711. package/dist/workers/repository/finalize/prune.js +4 -3
  712. package/dist/workers/repository/finalize/prune.js.map +1 -1
  713. package/dist/workers/repository/index.js +49 -20
  714. package/dist/workers/repository/index.js.map +1 -1
  715. package/dist/workers/repository/init/inherited.js +7 -0
  716. package/dist/workers/repository/init/inherited.js.map +1 -1
  717. package/dist/workers/repository/init/merge.js +1 -1
  718. package/dist/workers/repository/init/merge.js.map +1 -1
  719. package/dist/workers/repository/onboarding/branch/check.js +5 -3
  720. package/dist/workers/repository/onboarding/branch/check.js.map +1 -1
  721. package/dist/workers/repository/onboarding/branch/create.js +1 -0
  722. package/dist/workers/repository/onboarding/branch/create.js.map +1 -1
  723. package/dist/workers/repository/onboarding/branch/rebase.js +1 -0
  724. package/dist/workers/repository/onboarding/branch/rebase.js.map +1 -1
  725. package/dist/workers/repository/onboarding/common.js +3 -2
  726. package/dist/workers/repository/onboarding/common.js.map +1 -1
  727. package/dist/workers/repository/process/extract-update.js +2 -2
  728. package/dist/workers/repository/process/extract-update.js.map +1 -1
  729. package/dist/workers/repository/process/fetch.js +4 -3
  730. package/dist/workers/repository/process/fetch.js.map +1 -1
  731. package/dist/workers/repository/process/index.d.ts +1 -0
  732. package/dist/workers/repository/process/index.js +25 -5
  733. package/dist/workers/repository/process/index.js.map +1 -1
  734. package/dist/workers/repository/process/lookup/filter-checks.js +42 -8
  735. package/dist/workers/repository/process/lookup/filter-checks.js.map +1 -1
  736. package/dist/workers/repository/process/lookup/filter.js +5 -7
  737. package/dist/workers/repository/process/lookup/filter.js.map +1 -1
  738. package/dist/workers/repository/process/lookup/index.js +10 -13
  739. package/dist/workers/repository/process/lookup/index.js.map +1 -1
  740. package/dist/workers/repository/process/vulnerabilities.d.ts +1 -1
  741. package/dist/workers/repository/process/vulnerabilities.js +13 -8
  742. package/dist/workers/repository/process/vulnerabilities.js.map +1 -1
  743. package/dist/workers/repository/reconfigure/comment.js +1 -1
  744. package/dist/workers/repository/reconfigure/comment.js.map +1 -1
  745. package/dist/workers/repository/reconfigure/index.js +1 -1
  746. package/dist/workers/repository/reconfigure/index.js.map +1 -1
  747. package/dist/workers/repository/update/branch/commit.js +2 -0
  748. package/dist/workers/repository/update/branch/commit.js.map +1 -1
  749. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js +12 -1
  750. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js.map +1 -1
  751. package/dist/workers/repository/update/branch/index.js +65 -20
  752. package/dist/workers/repository/update/branch/index.js.map +1 -1
  753. package/dist/workers/repository/update/branch/status-checks.js +5 -0
  754. package/dist/workers/repository/update/branch/status-checks.js.map +1 -1
  755. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js +1 -1
  756. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js.map +1 -1
  757. package/dist/workers/repository/update/pr/changelog/forgejo/index.js +3 -3
  758. package/dist/workers/repository/update/pr/changelog/forgejo/index.js.map +1 -1
  759. package/dist/workers/repository/update/pr/changelog/gitea/index.js +3 -3
  760. package/dist/workers/repository/update/pr/changelog/gitea/index.js.map +1 -1
  761. package/dist/workers/repository/update/pr/changelog/release-notes.js +9 -4
  762. package/dist/workers/repository/update/pr/changelog/release-notes.js.map +1 -1
  763. package/dist/workers/repository/update/pr/index.js +28 -11
  764. package/dist/workers/repository/update/pr/index.js.map +1 -1
  765. package/dist/workers/repository/update/pr/pr-reuse.d.ts +1 -1
  766. package/dist/workers/repository/update/pr/pr-reuse.js +2 -2
  767. package/dist/workers/repository/update/pr/pr-reuse.js.map +1 -1
  768. package/dist/workers/repository/updates/generate.js +1 -0
  769. package/dist/workers/repository/updates/generate.js.map +1 -1
  770. package/dist/workers/types.d.ts +1 -0
  771. package/dist/workers/types.js.map +1 -1
  772. package/package.json +136 -153
  773. package/renovate-schema.json +325 -111
  774. package/dist/config/decrypt/kbpgp.d.ts +0 -1
  775. package/dist/config/decrypt/kbpgp.js +0 -58
  776. package/dist/config/decrypt/kbpgp.js.map +0 -1
  777. package/dist/config/decrypt/legacy.d.ts +0 -2
  778. package/dist/config/decrypt/legacy.js +0 -36
  779. package/dist/config/decrypt/legacy.js.map +0 -1
  780. package/dist/modules/versioning/ruby/strategies/pin.d.ts +0 -4
  781. package/dist/modules/versioning/ruby/strategies/pin.js +0 -4
  782. package/dist/modules/versioning/ruby/strategies/pin.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../lib/workers/repository/onboarding/common.ts"],"names":[],"mappings":";;;AAKA,4DAEC;AAED,4DAIC;;AAbD,6DAA8D;AAE9D,4CAAyC;AACzC,6EAAuD;AAEvD,SAAgB,wBAAwB,CAAC,MAAsB;IAC7D,OAAO,GAAG,MAAM,CAAC,kBAAkB,IAAI,OAAO,KAAK,MAAM,CAAC,iBAAiB,EAAE,CAAC;AAChF,CAAC;AAED,SAAgB,wBAAwB,CAAC,MAAsB;IAC7D,OAAO,6BAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,wBAAyB,CAAC;QAC/D,CAAC,CAAC,MAAM,CAAC,wBAAyB;QAClC,CAAC,CAAC,6BAAe,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC;AAED,MAAa,eAAe;IAClB,MAAM,CAAU,QAAQ,GAAG,iBAAiB,CAAC;IAC7C,MAAM,CAAU,OAAO,GAAG,sBAAsB,CAAC;IAEzD,MAAM,KAAK,iBAAiB;QAC1B,MAAM,eAAe,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CACpC,eAAe,CAAC,QAAQ,CACzB,CAAC;QACF,eAAM,CAAC,KAAK,CACV,EAAE,KAAK,EAAE,eAAe,EAAE,EAC1B,uCAAuC,CACxC,CAAC;QACF,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,MAAM,KAAK,iBAAiB,CAAC,KAAc;QACzC,eAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,uCAAuC,CAAC,CAAC;QACjE,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,KAAK,oBAAoB;QAC7B,MAAM,UAAU,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAC/B,eAAe,CAAC,OAAO,CACxB,CAAC;QACF,eAAM,CAAC,KAAK,CACV,EAAE,KAAK,EAAE,UAAU,EAAE,EACrB,0CAA0C,CAC3C,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,KAAK,oBAAoB,CAAC,KAAc;QAC5C,eAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,0CAA0C,CAAC,CAAC;QACpE,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;;AAlCH,0CAmCC","sourcesContent":["import { configFileNames } from '../../../config/app-strings';\nimport type { RenovateConfig } from '../../../config/types';\nimport { logger } from '../../../logger';\nimport * as memCache from '../../../util/cache/memory';\n\nexport function getSemanticCommitPrTitle(config: RenovateConfig): string {\n return `${config.semanticCommitType ?? 'chore'}: ${config.onboardingPrTitle}`;\n}\n\nexport function getDefaultConfigFileName(config: RenovateConfig): string {\n return configFileNames.includes(config.onboardingConfigFileName!)\n ? config.onboardingConfigFileName!\n : configFileNames[0];\n}\n\nexport class OnboardingState {\n private static readonly cacheKey = 'OnboardingState';\n private static readonly skipKey = 'OnboardingStateValid';\n\n static get prUpdateRequested(): boolean {\n const updateRequested = !!memCache.get<boolean | undefined>(\n OnboardingState.cacheKey,\n );\n logger.trace(\n { value: updateRequested },\n 'Get OnboardingState.prUpdateRequested',\n );\n return updateRequested;\n }\n\n static set prUpdateRequested(value: boolean) {\n logger.trace({ value }, 'Set OnboardingState.prUpdateRequested');\n memCache.set(OnboardingState.cacheKey, value);\n }\n\n static get onboardingCacheValid(): boolean {\n const cacheValid = !!memCache.get<boolean | undefined>(\n OnboardingState.skipKey,\n );\n logger.trace(\n { value: cacheValid },\n 'Get OnboardingState.onboardingCacheValid',\n );\n return cacheValid;\n }\n\n static set onboardingCacheValid(value: boolean) {\n logger.trace({ value }, 'Set OnboardingState.onboardingCacheValid');\n memCache.set(OnboardingState.skipKey, value);\n }\n}\n"]}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../lib/workers/repository/onboarding/common.ts"],"names":[],"mappings":";;;AAKA,4DAEC;AAED,4DAKC;;AAdD,6DAAiE;AAEjE,4CAAyC;AACzC,6EAAuD;AAEvD,SAAgB,wBAAwB,CAAC,MAAsB;IAC7D,OAAO,GAAG,MAAM,CAAC,kBAAkB,IAAI,OAAO,KAAK,MAAM,CAAC,iBAAiB,EAAE,CAAC;AAChF,CAAC;AAED,SAAgB,wBAAwB,CAAC,MAAsB;IAC7D,MAAM,eAAe,GAAG,IAAA,gCAAkB,GAAE,CAAC;IAC7C,OAAO,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,wBAAyB,CAAC;QAC/D,CAAC,CAAC,MAAM,CAAC,wBAAyB;QAClC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC;AAED,MAAa,eAAe;IAClB,MAAM,CAAU,QAAQ,GAAG,iBAAiB,CAAC;IAC7C,MAAM,CAAU,OAAO,GAAG,sBAAsB,CAAC;IAEzD,MAAM,KAAK,iBAAiB;QAC1B,MAAM,eAAe,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CACpC,eAAe,CAAC,QAAQ,CACzB,CAAC;QACF,eAAM,CAAC,KAAK,CACV,EAAE,KAAK,EAAE,eAAe,EAAE,EAC1B,uCAAuC,CACxC,CAAC;QACF,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,MAAM,KAAK,iBAAiB,CAAC,KAAc;QACzC,eAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,uCAAuC,CAAC,CAAC;QACjE,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,KAAK,oBAAoB;QAC7B,MAAM,UAAU,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAC/B,eAAe,CAAC,OAAO,CACxB,CAAC;QACF,eAAM,CAAC,KAAK,CACV,EAAE,KAAK,EAAE,UAAU,EAAE,EACrB,0CAA0C,CAC3C,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,KAAK,oBAAoB,CAAC,KAAc;QAC5C,eAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,0CAA0C,CAAC,CAAC;QACpE,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;;AAlCH,0CAmCC","sourcesContent":["import { getConfigFileNames } from '../../../config/app-strings';\nimport type { RenovateConfig } from '../../../config/types';\nimport { logger } from '../../../logger';\nimport * as memCache from '../../../util/cache/memory';\n\nexport function getSemanticCommitPrTitle(config: RenovateConfig): string {\n return `${config.semanticCommitType ?? 'chore'}: ${config.onboardingPrTitle}`;\n}\n\nexport function getDefaultConfigFileName(config: RenovateConfig): string {\n const configFileNames = getConfigFileNames();\n return configFileNames.includes(config.onboardingConfigFileName!)\n ? config.onboardingConfigFileName!\n : configFileNames[0];\n}\n\nexport class OnboardingState {\n private static readonly cacheKey = 'OnboardingState';\n private static readonly skipKey = 'OnboardingStateValid';\n\n static get prUpdateRequested(): boolean {\n const updateRequested = !!memCache.get<boolean | undefined>(\n OnboardingState.cacheKey,\n );\n logger.trace(\n { value: updateRequested },\n 'Get OnboardingState.prUpdateRequested',\n );\n return updateRequested;\n }\n\n static set prUpdateRequested(value: boolean) {\n logger.trace({ value }, 'Set OnboardingState.prUpdateRequested');\n memCache.set(OnboardingState.cacheKey, value);\n }\n\n static get onboardingCacheValid(): boolean {\n const cacheValid = !!memCache.get<boolean | undefined>(\n OnboardingState.skipKey,\n );\n logger.trace(\n { value: cacheValid },\n 'Get OnboardingState.onboardingCacheValid',\n );\n return cacheValid;\n }\n\n static set onboardingCacheValid(value: boolean) {\n logger.trace({ value }, 'Set OnboardingState.onboardingCacheValid');\n memCache.set(OnboardingState.skipKey, value);\n }\n}\n"]}
@@ -134,8 +134,8 @@ async function extract(config, overwriteCache = true) {
134
134
  };
135
135
  }
136
136
  // Clean up cached branch extracts
137
- const baseBranches = is_1.default.nonEmptyArray(config.baseBranchPatterns)
138
- ? config.baseBranchPatterns
137
+ const baseBranches = is_1.default.nonEmptyArray(config.baseBranches)
138
+ ? config.baseBranches
139
139
  : [baseBranch];
140
140
  Object.keys(cache.scan).forEach((branchName) => {
141
141
  if (!baseBranches.includes(branchName)) {
@@ -1 +1 @@
1
- {"version":3,"file":"extract-update.js","sourceRoot":"","sources":["../../../../lib/workers/repository/process/extract-update.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport type { RenovateConfig } from '../../../config/types';\nimport { logger } from '../../../logger';\nimport { hashMap } from '../../../modules/manager';\nimport type { PackageFile } from '../../../modules/manager/types';\nimport { scm } from '../../../modules/platform/scm';\nimport * as memCache from '../../../util/cache/memory';\nimport { getCache } from '../../../util/cache/repository';\nimport type { BaseBranchCache } from '../../../util/cache/repository/types';\nimport { checkGithubToken as ensureGithubToken } from '../../../util/check-token';\nimport { fingerprint } from '../../../util/fingerprint';\nimport type { BranchConfig } from '../../types';\nimport { extractAllDependencies } from '../extract';\nimport { generateFingerprintConfig } from '../extract/extract-fingerprint-config';\nimport { branchifyUpgrades } from '../updates/branchify';\nimport { fetchUpdates } from './fetch';\nimport { calculateLibYears } from './libyear';\nimport { sortBranches } from './sort';\nimport { Vulnerabilities } from './vulnerabilities';\nimport type { WriteUpdateResult } from './write';\nimport { writeUpdates } from './write';\n\n// Increment this if needing to cache bust ALL extract caches\nexport const EXTRACT_CACHE_REVISION = 1;\n\nexport interface ExtractResult {\n branches: BranchConfig[];\n branchList: string[];\n packageFiles: Record<string, PackageFile[]>;\n}\n\nexport interface StatsResult {\n fileCount: number;\n depCount: number;\n}\n\nexport interface Stats {\n managers: Record<string, StatsResult>;\n total: StatsResult;\n}\n\n// istanbul ignore next\nfunction extractStats(\n packageFiles: Record<string, PackageFile[]>,\n): Stats | null {\n if (!packageFiles) {\n return null;\n }\n const stats: Stats = {\n managers: {},\n total: {\n fileCount: 0,\n depCount: 0,\n },\n };\n for (const [manager, managerPackageFiles] of Object.entries(packageFiles)) {\n const fileCount = managerPackageFiles.length;\n let depCount = 0;\n for (const file of managerPackageFiles) {\n depCount += file.deps.length;\n }\n stats.managers[manager] = {\n fileCount,\n depCount,\n };\n stats.total.fileCount += fileCount;\n stats.total.depCount += depCount;\n }\n return stats;\n}\n\nexport function isCacheExtractValid(\n baseBranchSha: string,\n configHash: string,\n cachedExtract?: BaseBranchCache,\n): boolean {\n if (!cachedExtract) {\n return false;\n }\n\n if (!cachedExtract.revision) {\n logger.debug('Cached extract is missing revision, so cannot be used');\n return false;\n }\n\n if (cachedExtract.revision !== EXTRACT_CACHE_REVISION) {\n logger.debug(\n `Extract cache revision has changed (old=${cachedExtract.revision}, new=${EXTRACT_CACHE_REVISION})`,\n );\n return false;\n }\n\n if (!(cachedExtract.sha && cachedExtract.configHash)) {\n return false;\n }\n if (cachedExtract.sha !== baseBranchSha) {\n logger.debug(\n `Cached extract result cannot be used due to base branch SHA change (old=${cachedExtract.sha}, new=${baseBranchSha})`,\n );\n return false;\n }\n if (cachedExtract.configHash !== configHash) {\n logger.debug('Cached extract result cannot be used due to config change');\n return false;\n }\n if (!cachedExtract.extractionFingerprints) {\n logger.debug(\n 'Cached extract is missing extractionFingerprints, so cannot be used',\n );\n return false;\n }\n const changedManagers = new Set();\n for (const [manager, fingerprint] of Object.entries(\n cachedExtract.extractionFingerprints,\n )) {\n if (fingerprint !== hashMap.get(manager)) {\n changedManagers.add(manager);\n }\n }\n if (changedManagers.size > 0) {\n logger.debug(\n { changedManagers: [...changedManagers] },\n 'Manager fingerprint(s) have changed, extract cache cannot be reused',\n );\n return false;\n }\n logger.debug(\n `Cached extract for sha=${baseBranchSha} is valid and can be used`,\n );\n return true;\n}\n\nexport async function extract(\n config: RenovateConfig,\n overwriteCache = true,\n): Promise<Record<string, PackageFile[]>> {\n logger.debug('extract()');\n const { baseBranch } = config;\n const baseBranchSha = await scm.getBranchCommit(baseBranch!);\n let packageFiles: Record<string, PackageFile[]>;\n const cache = getCache();\n cache.scan ??= {};\n const cachedExtract = cache.scan[baseBranch!];\n const configHash = fingerprint(generateFingerprintConfig(config));\n // istanbul ignore if\n if (\n overwriteCache &&\n isCacheExtractValid(baseBranchSha!, configHash, cachedExtract)\n ) {\n packageFiles = cachedExtract.packageFiles;\n try {\n for (const files of Object.values(packageFiles)) {\n for (const file of files) {\n for (const dep of file.deps) {\n delete dep.updates;\n }\n }\n }\n logger.debug('Deleted cached dep updates');\n } catch (err) {\n logger.info({ err }, 'Error deleting cached dep updates');\n }\n } else {\n await scm.checkoutBranch(baseBranch!);\n const extractResult = (await extractAllDependencies(config)) || {};\n packageFiles = extractResult.packageFiles;\n const { extractionFingerprints } = extractResult;\n\n if (overwriteCache) {\n // TODO: fix types (#22198)\n cache.scan[baseBranch!] = {\n revision: EXTRACT_CACHE_REVISION,\n sha: baseBranchSha!,\n configHash,\n extractionFingerprints,\n packageFiles,\n };\n }\n\n // Clean up cached branch extracts\n const baseBranches = is.nonEmptyArray(config.baseBranchPatterns)\n ? config.baseBranchPatterns\n : [baseBranch];\n Object.keys(cache.scan).forEach((branchName) => {\n if (!baseBranches.includes(branchName)) {\n delete cache.scan![branchName];\n }\n });\n }\n const stats = extractStats(packageFiles);\n logger.info(\n { baseBranch: config.baseBranch, stats },\n `Dependency extraction complete`,\n );\n logger.trace({ config: packageFiles }, 'packageFiles');\n ensureGithubToken(packageFiles);\n return packageFiles;\n}\n\nasync function fetchVulnerabilities(\n config: RenovateConfig,\n packageFiles: Record<string, PackageFile[]>,\n): Promise<void> {\n if (config.osvVulnerabilityAlerts) {\n logger.debug('fetchVulnerabilities() - osvVulnerabilityAlerts=true');\n try {\n const vulnerabilities = await Vulnerabilities.create();\n await vulnerabilities.appendVulnerabilityPackageRules(\n config,\n packageFiles,\n );\n } catch (err) {\n logger.warn({ err }, 'Unable to read vulnerability information');\n }\n }\n}\n\nexport async function lookup(\n config: RenovateConfig,\n packageFiles: Record<string, PackageFile[]>,\n): Promise<ExtractResult> {\n await fetchVulnerabilities(config, packageFiles);\n await fetchUpdates(config, packageFiles);\n memCache.cleanDatasourceKeys();\n calculateLibYears(config, packageFiles);\n const { branches, branchList } = await branchifyUpgrades(\n config,\n packageFiles,\n );\n logger.debug(\n { baseBranch: config.baseBranch, config: packageFiles },\n 'packageFiles with updates',\n );\n sortBranches(branches);\n return { branches, branchList, packageFiles };\n}\n\nexport async function update(\n config: RenovateConfig,\n branches: BranchConfig[],\n): Promise<WriteUpdateResult | undefined> {\n let res: WriteUpdateResult | undefined;\n if (config.repoIsOnboarded) {\n res = await writeUpdates(config, branches);\n }\n\n return res;\n}\n"]}
1
+ {"version":3,"file":"extract-update.js","sourceRoot":"","sources":["../../../../lib/workers/repository/process/extract-update.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport type { RenovateConfig } from '../../../config/types';\nimport { logger } from '../../../logger';\nimport { hashMap } from '../../../modules/manager';\nimport type { PackageFile } from '../../../modules/manager/types';\nimport { scm } from '../../../modules/platform/scm';\nimport * as memCache from '../../../util/cache/memory';\nimport { getCache } from '../../../util/cache/repository';\nimport type { BaseBranchCache } from '../../../util/cache/repository/types';\nimport { checkGithubToken as ensureGithubToken } from '../../../util/check-token';\nimport { fingerprint } from '../../../util/fingerprint';\nimport type { BranchConfig } from '../../types';\nimport { extractAllDependencies } from '../extract';\nimport { generateFingerprintConfig } from '../extract/extract-fingerprint-config';\nimport { branchifyUpgrades } from '../updates/branchify';\nimport { fetchUpdates } from './fetch';\nimport { calculateLibYears } from './libyear';\nimport { sortBranches } from './sort';\nimport { Vulnerabilities } from './vulnerabilities';\nimport type { WriteUpdateResult } from './write';\nimport { writeUpdates } from './write';\n\n// Increment this if needing to cache bust ALL extract caches\nexport const EXTRACT_CACHE_REVISION = 1;\n\nexport interface ExtractResult {\n branches: BranchConfig[];\n branchList: string[];\n packageFiles: Record<string, PackageFile[]>;\n}\n\nexport interface StatsResult {\n fileCount: number;\n depCount: number;\n}\n\nexport interface Stats {\n managers: Record<string, StatsResult>;\n total: StatsResult;\n}\n\n// istanbul ignore next\nfunction extractStats(\n packageFiles: Record<string, PackageFile[]>,\n): Stats | null {\n if (!packageFiles) {\n return null;\n }\n const stats: Stats = {\n managers: {},\n total: {\n fileCount: 0,\n depCount: 0,\n },\n };\n for (const [manager, managerPackageFiles] of Object.entries(packageFiles)) {\n const fileCount = managerPackageFiles.length;\n let depCount = 0;\n for (const file of managerPackageFiles) {\n depCount += file.deps.length;\n }\n stats.managers[manager] = {\n fileCount,\n depCount,\n };\n stats.total.fileCount += fileCount;\n stats.total.depCount += depCount;\n }\n return stats;\n}\n\nexport function isCacheExtractValid(\n baseBranchSha: string,\n configHash: string,\n cachedExtract?: BaseBranchCache,\n): boolean {\n if (!cachedExtract) {\n return false;\n }\n\n if (!cachedExtract.revision) {\n logger.debug('Cached extract is missing revision, so cannot be used');\n return false;\n }\n\n if (cachedExtract.revision !== EXTRACT_CACHE_REVISION) {\n logger.debug(\n `Extract cache revision has changed (old=${cachedExtract.revision}, new=${EXTRACT_CACHE_REVISION})`,\n );\n return false;\n }\n\n if (!(cachedExtract.sha && cachedExtract.configHash)) {\n return false;\n }\n if (cachedExtract.sha !== baseBranchSha) {\n logger.debug(\n `Cached extract result cannot be used due to base branch SHA change (old=${cachedExtract.sha}, new=${baseBranchSha})`,\n );\n return false;\n }\n if (cachedExtract.configHash !== configHash) {\n logger.debug('Cached extract result cannot be used due to config change');\n return false;\n }\n if (!cachedExtract.extractionFingerprints) {\n logger.debug(\n 'Cached extract is missing extractionFingerprints, so cannot be used',\n );\n return false;\n }\n const changedManagers = new Set();\n for (const [manager, fingerprint] of Object.entries(\n cachedExtract.extractionFingerprints,\n )) {\n if (fingerprint !== hashMap.get(manager)) {\n changedManagers.add(manager);\n }\n }\n if (changedManagers.size > 0) {\n logger.debug(\n { changedManagers: [...changedManagers] },\n 'Manager fingerprint(s) have changed, extract cache cannot be reused',\n );\n return false;\n }\n logger.debug(\n `Cached extract for sha=${baseBranchSha} is valid and can be used`,\n );\n return true;\n}\n\nexport async function extract(\n config: RenovateConfig,\n overwriteCache = true,\n): Promise<Record<string, PackageFile[]>> {\n logger.debug('extract()');\n const { baseBranch } = config;\n const baseBranchSha = await scm.getBranchCommit(baseBranch!);\n let packageFiles: Record<string, PackageFile[]>;\n const cache = getCache();\n cache.scan ??= {};\n const cachedExtract = cache.scan[baseBranch!];\n const configHash = fingerprint(generateFingerprintConfig(config));\n // istanbul ignore if\n if (\n overwriteCache &&\n isCacheExtractValid(baseBranchSha!, configHash, cachedExtract)\n ) {\n packageFiles = cachedExtract.packageFiles;\n try {\n for (const files of Object.values(packageFiles)) {\n for (const file of files) {\n for (const dep of file.deps) {\n delete dep.updates;\n }\n }\n }\n logger.debug('Deleted cached dep updates');\n } catch (err) {\n logger.info({ err }, 'Error deleting cached dep updates');\n }\n } else {\n await scm.checkoutBranch(baseBranch!);\n const extractResult = (await extractAllDependencies(config)) || {};\n packageFiles = extractResult.packageFiles;\n const { extractionFingerprints } = extractResult;\n\n if (overwriteCache) {\n // TODO: fix types (#22198)\n cache.scan[baseBranch!] = {\n revision: EXTRACT_CACHE_REVISION,\n sha: baseBranchSha!,\n configHash,\n extractionFingerprints,\n packageFiles,\n };\n }\n\n // Clean up cached branch extracts\n const baseBranches = is.nonEmptyArray(config.baseBranches)\n ? config.baseBranches\n : [baseBranch];\n Object.keys(cache.scan).forEach((branchName) => {\n if (!baseBranches.includes(branchName)) {\n delete cache.scan![branchName];\n }\n });\n }\n const stats = extractStats(packageFiles);\n logger.info(\n { baseBranch: config.baseBranch, stats },\n `Dependency extraction complete`,\n );\n logger.trace({ config: packageFiles }, 'packageFiles');\n ensureGithubToken(packageFiles);\n return packageFiles;\n}\n\nasync function fetchVulnerabilities(\n config: RenovateConfig,\n packageFiles: Record<string, PackageFile[]>,\n): Promise<void> {\n if (config.osvVulnerabilityAlerts) {\n logger.debug('fetchVulnerabilities() - osvVulnerabilityAlerts=true');\n try {\n const vulnerabilities = await Vulnerabilities.create();\n await vulnerabilities.appendVulnerabilityPackageRules(\n config,\n packageFiles,\n );\n } catch (err) {\n logger.warn({ err }, 'Unable to read vulnerability information');\n }\n }\n}\n\nexport async function lookup(\n config: RenovateConfig,\n packageFiles: Record<string, PackageFile[]>,\n): Promise<ExtractResult> {\n await fetchVulnerabilities(config, packageFiles);\n await fetchUpdates(config, packageFiles);\n memCache.cleanDatasourceKeys();\n calculateLibYears(config, packageFiles);\n const { branches, branchList } = await branchifyUpgrades(\n config,\n packageFiles,\n );\n logger.debug(\n { baseBranch: config.baseBranch, config: packageFiles },\n 'packageFiles with updates',\n );\n sortBranches(branches);\n return { branches, branchList, packageFiles };\n}\n\nexport async function update(\n config: RenovateConfig,\n branches: BranchConfig[],\n): Promise<WriteUpdateResult | undefined> {\n let res: WriteUpdateResult | undefined;\n if (config.repoIsOnboarded) {\n res = await writeUpdates(config, branches);\n }\n\n return res;\n}\n"]}
@@ -57,12 +57,13 @@ async function lookup(packageFileConfig, indep) {
57
57
  return result_1.Result.ok(dep);
58
58
  }
59
59
  return stats_1.LookupStats.wrap(depConfig.datasource, async () => {
60
+ const { packageFile, manager } = packageFileConfig;
60
61
  return await result_1.Result.wrap((0, lookup_1.lookupUpdates)(depConfig))
61
62
  .onValue((dep) => {
62
- logger_1.logger.trace({ dep }, 'Dependency lookup success');
63
+ logger_1.logger.trace({ dep, packageFile, manager }, 'Dependency lookup success');
63
64
  })
64
65
  .onError((err) => {
65
- logger_1.logger.trace({ err, depName }, 'Dependency lookup error');
66
+ logger_1.logger.trace({ err, depName, packageFile, manager }, 'Dependency lookup error');
66
67
  })
67
68
  .catch((err) => {
68
69
  if (packageFileConfig.repoIsOnboarded === true ||
@@ -99,7 +100,7 @@ async function fetchManagerPackagerFileUpdates(config, managerConfig, pFile) {
99
100
  });
100
101
  logger_1.logger.trace({ manager, packageFile, queueLength: queue.length }, 'fetchManagerPackagerFileUpdates starting with concurrency');
101
102
  pFile.deps = await p.all(queue);
102
- logger_1.logger.trace({ packageFile }, 'fetchManagerPackagerFileUpdates finished');
103
+ logger_1.logger.trace({ manager, packageFile }, 'fetchManagerPackagerFileUpdates finished');
103
104
  }
104
105
  async function fetchManagerUpdates(config, packageFiles, manager) {
105
106
  const managerConfig = (0, config_1.getManagerConfig)(config, manager);
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../lib/workers/repository/process/fetch.ts"],"names":[],"mappings":"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","sourcesContent":["// TODO #22198\nimport is from '@sindresorhus/is';\nimport { getManagerConfig, mergeChildConfig } from '../../../config';\nimport type { RenovateConfig } from '../../../config/types';\nimport { logger } from '../../../logger';\nimport { getDefaultConfig } from '../../../modules/datasource';\nimport { getDefaultVersioning } from '../../../modules/datasource/common';\nimport type {\n PackageDependency,\n PackageFile,\n} from '../../../modules/manager/types';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { clone } from '../../../util/clone';\nimport { applyPackageRules } from '../../../util/package-rules';\nimport * as p from '../../../util/promises';\nimport { Result } from '../../../util/result';\nimport { LookupStats } from '../../../util/stats';\nimport { PackageFiles } from '../package-files';\nimport { lookupUpdates } from './lookup';\nimport type { LookupUpdateConfig, UpdateResult } from './lookup/types';\n\ntype LookupResult = Result<PackageDependency, Error>;\n\nasync function lookup(\n packageFileConfig: RenovateConfig & PackageFile,\n indep: PackageDependency,\n): Promise<LookupResult> {\n const dep = clone(indep);\n\n dep.updates = [];\n\n if (is.string(dep.depName)) {\n dep.depName = dep.depName.trim();\n }\n\n dep.packageName ??= dep.depName;\n\n if (dep.skipReason) {\n return Result.ok(dep);\n }\n\n if (!is.nonEmptyString(dep.packageName)) {\n dep.skipReason = 'invalid-name';\n return Result.ok(dep);\n }\n\n if (dep.isInternal && !packageFileConfig.updateInternalDeps) {\n dep.skipReason = 'internal-package';\n return Result.ok(dep);\n }\n\n const { depName } = dep;\n // TODO: fix types\n let depConfig = mergeChildConfig(packageFileConfig, dep);\n const datasourceDefaultConfig = await getDefaultConfig(depConfig.datasource!);\n depConfig = mergeChildConfig(depConfig, datasourceDefaultConfig);\n depConfig.versioning ??= getDefaultVersioning(depConfig.datasource);\n depConfig = await applyPackageRules(depConfig, 'pre-lookup');\n depConfig.packageName ??= depConfig.depName;\n\n if (depConfig.ignoreDeps!.includes(depName!)) {\n // TODO: fix types (#22198)\n logger.debug(`Dependency: ${depName!}, is ignored`);\n dep.skipReason = 'ignored';\n return Result.ok(dep);\n }\n\n if (depConfig.enabled === false) {\n logger.debug(`Dependency: ${depName!}, is disabled`);\n dep.skipReason = 'disabled';\n return Result.ok(dep);\n }\n\n if (!depConfig.datasource) {\n return Result.ok(dep);\n }\n\n return LookupStats.wrap(depConfig.datasource, async () => {\n return await Result.wrap(lookupUpdates(depConfig as LookupUpdateConfig))\n .onValue((dep) => {\n logger.trace({ dep }, 'Dependency lookup success');\n })\n .onError((err) => {\n logger.trace({ err, depName }, 'Dependency lookup error');\n })\n .catch((err): Result<UpdateResult, Error> => {\n if (\n packageFileConfig.repoIsOnboarded === true ||\n !(err instanceof ExternalHostError)\n ) {\n return Result.err(err);\n }\n\n const cause = err.err;\n return Result.ok({\n updates: [],\n warnings: [\n {\n topic: 'Lookup Error',\n message: `${depName}: ${cause.message}`,\n },\n ],\n });\n })\n .transform((upd): PackageDependency => Object.assign(dep, upd));\n });\n}\n\nasync function fetchManagerPackagerFileUpdates(\n config: RenovateConfig,\n managerConfig: RenovateConfig,\n pFile: PackageFile,\n): Promise<void> {\n const { packageFile } = pFile;\n const packageFileConfig = mergeChildConfig(managerConfig, pFile);\n if (pFile.extractedConstraints) {\n packageFileConfig.constraints = {\n ...pFile.extractedConstraints,\n ...config.constraints,\n };\n }\n const { manager } = packageFileConfig;\n const queue = pFile.deps.map(\n (dep) => async (): Promise<PackageDependency> => {\n const updates = await lookup(packageFileConfig, dep);\n return updates.unwrapOrThrow();\n },\n );\n logger.trace(\n { manager, packageFile, queueLength: queue.length },\n 'fetchManagerPackagerFileUpdates starting with concurrency',\n );\n\n pFile.deps = await p.all(queue);\n logger.trace({ packageFile }, 'fetchManagerPackagerFileUpdates finished');\n}\n\nasync function fetchManagerUpdates(\n config: RenovateConfig,\n packageFiles: Record<string, PackageFile[]>,\n manager: string,\n): Promise<void> {\n const managerConfig = getManagerConfig(config, manager);\n const queue = packageFiles[manager].map(\n (pFile) => (): Promise<void> =>\n fetchManagerPackagerFileUpdates(config, managerConfig, pFile),\n );\n logger.trace(\n { manager, queueLength: queue.length },\n 'fetchManagerUpdates starting',\n );\n await p.all(queue);\n logger.trace({ manager }, 'fetchManagerUpdates finished');\n}\n\nexport async function fetchUpdates(\n config: RenovateConfig,\n packageFiles: Record<string, PackageFile[]>,\n): Promise<void> {\n const managers = Object.keys(packageFiles);\n const allManagerJobs = managers.map((manager) =>\n fetchManagerUpdates(config, packageFiles, manager),\n );\n await Promise.all(allManagerJobs);\n PackageFiles.add(config.baseBranch!, { ...packageFiles });\n logger.debug(\n { baseBranch: config.baseBranch },\n 'Package releases lookups complete',\n );\n}\n"]}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../lib/workers/repository/process/fetch.ts"],"names":[],"mappings":"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","sourcesContent":["// TODO #22198\nimport is from '@sindresorhus/is';\nimport { getManagerConfig, mergeChildConfig } from '../../../config';\nimport type { RenovateConfig } from '../../../config/types';\nimport { logger } from '../../../logger';\nimport { getDefaultConfig } from '../../../modules/datasource';\nimport { getDefaultVersioning } from '../../../modules/datasource/common';\nimport type {\n PackageDependency,\n PackageFile,\n} from '../../../modules/manager/types';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { clone } from '../../../util/clone';\nimport { applyPackageRules } from '../../../util/package-rules';\nimport * as p from '../../../util/promises';\nimport { Result } from '../../../util/result';\nimport { LookupStats } from '../../../util/stats';\nimport { PackageFiles } from '../package-files';\nimport { lookupUpdates } from './lookup';\nimport type { LookupUpdateConfig, UpdateResult } from './lookup/types';\n\ntype LookupResult = Result<PackageDependency, Error>;\n\nasync function lookup(\n packageFileConfig: RenovateConfig & PackageFile,\n indep: PackageDependency,\n): Promise<LookupResult> {\n const dep = clone(indep);\n\n dep.updates = [];\n\n if (is.string(dep.depName)) {\n dep.depName = dep.depName.trim();\n }\n\n dep.packageName ??= dep.depName;\n\n if (dep.skipReason) {\n return Result.ok(dep);\n }\n\n if (!is.nonEmptyString(dep.packageName)) {\n dep.skipReason = 'invalid-name';\n return Result.ok(dep);\n }\n\n if (dep.isInternal && !packageFileConfig.updateInternalDeps) {\n dep.skipReason = 'internal-package';\n return Result.ok(dep);\n }\n\n const { depName } = dep;\n // TODO: fix types\n let depConfig = mergeChildConfig(packageFileConfig, dep);\n const datasourceDefaultConfig = await getDefaultConfig(depConfig.datasource!);\n depConfig = mergeChildConfig(depConfig, datasourceDefaultConfig);\n depConfig.versioning ??= getDefaultVersioning(depConfig.datasource);\n depConfig = await applyPackageRules(depConfig, 'pre-lookup');\n depConfig.packageName ??= depConfig.depName;\n\n if (depConfig.ignoreDeps!.includes(depName!)) {\n // TODO: fix types (#22198)\n logger.debug(`Dependency: ${depName!}, is ignored`);\n dep.skipReason = 'ignored';\n return Result.ok(dep);\n }\n\n if (depConfig.enabled === false) {\n logger.debug(`Dependency: ${depName!}, is disabled`);\n dep.skipReason = 'disabled';\n return Result.ok(dep);\n }\n\n if (!depConfig.datasource) {\n return Result.ok(dep);\n }\n\n return LookupStats.wrap(depConfig.datasource, async () => {\n const { packageFile, manager } = packageFileConfig;\n return await Result.wrap(lookupUpdates(depConfig as LookupUpdateConfig))\n .onValue((dep) => {\n logger.trace(\n { dep, packageFile, manager },\n 'Dependency lookup success',\n );\n })\n .onError((err) => {\n logger.trace(\n { err, depName, packageFile, manager },\n 'Dependency lookup error',\n );\n })\n .catch((err): Result<UpdateResult, Error> => {\n if (\n packageFileConfig.repoIsOnboarded === true ||\n !(err instanceof ExternalHostError)\n ) {\n return Result.err(err);\n }\n\n const cause = err.err;\n return Result.ok({\n updates: [],\n warnings: [\n {\n topic: 'Lookup Error',\n message: `${depName}: ${cause.message}`,\n },\n ],\n });\n })\n .transform((upd): PackageDependency => Object.assign(dep, upd));\n });\n}\n\nasync function fetchManagerPackagerFileUpdates(\n config: RenovateConfig,\n managerConfig: RenovateConfig,\n pFile: PackageFile,\n): Promise<void> {\n const { packageFile } = pFile;\n const packageFileConfig = mergeChildConfig(managerConfig, pFile);\n if (pFile.extractedConstraints) {\n packageFileConfig.constraints = {\n ...pFile.extractedConstraints,\n ...config.constraints,\n };\n }\n const { manager } = packageFileConfig;\n const queue = pFile.deps.map(\n (dep) => async (): Promise<PackageDependency> => {\n const updates = await lookup(packageFileConfig, dep);\n return updates.unwrapOrThrow();\n },\n );\n logger.trace(\n { manager, packageFile, queueLength: queue.length },\n 'fetchManagerPackagerFileUpdates starting with concurrency',\n );\n\n pFile.deps = await p.all(queue);\n logger.trace(\n { manager, packageFile },\n 'fetchManagerPackagerFileUpdates finished',\n );\n}\n\nasync function fetchManagerUpdates(\n config: RenovateConfig,\n packageFiles: Record<string, PackageFile[]>,\n manager: string,\n): Promise<void> {\n const managerConfig = getManagerConfig(config, manager);\n const queue = packageFiles[manager].map(\n (pFile) => (): Promise<void> =>\n fetchManagerPackagerFileUpdates(config, managerConfig, pFile),\n );\n logger.trace(\n { manager, queueLength: queue.length },\n 'fetchManagerUpdates starting',\n );\n await p.all(queue);\n logger.trace({ manager }, 'fetchManagerUpdates finished');\n}\n\nexport async function fetchUpdates(\n config: RenovateConfig,\n packageFiles: Record<string, PackageFile[]>,\n): Promise<void> {\n const managers = Object.keys(packageFiles);\n const allManagerJobs = managers.map((manager) =>\n fetchManagerUpdates(config, packageFiles, manager),\n );\n await Promise.all(allManagerJobs);\n PackageFiles.add(config.baseBranch!, { ...packageFiles });\n logger.debug(\n { baseBranch: config.baseBranch },\n 'Package releases lookups complete',\n );\n}\n"]}
@@ -2,5 +2,6 @@ import type { RenovateConfig } from '../../../config/types';
2
2
  import type { BranchConfig } from '../../types';
3
3
  import type { ExtractResult } from './extract-update';
4
4
  import type { WriteUpdateResult } from './write';
5
+ export declare function getBaseBranchConfig(baseBranch: string, config: RenovateConfig): Promise<RenovateConfig>;
5
6
  export declare function extractDependencies(config: RenovateConfig, overwriteCache?: boolean): Promise<ExtractResult>;
6
7
  export declare function updateRepo(config: RenovateConfig, branches: BranchConfig[]): Promise<WriteUpdateResult | undefined>;
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBaseBranchConfig = getBaseBranchConfig;
3
4
  exports.extractDependencies = extractDependencies;
4
5
  exports.updateRepo = updateRepo;
5
6
  // TODO #22198
6
7
  const config_1 = require("../../../config");
7
8
  const global_1 = require("../../../config/global");
9
+ const migrate_validate_1 = require("../../../config/migrate-validate");
8
10
  const presets_1 = require("../../../config/presets");
9
11
  const error_messages_1 = require("../../../constants/error-messages");
10
12
  const logger_1 = require("../../../logger");
@@ -39,6 +41,16 @@ async function getBaseBranchConfig(baseBranch, config) {
39
41
  error.validationMessage = `Error fetching config file \`${configFileName}\` from branch \`${baseBranch}\``;
40
42
  throw error;
41
43
  }
44
+ baseBranchConfig = await (0, migrate_validate_1.migrateAndValidate)(config, baseBranchConfig);
45
+ if (baseBranchConfig.errors?.length) {
46
+ const error = new Error(error_messages_1.CONFIG_VALIDATION);
47
+ error.validationSource = configFileName;
48
+ error.validationError = `The renovate configuration file of branch ${baseBranch} contains some invalid settings`;
49
+ error.validationMessage = baseBranchConfig.errors
50
+ .map((e) => e.message)
51
+ .join(', ');
52
+ throw error;
53
+ }
42
54
  baseBranchConfig = await (0, presets_1.resolveConfigPresets)(baseBranchConfig, config);
43
55
  baseBranchConfig = (0, config_1.mergeChildConfig)(config, baseBranchConfig);
44
56
  // istanbul ignore if
@@ -47,8 +59,9 @@ async function getBaseBranchConfig(baseBranch, config) {
47
59
  }
48
60
  // baseBranches value should be based off the default branch
49
61
  baseBranchConfig.baseBranchPatterns = config.baseBranchPatterns;
62
+ baseBranchConfig.baseBranches = config.baseBranches;
50
63
  }
51
- if (config.baseBranchPatterns.length > 1) {
64
+ if (isMultiBaseBranch(config)) {
52
65
  baseBranchConfig.branchPrefix += `${baseBranch}-`;
53
66
  baseBranchConfig.hasBaseBranches = true;
54
67
  }
@@ -75,6 +88,13 @@ function unfoldBaseBranches(defaultBranch, baseBranchPatterns) {
75
88
  }
76
89
  return [...new Set(unfoldedList)];
77
90
  }
91
+ function isMultiBaseBranch(config) {
92
+ if (!config.baseBranchPatterns?.length) {
93
+ return false;
94
+ }
95
+ return (config.baseBranchPatterns.length > 1 ||
96
+ config.baseBranchPatterns[0].startsWith('/'));
97
+ }
78
98
  async function extractDependencies(config, overwriteCache = true) {
79
99
  await (0, dependency_dashboard_1.readDashboardBody)(config);
80
100
  let res = {
@@ -84,10 +104,10 @@ async function extractDependencies(config, overwriteCache = true) {
84
104
  };
85
105
  if (global_1.GlobalConfig.get('platform') !== 'local' &&
86
106
  config.baseBranchPatterns?.length) {
87
- config.baseBranchPatterns = unfoldBaseBranches(config.defaultBranch, config.baseBranchPatterns);
88
- logger_1.logger.debug({ baseBranches: config.baseBranchPatterns }, 'baseBranches');
107
+ config.baseBranches = unfoldBaseBranches(config.defaultBranch, config.baseBranchPatterns);
108
+ logger_1.logger.debug({ baseBranches: config.baseBranches }, 'baseBranches');
89
109
  const extracted = {};
90
- for (const baseBranch of config.baseBranchPatterns) {
110
+ for (const baseBranch of config.baseBranches) {
91
111
  (0, logger_1.addMeta)({ baseBranch });
92
112
  if (scm_1.scm.syncForkWithUpstream) {
93
113
  await scm_1.scm.syncForkWithUpstream(baseBranch);
@@ -101,7 +121,7 @@ async function extractDependencies(config, overwriteCache = true) {
101
121
  }
102
122
  }
103
123
  (0, split_1.addSplit)('extract');
104
- for (const baseBranch of config.baseBranchPatterns) {
124
+ for (const baseBranch of config.baseBranches) {
105
125
  if (await scm_1.scm.branchExists(baseBranch)) {
106
126
  (0, logger_1.addMeta)({ baseBranch });
107
127
  const baseBranchConfig = await getBaseBranchConfig(baseBranch, config);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/workers/repository/process/index.ts"],"names":[],"mappings":"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","sourcesContent":["// TODO #22198\nimport { mergeChildConfig } from '../../../config';\nimport { GlobalConfig } from '../../../config/global';\nimport { resolveConfigPresets } from '../../../config/presets';\nimport type { RenovateConfig } from '../../../config/types';\nimport { CONFIG_VALIDATION } from '../../../constants/error-messages';\nimport { addMeta, logger, removeMeta } from '../../../logger';\nimport type { PackageFile } from '../../../modules/manager/types';\nimport { platform } from '../../../modules/platform';\nimport { scm } from '../../../modules/platform/scm';\nimport { getCache } from '../../../util/cache/repository';\nimport { clone } from '../../../util/clone';\nimport { getBranchList } from '../../../util/git';\nimport { addSplit } from '../../../util/split';\nimport { getRegexPredicate } from '../../../util/string-match';\nimport type { BranchConfig } from '../../types';\nimport { readDashboardBody } from '../dependency-dashboard';\nimport type { ExtractResult } from './extract-update';\nimport { extract, lookup, update } from './extract-update';\nimport type { WriteUpdateResult } from './write';\n\nasync function getBaseBranchConfig(\n baseBranch: string,\n config: RenovateConfig,\n): Promise<RenovateConfig> {\n logger.debug(`baseBranch: ${baseBranch}`);\n\n let baseBranchConfig: RenovateConfig = clone(config);\n\n if (\n config.useBaseBranchConfig === 'merge' &&\n baseBranch !== config.defaultBranch\n ) {\n logger.debug(\n { baseBranch },\n `Merging config from base branch because useBaseBranchConfig=merge`,\n );\n\n // Retrieve config file name autodetected for this repo\n const cache = getCache();\n // TODO: types (#22198)\n const configFileName = cache.configFileName!;\n\n try {\n baseBranchConfig = await platform.getJsonFile(\n configFileName,\n config.repository,\n baseBranch,\n );\n logger.debug({ config: baseBranchConfig }, 'Base branch config raw');\n } catch {\n logger.error(\n { configFileName, baseBranch },\n `Error fetching config file from base branch - possible config name mismatch between branches?`,\n );\n\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = 'config';\n error.validationError = 'Error fetching config file';\n error.validationMessage = `Error fetching config file \\`${configFileName}\\` from branch \\`${baseBranch}\\``;\n throw error;\n }\n\n baseBranchConfig = await resolveConfigPresets(baseBranchConfig, config);\n baseBranchConfig = mergeChildConfig(config, baseBranchConfig);\n\n // istanbul ignore if\n if (config.printConfig) {\n logger.info(\n { config: baseBranchConfig },\n 'Base branch config after merge',\n );\n }\n\n // baseBranches value should be based off the default branch\n baseBranchConfig.baseBranchPatterns = config.baseBranchPatterns;\n }\n\n if (config.baseBranchPatterns!.length > 1) {\n baseBranchConfig.branchPrefix += `${baseBranch}-`;\n baseBranchConfig.hasBaseBranches = true;\n }\n\n baseBranchConfig = mergeChildConfig(baseBranchConfig, { baseBranch });\n\n return baseBranchConfig;\n}\n\nfunction unfoldBaseBranches(\n defaultBranch: string,\n baseBranchPatterns: string[],\n): string[] {\n const unfoldedList: string[] = [];\n\n const allBranches = getBranchList();\n for (const baseBranchPattern of baseBranchPatterns) {\n const isAllowedPred = getRegexPredicate(baseBranchPattern);\n if (isAllowedPred) {\n const matchingBranches = allBranches.filter(isAllowedPred);\n logger.debug(\n `baseBranchePatterns regex \"${baseBranchPattern}\" matches [${matchingBranches.join()}]`,\n );\n unfoldedList.push(...matchingBranches);\n } else if (baseBranchPattern === '$default') {\n logger.debug(`baseBranchPatterns \"$default\" matches \"${defaultBranch}\"`);\n unfoldedList.push(defaultBranch);\n } else {\n unfoldedList.push(baseBranchPattern);\n }\n }\n\n return [...new Set(unfoldedList)];\n}\n\nexport async function extractDependencies(\n config: RenovateConfig,\n overwriteCache = true,\n): Promise<ExtractResult> {\n await readDashboardBody(config);\n let res: ExtractResult = {\n branches: [],\n branchList: [],\n packageFiles: {},\n };\n if (\n GlobalConfig.get('platform') !== 'local' &&\n config.baseBranchPatterns?.length\n ) {\n config.baseBranchPatterns = unfoldBaseBranches(\n config.defaultBranch!,\n config.baseBranchPatterns,\n );\n logger.debug({ baseBranches: config.baseBranchPatterns }, 'baseBranches');\n const extracted: Record<string, Record<string, PackageFile[]>> = {};\n for (const baseBranch of config.baseBranchPatterns) {\n addMeta({ baseBranch });\n\n if (scm.syncForkWithUpstream) {\n await scm.syncForkWithUpstream(baseBranch);\n }\n if (await scm.branchExists(baseBranch)) {\n const baseBranchConfig = await getBaseBranchConfig(baseBranch, config);\n extracted[baseBranch] = await extract(baseBranchConfig, overwriteCache);\n } else {\n logger.warn({ baseBranch }, 'Base branch does not exist - skipping');\n }\n }\n addSplit('extract');\n for (const baseBranch of config.baseBranchPatterns) {\n if (await scm.branchExists(baseBranch)) {\n addMeta({ baseBranch });\n const baseBranchConfig = await getBaseBranchConfig(baseBranch, config);\n const packageFiles = extracted[baseBranch];\n const baseBranchRes = await lookup(baseBranchConfig, packageFiles);\n res.branches = res.branches.concat(baseBranchRes?.branches);\n res.branchList = res.branchList.concat(baseBranchRes?.branchList);\n if (!res.packageFiles || !Object.keys(res.packageFiles).length) {\n // Use the first branch\n res.packageFiles = baseBranchRes?.packageFiles;\n }\n }\n }\n removeMeta(['baseBranch']);\n } else {\n logger.debug('No baseBranches');\n const packageFiles = await extract(config, overwriteCache);\n addSplit('extract');\n if (GlobalConfig.get('dryRun') === 'extract') {\n res.packageFiles = packageFiles;\n logger.info({ packageFiles }, 'Extracted dependencies');\n return res;\n }\n res = await lookup(config, packageFiles);\n }\n addSplit('lookup');\n return res;\n}\n\nexport function updateRepo(\n config: RenovateConfig,\n branches: BranchConfig[],\n): Promise<WriteUpdateResult | undefined> {\n logger.debug('processRepo()');\n\n return update(config, branches);\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/workers/repository/process/index.ts"],"names":[],"mappings":"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","sourcesContent":["// TODO #22198\nimport { mergeChildConfig } from '../../../config';\nimport { GlobalConfig } from '../../../config/global';\nimport { migrateAndValidate } from '../../../config/migrate-validate';\nimport { resolveConfigPresets } from '../../../config/presets';\nimport type { RenovateConfig } from '../../../config/types';\nimport { CONFIG_VALIDATION } from '../../../constants/error-messages';\nimport { addMeta, logger, removeMeta } from '../../../logger';\nimport type { PackageFile } from '../../../modules/manager/types';\nimport { platform } from '../../../modules/platform';\nimport { scm } from '../../../modules/platform/scm';\nimport { getCache } from '../../../util/cache/repository';\nimport { clone } from '../../../util/clone';\nimport { getBranchList } from '../../../util/git';\nimport { addSplit } from '../../../util/split';\nimport { getRegexPredicate } from '../../../util/string-match';\nimport type { BranchConfig } from '../../types';\nimport { readDashboardBody } from '../dependency-dashboard';\nimport type { ExtractResult } from './extract-update';\nimport { extract, lookup, update } from './extract-update';\nimport type { WriteUpdateResult } from './write';\n\nexport async function getBaseBranchConfig(\n baseBranch: string,\n config: RenovateConfig,\n): Promise<RenovateConfig> {\n logger.debug(`baseBranch: ${baseBranch}`);\n\n let baseBranchConfig: RenovateConfig = clone(config);\n\n if (\n config.useBaseBranchConfig === 'merge' &&\n baseBranch !== config.defaultBranch\n ) {\n logger.debug(\n { baseBranch },\n `Merging config from base branch because useBaseBranchConfig=merge`,\n );\n\n // Retrieve config file name autodetected for this repo\n const cache = getCache();\n // TODO: types (#22198)\n const configFileName = cache.configFileName!;\n\n try {\n baseBranchConfig = await platform.getJsonFile(\n configFileName,\n config.repository,\n baseBranch,\n );\n logger.debug({ config: baseBranchConfig }, 'Base branch config raw');\n } catch {\n logger.error(\n { configFileName, baseBranch },\n `Error fetching config file from base branch - possible config name mismatch between branches?`,\n );\n\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = 'config';\n error.validationError = 'Error fetching config file';\n error.validationMessage = `Error fetching config file \\`${configFileName}\\` from branch \\`${baseBranch}\\``;\n throw error;\n }\n\n baseBranchConfig = await migrateAndValidate(config, baseBranchConfig);\n if (baseBranchConfig.errors?.length) {\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = configFileName;\n error.validationError = `The renovate configuration file of branch ${baseBranch} contains some invalid settings`;\n error.validationMessage = baseBranchConfig.errors\n .map((e) => e.message)\n .join(', ');\n throw error;\n }\n\n baseBranchConfig = await resolveConfigPresets(baseBranchConfig, config);\n baseBranchConfig = mergeChildConfig(config, baseBranchConfig);\n\n // istanbul ignore if\n if (config.printConfig) {\n logger.info(\n { config: baseBranchConfig },\n 'Base branch config after merge',\n );\n }\n\n // baseBranches value should be based off the default branch\n baseBranchConfig.baseBranchPatterns = config.baseBranchPatterns;\n baseBranchConfig.baseBranches = config.baseBranches;\n }\n\n if (isMultiBaseBranch(config)) {\n baseBranchConfig.branchPrefix += `${baseBranch}-`;\n baseBranchConfig.hasBaseBranches = true;\n }\n\n baseBranchConfig = mergeChildConfig(baseBranchConfig, { baseBranch });\n\n return baseBranchConfig;\n}\n\nfunction unfoldBaseBranches(\n defaultBranch: string,\n baseBranchPatterns: string[],\n): string[] {\n const unfoldedList: string[] = [];\n\n const allBranches = getBranchList();\n for (const baseBranchPattern of baseBranchPatterns) {\n const isAllowedPred = getRegexPredicate(baseBranchPattern);\n if (isAllowedPred) {\n const matchingBranches = allBranches.filter(isAllowedPred);\n logger.debug(\n `baseBranchePatterns regex \"${baseBranchPattern}\" matches [${matchingBranches.join()}]`,\n );\n unfoldedList.push(...matchingBranches);\n } else if (baseBranchPattern === '$default') {\n logger.debug(`baseBranchPatterns \"$default\" matches \"${defaultBranch}\"`);\n unfoldedList.push(defaultBranch);\n } else {\n unfoldedList.push(baseBranchPattern);\n }\n }\n\n return [...new Set(unfoldedList)];\n}\n\nfunction isMultiBaseBranch(config: RenovateConfig): boolean {\n if (!config.baseBranchPatterns?.length) {\n return false;\n }\n\n return (\n config.baseBranchPatterns.length > 1 ||\n config.baseBranchPatterns[0].startsWith('/')\n );\n}\n\nexport async function extractDependencies(\n config: RenovateConfig,\n overwriteCache = true,\n): Promise<ExtractResult> {\n await readDashboardBody(config);\n let res: ExtractResult = {\n branches: [],\n branchList: [],\n packageFiles: {},\n };\n if (\n GlobalConfig.get('platform') !== 'local' &&\n config.baseBranchPatterns?.length\n ) {\n config.baseBranches = unfoldBaseBranches(\n config.defaultBranch!,\n config.baseBranchPatterns,\n );\n logger.debug({ baseBranches: config.baseBranches }, 'baseBranches');\n const extracted: Record<string, Record<string, PackageFile[]>> = {};\n for (const baseBranch of config.baseBranches) {\n addMeta({ baseBranch });\n\n if (scm.syncForkWithUpstream) {\n await scm.syncForkWithUpstream(baseBranch);\n }\n if (await scm.branchExists(baseBranch)) {\n const baseBranchConfig = await getBaseBranchConfig(baseBranch, config);\n extracted[baseBranch] = await extract(baseBranchConfig, overwriteCache);\n } else {\n logger.warn({ baseBranch }, 'Base branch does not exist - skipping');\n }\n }\n addSplit('extract');\n for (const baseBranch of config.baseBranches) {\n if (await scm.branchExists(baseBranch)) {\n addMeta({ baseBranch });\n const baseBranchConfig = await getBaseBranchConfig(baseBranch, config);\n const packageFiles = extracted[baseBranch];\n const baseBranchRes = await lookup(baseBranchConfig, packageFiles);\n res.branches = res.branches.concat(baseBranchRes?.branches);\n res.branchList = res.branchList.concat(baseBranchRes?.branchList);\n if (!res.packageFiles || !Object.keys(res.packageFiles).length) {\n // Use the first branch\n res.packageFiles = baseBranchRes?.packageFiles;\n }\n }\n }\n removeMeta(['baseBranch']);\n } else {\n logger.debug('No baseBranches');\n const packageFiles = await extract(config, overwriteCache);\n addSplit('extract');\n if (GlobalConfig.get('dryRun') === 'extract') {\n res.packageFiles = packageFiles;\n logger.info({ packageFiles }, 'Extracted dependencies');\n return res;\n }\n res = await lookup(config, packageFiles);\n }\n addSplit('lookup');\n return res;\n}\n\nexport function updateRepo(\n config: RenovateConfig,\n branches: BranchConfig[],\n): Promise<WriteUpdateResult | undefined> {\n logger.debug('processRepo()');\n\n return update(config, branches);\n}\n"]}
@@ -13,7 +13,7 @@ const package_rules_1 = require("../../../../util/package-rules");
13
13
  const pretty_time_1 = require("../../../../util/pretty-time");
14
14
  const update_type_1 = require("./update-type");
15
15
  async function filterInternalChecks(config, versioningApi, bucket, sortedReleases) {
16
- const { currentVersion, datasource, depName, internalChecksFilter } = config;
16
+ const { currentVersion, datasource, depName, packageName, internalChecksFilter, } = config;
17
17
  let release = undefined;
18
18
  let pendingChecks = false;
19
19
  let pendingReleases = [];
@@ -22,6 +22,10 @@ async function filterInternalChecks(config, versioningApi, bucket, sortedRelease
22
22
  release = sortedReleases.pop();
23
23
  }
24
24
  else {
25
+ const candidateVersionsWithoutReleaseTimestamp = {
26
+ 'timestamp-required': [],
27
+ 'timestamp-optional': [],
28
+ };
25
29
  // iterate through releases from highest to lowest, looking for the first which will pass checks if present
26
30
  for (let candidateRelease of sortedReleases.reverse()) {
27
31
  // merge the release data into dependency config
@@ -40,19 +44,34 @@ async function filterInternalChecks(config, versioningApi, bucket, sortedRelease
40
44
  candidateRelease = updatedCandidateRelease;
41
45
  // Now check for a minimumReleaseAge config
42
46
  const { minimumConfidence, minimumReleaseAge, updateType } = releaseConfig;
43
- if (is_1.default.nonEmptyString(minimumReleaseAge) &&
44
- candidateRelease.releaseTimestamp) {
45
- if ((0, date_1.getElapsedMs)(candidateRelease.releaseTimestamp) <
46
- (0, number_1.coerceNumber)((0, pretty_time_1.toMs)(minimumReleaseAge), 0)) {
47
- // Skip it if it doesn't pass checks
48
- logger_1.logger.trace({ depName, check: 'minimumReleaseAge' }, `Release ${candidateRelease.version} is pending status checks`);
47
+ if (is_1.default.nonEmptyString(minimumReleaseAge)) {
48
+ const minimumReleaseAgeBehaviour = releaseConfig.minimumReleaseAgeBehaviour;
49
+ // if there is a releaseTimestamp, regardless of `minimumReleaseAgeBehaviour`, we should process it
50
+ if (candidateRelease.releaseTimestamp) {
51
+ // we should skip this if we have a timestamp that isn't passing checks:
52
+ if ((0, date_1.getElapsedMs)(candidateRelease.releaseTimestamp) <
53
+ (0, number_1.coerceNumber)((0, pretty_time_1.toMs)(minimumReleaseAge), 0)) {
54
+ // Skip it if it doesn't pass checks
55
+ logger_1.logger.trace({ depName, check: 'minimumReleaseAge' }, `Release ${candidateRelease.version} is pending status checks`);
56
+ pendingReleases.unshift(candidateRelease);
57
+ continue;
58
+ }
59
+ } // or if there is no timestamp, and we're running in `minimumReleaseAgeBehaviour=timestamp-required`
60
+ else if (is_1.default.nullOrUndefined(candidateRelease.releaseTimestamp) &&
61
+ minimumReleaseAgeBehaviour === 'timestamp-required') {
62
+ // Skip it, as we require a timestamp
63
+ candidateVersionsWithoutReleaseTimestamp[minimumReleaseAgeBehaviour].push(candidateRelease.version);
49
64
  pendingReleases.unshift(candidateRelease);
50
65
  continue;
66
+ } // if there is no timestamp, and we're running in `optional` mode, we can allow it
67
+ else if (is_1.default.nullOrUndefined(candidateRelease.releaseTimestamp) &&
68
+ minimumReleaseAgeBehaviour === 'timestamp-optional') {
69
+ candidateVersionsWithoutReleaseTimestamp[minimumReleaseAgeBehaviour].push(candidateRelease.version);
51
70
  }
52
71
  }
53
72
  // TODO #22198
54
73
  if ((0, merge_confidence_1.isActiveConfidenceLevel)(minimumConfidence)) {
55
- const confidenceLevel = (await (0, merge_confidence_1.getMergeConfidenceLevel)(datasource, depName, currentVersion, candidateRelease.version, updateType)) ?? 'neutral';
74
+ const confidenceLevel = (await (0, merge_confidence_1.getMergeConfidenceLevel)(datasource, packageName, currentVersion, candidateRelease.version, updateType)) ?? 'neutral';
56
75
  // TODO #22198
57
76
  if (!(0, merge_confidence_1.satisfiesConfidenceLevel)(confidenceLevel, minimumConfidence)) {
58
77
  logger_1.logger.trace({ depName, check: 'minimumConfidence' }, `Release ${candidateRelease.version} is pending status checks`);
@@ -64,6 +83,21 @@ async function filterInternalChecks(config, versioningApi, bucket, sortedRelease
64
83
  release = candidateRelease;
65
84
  break;
66
85
  }
86
+ if (candidateVersionsWithoutReleaseTimestamp['timestamp-required'].length) {
87
+ logger_1.logger.debug({
88
+ depName,
89
+ versions: candidateVersionsWithoutReleaseTimestamp['timestamp-required'],
90
+ check: 'minimumReleaseAge',
91
+ }, `Marking ${candidateVersionsWithoutReleaseTimestamp['timestamp-required'].length} release(s) as pending, as they do not have a releaseTimestamp and we're running with minimumReleaseAgeBehaviour=require-timestamp`);
92
+ }
93
+ if (candidateVersionsWithoutReleaseTimestamp['timestamp-optional'].length) {
94
+ logger_1.logger.once.warn("Some release(s) did not have a releaseTimestamp, but as we're running with minimumReleaseAgeBehaviour=timestamp-optional, proceeding. See debug logs for more information");
95
+ logger_1.logger.debug({
96
+ depName,
97
+ versions: candidateVersionsWithoutReleaseTimestamp['timestamp-optional'],
98
+ check: 'minimumReleaseAge',
99
+ }, `${candidateVersionsWithoutReleaseTimestamp['timestamp-optional'].length} release(s) did not have a releaseTimestamp, but as we're running with minimumReleaseAgeBehaviour=timestamp-optional, proceeding`);
100
+ }
67
101
  if (!release) {
68
102
  if (pendingReleases.length) {
69
103
  // If all releases were pending then just take the highest
@@ -1 +1 @@
1
- {"version":3,"file":"filter-checks.js","sourceRoot":"","sources":["../../../../../lib/workers/repository/process/lookup/filter-checks.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { mergeChildConfig } from '../../../../config';\nimport { logger } from '../../../../logger';\nimport type { Release } from '../../../../modules/datasource';\nimport { postprocessRelease } from '../../../../modules/datasource/postprocess-release';\nimport type { VersioningApi } from '../../../../modules/versioning';\nimport { getElapsedMs } from '../../../../util/date';\nimport {\n getMergeConfidenceLevel,\n isActiveConfidenceLevel,\n satisfiesConfidenceLevel,\n} from '../../../../util/merge-confidence';\nimport { coerceNumber } from '../../../../util/number';\nimport { applyPackageRules } from '../../../../util/package-rules';\nimport { toMs } from '../../../../util/pretty-time';\nimport type { LookupUpdateConfig, UpdateResult } from './types';\nimport { getUpdateType } from './update-type';\n\nexport interface InternalChecksResult {\n release?: Release;\n pendingChecks: boolean;\n pendingReleases: Release[];\n}\n\nexport async function filterInternalChecks(\n config: Partial<LookupUpdateConfig & UpdateResult>,\n versioningApi: VersioningApi,\n bucket: string,\n sortedReleases: Release[],\n): Promise<InternalChecksResult> {\n const { currentVersion, datasource, depName, internalChecksFilter } = config;\n let release: Release | undefined = undefined;\n let pendingChecks = false;\n let pendingReleases: Release[] = [];\n if (internalChecksFilter === 'none') {\n // Don't care if minimumReleaseAge or minimumConfidence are unmet\n release = sortedReleases.pop();\n } else {\n // iterate through releases from highest to lowest, looking for the first which will pass checks if present\n for (let candidateRelease of sortedReleases.reverse()) {\n // merge the release data into dependency config\n let releaseConfig = mergeChildConfig(config, candidateRelease);\n // calculate updateType and then apply it\n releaseConfig.updateType = getUpdateType(\n releaseConfig,\n versioningApi,\n // TODO #22198\n currentVersion!,\n candidateRelease.version,\n );\n releaseConfig = mergeChildConfig(\n releaseConfig,\n releaseConfig[releaseConfig.updateType]!,\n );\n // Apply packageRules in case any apply to updateType\n releaseConfig = await applyPackageRules(releaseConfig, 'update-type');\n\n const updatedCandidateRelease = await postprocessRelease(\n releaseConfig,\n candidateRelease,\n );\n if (!updatedCandidateRelease) {\n continue;\n }\n candidateRelease = updatedCandidateRelease;\n\n // Now check for a minimumReleaseAge config\n const { minimumConfidence, minimumReleaseAge, updateType } =\n releaseConfig;\n if (\n is.nonEmptyString(minimumReleaseAge) &&\n candidateRelease.releaseTimestamp\n ) {\n if (\n getElapsedMs(candidateRelease.releaseTimestamp) <\n coerceNumber(toMs(minimumReleaseAge), 0)\n ) {\n // Skip it if it doesn't pass checks\n logger.trace(\n { depName, check: 'minimumReleaseAge' },\n `Release ${candidateRelease.version} is pending status checks`,\n );\n pendingReleases.unshift(candidateRelease);\n continue;\n }\n }\n\n // TODO #22198\n if (isActiveConfidenceLevel(minimumConfidence!)) {\n const confidenceLevel =\n (await getMergeConfidenceLevel(\n datasource!,\n depName!,\n currentVersion!,\n candidateRelease.version,\n updateType!,\n )) ?? 'neutral';\n // TODO #22198\n if (!satisfiesConfidenceLevel(confidenceLevel, minimumConfidence!)) {\n logger.trace(\n { depName, check: 'minimumConfidence' },\n `Release ${candidateRelease.version} is pending status checks`,\n );\n pendingReleases.unshift(candidateRelease);\n continue;\n }\n }\n // If we get to here, then the release is OK and we can stop iterating\n release = candidateRelease;\n break;\n }\n if (!release) {\n if (pendingReleases.length) {\n // If all releases were pending then just take the highest\n logger.trace(\n { depName, bucket },\n 'All releases are pending - using latest',\n );\n release = pendingReleases.pop();\n // None are pending anymore because we took the latest, so empty the array\n pendingReleases = [];\n if (internalChecksFilter === 'strict') {\n pendingChecks = true;\n }\n }\n }\n }\n\n return { release, pendingChecks, pendingReleases };\n}\n"]}
1
+ {"version":3,"file":"filter-checks.js","sourceRoot":"","sources":["../../../../../lib/workers/repository/process/lookup/filter-checks.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { mergeChildConfig } from '../../../../config';\nimport type { MinimumReleaseAgeBehaviour } from '../../../../config/types';\nimport { logger } from '../../../../logger';\nimport type { Release } from '../../../../modules/datasource';\nimport { postprocessRelease } from '../../../../modules/datasource/postprocess-release';\nimport type { VersioningApi } from '../../../../modules/versioning';\nimport { getElapsedMs } from '../../../../util/date';\nimport {\n getMergeConfidenceLevel,\n isActiveConfidenceLevel,\n satisfiesConfidenceLevel,\n} from '../../../../util/merge-confidence';\nimport { coerceNumber } from '../../../../util/number';\nimport { applyPackageRules } from '../../../../util/package-rules';\nimport { toMs } from '../../../../util/pretty-time';\nimport type { LookupUpdateConfig, UpdateResult } from './types';\nimport { getUpdateType } from './update-type';\n\nexport interface InternalChecksResult {\n release?: Release;\n pendingChecks: boolean;\n pendingReleases: Release[];\n}\n\nexport async function filterInternalChecks(\n config: Partial<LookupUpdateConfig & UpdateResult>,\n versioningApi: VersioningApi,\n bucket: string,\n sortedReleases: Release[],\n): Promise<InternalChecksResult> {\n const {\n currentVersion,\n datasource,\n depName,\n packageName,\n internalChecksFilter,\n } = config;\n let release: Release | undefined = undefined;\n let pendingChecks = false;\n let pendingReleases: Release[] = [];\n if (internalChecksFilter === 'none') {\n // Don't care if minimumReleaseAge or minimumConfidence are unmet\n release = sortedReleases.pop();\n } else {\n const candidateVersionsWithoutReleaseTimestamp: Record<\n MinimumReleaseAgeBehaviour,\n string[]\n > = {\n 'timestamp-required': [],\n 'timestamp-optional': [],\n };\n\n // iterate through releases from highest to lowest, looking for the first which will pass checks if present\n for (let candidateRelease of sortedReleases.reverse()) {\n // merge the release data into dependency config\n let releaseConfig = mergeChildConfig(config, candidateRelease);\n // calculate updateType and then apply it\n releaseConfig.updateType = getUpdateType(\n releaseConfig,\n versioningApi,\n // TODO #22198\n currentVersion!,\n candidateRelease.version,\n );\n releaseConfig = mergeChildConfig(\n releaseConfig,\n releaseConfig[releaseConfig.updateType]!,\n );\n // Apply packageRules in case any apply to updateType\n releaseConfig = await applyPackageRules(releaseConfig, 'update-type');\n\n const updatedCandidateRelease = await postprocessRelease(\n releaseConfig,\n candidateRelease,\n );\n if (!updatedCandidateRelease) {\n continue;\n }\n candidateRelease = updatedCandidateRelease;\n\n // Now check for a minimumReleaseAge config\n const { minimumConfidence, minimumReleaseAge, updateType } =\n releaseConfig;\n if (is.nonEmptyString(minimumReleaseAge)) {\n const minimumReleaseAgeBehaviour =\n releaseConfig.minimumReleaseAgeBehaviour;\n\n // if there is a releaseTimestamp, regardless of `minimumReleaseAgeBehaviour`, we should process it\n if (candidateRelease.releaseTimestamp) {\n // we should skip this if we have a timestamp that isn't passing checks:\n if (\n getElapsedMs(candidateRelease.releaseTimestamp) <\n coerceNumber(toMs(minimumReleaseAge), 0)\n ) {\n // Skip it if it doesn't pass checks\n logger.trace(\n { depName, check: 'minimumReleaseAge' },\n `Release ${candidateRelease.version} is pending status checks`,\n );\n pendingReleases.unshift(candidateRelease);\n continue;\n }\n } // or if there is no timestamp, and we're running in `minimumReleaseAgeBehaviour=timestamp-required`\n else if (\n is.nullOrUndefined(candidateRelease.releaseTimestamp) &&\n minimumReleaseAgeBehaviour === 'timestamp-required'\n ) {\n // Skip it, as we require a timestamp\n candidateVersionsWithoutReleaseTimestamp[\n minimumReleaseAgeBehaviour\n ].push(candidateRelease.version);\n pendingReleases.unshift(candidateRelease);\n continue;\n } // if there is no timestamp, and we're running in `optional` mode, we can allow it\n else if (\n is.nullOrUndefined(candidateRelease.releaseTimestamp) &&\n minimumReleaseAgeBehaviour === 'timestamp-optional'\n ) {\n candidateVersionsWithoutReleaseTimestamp[\n minimumReleaseAgeBehaviour\n ].push(candidateRelease.version);\n }\n }\n\n // TODO #22198\n if (isActiveConfidenceLevel(minimumConfidence!)) {\n const confidenceLevel =\n (await getMergeConfidenceLevel(\n datasource!,\n packageName!,\n currentVersion!,\n candidateRelease.version,\n updateType!,\n )) ?? 'neutral';\n // TODO #22198\n if (!satisfiesConfidenceLevel(confidenceLevel, minimumConfidence!)) {\n logger.trace(\n { depName, check: 'minimumConfidence' },\n `Release ${candidateRelease.version} is pending status checks`,\n );\n pendingReleases.unshift(candidateRelease);\n continue;\n }\n }\n // If we get to here, then the release is OK and we can stop iterating\n release = candidateRelease;\n break;\n }\n\n if (candidateVersionsWithoutReleaseTimestamp['timestamp-required'].length) {\n logger.debug(\n {\n depName,\n versions:\n candidateVersionsWithoutReleaseTimestamp['timestamp-required'],\n check: 'minimumReleaseAge',\n },\n `Marking ${candidateVersionsWithoutReleaseTimestamp['timestamp-required'].length} release(s) as pending, as they do not have a releaseTimestamp and we're running with minimumReleaseAgeBehaviour=require-timestamp`,\n );\n }\n\n if (candidateVersionsWithoutReleaseTimestamp['timestamp-optional'].length) {\n logger.once.warn(\n \"Some release(s) did not have a releaseTimestamp, but as we're running with minimumReleaseAgeBehaviour=timestamp-optional, proceeding. See debug logs for more information\",\n );\n logger.debug(\n {\n depName,\n versions:\n candidateVersionsWithoutReleaseTimestamp['timestamp-optional'],\n check: 'minimumReleaseAge',\n },\n `${candidateVersionsWithoutReleaseTimestamp['timestamp-optional'].length} release(s) did not have a releaseTimestamp, but as we're running with minimumReleaseAgeBehaviour=timestamp-optional, proceeding`,\n );\n }\n\n if (!release) {\n if (pendingReleases.length) {\n // If all releases were pending then just take the highest\n logger.trace(\n { depName, bucket },\n 'All releases are pending - using latest',\n );\n release = pendingReleases.pop();\n // None are pending anymore because we took the latest, so empty the array\n pendingReleases = [];\n if (internalChecksFilter === 'strict') {\n pendingChecks = true;\n }\n }\n }\n }\n\n return { release, pendingChecks, pendingReleases };\n}\n"]}
@@ -25,13 +25,11 @@ function filterVersions(config, currentVersion, latestVersion, releases, version
25
25
  return [];
26
26
  }
27
27
  // Leave only versions greater than current
28
- let filteredReleases = releases.filter((r) => versioningApi.isVersion(r.version) &&
29
- versioningApi.isGreaterThan(r.version, currentVersion));
30
- const currentRelease = releases.find((r) => versioningApi.isValid(r.version) &&
31
- versioningApi.isVersion(r.version) &&
32
- versioningApi.isValid(currentVersion) &&
33
- versioningApi.isVersion(currentVersion) &&
34
- versioningApi.equals(r.version, currentVersion));
28
+ const versionedReleases = releases.filter((r) => versioningApi.isVersion(r.version));
29
+ let filteredReleases = versionedReleases.filter((r) => versioningApi.isGreaterThan(r.version, currentVersion));
30
+ const currentRelease = versioningApi.isVersion(currentVersion)
31
+ ? versionedReleases.find((r) => versioningApi.equals(r.version, currentVersion))
32
+ : undefined;
35
33
  // Don't upgrade from non-deprecated to deprecated
36
34
  if (ignoreDeprecated && currentRelease && !currentRelease.isDeprecated) {
37
35
  filteredReleases = filteredReleases.filter((r) => {
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../../lib/workers/repository/process/lookup/filter.ts"],"names":[],"mappings":"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","sourcesContent":["import semver from 'semver';\nimport { CONFIG_VALIDATION } from '../../../../constants/error-messages';\nimport { logger } from '../../../../logger';\nimport type { Release } from '../../../../modules/datasource/types';\nimport type { VersioningApi } from '../../../../modules/versioning';\nimport * as npmVersioning from '../../../../modules/versioning/npm';\nimport * as pep440 from '../../../../modules/versioning/pep440';\nimport * as poetryVersioning from '../../../../modules/versioning/poetry';\nimport { getRegexPredicate } from '../../../../util/string-match';\nimport type { FilterConfig } from './types';\n\nfunction isReleaseStable(\n release: Release,\n versioningApi: VersioningApi,\n): boolean {\n if (!versioningApi.isStable(release.version)) {\n return false;\n }\n\n if (release.isStable === false) {\n return false;\n }\n\n return true;\n}\n\nexport function filterVersions(\n config: FilterConfig,\n currentVersion: string,\n latestVersion: string,\n releases: Release[],\n versioningApi: VersioningApi,\n): Release[] {\n const { ignoreUnstable, ignoreDeprecated, respectLatest, allowedVersions } =\n config;\n\n // istanbul ignore if: shouldn't happen\n if (!currentVersion) {\n return [];\n }\n\n // Leave only versions greater than current\n let filteredReleases = releases.filter(\n (r) =>\n versioningApi.isVersion(r.version) &&\n versioningApi.isGreaterThan(r.version, currentVersion),\n );\n\n const currentRelease = releases.find(\n (r) =>\n versioningApi.isValid(r.version) &&\n versioningApi.isVersion(r.version) &&\n versioningApi.isValid(currentVersion) &&\n versioningApi.isVersion(currentVersion) &&\n versioningApi.equals(r.version, currentVersion),\n );\n\n // Don't upgrade from non-deprecated to deprecated\n if (ignoreDeprecated && currentRelease && !currentRelease.isDeprecated) {\n filteredReleases = filteredReleases.filter((r) => {\n if (r.isDeprecated) {\n logger.trace(\n `Skipping ${config.depName!}@${r.version} because it is deprecated`,\n );\n return false;\n }\n return true;\n });\n }\n\n if (allowedVersions) {\n const isAllowedPred = getRegexPredicate(allowedVersions);\n if (isAllowedPred) {\n filteredReleases = filteredReleases.filter(({ version }) =>\n isAllowedPred(version),\n );\n } else if (versioningApi.isValid(allowedVersions)) {\n filteredReleases = filteredReleases.filter((r) =>\n versioningApi.matches(r.version, allowedVersions),\n );\n } else if (\n config.versioning !== npmVersioning.id &&\n semver.validRange(allowedVersions)\n ) {\n logger.debug(\n { depName: config.depName },\n 'Falling back to npm semver syntax for allowedVersions',\n );\n filteredReleases = filteredReleases.filter((r) =>\n semver.satisfies(\n semver.valid(r.version)\n ? r.version\n : /* istanbul ignore next: not reachable, but it's safer to preserve it */ semver.coerce(\n r.version,\n )!,\n allowedVersions,\n ),\n );\n } else if (\n config.versioning === poetryVersioning.id &&\n pep440.isValid(allowedVersions)\n ) {\n logger.debug(\n { depName: config.depName },\n 'Falling back to pypi syntax for allowedVersions',\n );\n filteredReleases = filteredReleases.filter((r) =>\n pep440.matches(r.version, allowedVersions),\n );\n } else {\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = 'config';\n error.validationError = 'Invalid `allowedVersions`';\n error.validationMessage =\n 'The following allowedVersions does not parse as a valid version or range: ' +\n JSON.stringify(allowedVersions);\n throw error;\n }\n }\n\n if (config.followTag) {\n return filteredReleases;\n }\n\n if (\n respectLatest &&\n latestVersion &&\n !versioningApi.isGreaterThan(currentVersion, latestVersion)\n ) {\n filteredReleases = filteredReleases.filter(\n (r) => !versioningApi.isGreaterThan(r.version, latestVersion),\n );\n }\n\n if (!ignoreUnstable) {\n return filteredReleases;\n }\n\n if (currentRelease && isReleaseStable(currentRelease, versioningApi)) {\n return filteredReleases.filter((r) => isReleaseStable(r, versioningApi));\n }\n\n const currentMajor = versioningApi.getMajor(currentVersion);\n const currentMinor = versioningApi.getMinor(currentVersion);\n const currentPatch = versioningApi.getPatch(currentVersion);\n\n return filteredReleases.filter((r) => {\n if (isReleaseStable(r, versioningApi)) {\n return true;\n }\n\n const major = versioningApi.getMajor(r.version);\n\n if (major !== currentMajor) {\n return false;\n }\n\n if (versioningApi.allowUnstableMajorUpgrades) {\n return true;\n }\n\n const minor = versioningApi.getMinor(r.version);\n const patch = versioningApi.getPatch(r.version);\n\n return minor === currentMinor && patch === currentPatch;\n });\n}\n"]}
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../../lib/workers/repository/process/lookup/filter.ts"],"names":[],"mappings":"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","sourcesContent":["import semver from 'semver';\nimport { CONFIG_VALIDATION } from '../../../../constants/error-messages';\nimport { logger } from '../../../../logger';\nimport type { Release } from '../../../../modules/datasource/types';\nimport type { VersioningApi } from '../../../../modules/versioning';\nimport * as npmVersioning from '../../../../modules/versioning/npm';\nimport * as pep440 from '../../../../modules/versioning/pep440';\nimport * as poetryVersioning from '../../../../modules/versioning/poetry';\nimport { getRegexPredicate } from '../../../../util/string-match';\nimport type { FilterConfig } from './types';\n\nfunction isReleaseStable(\n release: Release,\n versioningApi: VersioningApi,\n): boolean {\n if (!versioningApi.isStable(release.version)) {\n return false;\n }\n\n if (release.isStable === false) {\n return false;\n }\n\n return true;\n}\n\nexport function filterVersions(\n config: FilterConfig,\n currentVersion: string,\n latestVersion: string,\n releases: Release[],\n versioningApi: VersioningApi,\n): Release[] {\n const { ignoreUnstable, ignoreDeprecated, respectLatest, allowedVersions } =\n config;\n\n // istanbul ignore if: shouldn't happen\n if (!currentVersion) {\n return [];\n }\n\n // Leave only versions greater than current\n const versionedReleases = releases.filter((r) =>\n versioningApi.isVersion(r.version),\n );\n let filteredReleases = versionedReleases.filter((r) =>\n versioningApi.isGreaterThan(r.version, currentVersion),\n );\n\n const currentRelease = versioningApi.isVersion(currentVersion)\n ? versionedReleases.find((r) =>\n versioningApi.equals(r.version, currentVersion),\n )\n : undefined;\n\n // Don't upgrade from non-deprecated to deprecated\n if (ignoreDeprecated && currentRelease && !currentRelease.isDeprecated) {\n filteredReleases = filteredReleases.filter((r) => {\n if (r.isDeprecated) {\n logger.trace(\n `Skipping ${config.depName!}@${r.version} because it is deprecated`,\n );\n return false;\n }\n return true;\n });\n }\n\n if (allowedVersions) {\n const isAllowedPred = getRegexPredicate(allowedVersions);\n if (isAllowedPred) {\n filteredReleases = filteredReleases.filter(({ version }) =>\n isAllowedPred(version),\n );\n } else if (versioningApi.isValid(allowedVersions)) {\n filteredReleases = filteredReleases.filter((r) =>\n versioningApi.matches(r.version, allowedVersions),\n );\n } else if (\n config.versioning !== npmVersioning.id &&\n semver.validRange(allowedVersions)\n ) {\n logger.debug(\n { depName: config.depName },\n 'Falling back to npm semver syntax for allowedVersions',\n );\n filteredReleases = filteredReleases.filter((r) =>\n semver.satisfies(\n semver.valid(r.version)\n ? r.version\n : /* istanbul ignore next: not reachable, but it's safer to preserve it */ semver.coerce(\n r.version,\n )!,\n allowedVersions,\n ),\n );\n } else if (\n config.versioning === poetryVersioning.id &&\n pep440.isValid(allowedVersions)\n ) {\n logger.debug(\n { depName: config.depName },\n 'Falling back to pypi syntax for allowedVersions',\n );\n filteredReleases = filteredReleases.filter((r) =>\n pep440.matches(r.version, allowedVersions),\n );\n } else {\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = 'config';\n error.validationError = 'Invalid `allowedVersions`';\n error.validationMessage =\n 'The following allowedVersions does not parse as a valid version or range: ' +\n JSON.stringify(allowedVersions);\n throw error;\n }\n }\n\n if (config.followTag) {\n return filteredReleases;\n }\n\n if (\n respectLatest &&\n latestVersion &&\n !versioningApi.isGreaterThan(currentVersion, latestVersion)\n ) {\n filteredReleases = filteredReleases.filter(\n (r) => !versioningApi.isGreaterThan(r.version, latestVersion),\n );\n }\n\n if (!ignoreUnstable) {\n return filteredReleases;\n }\n\n if (currentRelease && isReleaseStable(currentRelease, versioningApi)) {\n return filteredReleases.filter((r) => isReleaseStable(r, versioningApi));\n }\n\n const currentMajor = versioningApi.getMajor(currentVersion);\n const currentMinor = versioningApi.getMinor(currentVersion);\n const currentPatch = versioningApi.getPatch(currentVersion);\n\n return filteredReleases.filter((r) => {\n if (isReleaseStable(r, versioningApi)) {\n return true;\n }\n\n const major = versioningApi.getMajor(r.version);\n\n if (major !== currentMajor) {\n return false;\n }\n\n if (versioningApi.allowUnstableMajorUpgrades) {\n return true;\n }\n\n const minor = versioningApi.getMinor(r.version);\n const patch = versioningApi.getPatch(r.version);\n\n return minor === currentMinor && patch === currentPatch;\n });\n}\n"]}
@@ -137,6 +137,7 @@ async function lookupUpdates(inconfig) {
137
137
  'packageScope',
138
138
  'mostRecentTimestamp',
139
139
  'isAbandoned',
140
+ 'respectLatest',
140
141
  ]);
141
142
  const latestVersion = dependency.tags?.latest;
142
143
  // Filter out any results from datasource that don't comply with our versioning
@@ -167,10 +168,13 @@ async function lookupUpdates(inconfig) {
167
168
  (v.version === compareValue &&
168
169
  versioningApi.isGreaterThan(taggedVersion, compareValue)));
169
170
  }
171
+ const inRangeOnlyStrategy = config.rangeStrategy === 'in-range-only';
170
172
  // Check that existing constraint can be satisfied
171
- const allSatisfyingVersions = allVersions.filter((v) =>
172
- // TODO #22198
173
- unconstrainedValue || versioningApi.matches(v.version, compareValue));
173
+ const allSatisfyingVersions = (inRangeOnlyStrategy || config.rollbackPrs) && !unconstrainedValue
174
+ ? allVersions.filter((v) =>
175
+ // TODO #22198
176
+ versioningApi.matches(v.version, compareValue))
177
+ : allVersions;
174
178
  if (!allSatisfyingVersions.length) {
175
179
  logger_1.logger.debug(`Found no satisfying versions with '${config.versioning}' versioning`);
176
180
  }
@@ -235,16 +239,11 @@ async function lookupUpdates(inconfig) {
235
239
  currentVersion &&
236
240
  rangeStrategy === 'pin' &&
237
241
  !versioningApi.isSingleVersion(compareValue)) {
242
+ const newValue = versioningApi.getPinnedValue?.(currentVersion) ?? currentVersion;
238
243
  res.updates.push({
239
244
  updateType: 'pin',
240
245
  isPin: true,
241
- // TODO: newValue can be null! (#22198)
242
- newValue: versioningApi.getNewValue({
243
- currentValue: compareValue,
244
- rangeStrategy,
245
- currentVersion,
246
- newVersion: currentVersion,
247
- }),
246
+ newValue,
248
247
  newVersion: currentVersion,
249
248
  newMajor: versioningApi.getMajor(currentVersion),
250
249
  });
@@ -260,9 +259,7 @@ async function lookupUpdates(inconfig) {
260
259
  }
261
260
  // Filter latest, unstable, etc
262
261
  // TODO #22198
263
- let filteredReleases = (0, filter_1.filterVersions)(config, currentVersion, latestVersion, config.rangeStrategy === 'in-range-only'
264
- ? allSatisfyingVersions
265
- : allVersions, versioningApi).filter((v) =>
262
+ let filteredReleases = (0, filter_1.filterVersions)(config, currentVersion, latestVersion, inRangeOnlyStrategy ? allSatisfyingVersions : allVersions, versioningApi).filter((v) =>
266
263
  // Leave only compatible versions
267
264
  unconstrainedValue ||
268
265
  versioningApi.isCompatible(v.version, compareValue));