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
@@ -75,6 +75,7 @@ exports.packageCacheNamespaces = [
75
75
  'datasource-hexpm-bob',
76
76
  'datasource-java-version',
77
77
  'datasource-jenkins-plugins',
78
+ 'datasource-jsr',
78
79
  'datasource-maven:cache-provider',
79
80
  'datasource-maven:postprocess-reject',
80
81
  'datasource-node-version',
@@ -92,6 +93,8 @@ exports.packageCacheNamespaces = [
92
93
  'datasource-terraform-module',
93
94
  'datasource-terraform-provider',
94
95
  'datasource-terraform',
96
+ 'datasource-typst:cache-provider',
97
+ 'datasource-typst:releases',
95
98
  'datasource-unity3d',
96
99
  'datasource-unity3d-packages',
97
100
  'github-releases-datasource-v2',
@@ -1 +1 @@
1
- {"version":3,"file":"namespaces.js","sourceRoot":"","sources":["../../../../lib/util/cache/package/namespaces.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,kFAAkF;AACrE,QAAA,sBAAsB,GAAG;IACpC,iBAAiB;IACjB,8BAA8B;IAC9B,6BAA6B;IAC7B,qCAAqC;IACrC,oCAAoC;IACpC,4BAA4B;IAC5B,2BAA2B;IAC3B,0BAA0B;IAC1B,yBAAyB;IACzB,2BAA2B;IAC3B,0BAA0B;IAC1B,2BAA2B;IAC3B,0BAA0B;IAC1B,wBAAwB;IACxB,8BAA8B;IAC9B,oBAAoB;IACpB,0BAA0B;IAC1B,iCAAiC;IACjC,kCAAkC;IAClC,kBAAkB;IAClB,2BAA2B;IAC3B,kCAAkC;IAClC,oBAAoB;IACpB,gCAAgC;IAChC,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;IACjB,2BAA2B;IAC3B,kBAAkB;IAClB,gBAAgB;IAChB,iBAAiB;IACjB,gCAAgC;IAChC,6BAA6B;IAC7B,0BAA0B;IAC1B,4BAA4B;IAC5B,+BAA+B;IAC/B,0BAA0B;IAC1B,+BAA+B;IAC/B,wBAAwB;IACxB,2BAA2B;IAC3B,2BAA2B;IAC3B,8BAA8B;IAC9B,mBAAmB;IACnB,qBAAqB;IACrB,qBAAqB;IACrB,gBAAgB;IAChB,6BAA6B;IAC7B,yBAAyB;IACzB,2BAA2B;IAC3B,uBAAuB;IACvB,uCAAuC;IACvC,4BAA4B;IAC5B,4BAA4B;IAC5B,wBAAwB;IACxB,+BAA+B;IAC/B,sBAAsB;IACtB,qBAAqB;IACrB,eAAe;IACf,2BAA2B;IAC3B,2BAA2B;IAC3B,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;IAChB,sBAAsB;IACtB,yBAAyB;IACzB,4BAA4B;IAC5B,iCAAiC;IACjC,qCAAqC;IACrC,yBAAyB;IACzB,+BAA+B;IAC/B,qBAAqB;IACrB,gBAAgB;IAChB,sBAAsB;IACtB,gBAAgB;IAChB,2BAA2B;IAC3B,qBAAqB;IACrB,gBAAgB;IAChB,yBAAyB;IACzB,qBAAqB;IACrB,wBAAwB;IACxB,6BAA6B;IAC7B,+BAA+B;IAC/B,sBAAsB;IACtB,oBAAoB;IACpB,6BAA6B;IAC7B,+BAA+B;IAC/B,2BAA2B;IAC3B,kBAAkB;IAClB,QAAQ;IACR,yBAAyB;IACzB,YAAY;CACJ,CAAC,CAAC,iFAAiF","sourcesContent":["/* IMPORTANT:\n * These namespaces below are used as part of the cacheTtlOverride feature\n * It's OK to add to them (e.g. for new datasources) but we should avoid\n * backwards-incompatible changes in non-major releases\n */\n\n/* v8 ignore start -- BTW don't forget to update `self-hosted-configuration.md` */\nexport const packageCacheNamespaces = [\n '_test-namespace',\n 'changelog-bitbucket-notes@v2',\n 'changelog-bitbucket-release',\n 'changelog-bitbucket-server-notes@v2',\n 'changelog-bitbucket-server-release',\n 'changelog-forgejo-notes@v2',\n 'changelog-forgejo-release',\n 'changelog-gitea-notes@v2',\n 'changelog-gitea-release',\n 'changelog-github-notes@v2',\n 'changelog-github-release',\n 'changelog-gitlab-notes@v2',\n 'changelog-gitlab-release',\n 'datasource-artifactory',\n 'datasource-aws-machine-image',\n 'datasource-aws-rds',\n 'datasource-aws-eks-addon',\n 'datasource-azure-bicep-resource',\n 'datasource-azure-pipelines-tasks',\n 'datasource-bazel',\n 'datasource-bitbucket-tags',\n 'datasource-bitbucket-server-tags',\n 'datasource-bitrise',\n 'datasource-buildpacks-registry',\n 'datasource-cdnjs',\n 'datasource-conan',\n 'datasource-conda',\n 'datasource-cpan',\n 'datasource-crate-metadata',\n 'datasource-crate',\n 'datasource-deb',\n 'datasource-deno',\n 'datasource-docker-architecture',\n 'datasource-docker-hub-cache',\n 'datasource-docker-digest',\n 'datasource-docker-hub-tags',\n 'datasource-docker-imageconfig',\n 'datasource-docker-labels',\n 'datasource-docker-releases-v2',\n 'datasource-docker-tags',\n 'datasource-dotnet-version',\n 'datasource-endoflife-date',\n 'datasource-galaxy-collection',\n 'datasource-galaxy',\n 'datasource-git-refs',\n 'datasource-git-tags',\n 'datasource-git',\n 'datasource-forgejo-releases',\n 'datasource-forgejo-tags',\n 'datasource-gitea-releases',\n 'datasource-gitea-tags',\n 'datasource-github-release-attachments',\n 'datasource-gitlab-packages',\n 'datasource-gitlab-releases',\n 'datasource-gitlab-tags',\n 'datasource-glasskube-packages',\n 'datasource-go-direct',\n 'datasource-go-proxy',\n 'datasource-go',\n 'datasource-golang-version',\n 'datasource-gradle-version',\n 'datasource-helm',\n 'datasource-hermit',\n 'datasource-hex',\n 'datasource-hexpm-bob',\n 'datasource-java-version',\n 'datasource-jenkins-plugins',\n 'datasource-maven:cache-provider',\n 'datasource-maven:postprocess-reject',\n 'datasource-node-version',\n 'datasource-npm:cache-provider',\n 'datasource-nuget-v3',\n 'datasource-orb',\n 'datasource-packagist',\n 'datasource-pod',\n 'datasource-python-version',\n 'datasource-repology',\n 'datasource-rpm',\n 'datasource-ruby-version',\n 'datasource-rubygems',\n 'datasource-sbt-package',\n 'datasource-terraform-module',\n 'datasource-terraform-provider',\n 'datasource-terraform',\n 'datasource-unity3d',\n 'datasource-unity3d-packages',\n 'github-releases-datasource-v2',\n 'github-tags-datasource-v2',\n 'merge-confidence',\n 'preset',\n 'terraform-provider-hash',\n 'url-sha256',\n] as const; /* v8 ignore stop -- BTW don't forget to update `self-hosted-configuration.md` */\n\nexport type PackageCacheNamespace =\n | (typeof packageCacheNamespaces)[number]\n | `datasource-releases-${string}`;\n\nexport type CombinedKey =\n `datasource-mem:pkg-fetch:${PackageCacheNamespace}:${string}`;\n"]}
1
+ {"version":3,"file":"namespaces.js","sourceRoot":"","sources":["../../../../lib/util/cache/package/namespaces.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,kFAAkF;AACrE,QAAA,sBAAsB,GAAG;IACpC,iBAAiB;IACjB,8BAA8B;IAC9B,6BAA6B;IAC7B,qCAAqC;IACrC,oCAAoC;IACpC,4BAA4B;IAC5B,2BAA2B;IAC3B,0BAA0B;IAC1B,yBAAyB;IACzB,2BAA2B;IAC3B,0BAA0B;IAC1B,2BAA2B;IAC3B,0BAA0B;IAC1B,wBAAwB;IACxB,8BAA8B;IAC9B,oBAAoB;IACpB,0BAA0B;IAC1B,iCAAiC;IACjC,kCAAkC;IAClC,kBAAkB;IAClB,2BAA2B;IAC3B,kCAAkC;IAClC,oBAAoB;IACpB,gCAAgC;IAChC,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;IACjB,2BAA2B;IAC3B,kBAAkB;IAClB,gBAAgB;IAChB,iBAAiB;IACjB,gCAAgC;IAChC,6BAA6B;IAC7B,0BAA0B;IAC1B,4BAA4B;IAC5B,+BAA+B;IAC/B,0BAA0B;IAC1B,+BAA+B;IAC/B,wBAAwB;IACxB,2BAA2B;IAC3B,2BAA2B;IAC3B,8BAA8B;IAC9B,mBAAmB;IACnB,qBAAqB;IACrB,qBAAqB;IACrB,gBAAgB;IAChB,6BAA6B;IAC7B,yBAAyB;IACzB,2BAA2B;IAC3B,uBAAuB;IACvB,uCAAuC;IACvC,4BAA4B;IAC5B,4BAA4B;IAC5B,wBAAwB;IACxB,+BAA+B;IAC/B,sBAAsB;IACtB,qBAAqB;IACrB,eAAe;IACf,2BAA2B;IAC3B,2BAA2B;IAC3B,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;IAChB,sBAAsB;IACtB,yBAAyB;IACzB,4BAA4B;IAC5B,gBAAgB;IAChB,iCAAiC;IACjC,qCAAqC;IACrC,yBAAyB;IACzB,+BAA+B;IAC/B,qBAAqB;IACrB,gBAAgB;IAChB,sBAAsB;IACtB,gBAAgB;IAChB,2BAA2B;IAC3B,qBAAqB;IACrB,gBAAgB;IAChB,yBAAyB;IACzB,qBAAqB;IACrB,wBAAwB;IACxB,6BAA6B;IAC7B,+BAA+B;IAC/B,sBAAsB;IACtB,iCAAiC;IACjC,2BAA2B;IAC3B,oBAAoB;IACpB,6BAA6B;IAC7B,+BAA+B;IAC/B,2BAA2B;IAC3B,kBAAkB;IAClB,QAAQ;IACR,yBAAyB;IACzB,YAAY;CACJ,CAAC,CAAC,iFAAiF","sourcesContent":["/* IMPORTANT:\n * These namespaces below are used as part of the cacheTtlOverride feature\n * It's OK to add to them (e.g. for new datasources) but we should avoid\n * backwards-incompatible changes in non-major releases\n */\n\n/* v8 ignore start -- BTW don't forget to update `self-hosted-configuration.md` */\nexport const packageCacheNamespaces = [\n '_test-namespace',\n 'changelog-bitbucket-notes@v2',\n 'changelog-bitbucket-release',\n 'changelog-bitbucket-server-notes@v2',\n 'changelog-bitbucket-server-release',\n 'changelog-forgejo-notes@v2',\n 'changelog-forgejo-release',\n 'changelog-gitea-notes@v2',\n 'changelog-gitea-release',\n 'changelog-github-notes@v2',\n 'changelog-github-release',\n 'changelog-gitlab-notes@v2',\n 'changelog-gitlab-release',\n 'datasource-artifactory',\n 'datasource-aws-machine-image',\n 'datasource-aws-rds',\n 'datasource-aws-eks-addon',\n 'datasource-azure-bicep-resource',\n 'datasource-azure-pipelines-tasks',\n 'datasource-bazel',\n 'datasource-bitbucket-tags',\n 'datasource-bitbucket-server-tags',\n 'datasource-bitrise',\n 'datasource-buildpacks-registry',\n 'datasource-cdnjs',\n 'datasource-conan',\n 'datasource-conda',\n 'datasource-cpan',\n 'datasource-crate-metadata',\n 'datasource-crate',\n 'datasource-deb',\n 'datasource-deno',\n 'datasource-docker-architecture',\n 'datasource-docker-hub-cache',\n 'datasource-docker-digest',\n 'datasource-docker-hub-tags',\n 'datasource-docker-imageconfig',\n 'datasource-docker-labels',\n 'datasource-docker-releases-v2',\n 'datasource-docker-tags',\n 'datasource-dotnet-version',\n 'datasource-endoflife-date',\n 'datasource-galaxy-collection',\n 'datasource-galaxy',\n 'datasource-git-refs',\n 'datasource-git-tags',\n 'datasource-git',\n 'datasource-forgejo-releases',\n 'datasource-forgejo-tags',\n 'datasource-gitea-releases',\n 'datasource-gitea-tags',\n 'datasource-github-release-attachments',\n 'datasource-gitlab-packages',\n 'datasource-gitlab-releases',\n 'datasource-gitlab-tags',\n 'datasource-glasskube-packages',\n 'datasource-go-direct',\n 'datasource-go-proxy',\n 'datasource-go',\n 'datasource-golang-version',\n 'datasource-gradle-version',\n 'datasource-helm',\n 'datasource-hermit',\n 'datasource-hex',\n 'datasource-hexpm-bob',\n 'datasource-java-version',\n 'datasource-jenkins-plugins',\n 'datasource-jsr',\n 'datasource-maven:cache-provider',\n 'datasource-maven:postprocess-reject',\n 'datasource-node-version',\n 'datasource-npm:cache-provider',\n 'datasource-nuget-v3',\n 'datasource-orb',\n 'datasource-packagist',\n 'datasource-pod',\n 'datasource-python-version',\n 'datasource-repology',\n 'datasource-rpm',\n 'datasource-ruby-version',\n 'datasource-rubygems',\n 'datasource-sbt-package',\n 'datasource-terraform-module',\n 'datasource-terraform-provider',\n 'datasource-terraform',\n 'datasource-typst:cache-provider',\n 'datasource-typst:releases',\n 'datasource-unity3d',\n 'datasource-unity3d-packages',\n 'github-releases-datasource-v2',\n 'github-tags-datasource-v2',\n 'merge-confidence',\n 'preset',\n 'terraform-provider-hash',\n 'url-sha256',\n] as const; /* v8 ignore stop -- BTW don't forget to update `self-hosted-configuration.md` */\n\nexport type PackageCacheNamespace =\n | (typeof packageCacheNamespaces)[number]\n | `datasource-releases-${string}`;\n\nexport type CombinedKey =\n `datasource-mem:pkg-fetch:${PackageCacheNamespace}:${string}`;\n"]}
@@ -2,5 +2,5 @@ import type { PackageCacheNamespace } from './types';
2
2
  export declare function normalizeRedisUrl(url: string): string;
3
3
  export declare function end(): Promise<void>;
4
4
  export declare function get<T = never>(namespace: PackageCacheNamespace, key: string): Promise<T | undefined>;
5
- export declare function set(namespace: PackageCacheNamespace, key: string, value: unknown, ttlMinutes?: number): Promise<void>;
5
+ export declare function set(namespace: PackageCacheNamespace, key: string, value: unknown, hardTtlMinutes?: number): Promise<void>;
6
6
  export declare function init(url: string, prefix: string | undefined): Promise<void>;
@@ -58,15 +58,15 @@ async function get(namespace, key) {
58
58
  }
59
59
  return undefined;
60
60
  }
61
- async function set(namespace, key, value, ttlMinutes = 5) {
62
- logger_1.logger.trace({ rprefix, namespace, key, ttlMinutes }, 'Saving cached value');
61
+ async function set(namespace, key, value, hardTtlMinutes = 5) {
62
+ logger_1.logger.trace({ rprefix, namespace, key, hardTtlMinutes }, 'Saving cached value');
63
63
  // Redis requires TTL to be integer, not float
64
- const redisTTL = Math.floor(ttlMinutes * 60);
64
+ const redisTTL = Math.floor(hardTtlMinutes * 60);
65
65
  try {
66
66
  await client?.set(getKey(namespace, key), JSON.stringify({
67
67
  compress: true,
68
68
  value: await (0, compress_1.compressToBase64)(JSON.stringify(value)),
69
- expiry: luxon_1.DateTime.local().plus({ minutes: ttlMinutes }),
69
+ expiry: luxon_1.DateTime.local().plus({ minutes: hardTtlMinutes }),
70
70
  }), { EX: redisTTL });
71
71
  }
72
72
  catch (err) {
@@ -93,9 +93,19 @@ async function init(url, prefix) {
93
93
  pingInterval: 30000, // 30s
94
94
  };
95
95
  if (clusteredMode) {
96
- client = (0, redis_1.createCluster)({
97
- rootNodes: [config],
98
- });
96
+ const clusterConfig = { rootNodes: [config] };
97
+ // only add defaults if username or password are present in the URL
98
+ const parsedUrl = new URL(rewrittenUrl);
99
+ if (parsedUrl.username) {
100
+ clusterConfig.defaults = {
101
+ username: parsedUrl.username,
102
+ };
103
+ }
104
+ if (parsedUrl.password) {
105
+ clusterConfig.defaults ??= {};
106
+ clusterConfig.defaults.password = parsedUrl.password;
107
+ }
108
+ client = (0, redis_1.createCluster)(clusterConfig);
99
109
  }
100
110
  else {
101
111
  client = (0, redis_1.createClient)(config);
@@ -1 +1 @@
1
- {"version":3,"file":"redis.js","sourceRoot":"","sources":["../../../../lib/util/cache/package/redis.ts"],"names":[],"mappings":"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","sourcesContent":["import { DateTime } from 'luxon';\nimport { createClient, createCluster } from 'redis';\nimport { logger } from '../../../logger';\nimport { compressToBase64, decompressFromBase64 } from '../../compress';\nimport { regEx } from '../../regex';\nimport type { PackageCacheNamespace } from './types';\n\nlet client:\n | ReturnType<typeof createClient>\n | ReturnType<typeof createCluster>\n | undefined;\nlet rprefix: string | undefined;\n\nfunction getKey(namespace: PackageCacheNamespace, key: string): string {\n return `${rprefix}${namespace}-${key}`;\n}\n\nexport function normalizeRedisUrl(url: string): string {\n return url.replace(regEx(/^(rediss?)\\+cluster:\\/\\//), '$1://');\n}\n\nexport async function end(): Promise<void> {\n try {\n // https://github.com/redis/node-redis#disconnecting\n await client?.disconnect();\n } catch (err) {\n logger.warn({ err }, 'Redis cache end failed');\n }\n}\n\nasync function rm(\n namespace: PackageCacheNamespace,\n key: string,\n): Promise<void> {\n logger.trace({ rprefix, namespace, key }, 'Removing cache entry');\n await client?.del(getKey(namespace, key));\n}\n\nexport async function get<T = never>(\n namespace: PackageCacheNamespace,\n key: string,\n): Promise<T | undefined> {\n if (!client) {\n return undefined;\n }\n logger.trace(`cache.get(${namespace}, ${key})`);\n try {\n const res = await client?.get(getKey(namespace, key));\n const cachedValue = res && JSON.parse(res);\n if (cachedValue) {\n if (DateTime.local() < DateTime.fromISO(cachedValue.expiry)) {\n logger.trace({ rprefix, namespace, key }, 'Returning cached value');\n // istanbul ignore if\n if (!cachedValue.compress) {\n return cachedValue.value;\n }\n const res = await decompressFromBase64(cachedValue.value);\n return JSON.parse(res);\n }\n // istanbul ignore next\n await rm(namespace, key);\n }\n } catch {\n logger.trace({ rprefix, namespace, key }, 'Cache miss');\n }\n return undefined;\n}\n\nexport async function set(\n namespace: PackageCacheNamespace,\n key: string,\n value: unknown,\n ttlMinutes = 5,\n): Promise<void> {\n logger.trace({ rprefix, namespace, key, ttlMinutes }, 'Saving cached value');\n\n // Redis requires TTL to be integer, not float\n const redisTTL = Math.floor(ttlMinutes * 60);\n\n try {\n await client?.set(\n getKey(namespace, key),\n JSON.stringify({\n compress: true,\n value: await compressToBase64(JSON.stringify(value)),\n expiry: DateTime.local().plus({ minutes: ttlMinutes }),\n }),\n { EX: redisTTL },\n );\n } catch (err) {\n logger.once.warn({ err }, 'Error while setting Redis cache value');\n }\n}\n\nexport async function init(\n url: string,\n prefix: string | undefined,\n): Promise<void> {\n if (!url) {\n return;\n }\n rprefix = prefix ?? '';\n logger.debug('Redis cache init');\n\n const rewrittenUrl = normalizeRedisUrl(url);\n // If any replacement was made, it means the regex matched and we are in clustered mode\n const clusteredMode = rewrittenUrl.length !== url.length;\n\n const config = {\n url: rewrittenUrl,\n socket: {\n reconnectStrategy: (retries: number) => {\n // Reconnect after this time\n return Math.min(retries * 100, 3000);\n },\n },\n pingInterval: 30000, // 30s\n };\n if (clusteredMode) {\n client = createCluster({\n rootNodes: [config],\n });\n } else {\n client = createClient(config);\n }\n await client.connect();\n logger.debug('Redis cache connected');\n}\n"]}
1
+ {"version":3,"file":"redis.js","sourceRoot":"","sources":["../../../../lib/util/cache/package/redis.ts"],"names":[],"mappings":"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","sourcesContent":["import { DateTime } from 'luxon';\nimport type { RedisClusterOptions } from 'redis';\nimport { createClient, createCluster } from 'redis';\nimport { logger } from '../../../logger';\nimport { compressToBase64, decompressFromBase64 } from '../../compress';\nimport { regEx } from '../../regex';\nimport type { PackageCacheNamespace } from './types';\n\nlet client:\n | ReturnType<typeof createClient>\n | ReturnType<typeof createCluster>\n | undefined;\nlet rprefix: string | undefined;\n\nfunction getKey(namespace: PackageCacheNamespace, key: string): string {\n return `${rprefix}${namespace}-${key}`;\n}\n\nexport function normalizeRedisUrl(url: string): string {\n return url.replace(regEx(/^(rediss?)\\+cluster:\\/\\//), '$1://');\n}\n\nexport async function end(): Promise<void> {\n try {\n // https://github.com/redis/node-redis#disconnecting\n await client?.disconnect();\n } catch (err) {\n logger.warn({ err }, 'Redis cache end failed');\n }\n}\n\nasync function rm(\n namespace: PackageCacheNamespace,\n key: string,\n): Promise<void> {\n logger.trace({ rprefix, namespace, key }, 'Removing cache entry');\n await client?.del(getKey(namespace, key));\n}\n\nexport async function get<T = never>(\n namespace: PackageCacheNamespace,\n key: string,\n): Promise<T | undefined> {\n if (!client) {\n return undefined;\n }\n logger.trace(`cache.get(${namespace}, ${key})`);\n try {\n const res = await client?.get(getKey(namespace, key));\n const cachedValue = res && JSON.parse(res);\n if (cachedValue) {\n if (DateTime.local() < DateTime.fromISO(cachedValue.expiry)) {\n logger.trace({ rprefix, namespace, key }, 'Returning cached value');\n // istanbul ignore if\n if (!cachedValue.compress) {\n return cachedValue.value;\n }\n const res = await decompressFromBase64(cachedValue.value);\n return JSON.parse(res);\n }\n // istanbul ignore next\n await rm(namespace, key);\n }\n } catch {\n logger.trace({ rprefix, namespace, key }, 'Cache miss');\n }\n return undefined;\n}\n\nexport async function set(\n namespace: PackageCacheNamespace,\n key: string,\n value: unknown,\n hardTtlMinutes = 5,\n): Promise<void> {\n logger.trace(\n { rprefix, namespace, key, hardTtlMinutes },\n 'Saving cached value',\n );\n\n // Redis requires TTL to be integer, not float\n const redisTTL = Math.floor(hardTtlMinutes * 60);\n\n try {\n await client?.set(\n getKey(namespace, key),\n JSON.stringify({\n compress: true,\n value: await compressToBase64(JSON.stringify(value)),\n expiry: DateTime.local().plus({ minutes: hardTtlMinutes }),\n }),\n { EX: redisTTL },\n );\n } catch (err) {\n logger.once.warn({ err }, 'Error while setting Redis cache value');\n }\n}\n\nexport async function init(\n url: string,\n prefix: string | undefined,\n): Promise<void> {\n if (!url) {\n return;\n }\n rprefix = prefix ?? '';\n logger.debug('Redis cache init');\n\n const rewrittenUrl = normalizeRedisUrl(url);\n // If any replacement was made, it means the regex matched and we are in clustered mode\n const clusteredMode = rewrittenUrl.length !== url.length;\n\n const config = {\n url: rewrittenUrl,\n socket: {\n reconnectStrategy: (retries: number) => {\n // Reconnect after this time\n return Math.min(retries * 100, 3000);\n },\n },\n pingInterval: 30000, // 30s\n };\n if (clusteredMode) {\n const clusterConfig: RedisClusterOptions = { rootNodes: [config] };\n\n // only add defaults if username or password are present in the URL\n const parsedUrl = new URL(rewrittenUrl);\n if (parsedUrl.username) {\n clusterConfig.defaults = {\n username: parsedUrl.username,\n };\n }\n\n if (parsedUrl.password) {\n clusterConfig.defaults ??= {};\n clusterConfig.defaults.password = parsedUrl.password;\n }\n\n client = createCluster(clusterConfig);\n } else {\n client = createClient(config);\n }\n await client.connect();\n logger.debug('Redis cache connected');\n}\n"]}
@@ -7,7 +7,7 @@ export declare class SqlitePackageCache {
7
7
  private readonly countStatement;
8
8
  static init(cacheDir: string): Promise<SqlitePackageCache>;
9
9
  private constructor();
10
- set(namespace: PackageCacheNamespace, key: string, value: unknown, ttlMinutes?: number): Promise<void>;
10
+ set(namespace: PackageCacheNamespace, key: string, value: unknown, hardTtlMinutes?: number): Promise<void>;
11
11
  get<T = unknown>(namespace: PackageCacheNamespace, key: string): Promise<T | undefined>;
12
12
  private cleanupExpired;
13
13
  cleanup(): Promise<void>;
@@ -90,9 +90,9 @@ class SqlitePackageCache {
90
90
  .prepare('SELECT COUNT(*) FROM package_cache')
91
91
  .pluck(true);
92
92
  }
93
- async set(namespace, key, value, ttlMinutes = 5) {
93
+ async set(namespace, key, value, hardTtlMinutes = 5) {
94
94
  const data = await compress(value);
95
- const ttlSeconds = ttlMinutes * 60;
95
+ const ttlSeconds = hardTtlMinutes * 60;
96
96
  this.upsertStatement.run({ namespace, key, data, ttlSeconds });
97
97
  return Promise.resolve();
98
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../../lib/util/cache/package/sqlite.ts"],"names":[],"mappings":";;;;AAAA,yCAAsC;AACtC,+DAA4C;AAE5C,uCAAkC;AAClC,0DAA0B;AAC1B,oDAA6C;AAC7C,4CAAyC;AACzC,iCAAqC;AAGrC,MAAM,cAAc,GAAG,IAAA,qBAAS,EAAC,mBAAI,CAAC,cAAc,CAAC,CAAC;AACtD,MAAM,gBAAgB,GAAG,IAAA,qBAAS,EAAC,mBAAI,CAAC,gBAAgB,CAAC,CAAC;AAE1D,SAAS,QAAQ,CAAC,KAAc;IAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,cAAc,CAAC,OAAO,EAAE;QAC7B,MAAM,EAAE;YACN,CAAC,qBAAS,CAAC,iBAAiB,CAAC,EAAE,qBAAS,CAAC,gBAAgB;YACzD,CAAC,qBAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC;SACpC;KACF,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,UAAU,CAAI,KAAa;IACxC,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;AAClC,CAAC;AAED,MAAa,kBAAkB;IAwBD;IAvBX,eAAe,CAAuB;IACtC,YAAY,CAAuB;IACnC,iBAAiB,CAAuB;IACxC,cAAc,CAAuB;IAEtD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAgB;QAChC,8DAA8D;QAC9D,MAAM,MAAM,GAAG,IAAA,mBAAM,GAAE,CAAC;QACxB,MAAM,SAAS,GAAG,eAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,gCAAgC,CAAC,CAAC;QACzE,MAAM,IAAA,cAAS,EAAC,SAAS,CAAC,CAAC;QAC3B,MAAM,UAAU,GAAG,eAAK,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAEtD,IAAI,MAAM,IAAA,iBAAM,EAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,eAAM,CAAC,KAAK,CAAC,+BAA+B,UAAU,EAAE,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,eAAM,CAAC,KAAK,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC3C,OAAO,GAAG,CAAC;IACb,CAAC;IAED,YAA4B,MAAgB;QAAhB,WAAM,GAAN,MAAM,CAAU;QAC1C,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAEpC,MAAM;aACH,OAAO,CACN;;;;;;;;SAQC,CACF;aACA,GAAG,EAAE,CAAC;QACT,MAAM;aACH,OAAO,CAAC,6DAA6D,CAAC;aACtE,GAAG,EAAE,CAAC;QACT,MAAM;aACH,OAAO,CACN,4EAA4E,CAC7E;aACA,GAAG,EAAE,CAAC;QAET,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC;;;;;;KAMrC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,GAAG,MAAM;aACvB,OAAO,CACN;;;;SAIC,CACF;aACA,KAAK,CAAC,IAAI,CAAC,CAAC;QAEf,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC;;;KAGvC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,GAAG,MAAM;aACzB,OAAO,CAAC,oCAAoC,CAAC;aAC7C,KAAK,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,GAAG,CACP,SAAgC,EAChC,GAAW,EACX,KAAc,EACd,UAAU,GAAG,CAAC;QAEd,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,UAAU,GAAG,UAAU,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAC/D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,GAAG,CACP,SAAgC,EAChC,GAAW;QAEX,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAExC,CAAC;QAEd,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,MAAM,UAAU,CAAI,IAAI,CAAC,CAAC;IACnC,CAAC;IAEO,cAAc;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAY,CAAC;QACvD,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC;QAClC,eAAM,CAAC,KAAK,CACV,iCAAiC,YAAY,OAAO,UAAU,eAAe,UAAU,IAAI,CAC5F,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF;AAzHD,gDAyHC","sourcesContent":["import { promisify } from 'node:util';\nimport zlib, { constants } from 'node:zlib';\nimport type { Database, Statement } from 'better-sqlite3';\nimport { exists } from 'fs-extra';\nimport upath from 'upath';\nimport { sqlite } from '../../../expose.cjs';\nimport { logger } from '../../../logger';\nimport { ensureDir } from '../../fs';\nimport type { PackageCacheNamespace } from './types';\n\nconst brotliCompress = promisify(zlib.brotliCompress);\nconst brotliDecompress = promisify(zlib.brotliDecompress);\n\nfunction compress(input: unknown): Promise<Buffer> {\n const jsonStr = JSON.stringify(input);\n return brotliCompress(jsonStr, {\n params: {\n [constants.BROTLI_PARAM_MODE]: constants.BROTLI_MODE_TEXT,\n [constants.BROTLI_PARAM_QUALITY]: 3,\n },\n });\n}\n\nasync function decompress<T>(input: Buffer): Promise<T> {\n const buf = await brotliDecompress(input);\n const jsonStr = buf.toString('utf8');\n return JSON.parse(jsonStr) as T;\n}\n\nexport class SqlitePackageCache {\n private readonly upsertStatement: Statement<unknown[]>;\n private readonly getStatement: Statement<unknown[]>;\n private readonly deleteExpiredRows: Statement<unknown[]>;\n private readonly countStatement: Statement<unknown[]>;\n\n static async init(cacheDir: string): Promise<SqlitePackageCache> {\n // simply let it throw if it fails, so no test coverage needed\n const Sqlite = sqlite();\n const sqliteDir = upath.join(cacheDir, 'renovate/renovate-cache-sqlite');\n await ensureDir(sqliteDir);\n const sqliteFile = upath.join(sqliteDir, 'db.sqlite');\n\n if (await exists(sqliteFile)) {\n logger.debug(`Using SQLite package cache: ${sqliteFile}`);\n } else {\n logger.debug(`Creating SQLite package cache: ${sqliteFile}`);\n }\n\n const client = new Sqlite(sqliteFile);\n const res = new SqlitePackageCache(client);\n return res;\n }\n\n private constructor(private client: Database) {\n client.pragma('journal_mode = WAL');\n client.pragma(\"encoding = 'UTF-8'\");\n\n client\n .prepare(\n `\n CREATE TABLE IF NOT EXISTS package_cache (\n namespace TEXT NOT NULL,\n key TEXT NOT NULL,\n expiry INTEGER NOT NULL,\n data BLOB NOT NULL,\n PRIMARY KEY (namespace, key)\n )\n `,\n )\n .run();\n client\n .prepare('CREATE INDEX IF NOT EXISTS expiry ON package_cache (expiry)')\n .run();\n client\n .prepare(\n 'CREATE INDEX IF NOT EXISTS namespace_key ON package_cache (namespace, key)',\n )\n .run();\n\n this.upsertStatement = client.prepare(`\n INSERT INTO package_cache (namespace, key, data, expiry)\n VALUES (@namespace, @key, @data, unixepoch() + @ttlSeconds)\n ON CONFLICT (namespace, key) DO UPDATE SET\n data = @data,\n expiry = unixepoch() + @ttlSeconds\n `);\n\n this.getStatement = client\n .prepare(\n `\n SELECT data FROM package_cache\n WHERE\n namespace = @namespace AND key = @key AND expiry > unixepoch()\n `,\n )\n .pluck(true);\n\n this.deleteExpiredRows = client.prepare(`\n DELETE FROM package_cache\n WHERE expiry <= unixepoch()\n `);\n\n this.countStatement = client\n .prepare('SELECT COUNT(*) FROM package_cache')\n .pluck(true);\n }\n\n async set(\n namespace: PackageCacheNamespace,\n key: string,\n value: unknown,\n ttlMinutes = 5,\n ): Promise<void> {\n const data = await compress(value);\n const ttlSeconds = ttlMinutes * 60;\n this.upsertStatement.run({ namespace, key, data, ttlSeconds });\n return Promise.resolve();\n }\n\n async get<T = unknown>(\n namespace: PackageCacheNamespace,\n key: string,\n ): Promise<T | undefined> {\n const data = this.getStatement.get({ namespace, key }) as\n | Buffer\n | undefined;\n\n if (!data) {\n return undefined;\n }\n\n return await decompress<T>(data);\n }\n\n private cleanupExpired(): void {\n const start = Date.now();\n const totalCount = this.countStatement.get() as number;\n const { changes: deletedCount } = this.deleteExpiredRows.run();\n const finish = Date.now();\n const durationMs = finish - start;\n logger.debug(\n `SQLite package cache: deleted ${deletedCount} of ${totalCount} entries in ${durationMs}ms`,\n );\n }\n\n cleanup(): Promise<void> {\n this.cleanupExpired();\n this.client.close();\n return Promise.resolve();\n }\n}\n"]}
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../../lib/util/cache/package/sqlite.ts"],"names":[],"mappings":"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","sourcesContent":["import { promisify } from 'node:util';\nimport zlib, { constants } from 'node:zlib';\nimport type { Database, Statement } from 'better-sqlite3';\nimport { exists } from 'fs-extra';\nimport upath from 'upath';\nimport { sqlite } from '../../../expose.cjs';\nimport { logger } from '../../../logger';\nimport { ensureDir } from '../../fs';\nimport type { PackageCacheNamespace } from './types';\n\nconst brotliCompress = promisify(zlib.brotliCompress);\nconst brotliDecompress = promisify(zlib.brotliDecompress);\n\nfunction compress(input: unknown): Promise<Buffer> {\n const jsonStr = JSON.stringify(input);\n return brotliCompress(jsonStr, {\n params: {\n [constants.BROTLI_PARAM_MODE]: constants.BROTLI_MODE_TEXT,\n [constants.BROTLI_PARAM_QUALITY]: 3,\n },\n });\n}\n\nasync function decompress<T>(input: Buffer): Promise<T> {\n const buf = await brotliDecompress(input);\n const jsonStr = buf.toString('utf8');\n return JSON.parse(jsonStr) as T;\n}\n\nexport class SqlitePackageCache {\n private readonly upsertStatement: Statement<unknown[]>;\n private readonly getStatement: Statement<unknown[]>;\n private readonly deleteExpiredRows: Statement<unknown[]>;\n private readonly countStatement: Statement<unknown[]>;\n\n static async init(cacheDir: string): Promise<SqlitePackageCache> {\n // simply let it throw if it fails, so no test coverage needed\n const Sqlite = sqlite();\n const sqliteDir = upath.join(cacheDir, 'renovate/renovate-cache-sqlite');\n await ensureDir(sqliteDir);\n const sqliteFile = upath.join(sqliteDir, 'db.sqlite');\n\n if (await exists(sqliteFile)) {\n logger.debug(`Using SQLite package cache: ${sqliteFile}`);\n } else {\n logger.debug(`Creating SQLite package cache: ${sqliteFile}`);\n }\n\n const client = new Sqlite(sqliteFile);\n const res = new SqlitePackageCache(client);\n return res;\n }\n\n private constructor(private client: Database) {\n client.pragma('journal_mode = WAL');\n client.pragma(\"encoding = 'UTF-8'\");\n\n client\n .prepare(\n `\n CREATE TABLE IF NOT EXISTS package_cache (\n namespace TEXT NOT NULL,\n key TEXT NOT NULL,\n expiry INTEGER NOT NULL,\n data BLOB NOT NULL,\n PRIMARY KEY (namespace, key)\n )\n `,\n )\n .run();\n client\n .prepare('CREATE INDEX IF NOT EXISTS expiry ON package_cache (expiry)')\n .run();\n client\n .prepare(\n 'CREATE INDEX IF NOT EXISTS namespace_key ON package_cache (namespace, key)',\n )\n .run();\n\n this.upsertStatement = client.prepare(`\n INSERT INTO package_cache (namespace, key, data, expiry)\n VALUES (@namespace, @key, @data, unixepoch() + @ttlSeconds)\n ON CONFLICT (namespace, key) DO UPDATE SET\n data = @data,\n expiry = unixepoch() + @ttlSeconds\n `);\n\n this.getStatement = client\n .prepare(\n `\n SELECT data FROM package_cache\n WHERE\n namespace = @namespace AND key = @key AND expiry > unixepoch()\n `,\n )\n .pluck(true);\n\n this.deleteExpiredRows = client.prepare(`\n DELETE FROM package_cache\n WHERE expiry <= unixepoch()\n `);\n\n this.countStatement = client\n .prepare('SELECT COUNT(*) FROM package_cache')\n .pluck(true);\n }\n\n async set(\n namespace: PackageCacheNamespace,\n key: string,\n value: unknown,\n hardTtlMinutes = 5,\n ): Promise<void> {\n const data = await compress(value);\n const ttlSeconds = hardTtlMinutes * 60;\n this.upsertStatement.run({ namespace, key, data, ttlSeconds });\n return Promise.resolve();\n }\n\n async get<T = unknown>(\n namespace: PackageCacheNamespace,\n key: string,\n ): Promise<T | undefined> {\n const data = this.getStatement.get({ namespace, key }) as\n | Buffer\n | undefined;\n\n if (!data) {\n return undefined;\n }\n\n return await decompress<T>(data);\n }\n\n private cleanupExpired(): void {\n const start = Date.now();\n const totalCount = this.countStatement.get() as number;\n const { changes: deletedCount } = this.deleteExpiredRows.run();\n const finish = Date.now();\n const durationMs = finish - start;\n logger.debug(\n `SQLite package cache: deleted ${deletedCount} of ${totalCount} entries in ${durationMs}ms`,\n );\n }\n\n cleanup(): Promise<void> {\n this.cleanupExpired();\n this.client.close();\n return Promise.resolve();\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  export type { CombinedKey, PackageCacheNamespace } from './namespaces';
2
2
  export interface PackageCache {
3
3
  get<T = any>(namespace: string, key: string): Promise<T | undefined>;
4
- set<T = any>(namespace: string, key: string, value: T, ttlMinutes?: number): Promise<void>;
4
+ set<T = any>(namespace: string, key: string, value: T, hardTtlMinutes?: number): Promise<void>;
5
5
  cleanup?(): Promise<void>;
6
6
  }
7
7
  export interface DecoratorCachedRecord {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../lib/util/cache/package/types.ts"],"names":[],"mappings":"","sourcesContent":["export type { CombinedKey, PackageCacheNamespace } from './namespaces';\n\nexport interface PackageCache {\n get<T = any>(namespace: string, key: string): Promise<T | undefined>;\n\n set<T = any>(\n namespace: string,\n key: string,\n value: T,\n ttlMinutes?: number,\n ): Promise<void>;\n\n cleanup?(): Promise<void>;\n}\n\nexport interface DecoratorCachedRecord {\n value: unknown;\n cachedAt: string;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../lib/util/cache/package/types.ts"],"names":[],"mappings":"","sourcesContent":["export type { CombinedKey, PackageCacheNamespace } from './namespaces';\n\nexport interface PackageCache {\n get<T = any>(namespace: string, key: string): Promise<T | undefined>;\n\n set<T = any>(\n namespace: string,\n key: string,\n value: T,\n hardTtlMinutes?: number,\n ): Promise<void>;\n\n cleanup?(): Promise<void>;\n}\n\nexport interface DecoratorCachedRecord {\n value: unknown;\n cachedAt: string;\n}\n"]}
@@ -19,7 +19,7 @@ function cleanupHttpCache(cacheData) {
19
19
  }
20
20
  const now = luxon_1.DateTime.now();
21
21
  for (const [url, item] of Object.entries(httpCache)) {
22
- const parsed = schema_1.HttpCacheSchema.safeParse(item);
22
+ const parsed = schema_1.HttpCache.safeParse(item);
23
23
  if (parsed.success && parsed.data) {
24
24
  const item = parsed.data;
25
25
  const expiry = luxon_1.DateTime.fromISO(item.timestamp).plus({ days: ttlDays });
@@ -1 +1 @@
1
- {"version":3,"file":"http-cache.js","sourceRoot":"","sources":["../../../../lib/util/cache/repository/http-cache.ts"],"names":[],"mappings":";;AAMA,4CA0BC;AAhCD,iCAAiC;AACjC,mDAAsD;AACtD,4CAAyC;AACzC,oDAA0D;AAG1D,SAAgB,gBAAgB,CAAC,SAAwB;IACvD,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;IAChC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,qBAAY,CAAC,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACzD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC1E,OAAO,SAAS,CAAC,SAAS,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,wBAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACzB,MAAM,MAAM,GAAG,gBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACxE,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;gBACjB,eAAM,CAAC,KAAK,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAC;gBAC9D,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["import { DateTime } from 'luxon';\nimport { GlobalConfig } from '../../../config/global';\nimport { logger } from '../../../logger';\nimport { HttpCacheSchema } from '../../http/cache/schema';\nimport type { RepoCacheData } from './types';\n\nexport function cleanupHttpCache(cacheData: RepoCacheData): void {\n const { httpCache } = cacheData;\n if (!httpCache) {\n logger.trace('cleanupHttpCache: no http cache to clean up');\n return;\n }\n\n const ttlDays = GlobalConfig.get('httpCacheTtlDays', 90);\n if (ttlDays === 0) {\n logger.trace('cleanupHttpCache: zero value received, removing the cache');\n delete cacheData.httpCache;\n return;\n }\n\n const now = DateTime.now();\n for (const [url, item] of Object.entries(httpCache)) {\n const parsed = HttpCacheSchema.safeParse(item);\n if (parsed.success && parsed.data) {\n const item = parsed.data;\n const expiry = DateTime.fromISO(item.timestamp).plus({ days: ttlDays });\n if (expiry < now) {\n logger.debug(`http cache: removing expired cache for ${url}`);\n delete httpCache[url];\n }\n }\n }\n}\n"]}
1
+ {"version":3,"file":"http-cache.js","sourceRoot":"","sources":["../../../../lib/util/cache/repository/http-cache.ts"],"names":[],"mappings":";;AAMA,4CA0BC;AAhCD,iCAAiC;AACjC,mDAAsD;AACtD,4CAAyC;AACzC,oDAAoD;AAGpD,SAAgB,gBAAgB,CAAC,SAAwB;IACvD,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;IAChC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,qBAAY,CAAC,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACzD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC1E,OAAO,SAAS,CAAC,SAAS,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,kBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACzB,MAAM,MAAM,GAAG,gBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACxE,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;gBACjB,eAAM,CAAC,KAAK,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAC;gBAC9D,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["import { DateTime } from 'luxon';\nimport { GlobalConfig } from '../../../config/global';\nimport { logger } from '../../../logger';\nimport { HttpCache } from '../../http/cache/schema';\nimport type { RepoCacheData } from './types';\n\nexport function cleanupHttpCache(cacheData: RepoCacheData): void {\n const { httpCache } = cacheData;\n if (!httpCache) {\n logger.trace('cleanupHttpCache: no http cache to clean up');\n return;\n }\n\n const ttlDays = GlobalConfig.get('httpCacheTtlDays', 90);\n if (ttlDays === 0) {\n logger.trace('cleanupHttpCache: zero value received, removing the cache');\n delete cacheData.httpCache;\n return;\n }\n\n const now = DateTime.now();\n for (const [url, item] of Object.entries(httpCache)) {\n const parsed = HttpCache.safeParse(item);\n if (parsed.success && parsed.data) {\n const item = parsed.data;\n const expiry = DateTime.fromISO(item.timestamp).plus({ days: ttlDays });\n if (expiry < now) {\n logger.debug(`http cache: removing expired cache for ${url}`);\n delete httpCache[url];\n }\n }\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- export declare const RepoCacheV13: z.ZodPipeline<z.ZodEffects<z.ZodString, string | number | boolean | import("type-fest").JsonObject | import("type-fest").JsonValue[] | readonly import("type-fest").JsonValue[] | null, string>, z.ZodObject<{
2
+ export declare const RepoCacheV13: z.ZodPipeline<z.ZodEffects<z.ZodString, string | number | boolean | import("type-fest", { with: { "resolution-mode": "import" } }).JsonObject | import("type-fest", { with: { "resolution-mode": "import" } }).JsonValue[] | readonly import("type-fest", { with: { "resolution-mode": "import" } }).JsonValue[] | null, string>, z.ZodObject<{
3
3
  repository: z.ZodString;
4
4
  revision: z.ZodEffects<z.ZodNumber, 13, number>;
5
5
  payload: z.ZodString;
@@ -116,6 +116,7 @@ export interface BranchCache {
116
116
  export interface RepoCacheData {
117
117
  configFileName?: string;
118
118
  httpCache?: Record<string, unknown>;
119
+ httpCacheHead?: Record<string, unknown>;
119
120
  semanticCommits?: 'enabled' | 'disabled';
120
121
  branches?: BranchCache[];
121
122
  init?: RepoInitConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../lib/util/cache/repository/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n RepositoryCacheConfig,\n RepositoryCacheType,\n UpdateType,\n} from '../../../config/types';\nimport type { PackageFile } from '../../../modules/manager/types';\nimport type { RepoInitConfig } from '../../../workers/repository/init/types';\nimport type { ExtractResult } from '../../../workers/repository/process/extract-update';\nimport type { PrBlockedBy } from '../../../workers/types';\n\nexport interface BaseBranchCache {\n revision?: number;\n sha: string; // branch commit sha\n configHash: string; // object hash of config\n extractionFingerprints: Record<string, string | undefined>; // matching manager fingerprints\n packageFiles: Record<string, PackageFile[]>; // extract result\n}\n\nexport interface BranchUpgradeCache {\n currentDigest?: string;\n currentValue?: string;\n datasource?: string;\n depName?: string;\n depType?: string;\n displayPending?: unknown;\n fixedVersion?: string;\n currentVersion?: string;\n packageName?: string;\n newDigest?: string;\n newValue?: string;\n newVersion?: string;\n sourceUrl?: string;\n packageFile?: string;\n remediationNotPossible?: unknown;\n updateType?: UpdateType;\n}\n\nexport interface OnboardingBranchCache {\n defaultBranchSha: string;\n onboardingBranchSha: string;\n isConflicted: boolean;\n isModified: boolean;\n configFileName?: string;\n configFileParsed?: string;\n}\n\nexport interface ReconfigureBranchCache {\n reconfigureBranchSha: string;\n isConfigValid: boolean;\n extractResult?: ExtractResult;\n}\n\nexport interface PrCache {\n /**\n * Fingerprint of the PR body\n */\n fingerprint?: string; // Defunct\n bodyFingerprint: string; // Actively used\n /**\n * last PR modified ISO timestamp\n */\n lastEdited: string;\n}\n\nexport interface BranchCache {\n /**\n * Whether this branch has automerge enabled\n */\n automerge?: boolean;\n /**\n * Name of base branch\n */\n baseBranch?: string;\n /**\n * The base branch's most recent commit SHA\n */\n baseBranchSha?: string | null;\n /**\n * Hash of the manager fingerprints and the filtered update branch config\n */\n branchFingerprint?: string; // Defunct\n commitFingerprint?: string; // Actively used\n /**\n * Branch name\n */\n branchName: string;\n /**\n * Whether the update branch is behind base branch\n */\n isBehindBase?: boolean;\n /**\n * Whether the update branch is in conflict with base branch\n */\n isConflicted?: boolean;\n /**\n * Whether a person not listed in gitIgnoredAuthors updated the branch.\n */\n isModified?: boolean;\n /**\n *\n */\n pristine?: boolean;\n /**\n * Pr number of PR created from this branch\n */\n prNo: number | null;\n /**\n * The branch's most recent commit SHA\n */\n sha?: string | null;\n /**\n * Details on the dependency upgrades that have been applied in this branch\n */\n upgrades: BranchUpgradeCache[];\n /**\n * Object that has PR info\n */\n prCache?: PrCache | null;\n\n /**\n * Dependency dashboard information\n */\n prBlockedBy?: PrBlockedBy;\n prTitle?: string;\n result?: string;\n}\n\nexport interface RepoCacheData {\n configFileName?: string;\n httpCache?: Record<string, unknown>;\n semanticCommits?: 'enabled' | 'disabled';\n branches?: BranchCache[];\n init?: RepoInitConfig;\n scan?: Record<string, BaseBranchCache>;\n lastPlatformAutomergeFailure?: string;\n platform?: {\n forgejo?: {\n pullRequestsCache?: unknown;\n };\n gitea?: {\n pullRequestsCache?: unknown;\n };\n github?: {\n /**\n * To avoid circular dependency problem, we use `unknown` type here.\n */\n pullRequestsCache?: unknown;\n graphqlPageCache?: unknown;\n issuesCache?: Record<number, unknown>;\n };\n bitbucket?: {\n pullRequestsCache?: unknown;\n };\n gitlab?: {\n pullRequestsCache?: unknown;\n };\n bitbucketServer?: {\n pullRequestsCache?: unknown;\n };\n };\n prComments?: Record<number, Record<string, string>>;\n onboardingBranchCache?: OnboardingBranchCache;\n reconfigureBranchCache?: ReconfigureBranchCache;\n}\n\nexport interface RepoCache {\n load(): Promise<void>;\n save(): Promise<void>;\n getData(): RepoCacheData;\n isModified(): boolean | undefined;\n}\n\nexport interface RepoCacheConfig {\n repository?: string;\n repositoryCache?: RepositoryCacheConfig;\n repositoryCacheType?: RepositoryCacheType;\n repoFingerprint: string;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../lib/util/cache/repository/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n RepositoryCacheConfig,\n RepositoryCacheType,\n UpdateType,\n} from '../../../config/types';\nimport type { PackageFile } from '../../../modules/manager/types';\nimport type { RepoInitConfig } from '../../../workers/repository/init/types';\nimport type { ExtractResult } from '../../../workers/repository/process/extract-update';\nimport type { PrBlockedBy } from '../../../workers/types';\n\nexport interface BaseBranchCache {\n revision?: number;\n sha: string; // branch commit sha\n configHash: string; // object hash of config\n extractionFingerprints: Record<string, string | undefined>; // matching manager fingerprints\n packageFiles: Record<string, PackageFile[]>; // extract result\n}\n\nexport interface BranchUpgradeCache {\n currentDigest?: string;\n currentValue?: string;\n datasource?: string;\n depName?: string;\n depType?: string;\n displayPending?: unknown;\n fixedVersion?: string;\n currentVersion?: string;\n packageName?: string;\n newDigest?: string;\n newValue?: string;\n newVersion?: string;\n sourceUrl?: string;\n packageFile?: string;\n remediationNotPossible?: unknown;\n updateType?: UpdateType;\n}\n\nexport interface OnboardingBranchCache {\n defaultBranchSha: string;\n onboardingBranchSha: string;\n isConflicted: boolean;\n isModified: boolean;\n configFileName?: string;\n configFileParsed?: string;\n}\n\nexport interface ReconfigureBranchCache {\n reconfigureBranchSha: string;\n isConfigValid: boolean;\n extractResult?: ExtractResult;\n}\n\nexport interface PrCache {\n /**\n * Fingerprint of the PR body\n */\n fingerprint?: string; // Defunct\n bodyFingerprint: string; // Actively used\n /**\n * last PR modified ISO timestamp\n */\n lastEdited: string;\n}\n\nexport interface BranchCache {\n /**\n * Whether this branch has automerge enabled\n */\n automerge?: boolean;\n /**\n * Name of base branch\n */\n baseBranch?: string;\n /**\n * The base branch's most recent commit SHA\n */\n baseBranchSha?: string | null;\n /**\n * Hash of the manager fingerprints and the filtered update branch config\n */\n branchFingerprint?: string; // Defunct\n commitFingerprint?: string; // Actively used\n /**\n * Branch name\n */\n branchName: string;\n /**\n * Whether the update branch is behind base branch\n */\n isBehindBase?: boolean;\n /**\n * Whether the update branch is in conflict with base branch\n */\n isConflicted?: boolean;\n /**\n * Whether a person not listed in gitIgnoredAuthors updated the branch.\n */\n isModified?: boolean;\n /**\n *\n */\n pristine?: boolean;\n /**\n * Pr number of PR created from this branch\n */\n prNo: number | null;\n /**\n * The branch's most recent commit SHA\n */\n sha?: string | null;\n /**\n * Details on the dependency upgrades that have been applied in this branch\n */\n upgrades: BranchUpgradeCache[];\n /**\n * Object that has PR info\n */\n prCache?: PrCache | null;\n\n /**\n * Dependency dashboard information\n */\n prBlockedBy?: PrBlockedBy;\n prTitle?: string;\n result?: string;\n}\n\nexport interface RepoCacheData {\n configFileName?: string;\n httpCache?: Record<string, unknown>;\n httpCacheHead?: Record<string, unknown>;\n semanticCommits?: 'enabled' | 'disabled';\n branches?: BranchCache[];\n init?: RepoInitConfig;\n scan?: Record<string, BaseBranchCache>;\n lastPlatformAutomergeFailure?: string;\n platform?: {\n forgejo?: {\n pullRequestsCache?: unknown;\n };\n gitea?: {\n pullRequestsCache?: unknown;\n };\n github?: {\n /**\n * To avoid circular dependency problem, we use `unknown` type here.\n */\n pullRequestsCache?: unknown;\n graphqlPageCache?: unknown;\n issuesCache?: Record<number, unknown>;\n };\n bitbucket?: {\n pullRequestsCache?: unknown;\n };\n gitlab?: {\n pullRequestsCache?: unknown;\n };\n bitbucketServer?: {\n pullRequestsCache?: unknown;\n };\n };\n prComments?: Record<number, Record<string, string>>;\n onboardingBranchCache?: OnboardingBranchCache;\n reconfigureBranchCache?: ReconfigureBranchCache;\n}\n\nexport interface RepoCache {\n load(): Promise<void>;\n save(): Promise<void>;\n getData(): RepoCacheData;\n isModified(): boolean | undefined;\n}\n\nexport interface RepoCacheConfig {\n repository?: string;\n repositoryCache?: RepositoryCacheConfig;\n repositoryCacheType?: RepositoryCacheType;\n repoFingerprint: string;\n}\n"]}
@@ -20,7 +20,7 @@ let unicodeEmoji = true;
20
20
  let mappingsInitialized = false;
21
21
  const shortCodesByHex = new Map();
22
22
  const hexCodesByShort = new Map();
23
- const EmojiShortcodesSchema = schema_utils_1.Json.pipe(zod_1.z.record(zod_1.z.string(), zod_1.z.union([zod_1.z.string().transform((val) => [val]), zod_1.z.array(zod_1.z.string())])));
23
+ const EmojiShortcodes = schema_utils_1.Json.pipe(zod_1.z.record(zod_1.z.string(), zod_1.z.union([zod_1.z.string().transform((val) => [val]), zod_1.z.array(zod_1.z.string())])));
24
24
  const patchedEmojis = {
25
25
  '26A0-FE0F': ['warning'], // Colorful warning (⚠️) instead of black and white (⚠)
26
26
  };
@@ -37,7 +37,7 @@ function initMapping(mapping) {
37
37
  function lazyInitMappings() {
38
38
  if (!mappingsInitialized) {
39
39
  const githubShortcodes = data_files_generated_1.default.get('node_modules/emojibase-data/en/shortcodes/github.json');
40
- result_1.Result.parse(githubShortcodes, EmojiShortcodesSchema)
40
+ result_1.Result.parse(githubShortcodes, EmojiShortcodes)
41
41
  .onValue((data) => {
42
42
  initMapping(data);
43
43
  initMapping(patchedEmojis);
@@ -1 +1 @@
1
- {"version":3,"file":"emoji.js","sourceRoot":"","sources":["../../lib/util/emoji.ts"],"names":[],"mappings":"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","sourcesContent":["import mathiasBynensEmojiRegex from 'emoji-regex';\nimport {\n fromCodepointToUnicode,\n fromHexcodeToCodepoint,\n fromUnicodeToHexcode,\n} from 'emojibase';\nimport emojibaseEmojiRegex from 'emojibase-regex/emoji.js';\nimport SHORTCODE_REGEX from 'emojibase-regex/shortcode.js';\nimport { z } from 'zod';\nimport type { RenovateConfig } from '../config/types';\nimport dataFiles from '../data-files.generated';\nimport { logger } from '../logger';\nimport { regEx } from './regex';\nimport { Result } from './result';\nimport { Json } from './schema-utils';\n\nlet unicodeEmoji = true;\n\nlet mappingsInitialized = false;\nconst shortCodesByHex = new Map<string, string>();\nconst hexCodesByShort = new Map<string, string>();\n\nconst EmojiShortcodesSchema = Json.pipe(\n z.record(\n z.string(),\n z.union([z.string().transform((val) => [val]), z.array(z.string())]),\n ),\n);\ntype EmojiShortcodeMapping = z.infer<typeof EmojiShortcodesSchema>;\n\nconst patchedEmojis: EmojiShortcodeMapping = {\n '26A0-FE0F': ['warning'], // Colorful warning (⚠️) instead of black and white (⚠)\n};\n\nfunction initMapping(mapping: EmojiShortcodeMapping): void {\n for (const [hex, shortcodes] of Object.entries(mapping)) {\n const mainShortcode = `:${shortcodes[0]}:`;\n\n shortCodesByHex.set(hex, mainShortcode);\n shortCodesByHex.set(stripHexCode(hex), mainShortcode);\n\n for (const shortcode of shortcodes) {\n hexCodesByShort.set(`:${shortcode}:`, hex);\n }\n }\n}\n\nfunction lazyInitMappings(): void {\n if (!mappingsInitialized) {\n const githubShortcodes = dataFiles.get(\n 'node_modules/emojibase-data/en/shortcodes/github.json',\n );\n\n Result.parse(githubShortcodes, EmojiShortcodesSchema)\n .onValue((data) => {\n initMapping(data);\n initMapping(patchedEmojis);\n mappingsInitialized = true;\n })\n .onError(\n /* istanbul ignore next */\n (error) => {\n logger.warn({ error }, 'Unable to parse emoji shortcodes');\n },\n );\n }\n}\n\nexport function setEmojiConfig(config: RenovateConfig): void {\n unicodeEmoji = !!config.unicodeEmoji;\n}\n\nconst shortCodeRegex = regEx(SHORTCODE_REGEX.source, 'g');\n\nexport function emojify(text: string): string {\n if (!unicodeEmoji) {\n return text;\n }\n lazyInitMappings();\n return text.replace(shortCodeRegex, (shortCode) => {\n const hexCode = hexCodesByShort.get(shortCode);\n return hexCode\n ? fromCodepointToUnicode(fromHexcodeToCodepoint(hexCode))\n : shortCode;\n });\n}\n\nconst emojiRegexSrc = [emojibaseEmojiRegex, mathiasBynensEmojiRegex()].map(\n ({ source }) => source,\n);\nconst emojiRegex = new RegExp(`(?:${emojiRegexSrc.join('|')})`, 'g'); // TODO #12875 cannot figure it out\nconst excludedModifiers = new Set([\n '20E3',\n '200D',\n 'FE0E',\n 'FE0F',\n '1F3FB',\n '1F3FC',\n '1F3FD',\n '1F3FE',\n '1F3FF',\n '1F9B0',\n '1F9B1',\n '1F9B2',\n '1F9B3',\n]);\n\nexport function stripHexCode(input: string): string {\n return input\n .split('-')\n .filter((modifier) => !excludedModifiers.has(modifier))\n .join('-');\n}\n\nexport function unemojify(text: string): string {\n if (unicodeEmoji) {\n return text;\n }\n lazyInitMappings();\n return text.replace(emojiRegex, (emoji) => {\n const hexCode = stripHexCode(fromUnicodeToHexcode(emoji));\n const shortCode = shortCodesByHex.get(hexCode);\n return shortCode ?? /* istanbul ignore next */ '�';\n });\n}\n\nfunction stripEmoji(emoji: string): string {\n const hexCode = stripHexCode(fromUnicodeToHexcode(emoji));\n // `hexCode` could be empty if `emoji` is a modifier character that isn't\n // modifying anything\n if (hexCode) {\n const codePoint = fromHexcodeToCodepoint(hexCode);\n return fromCodepointToUnicode(codePoint);\n }\n return '';\n}\n\nexport function stripEmojis(input: string): string {\n return input.replace(emojiRegex, stripEmoji);\n}\n"]}
1
+ {"version":3,"file":"emoji.js","sourceRoot":"","sources":["../../lib/util/emoji.ts"],"names":[],"mappings":"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","sourcesContent":["import mathiasBynensEmojiRegex from 'emoji-regex';\nimport {\n fromCodepointToUnicode,\n fromHexcodeToCodepoint,\n fromUnicodeToHexcode,\n} from 'emojibase';\nimport emojibaseEmojiRegex from 'emojibase-regex/emoji.js';\nimport SHORTCODE_REGEX from 'emojibase-regex/shortcode.js';\nimport { z } from 'zod';\nimport type { RenovateConfig } from '../config/types';\nimport dataFiles from '../data-files.generated';\nimport { logger } from '../logger';\nimport { regEx } from './regex';\nimport { Result } from './result';\nimport { Json } from './schema-utils';\n\nlet unicodeEmoji = true;\n\nlet mappingsInitialized = false;\nconst shortCodesByHex = new Map<string, string>();\nconst hexCodesByShort = new Map<string, string>();\n\nconst EmojiShortcodes = Json.pipe(\n z.record(\n z.string(),\n z.union([z.string().transform((val) => [val]), z.array(z.string())]),\n ),\n);\ntype EmojiShortcodeMapping = z.infer<typeof EmojiShortcodes>;\n\nconst patchedEmojis: EmojiShortcodeMapping = {\n '26A0-FE0F': ['warning'], // Colorful warning (⚠️) instead of black and white (⚠)\n};\n\nfunction initMapping(mapping: EmojiShortcodeMapping): void {\n for (const [hex, shortcodes] of Object.entries(mapping)) {\n const mainShortcode = `:${shortcodes[0]}:`;\n\n shortCodesByHex.set(hex, mainShortcode);\n shortCodesByHex.set(stripHexCode(hex), mainShortcode);\n\n for (const shortcode of shortcodes) {\n hexCodesByShort.set(`:${shortcode}:`, hex);\n }\n }\n}\n\nfunction lazyInitMappings(): void {\n if (!mappingsInitialized) {\n const githubShortcodes = dataFiles.get(\n 'node_modules/emojibase-data/en/shortcodes/github.json',\n );\n\n Result.parse(githubShortcodes, EmojiShortcodes)\n .onValue((data) => {\n initMapping(data);\n initMapping(patchedEmojis);\n mappingsInitialized = true;\n })\n .onError(\n /* istanbul ignore next */\n (error) => {\n logger.warn({ error }, 'Unable to parse emoji shortcodes');\n },\n );\n }\n}\n\nexport function setEmojiConfig(config: RenovateConfig): void {\n unicodeEmoji = !!config.unicodeEmoji;\n}\n\nconst shortCodeRegex = regEx(SHORTCODE_REGEX.source, 'g');\n\nexport function emojify(text: string): string {\n if (!unicodeEmoji) {\n return text;\n }\n lazyInitMappings();\n return text.replace(shortCodeRegex, (shortCode) => {\n const hexCode = hexCodesByShort.get(shortCode);\n return hexCode\n ? fromCodepointToUnicode(fromHexcodeToCodepoint(hexCode))\n : shortCode;\n });\n}\n\nconst emojiRegexSrc = [emojibaseEmojiRegex, mathiasBynensEmojiRegex()].map(\n ({ source }) => source,\n);\nconst emojiRegex = new RegExp(`(?:${emojiRegexSrc.join('|')})`, 'g'); // TODO #12875 cannot figure it out\nconst excludedModifiers = new Set([\n '20E3',\n '200D',\n 'FE0E',\n 'FE0F',\n '1F3FB',\n '1F3FC',\n '1F3FD',\n '1F3FE',\n '1F3FF',\n '1F9B0',\n '1F9B1',\n '1F9B2',\n '1F9B3',\n]);\n\nexport function stripHexCode(input: string): string {\n return input\n .split('-')\n .filter((modifier) => !excludedModifiers.has(modifier))\n .join('-');\n}\n\nexport function unemojify(text: string): string {\n if (unicodeEmoji) {\n return text;\n }\n lazyInitMappings();\n return text.replace(emojiRegex, (emoji) => {\n const hexCode = stripHexCode(fromUnicodeToHexcode(emoji));\n const shortCode = shortCodesByHex.get(hexCode);\n return shortCode ?? /* istanbul ignore next */ '�';\n });\n}\n\nfunction stripEmoji(emoji: string): string {\n const hexCode = stripHexCode(fromUnicodeToHexcode(emoji));\n // `hexCode` could be empty if `emoji` is a modifier character that isn't\n // modifying anything\n if (hexCode) {\n const codePoint = fromHexcodeToCodepoint(hexCode);\n return fromCodepointToUnicode(codePoint);\n }\n return '';\n}\n\nexport function stripEmojis(input: string): string {\n return input.replace(emojiRegex, stripEmoji);\n}\n"]}
@@ -45,6 +45,11 @@ const allToolConfig = {
45
45
  packageName: 'containerbase/composer-prebuild',
46
46
  versioning: composer_1.id,
47
47
  },
48
+ conan: {
49
+ datasource: 'pypi',
50
+ packageName: 'conan',
51
+ versioning: pep440_1.id,
52
+ },
48
53
  copier: {
49
54
  datasource: 'pypi',
50
55
  packageName: 'copier',
@@ -1 +1 @@
1
- {"version":3,"file":"containerbase.js","sourceRoot":"","sources":["../../../lib/util/exec/containerbase.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport { GlobalConfig } from '../../config/global';\nimport { logger } from '../../logger';\nimport type { ReleaseResult } from '../../modules/datasource';\nimport * as allVersioning from '../../modules/versioning';\nimport { id as composerVersioningId } from '../../modules/versioning/composer';\nimport { id as condaVersioningId } from '../../modules/versioning/conda';\nimport { id as gradleVersioningId } from '../../modules/versioning/gradle';\nimport { id as mavenVersioningId } from '../../modules/versioning/maven';\nimport { id as nodeVersioningId } from '../../modules/versioning/node';\nimport { id as npmVersioningId } from '../../modules/versioning/npm';\nimport { id as pep440VersioningId } from '../../modules/versioning/pep440';\nimport { id as pythonVersioningId } from '../../modules/versioning/python';\nimport { id as rubyVersioningId } from '../../modules/versioning/ruby';\nimport { id as semverVersioningId } from '../../modules/versioning/semver';\nimport { id as semverCoercedVersioningId } from '../../modules/versioning/semver-coerced';\nimport { getEnv } from '../env';\nimport type { Opt, ToolConfig, ToolConstraint } from './types';\n\nconst allToolConfig: Record<string, ToolConfig> = {\n bun: {\n datasource: 'github-releases',\n packageName: 'oven-sh/bun',\n extractVersion: '^bun-v(?<version>.*)$',\n versioning: npmVersioningId,\n },\n bundler: {\n datasource: 'rubygems',\n packageName: 'bundler',\n versioning: rubyVersioningId,\n },\n cocoapods: {\n datasource: 'rubygems',\n packageName: 'cocoapods',\n versioning: rubyVersioningId,\n },\n composer: {\n datasource: 'github-releases',\n packageName: 'containerbase/composer-prebuild',\n versioning: composerVersioningId,\n },\n copier: {\n datasource: 'pypi',\n packageName: 'copier',\n versioning: pep440VersioningId,\n },\n corepack: {\n datasource: 'npm',\n packageName: 'corepack',\n versioning: npmVersioningId,\n },\n devbox: {\n datasource: 'github-releases',\n packageName: 'jetify-com/devbox',\n versioning: semverVersioningId,\n },\n dotnet: {\n datasource: 'dotnet-version',\n packageName: 'dotnet-sdk',\n versioning: semverVersioningId,\n },\n erlang: {\n datasource: 'github-releases',\n packageName: 'containerbase/erlang-prebuild',\n versioning: semverCoercedVersioningId,\n },\n elixir: {\n datasource: 'github-releases',\n packageName: 'elixir-lang/elixir',\n versioning: semverVersioningId,\n },\n flux: {\n datasource: 'github-releases',\n packageName: 'fluxcd/flux2',\n versioning: semverVersioningId,\n },\n gleam: {\n datasource: 'github-releases',\n packageName: 'gleam-lang/gleam',\n versioning: semverVersioningId,\n },\n golang: {\n datasource: 'github-releases',\n packageName: 'containerbase/golang-prebuild',\n versioning: npmVersioningId,\n },\n gradle: {\n datasource: 'gradle-version',\n packageName: 'gradle',\n versioning: gradleVersioningId,\n },\n hashin: {\n datasource: 'pypi',\n packageName: 'hashin',\n versioning: pep440VersioningId,\n },\n helm: {\n datasource: 'github-releases',\n packageName: 'helm/helm',\n versioning: semverVersioningId,\n },\n helmfile: {\n datasource: 'github-releases',\n packageName: 'helmfile/helmfile',\n versioning: semverVersioningId,\n },\n java: {\n datasource: 'java-version',\n packageName: 'java?system=true',\n versioning: npmVersioningId,\n },\n /* not used in Renovate */\n 'java-maven': {\n datasource: 'java-version',\n packageName: 'java?system=true',\n versioning: mavenVersioningId,\n },\n jb: {\n datasource: 'github-releases',\n packageName: 'jsonnet-bundler/jsonnet-bundler',\n versioning: semverVersioningId,\n },\n kustomize: {\n datasource: 'github-releases',\n packageName: 'kubernetes-sigs/kustomize',\n extractVersion: '^kustomize/v(?<version>.*)$',\n versioning: semverVersioningId,\n },\n maven: {\n datasource: 'github-releases',\n packageName: 'containerbase/maven-prebuild',\n versioning: mavenVersioningId,\n },\n nix: {\n datasource: 'github-releases',\n packageName: 'containerbase/nix-prebuild',\n versioning: semverVersioningId,\n },\n node: {\n datasource: 'github-releases',\n packageName: 'containerbase/node-prebuild',\n versioning: nodeVersioningId,\n },\n npm: {\n datasource: 'npm',\n packageName: 'npm',\n hash: true,\n versioning: npmVersioningId,\n },\n pdm: {\n datasource: 'github-releases',\n packageName: 'pdm-project/pdm',\n versioning: semverVersioningId,\n },\n php: {\n datasource: 'github-releases',\n packageName: 'containerbase/php-prebuild',\n versioning: composerVersioningId,\n },\n 'pip-tools': {\n datasource: 'pypi',\n packageName: 'pip-tools',\n versioning: pep440VersioningId,\n },\n pipenv: {\n datasource: 'pypi',\n packageName: 'pipenv',\n versioning: pep440VersioningId,\n },\n pnpm: {\n datasource: 'npm',\n packageName: 'pnpm',\n versioning: npmVersioningId,\n },\n pixi: {\n datasource: 'github-releases',\n packageName: 'prefix-dev/pixi',\n versioning: condaVersioningId,\n extractVersion: '^v(?<version>.*)$',\n },\n poetry: {\n datasource: 'pypi',\n packageName: 'poetry',\n versioning: pep440VersioningId,\n },\n python: {\n datasource: 'github-releases',\n packageName: 'containerbase/python-prebuild',\n versioning: pythonVersioningId,\n },\n ruby: {\n datasource: 'github-releases',\n packageName: 'containerbase/ruby-prebuild',\n versioning: rubyVersioningId,\n },\n rust: {\n datasource: 'docker',\n packageName: 'rust',\n versioning: semverVersioningId,\n },\n uv: {\n datasource: 'pypi',\n packageName: 'uv',\n versioning: pep440VersioningId,\n },\n yarn: {\n datasource: 'npm',\n packageName: 'yarn',\n versioning: npmVersioningId,\n },\n 'yarn-slim': {\n datasource: 'npm',\n packageName: 'yarn',\n versioning: npmVersioningId,\n },\n dart: {\n datasource: 'dart-version',\n packageName: 'dart',\n versioning: npmVersioningId,\n },\n flutter: {\n datasource: 'github-releases',\n packageName: 'containerbase/flutter-prebuild',\n versioning: npmVersioningId,\n },\n vendir: {\n datasource: 'github-releases',\n packageName: 'carvel-dev/vendir',\n versioning: semverVersioningId,\n },\n};\n\nlet _getPkgReleases: Promise<typeof import('../../modules/datasource')> | null =\n null;\n\nasync function getPkgReleases(\n toolConfig: ToolConfig,\n): Promise<ReleaseResult | null> {\n _getPkgReleases ??= import('../../modules/datasource/index.js');\n const { getPkgReleases } = await _getPkgReleases;\n return getPkgReleases(toolConfig);\n}\n\nexport function supportsDynamicInstall(toolName: string): boolean {\n return !!allToolConfig[toolName];\n}\n\nexport function isContainerbase(): boolean {\n return !!getEnv().CONTAINERBASE;\n}\n\nexport function isDynamicInstall(\n toolConstraints?: Opt<ToolConstraint[]>,\n): boolean {\n if (GlobalConfig.get('binarySource') !== 'install') {\n return false;\n }\n if (!isContainerbase()) {\n logger.debug('Falling back to binarySource=global');\n return false;\n }\n return (\n !toolConstraints ||\n toolConstraints.every((toolConstraint) =>\n supportsDynamicInstall(toolConstraint.toolName),\n )\n );\n}\n\nfunction isStable(\n version: string,\n versioningApi: allVersioning.VersioningApi,\n latest?: string,\n): boolean {\n if (!versioningApi.isStable(version)) {\n return false;\n }\n if (is.string(latest)) {\n if (versioningApi.isGreaterThan(version, latest)) {\n return false;\n }\n }\n return true;\n}\n\nexport async function resolveConstraint(\n toolConstraint: ToolConstraint,\n): Promise<string> {\n const { toolName } = toolConstraint;\n const toolConfig = allToolConfig[toolName];\n if (!toolConfig) {\n throw new Error(`Invalid tool to install: ${toolName}`);\n }\n\n const versioning = allVersioning.get(toolConfig.versioning);\n let constraint = toolConstraint.constraint;\n if (constraint) {\n if (versioning.isValid(constraint)) {\n if (versioning.isSingleVersion(constraint)) {\n return constraint.replace(/^=+/, '').trim();\n }\n } else {\n logger.warn(\n { toolName, constraint, versioning: toolConfig.versioning },\n 'Invalid tool constraint',\n );\n constraint = undefined;\n }\n }\n\n const pkgReleases = await getPkgReleases(toolConfig);\n const releases = pkgReleases?.releases ?? [];\n\n if (!releases?.length) {\n logger.warn({ toolConfig }, 'No tool releases found.');\n throw new Error('No tool releases found.');\n }\n\n const matchingReleases = releases.filter(\n (r) => !constraint || versioning.matches(r.version, constraint),\n );\n\n const stableMatchingVersion = matchingReleases\n .filter((r) => isStable(r.version, versioning, pkgReleases?.tags?.latest))\n .pop()?.version;\n if (stableMatchingVersion) {\n logger.debug(\n { toolName, constraint, resolvedVersion: stableMatchingVersion },\n 'Resolved stable matching version',\n );\n return stableMatchingVersion;\n }\n\n const unstableMatchingVersion = matchingReleases.pop()?.version;\n if (unstableMatchingVersion) {\n logger.debug(\n { toolName, constraint, resolvedVersion: unstableMatchingVersion },\n 'Resolved unstable matching version',\n );\n return unstableMatchingVersion;\n }\n\n const stableVersion = releases\n .filter((r) => isStable(r.version, versioning, pkgReleases?.tags?.latest))\n .pop()?.version;\n if (stableVersion) {\n logger.warn(\n { toolName, constraint, stableVersion },\n 'No matching tool versions found for constraint - using latest stable version',\n );\n }\n\n const highestVersion = releases.pop()!.version;\n logger.warn(\n { toolName, constraint, highestVersion },\n 'No matching or stable tool versions found - using an unstable version',\n );\n return highestVersion;\n}\n\nexport async function generateInstallCommands(\n toolConstraints: Opt<ToolConstraint[]>,\n): Promise<string[]> {\n const installCommands: string[] = [];\n if (toolConstraints?.length) {\n for (const toolConstraint of toolConstraints) {\n const toolVersion = await resolveConstraint(toolConstraint);\n const { toolName } = toolConstraint;\n const installCommand = `install-tool ${toolName} ${quote(toolVersion)}`;\n installCommands.push(installCommand);\n if (allToolConfig[toolName].hash) {\n installCommands.push(`hash -d ${toolName} 2>/dev/null || true`);\n }\n }\n }\n return installCommands;\n}\n"]}
1
+ {"version":3,"file":"containerbase.js","sourceRoot":"","sources":["../../../lib/util/exec/containerbase.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport { GlobalConfig } from '../../config/global';\nimport { logger } from '../../logger';\nimport type { ReleaseResult } from '../../modules/datasource';\nimport * as allVersioning from '../../modules/versioning';\nimport { id as composerVersioningId } from '../../modules/versioning/composer';\nimport { id as condaVersioningId } from '../../modules/versioning/conda';\nimport { id as gradleVersioningId } from '../../modules/versioning/gradle';\nimport { id as mavenVersioningId } from '../../modules/versioning/maven';\nimport { id as nodeVersioningId } from '../../modules/versioning/node';\nimport { id as npmVersioningId } from '../../modules/versioning/npm';\nimport { id as pep440VersioningId } from '../../modules/versioning/pep440';\nimport { id as pythonVersioningId } from '../../modules/versioning/python';\nimport { id as rubyVersioningId } from '../../modules/versioning/ruby';\nimport { id as semverVersioningId } from '../../modules/versioning/semver';\nimport { id as semverCoercedVersioningId } from '../../modules/versioning/semver-coerced';\nimport { getEnv } from '../env';\nimport type { Opt, ToolConfig, ToolConstraint } from './types';\n\nconst allToolConfig: Record<string, ToolConfig> = {\n bun: {\n datasource: 'github-releases',\n packageName: 'oven-sh/bun',\n extractVersion: '^bun-v(?<version>.*)$',\n versioning: npmVersioningId,\n },\n bundler: {\n datasource: 'rubygems',\n packageName: 'bundler',\n versioning: rubyVersioningId,\n },\n cocoapods: {\n datasource: 'rubygems',\n packageName: 'cocoapods',\n versioning: rubyVersioningId,\n },\n composer: {\n datasource: 'github-releases',\n packageName: 'containerbase/composer-prebuild',\n versioning: composerVersioningId,\n },\n conan: {\n datasource: 'pypi',\n packageName: 'conan',\n versioning: pep440VersioningId,\n },\n copier: {\n datasource: 'pypi',\n packageName: 'copier',\n versioning: pep440VersioningId,\n },\n corepack: {\n datasource: 'npm',\n packageName: 'corepack',\n versioning: npmVersioningId,\n },\n devbox: {\n datasource: 'github-releases',\n packageName: 'jetify-com/devbox',\n versioning: semverVersioningId,\n },\n dotnet: {\n datasource: 'dotnet-version',\n packageName: 'dotnet-sdk',\n versioning: semverVersioningId,\n },\n erlang: {\n datasource: 'github-releases',\n packageName: 'containerbase/erlang-prebuild',\n versioning: semverCoercedVersioningId,\n },\n elixir: {\n datasource: 'github-releases',\n packageName: 'elixir-lang/elixir',\n versioning: semverVersioningId,\n },\n flux: {\n datasource: 'github-releases',\n packageName: 'fluxcd/flux2',\n versioning: semverVersioningId,\n },\n gleam: {\n datasource: 'github-releases',\n packageName: 'gleam-lang/gleam',\n versioning: semverVersioningId,\n },\n golang: {\n datasource: 'github-releases',\n packageName: 'containerbase/golang-prebuild',\n versioning: npmVersioningId,\n },\n gradle: {\n datasource: 'gradle-version',\n packageName: 'gradle',\n versioning: gradleVersioningId,\n },\n hashin: {\n datasource: 'pypi',\n packageName: 'hashin',\n versioning: pep440VersioningId,\n },\n helm: {\n datasource: 'github-releases',\n packageName: 'helm/helm',\n versioning: semverVersioningId,\n },\n helmfile: {\n datasource: 'github-releases',\n packageName: 'helmfile/helmfile',\n versioning: semverVersioningId,\n },\n java: {\n datasource: 'java-version',\n packageName: 'java?system=true',\n versioning: npmVersioningId,\n },\n /* not used in Renovate */\n 'java-maven': {\n datasource: 'java-version',\n packageName: 'java?system=true',\n versioning: mavenVersioningId,\n },\n jb: {\n datasource: 'github-releases',\n packageName: 'jsonnet-bundler/jsonnet-bundler',\n versioning: semverVersioningId,\n },\n kustomize: {\n datasource: 'github-releases',\n packageName: 'kubernetes-sigs/kustomize',\n extractVersion: '^kustomize/v(?<version>.*)$',\n versioning: semverVersioningId,\n },\n maven: {\n datasource: 'github-releases',\n packageName: 'containerbase/maven-prebuild',\n versioning: mavenVersioningId,\n },\n nix: {\n datasource: 'github-releases',\n packageName: 'containerbase/nix-prebuild',\n versioning: semverVersioningId,\n },\n node: {\n datasource: 'github-releases',\n packageName: 'containerbase/node-prebuild',\n versioning: nodeVersioningId,\n },\n npm: {\n datasource: 'npm',\n packageName: 'npm',\n hash: true,\n versioning: npmVersioningId,\n },\n pdm: {\n datasource: 'github-releases',\n packageName: 'pdm-project/pdm',\n versioning: semverVersioningId,\n },\n php: {\n datasource: 'github-releases',\n packageName: 'containerbase/php-prebuild',\n versioning: composerVersioningId,\n },\n 'pip-tools': {\n datasource: 'pypi',\n packageName: 'pip-tools',\n versioning: pep440VersioningId,\n },\n pipenv: {\n datasource: 'pypi',\n packageName: 'pipenv',\n versioning: pep440VersioningId,\n },\n pnpm: {\n datasource: 'npm',\n packageName: 'pnpm',\n versioning: npmVersioningId,\n },\n pixi: {\n datasource: 'github-releases',\n packageName: 'prefix-dev/pixi',\n versioning: condaVersioningId,\n extractVersion: '^v(?<version>.*)$',\n },\n poetry: {\n datasource: 'pypi',\n packageName: 'poetry',\n versioning: pep440VersioningId,\n },\n python: {\n datasource: 'github-releases',\n packageName: 'containerbase/python-prebuild',\n versioning: pythonVersioningId,\n },\n ruby: {\n datasource: 'github-releases',\n packageName: 'containerbase/ruby-prebuild',\n versioning: rubyVersioningId,\n },\n rust: {\n datasource: 'docker',\n packageName: 'rust',\n versioning: semverVersioningId,\n },\n uv: {\n datasource: 'pypi',\n packageName: 'uv',\n versioning: pep440VersioningId,\n },\n yarn: {\n datasource: 'npm',\n packageName: 'yarn',\n versioning: npmVersioningId,\n },\n 'yarn-slim': {\n datasource: 'npm',\n packageName: 'yarn',\n versioning: npmVersioningId,\n },\n dart: {\n datasource: 'dart-version',\n packageName: 'dart',\n versioning: npmVersioningId,\n },\n flutter: {\n datasource: 'github-releases',\n packageName: 'containerbase/flutter-prebuild',\n versioning: npmVersioningId,\n },\n vendir: {\n datasource: 'github-releases',\n packageName: 'carvel-dev/vendir',\n versioning: semverVersioningId,\n },\n};\n\nlet _getPkgReleases: Promise<typeof import('../../modules/datasource')> | null =\n null;\n\nasync function getPkgReleases(\n toolConfig: ToolConfig,\n): Promise<ReleaseResult | null> {\n _getPkgReleases ??= import('../../modules/datasource/index.js');\n const { getPkgReleases } = await _getPkgReleases;\n return getPkgReleases(toolConfig);\n}\n\nexport function supportsDynamicInstall(toolName: string): boolean {\n return !!allToolConfig[toolName];\n}\n\nexport function isContainerbase(): boolean {\n return !!getEnv().CONTAINERBASE;\n}\n\nexport function isDynamicInstall(\n toolConstraints?: Opt<ToolConstraint[]>,\n): boolean {\n if (GlobalConfig.get('binarySource') !== 'install') {\n return false;\n }\n if (!isContainerbase()) {\n logger.debug('Falling back to binarySource=global');\n return false;\n }\n return (\n !toolConstraints ||\n toolConstraints.every((toolConstraint) =>\n supportsDynamicInstall(toolConstraint.toolName),\n )\n );\n}\n\nfunction isStable(\n version: string,\n versioningApi: allVersioning.VersioningApi,\n latest?: string,\n): boolean {\n if (!versioningApi.isStable(version)) {\n return false;\n }\n if (is.string(latest)) {\n if (versioningApi.isGreaterThan(version, latest)) {\n return false;\n }\n }\n return true;\n}\n\nexport async function resolveConstraint(\n toolConstraint: ToolConstraint,\n): Promise<string> {\n const { toolName } = toolConstraint;\n const toolConfig = allToolConfig[toolName];\n if (!toolConfig) {\n throw new Error(`Invalid tool to install: ${toolName}`);\n }\n\n const versioning = allVersioning.get(toolConfig.versioning);\n let constraint = toolConstraint.constraint;\n if (constraint) {\n if (versioning.isValid(constraint)) {\n if (versioning.isSingleVersion(constraint)) {\n return constraint.replace(/^=+/, '').trim();\n }\n } else {\n logger.warn(\n { toolName, constraint, versioning: toolConfig.versioning },\n 'Invalid tool constraint',\n );\n constraint = undefined;\n }\n }\n\n const pkgReleases = await getPkgReleases(toolConfig);\n const releases = pkgReleases?.releases ?? [];\n\n if (!releases?.length) {\n logger.warn({ toolConfig }, 'No tool releases found.');\n throw new Error('No tool releases found.');\n }\n\n const matchingReleases = releases.filter(\n (r) => !constraint || versioning.matches(r.version, constraint),\n );\n\n const stableMatchingVersion = matchingReleases\n .filter((r) => isStable(r.version, versioning, pkgReleases?.tags?.latest))\n .pop()?.version;\n if (stableMatchingVersion) {\n logger.debug(\n { toolName, constraint, resolvedVersion: stableMatchingVersion },\n 'Resolved stable matching version',\n );\n return stableMatchingVersion;\n }\n\n const unstableMatchingVersion = matchingReleases.pop()?.version;\n if (unstableMatchingVersion) {\n logger.debug(\n { toolName, constraint, resolvedVersion: unstableMatchingVersion },\n 'Resolved unstable matching version',\n );\n return unstableMatchingVersion;\n }\n\n const stableVersion = releases\n .filter((r) => isStable(r.version, versioning, pkgReleases?.tags?.latest))\n .pop()?.version;\n if (stableVersion) {\n logger.warn(\n { toolName, constraint, stableVersion },\n 'No matching tool versions found for constraint - using latest stable version',\n );\n }\n\n const highestVersion = releases.pop()!.version;\n logger.warn(\n { toolName, constraint, highestVersion },\n 'No matching or stable tool versions found - using an unstable version',\n );\n return highestVersion;\n}\n\nexport async function generateInstallCommands(\n toolConstraints: Opt<ToolConstraint[]>,\n): Promise<string[]> {\n const installCommands: string[] = [];\n if (toolConstraints?.length) {\n for (const toolConstraint of toolConstraints) {\n const toolVersion = await resolveConstraint(toolConstraint);\n const { toolName } = toolConstraint;\n const installCommand = `install-tool ${toolName} ${quote(toolVersion)}`;\n installCommands.push(installCommand);\n if (allToolConfig[toolName].hash) {\n installCommands.push(`hash -d ${toolName} 2>/dev/null || true`);\n }\n }\n }\n return installCommands;\n}\n"]}
@@ -61,8 +61,10 @@ const external_host_error_1 = require("../../types/errors/external-host-error");
61
61
  const limits_1 = require("../../workers/global/limits");
62
62
  const repository_1 = require("../cache/repository");
63
63
  const env_1 = require("../env");
64
+ const utils_1 = require("../exec/utils");
64
65
  const regex_1 = require("../regex");
65
66
  const string_match_1 = require("../string-match");
67
+ const auth_1 = require("./auth");
66
68
  const author_1 = require("./author");
67
69
  const behind_base_branch_cache_1 = require("./behind-base-branch-cache");
68
70
  const config_1 = require("./config");
@@ -337,6 +339,7 @@ async function cloneSubmodules(shouldClone, cloneSubmodulesFilter) {
337
339
  return;
338
340
  }
339
341
  submodulesInitizialized = true;
342
+ const gitEnv = (0, utils_1.getChildEnv)({ env: (0, auth_1.getGitEnvironmentVariables)() });
340
343
  await syncGit();
341
344
  const submodules = await getSubmodules();
342
345
  for (const submodule of submodules) {
@@ -346,7 +349,7 @@ async function cloneSubmodules(shouldClone, cloneSubmodulesFilter) {
346
349
  }
347
350
  try {
348
351
  logger_1.logger.debug(`Cloning git submodule at ${submodule}`);
349
- await gitRetry(() => git.submoduleUpdate(['--init', '--recursive', submodule]));
352
+ await gitRetry(() => git.env(gitEnv).submoduleUpdate(['--init', '--recursive', submodule]));
350
353
  }
351
354
  catch (err) {
352
355
  logger_1.logger.warn({ err, submodule }, `Unable to initialise git submodule`);
@@ -500,7 +503,7 @@ function branchExists(branchName) {
500
503
  }
501
504
  // Return the commit SHA for a branch
502
505
  function getBranchCommit(branchName) {
503
- return config.branchCommits[branchName] || null;
506
+ return config.branchCommits?.[branchName] || null;
504
507
  }
505
508
  async function getCommitMessages() {
506
509
  logger_1.logger.debug('getCommitMessages');
@@ -1005,7 +1008,7 @@ async function prepareCommit({ branchName, files, message, force = false, }) {
1005
1008
  }
1006
1009
  try {
1007
1010
  /* v8 ignore next 2 -- TODO: add test */
1008
- const addParams = fileName === app_strings_1.configFileNames[0] ? ['-f', fileName] : fileName;
1011
+ const addParams = fileName === (0, app_strings_1.getConfigFileNames)()[0] ? ['-f', fileName] : fileName;
1009
1012
  await git.add(addParams);
1010
1013
  if (file.isExecutable) {
1011
1014
  await git.raw(['update-index', '--chmod=+x', fileName]);