renovate 40.0.0-next.26 → 40.0.0-next.27

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 (520) hide show
  1. package/dist/config/decrypt.js +1 -1
  2. package/dist/config/decrypt.js.map +1 -1
  3. package/dist/config/migrate-validate.js +2 -2
  4. package/dist/config/migrate-validate.js.map +1 -1
  5. package/dist/config/migration.js +1 -1
  6. package/dist/config/migration.js.map +1 -1
  7. package/dist/config/options/index.js +2 -1
  8. package/dist/config/options/index.js.map +1 -1
  9. package/dist/config/presets/internal/group.js +30 -1
  10. package/dist/config/presets/internal/group.js.map +1 -1
  11. package/dist/config/presets/internal/workarounds.js +1 -0
  12. package/dist/config/presets/internal/workarounds.js.map +1 -1
  13. package/dist/config/presets/parse.js +2 -1
  14. package/dist/config/presets/parse.js.map +1 -1
  15. package/dist/config/types.d.ts +4 -1
  16. package/dist/config/types.js.map +1 -1
  17. package/dist/config/validation.js +2 -2
  18. package/dist/config/validation.js.map +1 -1
  19. package/dist/data/monorepo.json +3 -0
  20. package/dist/data/source-urls.json +1 -0
  21. package/dist/instrumentation/index.js +14 -12
  22. package/dist/instrumentation/index.js.map +1 -1
  23. package/dist/logger/index.js +1 -1
  24. package/dist/logger/index.js.map +1 -1
  25. package/dist/logger/once.js +2 -2
  26. package/dist/logger/once.js.map +1 -1
  27. package/dist/logger/renovate-logger.js +1 -1
  28. package/dist/logger/renovate-logger.js.map +1 -1
  29. package/dist/logger/utils.js +1 -1
  30. package/dist/logger/utils.js.map +1 -1
  31. package/dist/modules/datasource/api.js +2 -0
  32. package/dist/modules/datasource/api.js.map +1 -1
  33. package/dist/modules/datasource/artifactory/index.js +0 -1
  34. package/dist/modules/datasource/artifactory/index.js.map +1 -1
  35. package/dist/modules/datasource/aws-eks-addon/index.d.ts +11 -0
  36. package/dist/modules/datasource/aws-eks-addon/index.js +75 -0
  37. package/dist/modules/datasource/aws-eks-addon/index.js.map +1 -0
  38. package/dist/modules/datasource/aws-eks-addon/schema.d.ts +40 -0
  39. package/dist/modules/datasource/aws-eks-addon/schema.js +31 -0
  40. package/dist/modules/datasource/aws-eks-addon/schema.js.map +1 -0
  41. package/dist/modules/datasource/aws-machine-image/index.js +6 -5
  42. package/dist/modules/datasource/aws-machine-image/index.js.map +1 -1
  43. package/dist/modules/datasource/bazel/index.js +0 -1
  44. package/dist/modules/datasource/bazel/index.js.map +1 -1
  45. package/dist/modules/datasource/bitrise/index.js +1 -1
  46. package/dist/modules/datasource/bitrise/index.js.map +1 -1
  47. package/dist/modules/datasource/cdnjs/schema.d.ts +2 -2
  48. package/dist/modules/datasource/conda/index.js +18 -1
  49. package/dist/modules/datasource/conda/index.js.map +1 -1
  50. package/dist/modules/datasource/conda/prefix-dev.d.ts +3 -0
  51. package/dist/modules/datasource/conda/prefix-dev.js +83 -0
  52. package/dist/modules/datasource/conda/prefix-dev.js.map +1 -0
  53. package/dist/modules/datasource/conda/schema/prefix-dev.d.ts +189 -0
  54. package/dist/modules/datasource/conda/schema/prefix-dev.js +31 -0
  55. package/dist/modules/datasource/conda/schema/prefix-dev.js.map +1 -0
  56. package/dist/modules/datasource/conda/types.d.ts +1 -20
  57. package/dist/modules/datasource/conda/types.js.map +1 -1
  58. package/dist/modules/datasource/cpan/index.js +1 -1
  59. package/dist/modules/datasource/cpan/index.js.map +1 -1
  60. package/dist/modules/datasource/crate/index.js +2 -2
  61. package/dist/modules/datasource/crate/index.js.map +1 -1
  62. package/dist/modules/datasource/custom/index.js +4 -2
  63. package/dist/modules/datasource/custom/index.js.map +1 -1
  64. package/dist/modules/datasource/custom/schema.d.ts +27 -27
  65. package/dist/modules/datasource/custom/utils.js +1 -0
  66. package/dist/modules/datasource/custom/utils.js.map +1 -1
  67. package/dist/modules/datasource/dart/index.js +1 -1
  68. package/dist/modules/datasource/dart/index.js.map +1 -1
  69. package/dist/modules/datasource/dart-version/index.js +1 -1
  70. package/dist/modules/datasource/dart-version/index.js.map +1 -1
  71. package/dist/modules/datasource/datasource.js +0 -1
  72. package/dist/modules/datasource/datasource.js.map +1 -1
  73. package/dist/modules/datasource/deb/index.js +1 -1
  74. package/dist/modules/datasource/deb/index.js.map +1 -1
  75. package/dist/modules/datasource/deno/index.js +1 -1
  76. package/dist/modules/datasource/deno/index.js.map +1 -1
  77. package/dist/modules/datasource/deno/schema.d.ts +7 -7
  78. package/dist/modules/datasource/devbox/index.js +0 -1
  79. package/dist/modules/datasource/devbox/index.js.map +1 -1
  80. package/dist/modules/datasource/docker/common.js +4 -1
  81. package/dist/modules/datasource/docker/common.js.map +1 -1
  82. package/dist/modules/datasource/docker/index.js +5 -5
  83. package/dist/modules/datasource/docker/index.js.map +1 -1
  84. package/dist/modules/datasource/docker/schema.d.ts +27 -27
  85. package/dist/modules/datasource/docker/schema.js +2 -1
  86. package/dist/modules/datasource/docker/schema.js.map +1 -1
  87. package/dist/modules/datasource/flutter-version/index.js +1 -1
  88. package/dist/modules/datasource/flutter-version/index.js.map +1 -1
  89. package/dist/modules/datasource/galaxy-collection/schema.d.ts +5 -5
  90. package/dist/modules/datasource/git-refs/index.js +1 -1
  91. package/dist/modules/datasource/git-refs/index.js.map +1 -1
  92. package/dist/modules/datasource/gitea-releases/schema.d.ts +6 -6
  93. package/dist/modules/datasource/gitlab-packages/index.js +1 -1
  94. package/dist/modules/datasource/gitlab-packages/index.js.map +1 -1
  95. package/dist/modules/datasource/gitlab-releases/index.js +1 -3
  96. package/dist/modules/datasource/gitlab-releases/index.js.map +1 -1
  97. package/dist/modules/datasource/go/index.js +1 -1
  98. package/dist/modules/datasource/go/index.js.map +1 -1
  99. package/dist/modules/datasource/go/releases-direct.js +7 -4
  100. package/dist/modules/datasource/go/releases-direct.js.map +1 -1
  101. package/dist/modules/datasource/golang-version/index.js +1 -1
  102. package/dist/modules/datasource/golang-version/index.js.map +1 -1
  103. package/dist/modules/datasource/gradle-version/index.js +1 -1
  104. package/dist/modules/datasource/gradle-version/index.js.map +1 -1
  105. package/dist/modules/datasource/helm/index.js +1 -1
  106. package/dist/modules/datasource/helm/index.js.map +1 -1
  107. package/dist/modules/datasource/hex/index.js +1 -1
  108. package/dist/modules/datasource/hex/index.js.map +1 -1
  109. package/dist/modules/datasource/index.js +2 -2
  110. package/dist/modules/datasource/index.js.map +1 -1
  111. package/dist/modules/datasource/java-version/index.js +0 -1
  112. package/dist/modules/datasource/java-version/index.js.map +1 -1
  113. package/dist/modules/datasource/jenkins-plugins/index.js +1 -1
  114. package/dist/modules/datasource/jenkins-plugins/index.js.map +1 -1
  115. package/dist/modules/datasource/maven/index.js +35 -27
  116. package/dist/modules/datasource/maven/index.js.map +1 -1
  117. package/dist/modules/datasource/maven/types.d.ts +3 -6
  118. package/dist/modules/datasource/maven/types.js.map +1 -1
  119. package/dist/modules/datasource/maven/util.d.ts +4 -5
  120. package/dist/modules/datasource/maven/util.js +93 -156
  121. package/dist/modules/datasource/maven/util.js.map +1 -1
  122. package/dist/modules/datasource/node-version/index.js +1 -1
  123. package/dist/modules/datasource/node-version/index.js.map +1 -1
  124. package/dist/modules/datasource/npm/index.js +1 -1
  125. package/dist/modules/datasource/npm/index.js.map +1 -1
  126. package/dist/modules/datasource/npm/npmrc.js +1 -1
  127. package/dist/modules/datasource/npm/npmrc.js.map +1 -1
  128. package/dist/modules/datasource/nuget/index.js +1 -1
  129. package/dist/modules/datasource/nuget/index.js.map +1 -1
  130. package/dist/modules/datasource/nuget/v3.js +5 -5
  131. package/dist/modules/datasource/nuget/v3.js.map +1 -1
  132. package/dist/modules/datasource/orb/index.js +1 -1
  133. package/dist/modules/datasource/orb/index.js.map +1 -1
  134. package/dist/modules/datasource/packagist/index.js +2 -2
  135. package/dist/modules/datasource/packagist/index.js.map +1 -1
  136. package/dist/modules/datasource/packagist/schema.d.ts +18 -18
  137. package/dist/modules/datasource/pod/index.js +1 -1
  138. package/dist/modules/datasource/pod/index.js.map +1 -1
  139. package/dist/modules/datasource/postprocess-release.js +1 -1
  140. package/dist/modules/datasource/postprocess-release.js.map +1 -1
  141. package/dist/modules/datasource/python-version/index.js +1 -1
  142. package/dist/modules/datasource/python-version/index.js.map +1 -1
  143. package/dist/modules/datasource/repology/index.js +1 -1
  144. package/dist/modules/datasource/repology/index.js.map +1 -1
  145. package/dist/modules/datasource/rubygems/index.js +1 -1
  146. package/dist/modules/datasource/rubygems/index.js.map +1 -1
  147. package/dist/modules/datasource/sbt-package/index.js +1 -1
  148. package/dist/modules/datasource/sbt-package/index.js.map +1 -1
  149. package/dist/modules/datasource/sbt-plugin/index.js +1 -1
  150. package/dist/modules/datasource/sbt-plugin/index.js.map +1 -1
  151. package/dist/modules/datasource/schema.d.ts +4 -4
  152. package/dist/modules/datasource/terraform-module/index.js +1 -1
  153. package/dist/modules/datasource/terraform-module/index.js.map +1 -1
  154. package/dist/modules/datasource/terraform-provider/index.js +1 -2
  155. package/dist/modules/datasource/terraform-provider/index.js.map +1 -1
  156. package/dist/modules/datasource/types.d.ts +1 -0
  157. package/dist/modules/datasource/types.js.map +1 -1
  158. package/dist/modules/manager/api.js +2 -0
  159. package/dist/modules/manager/api.js.map +1 -1
  160. package/dist/modules/manager/argocd/extract.js +1 -1
  161. package/dist/modules/manager/argocd/extract.js.map +1 -1
  162. package/dist/modules/manager/asdf/upgradeable-tooling.js +94 -0
  163. package/dist/modules/manager/asdf/upgradeable-tooling.js.map +1 -1
  164. package/dist/modules/manager/azure-pipelines/schema.d.ts +24 -24
  165. package/dist/modules/manager/batect/schema.d.ts +2 -2
  166. package/dist/modules/manager/bazel/rules/docker.d.ts +3 -3
  167. package/dist/modules/manager/bazel/rules/git.js +2 -1
  168. package/dist/modules/manager/bazel/rules/git.js.map +1 -1
  169. package/dist/modules/manager/bazel/rules/maven.d.ts +7 -7
  170. package/dist/modules/manager/bazel/rules/oci.d.ts +3 -3
  171. package/dist/modules/manager/bazel-module/parser/maven.d.ts +13 -13
  172. package/dist/modules/manager/bun/artifacts.js +0 -1
  173. package/dist/modules/manager/bun/artifacts.js.map +1 -1
  174. package/dist/modules/manager/bundler/artifacts.js +0 -1
  175. package/dist/modules/manager/bundler/artifacts.js.map +1 -1
  176. package/dist/modules/manager/bundler/extract.js +2 -1
  177. package/dist/modules/manager/bundler/extract.js.map +1 -1
  178. package/dist/modules/manager/cake/index.js +4 -2
  179. package/dist/modules/manager/cake/index.js.map +1 -1
  180. package/dist/modules/manager/cargo/artifacts.js +5 -7
  181. package/dist/modules/manager/cargo/artifacts.js.map +1 -1
  182. package/dist/modules/manager/cargo/schema.d.ts +164 -164
  183. package/dist/modules/manager/circleci/schema.d.ts +6 -6
  184. package/dist/modules/manager/cocoapods/artifacts.js +1 -2
  185. package/dist/modules/manager/cocoapods/artifacts.js.map +1 -1
  186. package/dist/modules/manager/composer/artifacts.js +1 -2
  187. package/dist/modules/manager/composer/artifacts.js.map +1 -1
  188. package/dist/modules/manager/composer/schema.d.ts +36 -36
  189. package/dist/modules/manager/composer/schema.js +1 -1
  190. package/dist/modules/manager/composer/schema.js.map +1 -1
  191. package/dist/modules/manager/composer/utils.d.ts +1 -0
  192. package/dist/modules/manager/composer/utils.js +9 -0
  193. package/dist/modules/manager/composer/utils.js.map +1 -1
  194. package/dist/modules/manager/copier/artifacts.js +0 -1
  195. package/dist/modules/manager/copier/artifacts.js.map +1 -1
  196. package/dist/modules/manager/custom/jsonata/schema.d.ts +28 -28
  197. package/dist/modules/manager/custom/regex/index.js +2 -0
  198. package/dist/modules/manager/custom/regex/index.js.map +1 -1
  199. package/dist/modules/manager/deps-edn/extract.js +2 -1
  200. package/dist/modules/manager/deps-edn/extract.js.map +1 -1
  201. package/dist/modules/manager/devbox/artifacts.d.ts +1 -1
  202. package/dist/modules/manager/devbox/artifacts.js +1 -2
  203. package/dist/modules/manager/devbox/artifacts.js.map +1 -1
  204. package/dist/modules/manager/devbox/schema.js +1 -1
  205. package/dist/modules/manager/devbox/schema.js.map +1 -1
  206. package/dist/modules/manager/devcontainer/extract.js +43 -1
  207. package/dist/modules/manager/devcontainer/extract.js.map +1 -1
  208. package/dist/modules/manager/devcontainer/index.js +11 -1
  209. package/dist/modules/manager/devcontainer/index.js.map +1 -1
  210. package/dist/modules/manager/devcontainer/schema.d.ts +7 -3
  211. package/dist/modules/manager/devcontainer/schema.js +3 -1
  212. package/dist/modules/manager/devcontainer/schema.js.map +1 -1
  213. package/dist/modules/manager/docker-compose/schema.d.ts +6 -6
  214. package/dist/modules/manager/fingerprint.generated.js +83 -82
  215. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  216. package/dist/modules/manager/fleet/schema.d.ts +12 -12
  217. package/dist/modules/manager/flux/artifacts.js +0 -1
  218. package/dist/modules/manager/flux/artifacts.js.map +1 -1
  219. package/dist/modules/manager/flux/extract.js +27 -24
  220. package/dist/modules/manager/flux/extract.js.map +1 -1
  221. package/dist/modules/manager/flux/schema.d.ts +44 -44
  222. package/dist/modules/manager/github-actions/extract.js +60 -39
  223. package/dist/modules/manager/github-actions/extract.js.map +1 -1
  224. package/dist/modules/manager/github-actions/schema.d.ts +66 -0
  225. package/dist/modules/manager/github-actions/schema.js +38 -0
  226. package/dist/modules/manager/github-actions/schema.js.map +1 -0
  227. package/dist/modules/manager/gitlabci/extract.d.ts +1 -5
  228. package/dist/modules/manager/gitlabci/extract.js +27 -126
  229. package/dist/modules/manager/gitlabci/extract.js.map +1 -1
  230. package/dist/modules/manager/gitlabci/schema.d.ts +55 -0
  231. package/dist/modules/manager/gitlabci/schema.js +63 -0
  232. package/dist/modules/manager/gitlabci/schema.js.map +1 -0
  233. package/dist/modules/manager/gitlabci-include/extract.js +6 -54
  234. package/dist/modules/manager/gitlabci-include/extract.js.map +1 -1
  235. package/dist/modules/manager/gitlabci-include/schema.d.ts +13 -0
  236. package/dist/modules/manager/gitlabci-include/schema.js +46 -0
  237. package/dist/modules/manager/gitlabci-include/schema.js.map +1 -0
  238. package/dist/modules/manager/gomod/artifacts.js +24 -10
  239. package/dist/modules/manager/gomod/artifacts.js.map +1 -1
  240. package/dist/modules/manager/gomod/extract.js +23 -0
  241. package/dist/modules/manager/gomod/extract.js.map +1 -1
  242. package/dist/modules/manager/gomod/line-parser.js +16 -0
  243. package/dist/modules/manager/gomod/line-parser.js.map +1 -1
  244. package/dist/modules/manager/gomod/update.js +2 -2
  245. package/dist/modules/manager/gomod/update.js.map +1 -1
  246. package/dist/modules/manager/gradle/artifacts.js +0 -1
  247. package/dist/modules/manager/gradle/artifacts.js.map +1 -1
  248. package/dist/modules/manager/gradle/extract/catalog.js +1 -1
  249. package/dist/modules/manager/gradle/extract/catalog.js.map +1 -1
  250. package/dist/modules/manager/gradle/parser/assignments.js +2 -2
  251. package/dist/modules/manager/gradle/parser/assignments.js.map +1 -1
  252. package/dist/modules/manager/gradle/parser/handlers.d.ts +1 -2
  253. package/dist/modules/manager/gradle/parser/handlers.js +10 -25
  254. package/dist/modules/manager/gradle/parser/handlers.js.map +1 -1
  255. package/dist/modules/manager/gradle/parser/registry-urls.js +11 -3
  256. package/dist/modules/manager/gradle/parser/registry-urls.js.map +1 -1
  257. package/dist/modules/manager/gradle-wrapper/artifacts.js +0 -1
  258. package/dist/modules/manager/gradle-wrapper/artifacts.js.map +1 -1
  259. package/dist/modules/manager/helmfile/artifacts.js +0 -1
  260. package/dist/modules/manager/helmfile/artifacts.js.map +1 -1
  261. package/dist/modules/manager/helmfile/extract.js +4 -0
  262. package/dist/modules/manager/helmfile/extract.js.map +1 -1
  263. package/dist/modules/manager/helmfile/schema.d.ts +9 -9
  264. package/dist/modules/manager/helmv3/artifacts.js +0 -1
  265. package/dist/modules/manager/helmv3/artifacts.js.map +1 -1
  266. package/dist/modules/manager/helmv3/utils.js +3 -1
  267. package/dist/modules/manager/helmv3/utils.js.map +1 -1
  268. package/dist/modules/manager/hermit/artifacts.js +0 -1
  269. package/dist/modules/manager/hermit/artifacts.js.map +1 -1
  270. package/dist/modules/manager/homebrew/extract.js +0 -1
  271. package/dist/modules/manager/homebrew/extract.js.map +1 -1
  272. package/dist/modules/manager/jsonnet-bundler/artifacts.js +0 -1
  273. package/dist/modules/manager/jsonnet-bundler/artifacts.js.map +1 -1
  274. package/dist/modules/manager/kustomize/artifacts.d.ts +2 -0
  275. package/dist/modules/manager/kustomize/artifacts.js +154 -0
  276. package/dist/modules/manager/kustomize/artifacts.js.map +1 -0
  277. package/dist/modules/manager/kustomize/common.d.ts +3 -0
  278. package/dist/modules/manager/kustomize/common.js +22 -0
  279. package/dist/modules/manager/kustomize/common.js.map +1 -0
  280. package/dist/modules/manager/kustomize/index.d.ts +1 -0
  281. package/dist/modules/manager/kustomize/index.js +3 -1
  282. package/dist/modules/manager/kustomize/index.js.map +1 -1
  283. package/dist/modules/manager/kustomize/types.d.ts +4 -0
  284. package/dist/modules/manager/kustomize/types.js.map +1 -1
  285. package/dist/modules/manager/maven-wrapper/artifacts.js +0 -1
  286. package/dist/modules/manager/maven-wrapper/artifacts.js.map +1 -1
  287. package/dist/modules/manager/mix/artifacts.js +64 -14
  288. package/dist/modules/manager/mix/artifacts.js.map +1 -1
  289. package/dist/modules/manager/mix/index.d.ts +1 -0
  290. package/dist/modules/manager/mix/index.js +2 -1
  291. package/dist/modules/manager/mix/index.js.map +1 -1
  292. package/dist/modules/manager/nix/artifacts.js +0 -1
  293. package/dist/modules/manager/nix/artifacts.js.map +1 -1
  294. package/dist/modules/manager/nix/extract.js +1 -1
  295. package/dist/modules/manager/nix/extract.js.map +1 -1
  296. package/dist/modules/manager/nix/schema.d.ts +6 -6
  297. package/dist/modules/manager/npm/artifacts.js +0 -1
  298. package/dist/modules/manager/npm/artifacts.js.map +1 -1
  299. package/dist/modules/manager/npm/extract/yarn.js +2 -2
  300. package/dist/modules/manager/npm/extract/yarn.js.map +1 -1
  301. package/dist/modules/manager/npm/post-update/npm.js +0 -1
  302. package/dist/modules/manager/npm/post-update/npm.js.map +1 -1
  303. package/dist/modules/manager/npm/post-update/pnpm.js +13 -2
  304. package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
  305. package/dist/modules/manager/npm/post-update/rules.js +11 -1
  306. package/dist/modules/manager/npm/post-update/rules.js.map +1 -1
  307. package/dist/modules/manager/npm/post-update/yarn.js +0 -1
  308. package/dist/modules/manager/npm/post-update/yarn.js.map +1 -1
  309. package/dist/modules/manager/npm/update/dependency/index.js +1 -1
  310. package/dist/modules/manager/npm/update/dependency/index.js.map +1 -1
  311. package/dist/modules/manager/nuget/artifacts.js +1 -2
  312. package/dist/modules/manager/nuget/artifacts.js.map +1 -1
  313. package/dist/modules/manager/nuget/package-tree.js +4 -0
  314. package/dist/modules/manager/nuget/package-tree.js.map +1 -1
  315. package/dist/modules/manager/nuget/util.js +4 -1
  316. package/dist/modules/manager/nuget/util.js.map +1 -1
  317. package/dist/modules/manager/pep621/processors/pdm.js +0 -1
  318. package/dist/modules/manager/pep621/processors/pdm.js.map +1 -1
  319. package/dist/modules/manager/pep621/processors/uv.js +0 -1
  320. package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
  321. package/dist/modules/manager/pep621/schema.d.ts +35 -30
  322. package/dist/modules/manager/pep621/schema.js +2 -0
  323. package/dist/modules/manager/pep621/schema.js.map +1 -1
  324. package/dist/modules/manager/pip-compile/common.js +0 -1
  325. package/dist/modules/manager/pip-compile/common.js.map +1 -1
  326. package/dist/modules/manager/pip_requirements/artifacts.js +0 -1
  327. package/dist/modules/manager/pip_requirements/artifacts.js.map +1 -1
  328. package/dist/modules/manager/pipenv/artifacts.js +0 -1
  329. package/dist/modules/manager/pipenv/artifacts.js.map +1 -1
  330. package/dist/modules/manager/pixi/artifacts.d.ts +3 -0
  331. package/dist/modules/manager/pixi/artifacts.js +84 -0
  332. package/dist/modules/manager/pixi/artifacts.js.map +1 -0
  333. package/dist/modules/manager/pixi/extract.d.ts +2 -0
  334. package/dist/modules/manager/pixi/extract.js +53 -0
  335. package/dist/modules/manager/pixi/extract.js.map +1 -0
  336. package/dist/modules/manager/pixi/index.d.ts +11 -0
  337. package/dist/modules/manager/pixi/index.js +22 -0
  338. package/dist/modules/manager/pixi/index.js.map +1 -0
  339. package/dist/modules/manager/pixi/lockfile.d.ts +6 -0
  340. package/dist/modules/manager/pixi/lockfile.js +25 -0
  341. package/dist/modules/manager/pixi/lockfile.js.map +1 -0
  342. package/dist/modules/manager/pixi/schema.d.ts +14 -0
  343. package/dist/modules/manager/pixi/schema.js +14 -0
  344. package/dist/modules/manager/pixi/schema.js.map +1 -0
  345. package/dist/modules/manager/poetry/artifacts.js +0 -1
  346. package/dist/modules/manager/poetry/artifacts.js.map +1 -1
  347. package/dist/modules/manager/poetry/schema.d.ts +31 -31
  348. package/dist/modules/manager/pub/artifacts.js +0 -1
  349. package/dist/modules/manager/pub/artifacts.js.map +1 -1
  350. package/dist/modules/manager/pub/schema.d.ts +8 -8
  351. package/dist/modules/manager/scalafmt/extract.js +1 -1
  352. package/dist/modules/manager/scalafmt/extract.js.map +1 -1
  353. package/dist/modules/manager/types.d.ts +6 -2
  354. package/dist/modules/manager/types.js.map +1 -1
  355. package/dist/modules/manager/vendir/schema.d.ts +23 -23
  356. package/dist/modules/platform/azure/azure-helper.js +2 -2
  357. package/dist/modules/platform/azure/azure-helper.js.map +1 -1
  358. package/dist/modules/platform/azure/index.js +14 -14
  359. package/dist/modules/platform/azure/index.js.map +1 -1
  360. package/dist/modules/platform/bitbucket/comments.js +4 -4
  361. package/dist/modules/platform/bitbucket/comments.js.map +1 -1
  362. package/dist/modules/platform/bitbucket/index.js +48 -43
  363. package/dist/modules/platform/bitbucket/index.js.map +1 -1
  364. package/dist/modules/platform/bitbucket/schema.d.ts +13 -13
  365. package/dist/modules/platform/bitbucket/utils.js +3 -3
  366. package/dist/modules/platform/bitbucket/utils.js.map +1 -1
  367. package/dist/modules/platform/bitbucket-server/index.d.ts +2 -2
  368. package/dist/modules/platform/bitbucket-server/index.js +70 -72
  369. package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
  370. package/dist/modules/platform/bitbucket-server/pr-cache.d.ts +23 -0
  371. package/dist/modules/platform/bitbucket-server/pr-cache.js +125 -0
  372. package/dist/modules/platform/bitbucket-server/pr-cache.js.map +1 -0
  373. package/dist/modules/platform/bitbucket-server/types.d.ts +6 -1
  374. package/dist/modules/platform/bitbucket-server/types.js.map +1 -1
  375. package/dist/modules/platform/bitbucket-server/utils.js +5 -1
  376. package/dist/modules/platform/bitbucket-server/utils.js.map +1 -1
  377. package/dist/modules/platform/codecommit/codecommit-client.js +6 -6
  378. package/dist/modules/platform/codecommit/codecommit-client.js.map +1 -1
  379. package/dist/modules/platform/codecommit/index.js +24 -24
  380. package/dist/modules/platform/codecommit/index.js.map +1 -1
  381. package/dist/modules/platform/gerrit/client.js +12 -1
  382. package/dist/modules/platform/gerrit/client.js.map +1 -1
  383. package/dist/modules/platform/gerrit/utils.js +1 -1
  384. package/dist/modules/platform/gerrit/utils.js.map +1 -1
  385. package/dist/modules/platform/gitea/gitea-helper.d.ts +1 -0
  386. package/dist/modules/platform/gitea/gitea-helper.js +16 -0
  387. package/dist/modules/platform/gitea/gitea-helper.js.map +1 -1
  388. package/dist/modules/platform/gitea/index.js +15 -7
  389. package/dist/modules/platform/gitea/index.js.map +1 -1
  390. package/dist/modules/platform/gitea/schema.d.ts +4 -4
  391. package/dist/modules/platform/gitea/types.d.ts +1 -1
  392. package/dist/modules/platform/gitea/types.js.map +1 -1
  393. package/dist/modules/platform/github/index.js +81 -78
  394. package/dist/modules/platform/github/index.js.map +1 -1
  395. package/dist/modules/platform/github/issue.d.ts +3 -3
  396. package/dist/modules/platform/github/massage-markdown-links.js +2 -2
  397. package/dist/modules/platform/github/massage-markdown-links.js.map +1 -1
  398. package/dist/modules/platform/github/pr.js +3 -3
  399. package/dist/modules/platform/github/pr.js.map +1 -1
  400. package/dist/modules/platform/github/schema.d.ts +11 -11
  401. package/dist/modules/platform/github/schema.js +3 -1
  402. package/dist/modules/platform/github/schema.js.map +1 -1
  403. package/dist/modules/platform/gitlab/index.js +61 -43
  404. package/dist/modules/platform/gitlab/index.js.map +1 -1
  405. package/dist/modules/platform/index.js +0 -1
  406. package/dist/modules/platform/index.js.map +1 -1
  407. package/dist/modules/versioning/api.js +2 -0
  408. package/dist/modules/versioning/api.js.map +1 -1
  409. package/dist/modules/versioning/conda/index.d.ts +41 -0
  410. package/dist/modules/versioning/conda/index.js +178 -0
  411. package/dist/modules/versioning/conda/index.js.map +1 -0
  412. package/dist/modules/versioning/hashicorp/convertor.d.ts +2 -1
  413. package/dist/modules/versioning/hashicorp/convertor.js +13 -8
  414. package/dist/modules/versioning/hashicorp/convertor.js.map +1 -1
  415. package/dist/modules/versioning/hex/index.js +3 -3
  416. package/dist/modules/versioning/hex/index.js.map +1 -1
  417. package/dist/proxy.js +1 -1
  418. package/dist/proxy.js.map +1 -1
  419. package/dist/renovate.js +2 -2
  420. package/dist/renovate.js.map +1 -1
  421. package/dist/util/cache/package/types.d.ts +1 -1
  422. package/dist/util/cache/package/types.js.map +1 -1
  423. package/dist/util/cache/repository/schema.d.ts +4 -4
  424. package/dist/util/cache/repository/types.d.ts +3 -0
  425. package/dist/util/cache/repository/types.js.map +1 -1
  426. package/dist/util/env.d.ts +4 -0
  427. package/dist/util/env.js +22 -0
  428. package/dist/util/env.js.map +1 -0
  429. package/dist/util/exec/containerbase.js +6 -0
  430. package/dist/util/exec/containerbase.js.map +1 -1
  431. package/dist/util/exec/index.js +5 -2
  432. package/dist/util/exec/index.js.map +1 -1
  433. package/dist/util/exec/types.d.ts +0 -2
  434. package/dist/util/exec/types.js.map +1 -1
  435. package/dist/util/exec/utils.d.ts +1 -1
  436. package/dist/util/exec/utils.js +6 -5
  437. package/dist/util/exec/utils.js.map +1 -1
  438. package/dist/util/git/author.js +1 -1
  439. package/dist/util/git/author.js.map +1 -1
  440. package/dist/util/git/config.js +0 -1
  441. package/dist/util/git/config.js.map +1 -1
  442. package/dist/util/git/error.js +4 -2
  443. package/dist/util/git/error.js.map +1 -1
  444. package/dist/util/git/index.js +73 -46
  445. package/dist/util/git/index.js.map +1 -1
  446. package/dist/util/git/private-key.js +1 -1
  447. package/dist/util/git/private-key.js.map +1 -1
  448. package/dist/util/github/graphql/query-adapters/releases-query-adapter.d.ts +5 -5
  449. package/dist/util/github/graphql/query-adapters/tags-query-adapter.d.ts +2 -2
  450. package/dist/util/http/bitbucket-server.js +4 -0
  451. package/dist/util/http/bitbucket-server.js.map +1 -1
  452. package/dist/util/http/bitbucket.js +5 -1
  453. package/dist/util/http/bitbucket.js.map +1 -1
  454. package/dist/util/http/cache/abstract-http-cache-provider.js +2 -2
  455. package/dist/util/http/cache/abstract-http-cache-provider.js.map +1 -1
  456. package/dist/util/http/cache/memory-http-cache-provider.d.ts +10 -0
  457. package/dist/util/http/cache/memory-http-cache-provider.js +29 -0
  458. package/dist/util/http/cache/memory-http-cache-provider.js.map +1 -0
  459. package/dist/util/http/gitea.js +2 -0
  460. package/dist/util/http/gitea.js.map +1 -1
  461. package/dist/util/http/github.js +1 -0
  462. package/dist/util/http/github.js.map +1 -1
  463. package/dist/util/http/gitlab.js +2 -0
  464. package/dist/util/http/gitlab.js.map +1 -1
  465. package/dist/util/http/host-rules.js +5 -4
  466. package/dist/util/http/host-rules.js.map +1 -1
  467. package/dist/util/http/http.js +12 -5
  468. package/dist/util/http/http.js.map +1 -1
  469. package/dist/util/stats.d.ts +10 -0
  470. package/dist/util/stats.js +45 -1
  471. package/dist/util/stats.js.map +1 -1
  472. package/dist/workers/global/config/parse/file.js +2 -2
  473. package/dist/workers/global/config/parse/file.js.map +1 -1
  474. package/dist/workers/global/config/parse/index.js +5 -0
  475. package/dist/workers/global/config/parse/index.js.map +1 -1
  476. package/dist/workers/repository/cache.js +1 -1
  477. package/dist/workers/repository/cache.js.map +1 -1
  478. package/dist/workers/repository/config-migration/branch/migrated-data.js +2 -0
  479. package/dist/workers/repository/config-migration/branch/migrated-data.js.map +1 -1
  480. package/dist/workers/repository/index.js +1 -0
  481. package/dist/workers/repository/index.js.map +1 -1
  482. package/dist/workers/repository/init/merge.js +6 -3
  483. package/dist/workers/repository/init/merge.js.map +1 -1
  484. package/dist/workers/repository/process/extract-update.js +0 -1
  485. package/dist/workers/repository/process/extract-update.js.map +1 -1
  486. package/dist/workers/repository/process/fingerprint-fields.js +0 -1
  487. package/dist/workers/repository/process/fingerprint-fields.js.map +1 -1
  488. package/dist/workers/repository/process/libyear.js +2 -2
  489. package/dist/workers/repository/process/libyear.js.map +1 -1
  490. package/dist/workers/repository/process/lookup/index.js +13 -4
  491. package/dist/workers/repository/process/lookup/index.js.map +1 -1
  492. package/dist/workers/repository/process/vulnerabilities.js +1 -1
  493. package/dist/workers/repository/process/vulnerabilities.js.map +1 -1
  494. package/dist/workers/repository/process/write.js +1 -8
  495. package/dist/workers/repository/process/write.js.map +1 -1
  496. package/dist/workers/repository/reconfigure/validate.js +1 -0
  497. package/dist/workers/repository/reconfigure/validate.js.map +1 -1
  498. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js +10 -1
  499. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js.map +1 -1
  500. package/dist/workers/repository/update/pr/changelog/github/index.js +6 -3
  501. package/dist/workers/repository/update/pr/changelog/github/index.js.map +1 -1
  502. package/dist/workers/repository/update/pr/changelog/source.js +1 -0
  503. package/dist/workers/repository/update/pr/changelog/source.js.map +1 -1
  504. package/dist/workers/repository/updates/flatten.js +8 -4
  505. package/dist/workers/repository/updates/flatten.js.map +1 -1
  506. package/dist/workers/repository/updates/generate.js +1 -2
  507. package/dist/workers/repository/updates/generate.js.map +1 -1
  508. package/dist/workers/types.d.ts +1 -4
  509. package/dist/workers/types.js.map +1 -1
  510. package/package.json +45 -43
  511. package/renovate-schema.json +14 -1
  512. package/dist/modules/manager/github-actions/types.d.ts +0 -30
  513. package/dist/modules/manager/github-actions/types.js +0 -3
  514. package/dist/modules/manager/github-actions/types.js.map +0 -1
  515. package/dist/modules/manager/gitlabci/common.d.ts +0 -6
  516. package/dist/modules/manager/gitlabci/common.js +0 -30
  517. package/dist/modules/manager/gitlabci/common.js.map +0 -1
  518. package/dist/modules/manager/gitlabci/types.d.ts +0 -35
  519. package/dist/modules/manager/gitlabci/types.js +0 -3
  520. package/dist/modules/manager/gitlabci/types.js.map +0 -1
@@ -9,14 +9,14 @@ export declare const GithubIssue: z.ZodUnion<[z.ZodEffects<z.ZodObject<z.objectU
9
9
  }>, "strip", z.ZodTypeAny, {
10
10
  number: number;
11
11
  body: string;
12
- updatedAt: string;
13
12
  state: string;
13
+ updatedAt: string;
14
14
  title: string;
15
15
  }, {
16
16
  number: number;
17
17
  body: string;
18
- updatedAt: string;
19
18
  state: string;
19
+ updatedAt: string;
20
20
  title: string;
21
21
  }>, {
22
22
  number: number;
@@ -27,8 +27,8 @@ export declare const GithubIssue: z.ZodUnion<[z.ZodEffects<z.ZodObject<z.objectU
27
27
  }, {
28
28
  number: number;
29
29
  body: string;
30
- updatedAt: string;
31
30
  state: string;
31
+ updatedAt: string;
32
32
  title: string;
33
33
  }>, z.ZodEffects<z.ZodObject<z.objectUtil.extendShape<{
34
34
  number: z.ZodNumber;
@@ -58,9 +58,9 @@ function massageMarkdownLinks(content) {
58
58
  }, content);
59
59
  return result.trimEnd() + rightSpaces;
60
60
  }
61
- catch (err) /* istanbul ignore next */ {
61
+ catch (err) /* v8 ignore start */ {
62
62
  logger_1.logger.warn({ err }, `Unable to massage markdown text`);
63
63
  return content;
64
- }
64
+ } /* v8 ignore stop */
65
65
  }
66
66
  //# sourceMappingURL=massage-markdown-links.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"massage-markdown-links.js","sourceRoot":"","sources":["../../../../lib/modules/platform/github/massage-markdown-links.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Content } from 'mdast';\nimport remark from 'remark';\nimport type { Plugin, Transformer } from 'unified';\nimport { logger } from '../../../logger';\nimport { coerceNumber } from '../../../util/number';\nimport { regEx } from '../../../util/regex';\n\ninterface UrlMatch {\n start: number;\n end: number;\n replaceTo: string;\n}\n\n//according to https://github.com/dead-claudia/github-limits\nconst urlRegex =\n /(?:https?:)?(?:\\/\\/)?(?:www\\.)?(?<!api\\.)(?:to)?github\\.com\\/[-a-z0-9]+\\/[-_a-z0-9.]+\\/(?:discussions|issues|pull)\\/[0-9]+(?:#[-_a-z0-9]+)?/i; // TODO #12872 (?<!re) after text not matching\n\nfunction massageLink(input: string): string {\n return input.replace(\n regEx(/(?:to|redirect\\.|www\\.)?github\\.com/i),\n 'redirect.github.com',\n );\n}\n\nfunction collectLinkPosition(input: string, matches: UrlMatch[]): Plugin {\n const transformer = (tree: Content): void => {\n const startOffset = coerceNumber(tree.position?.start.offset);\n const endOffset = coerceNumber(tree.position?.end.offset);\n\n if (tree.type === 'link') {\n const substr = input.slice(startOffset, endOffset);\n const url: string = tree.url;\n const offset: number = startOffset + substr.lastIndexOf(url);\n if (urlRegex.test(url)) {\n matches.push({\n start: offset,\n end: offset + url.length,\n replaceTo: massageLink(url),\n });\n }\n } else if (tree.type === 'text') {\n const globalUrlReg = new RegExp(urlRegex, 'gi');\n const urlMatches = [...tree.value.matchAll(globalUrlReg)];\n for (const match of urlMatches) {\n const [url] = match;\n const start = startOffset + coerceNumber(match.index);\n const end = start + url.length;\n const newUrl = massageLink(url);\n matches.push({ start, end, replaceTo: `[${url}](${newUrl})` });\n }\n } else if ('children' in tree) {\n tree.children.forEach((child: Content) => {\n transformer(child);\n });\n }\n };\n\n return () => transformer as Transformer;\n}\n\nexport function massageMarkdownLinks(content: string): string {\n try {\n const rightSpaces = content.replace(content.trimEnd(), '');\n const matches: UrlMatch[] = [];\n remark().use(collectLinkPosition(content, matches)).processSync(content);\n const result = matches.reduceRight((acc, { start, end, replaceTo }) => {\n const leftPart = acc.slice(0, start);\n const rightPart = acc.slice(end);\n return leftPart + replaceTo + rightPart;\n }, content);\n return result.trimEnd() + rightSpaces;\n } catch (err) /* istanbul ignore next */ {\n logger.warn({ err }, `Unable to massage markdown text`);\n return content;\n }\n}\n"]}
1
+ {"version":3,"file":"massage-markdown-links.js","sourceRoot":"","sources":["../../../../lib/modules/platform/github/massage-markdown-links.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Content } from 'mdast';\nimport remark from 'remark';\nimport type { Plugin, Transformer } from 'unified';\nimport { logger } from '../../../logger';\nimport { coerceNumber } from '../../../util/number';\nimport { regEx } from '../../../util/regex';\n\ninterface UrlMatch {\n start: number;\n end: number;\n replaceTo: string;\n}\n\n//according to https://github.com/dead-claudia/github-limits\nconst urlRegex =\n /(?:https?:)?(?:\\/\\/)?(?:www\\.)?(?<!api\\.)(?:to)?github\\.com\\/[-a-z0-9]+\\/[-_a-z0-9.]+\\/(?:discussions|issues|pull)\\/[0-9]+(?:#[-_a-z0-9]+)?/i; // TODO #12872 (?<!re) after text not matching\n\nfunction massageLink(input: string): string {\n return input.replace(\n regEx(/(?:to|redirect\\.|www\\.)?github\\.com/i),\n 'redirect.github.com',\n );\n}\n\nfunction collectLinkPosition(input: string, matches: UrlMatch[]): Plugin {\n const transformer = (tree: Content): void => {\n const startOffset = coerceNumber(tree.position?.start.offset);\n const endOffset = coerceNumber(tree.position?.end.offset);\n\n if (tree.type === 'link') {\n const substr = input.slice(startOffset, endOffset);\n const url: string = tree.url;\n const offset: number = startOffset + substr.lastIndexOf(url);\n if (urlRegex.test(url)) {\n matches.push({\n start: offset,\n end: offset + url.length,\n replaceTo: massageLink(url),\n });\n }\n } else if (tree.type === 'text') {\n const globalUrlReg = new RegExp(urlRegex, 'gi');\n const urlMatches = [...tree.value.matchAll(globalUrlReg)];\n for (const match of urlMatches) {\n const [url] = match;\n const start = startOffset + coerceNumber(match.index);\n const end = start + url.length;\n const newUrl = massageLink(url);\n matches.push({ start, end, replaceTo: `[${url}](${newUrl})` });\n }\n } else if ('children' in tree) {\n tree.children.forEach((child: Content) => {\n transformer(child);\n });\n }\n };\n\n return () => transformer as Transformer;\n}\n\nexport function massageMarkdownLinks(content: string): string {\n try {\n const rightSpaces = content.replace(content.trimEnd(), '');\n const matches: UrlMatch[] = [];\n remark().use(collectLinkPosition(content, matches)).processSync(content);\n const result = matches.reduceRight((acc, { start, end, replaceTo }) => {\n const leftPart = acc.slice(0, start);\n const rightPart = acc.slice(end);\n return leftPart + replaceTo + rightPart;\n }, content);\n return result.trimEnd() + rightSpaces;\n } catch (err) /* v8 ignore start */ {\n logger.warn({ err }, `Unable to massage markdown text`);\n return content;\n } /* v8 ignore stop */\n}\n"]}
@@ -56,7 +56,7 @@ async function getPrCache(http, repo, username) {
56
56
  let needNextPageSync = true;
57
57
  let pageIdx = 1;
58
58
  while (needNextPageFetch && needNextPageSync) {
59
- const opts = { paginate: false };
59
+ const opts = { paginate: false, memCache: false };
60
60
  if (pageIdx === 1) {
61
61
  opts.cacheProvider = repository_http_cache_provider_1.repoCacheProvider;
62
62
  if (isInitial) {
@@ -88,10 +88,10 @@ async function getPrCache(http, repo, username) {
88
88
  apiQuotaAffected,
89
89
  }, `getPrList success`);
90
90
  }
91
- catch (err) /* istanbul ignore next */ {
91
+ catch (err) /* v8 ignore start */ {
92
92
  logger_1.logger.debug({ err }, 'getPrList err');
93
93
  throw new external_host_error_1.ExternalHostError(err, 'github');
94
- }
94
+ } /* v8 ignore stop */
95
95
  return prApiCache.getItems();
96
96
  }
97
97
  function updatePrCache(pr) {
@@ -1 +1 @@
1
- {"version":3,"file":"pr.js","sourceRoot":"","sources":["../../../../lib/modules/platform/github/pr.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { getCache } from '../../../util/cache/repository';\nimport { repoCacheProvider } from '../../../util/http/cache/repository-http-cache-provider';\nimport type { GithubHttp, GithubHttpOptions } from '../../../util/http/github';\nimport { parseLinkHeader } from '../../../util/url';\nimport { ApiCache } from './api-cache';\nimport { coerceRestPr } from './common';\nimport type { ApiPageCache, GhPr, GhRestPr } from './types';\n\nfunction getPrApiCache(): ApiCache<GhPr> {\n const repoCache = getCache();\n repoCache.platform ??= {};\n repoCache.platform.github ??= {};\n repoCache.platform.github.pullRequestsCache ??= { items: {} };\n const prApiCache = new ApiCache<GhPr>(\n repoCache.platform.github.pullRequestsCache as ApiPageCache<GhPr>,\n );\n return prApiCache;\n}\n\n/**\n * Fetch and return Pull Requests from GitHub repository:\n *\n * 1. Synchronize long-term cache.\n *\n * 2. Store items in raw format, i.e. exactly what\n * has been returned by GitHub REST API.\n *\n * 3. Convert items to the Renovate format and return.\n *\n * In order synchronize ApiCache properly, we handle 3 cases:\n *\n * a. We never fetched PR list for this repo before.\n * If cached PR list is empty, we assume it's the case.\n *\n * In this case, we're falling back to quick fetch via\n * `paginate=true` option (see `util/http/github.ts`).\n *\n * b. Some of PRs had changed since last run.\n *\n * In this case, we sequentially fetch page by page\n * until `ApiCache.coerce` function indicates that\n * no more fresh items can be found in the next page.\n *\n * We expect to fetch just one page per run in average,\n * since it's rare to have more than 100 updated PRs.\n */\nexport async function getPrCache(\n http: GithubHttp,\n repo: string,\n username: string | null,\n): Promise<Record<number, GhPr>> {\n const prApiCache = getPrApiCache();\n const isInitial = is.emptyArray(prApiCache.getItems());\n\n try {\n let requestsTotal = 0;\n let apiQuotaAffected = false;\n let needNextPageFetch = true;\n let needNextPageSync = true;\n\n let pageIdx = 1;\n while (needNextPageFetch && needNextPageSync) {\n const opts: GithubHttpOptions = { paginate: false };\n if (pageIdx === 1) {\n opts.cacheProvider = repoCacheProvider;\n if (isInitial) {\n // Speed up initial fetch\n opts.paginate = true;\n }\n }\n\n const perPage = isInitial ? 100 : 20;\n const urlPath = `repos/${repo}/pulls?per_page=${perPage}&state=all&sort=updated&direction=desc&page=${pageIdx}`;\n\n const res = await http.getJsonUnchecked<GhRestPr[]>(urlPath, opts);\n apiQuotaAffected = true;\n requestsTotal += 1;\n\n const {\n headers: { link: linkHeader },\n } = res;\n\n let { body: page } = res;\n\n if (username) {\n page = page.filter(\n (ghPr) => ghPr?.user?.login && ghPr.user.login === username,\n );\n }\n\n const items = page.map(coerceRestPr);\n\n needNextPageSync = prApiCache.reconcile(items);\n needNextPageFetch = !!parseLinkHeader(linkHeader)?.next;\n\n if (pageIdx === 1) {\n needNextPageFetch &&= !opts.paginate;\n }\n\n pageIdx += 1;\n }\n\n logger.debug(\n {\n pullsTotal: prApiCache.getItems().length,\n requestsTotal,\n apiQuotaAffected,\n },\n `getPrList success`,\n );\n } catch (err) /* istanbul ignore next */ {\n logger.debug({ err }, 'getPrList err');\n throw new ExternalHostError(err, 'github');\n }\n\n return prApiCache.getItems();\n}\n\nexport function updatePrCache(pr: GhPr): void {\n const cache = getPrApiCache();\n cache.updateItem(pr);\n}\n"]}
1
+ {"version":3,"file":"pr.js","sourceRoot":"","sources":["../../../../lib/modules/platform/github/pr.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { getCache } from '../../../util/cache/repository';\nimport { repoCacheProvider } from '../../../util/http/cache/repository-http-cache-provider';\nimport type { GithubHttp, GithubHttpOptions } from '../../../util/http/github';\nimport { parseLinkHeader } from '../../../util/url';\nimport { ApiCache } from './api-cache';\nimport { coerceRestPr } from './common';\nimport type { ApiPageCache, GhPr, GhRestPr } from './types';\n\nfunction getPrApiCache(): ApiCache<GhPr> {\n const repoCache = getCache();\n repoCache.platform ??= {};\n repoCache.platform.github ??= {};\n repoCache.platform.github.pullRequestsCache ??= { items: {} };\n const prApiCache = new ApiCache<GhPr>(\n repoCache.platform.github.pullRequestsCache as ApiPageCache<GhPr>,\n );\n return prApiCache;\n}\n\n/**\n * Fetch and return Pull Requests from GitHub repository:\n *\n * 1. Synchronize long-term cache.\n *\n * 2. Store items in raw format, i.e. exactly what\n * has been returned by GitHub REST API.\n *\n * 3. Convert items to the Renovate format and return.\n *\n * In order synchronize ApiCache properly, we handle 3 cases:\n *\n * a. We never fetched PR list for this repo before.\n * If cached PR list is empty, we assume it's the case.\n *\n * In this case, we're falling back to quick fetch via\n * `paginate=true` option (see `util/http/github.ts`).\n *\n * b. Some of PRs had changed since last run.\n *\n * In this case, we sequentially fetch page by page\n * until `ApiCache.coerce` function indicates that\n * no more fresh items can be found in the next page.\n *\n * We expect to fetch just one page per run in average,\n * since it's rare to have more than 100 updated PRs.\n */\nexport async function getPrCache(\n http: GithubHttp,\n repo: string,\n username: string | null,\n): Promise<Record<number, GhPr>> {\n const prApiCache = getPrApiCache();\n const isInitial = is.emptyArray(prApiCache.getItems());\n\n try {\n let requestsTotal = 0;\n let apiQuotaAffected = false;\n let needNextPageFetch = true;\n let needNextPageSync = true;\n\n let pageIdx = 1;\n while (needNextPageFetch && needNextPageSync) {\n const opts: GithubHttpOptions = { paginate: false, memCache: false };\n if (pageIdx === 1) {\n opts.cacheProvider = repoCacheProvider;\n if (isInitial) {\n // Speed up initial fetch\n opts.paginate = true;\n }\n }\n\n const perPage = isInitial ? 100 : 20;\n const urlPath = `repos/${repo}/pulls?per_page=${perPage}&state=all&sort=updated&direction=desc&page=${pageIdx}`;\n\n const res = await http.getJsonUnchecked<GhRestPr[]>(urlPath, opts);\n apiQuotaAffected = true;\n requestsTotal += 1;\n\n const {\n headers: { link: linkHeader },\n } = res;\n\n let { body: page } = res;\n\n if (username) {\n page = page.filter(\n (ghPr) => ghPr?.user?.login && ghPr.user.login === username,\n );\n }\n\n const items = page.map(coerceRestPr);\n\n needNextPageSync = prApiCache.reconcile(items);\n needNextPageFetch = !!parseLinkHeader(linkHeader)?.next;\n\n if (pageIdx === 1) {\n needNextPageFetch &&= !opts.paginate;\n }\n\n pageIdx += 1;\n }\n\n logger.debug(\n {\n pullsTotal: prApiCache.getItems().length,\n requestsTotal,\n apiQuotaAffected,\n },\n `getPrList success`,\n );\n } catch (err) /* v8 ignore start */ {\n logger.debug({ err }, 'getPrList err');\n throw new ExternalHostError(err, 'github');\n } /* v8 ignore stop */\n\n return prApiCache.getItems();\n}\n\nexport function updatePrCache(pr: GhPr): void {\n const cache = getPrApiCache();\n cache.updateItem(pr);\n}\n"]}
@@ -1,8 +1,5 @@
1
1
  import { z } from 'zod';
2
2
  export declare const VulnerabilityAlertSchema: z.ZodEffects<z.ZodArray<z.ZodAny, "many">, {
3
- dependency: {
4
- manifest_path: string;
5
- };
6
3
  security_advisory: {
7
4
  description: string;
8
5
  identifiers: {
@@ -23,6 +20,9 @@ export declare const VulnerabilityAlertSchema: z.ZodEffects<z.ZodArray<z.ZodAny,
23
20
  identifier: string;
24
21
  } | null | undefined;
25
22
  } | null;
23
+ dependency: {
24
+ manifest_path: string;
25
+ };
26
26
  dismissed_reason?: string | null | undefined;
27
27
  }[], any[]>;
28
28
  export declare const GithubFileMeta: z.ZodObject<z.objectUtil.extendShape<{
@@ -51,15 +51,15 @@ export declare const GithubFile: z.ZodObject<z.objectUtil.extendShape<z.objectUt
51
51
  }>, "strip", z.ZodTypeAny, {
52
52
  path: string;
53
53
  type: "file";
54
- content: string;
55
54
  name: string;
56
55
  encoding: string;
56
+ content: string;
57
57
  }, {
58
58
  path: string;
59
59
  type: "file";
60
- content: string;
61
60
  name: string;
62
61
  encoding: string;
62
+ content: string;
63
63
  }>;
64
64
  export type GithubFile = z.infer<typeof GithubFile>;
65
65
  export declare const GithubDirectory: z.ZodObject<z.objectUtil.extendShape<{
@@ -103,15 +103,15 @@ export declare const GithubElement: z.ZodUnion<[z.ZodUnion<[z.ZodUnion<[z.ZodObj
103
103
  }>, "strip", z.ZodTypeAny, {
104
104
  path: string;
105
105
  type: "file";
106
- content: string;
107
106
  name: string;
108
107
  encoding: string;
108
+ content: string;
109
109
  }, {
110
110
  path: string;
111
111
  type: "file";
112
- content: string;
113
112
  name: string;
114
113
  encoding: string;
114
+ content: string;
115
115
  }>, z.ZodObject<z.objectUtil.extendShape<{
116
116
  name: z.ZodString;
117
117
  path: z.ZodString;
@@ -164,15 +164,15 @@ export declare const GithubContentResponse: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z
164
164
  }>, "strip", z.ZodTypeAny, {
165
165
  path: string;
166
166
  type: "file";
167
- content: string;
168
167
  name: string;
169
168
  encoding: string;
169
+ content: string;
170
170
  }, {
171
171
  path: string;
172
172
  type: "file";
173
- content: string;
174
173
  name: string;
175
174
  encoding: string;
175
+ content: string;
176
176
  }>, z.ZodObject<z.objectUtil.extendShape<{
177
177
  name: z.ZodString;
178
178
  path: z.ZodString;
@@ -223,15 +223,15 @@ export declare const GithubContentResponse: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z
223
223
  }>, "strip", z.ZodTypeAny, {
224
224
  path: string;
225
225
  type: "file";
226
- content: string;
227
226
  name: string;
228
227
  encoding: string;
228
+ content: string;
229
229
  }, {
230
230
  path: string;
231
231
  type: "file";
232
- content: string;
233
232
  name: string;
234
233
  encoding: string;
234
+ content: string;
235
235
  }>, z.ZodObject<z.objectUtil.extendShape<{
236
236
  name: z.ZodString;
237
237
  path: z.ZodString;
@@ -40,9 +40,11 @@ exports.VulnerabilityAlertSchema = (0, schema_utils_1.LooseArray)(zod_1.z.object
40
40
  manifest_path: zod_1.z.string(),
41
41
  }),
42
42
  }), {
43
- onError: /* istanbul ignore next */ ({ error }) => {
43
+ /* v8 ignore start */
44
+ onError: ({ error }) => {
44
45
  logger_1.logger.debug({ error }, 'Vulnerability Alert: Failed to parse some alerts');
45
46
  },
47
+ /* v8 ignore stop */
46
48
  });
47
49
  // https://docs.github.com/en/rest/repos/contents?apiVersion=2022-11-28#get-repository-content
48
50
  const GithubResponseMetadata = zod_1.z.object({
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/platform/github/schema.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport { logger } from '../../../logger';\nimport { LooseArray } from '../../../util/schema-utils';\n\nconst PackageSchema = z.object({\n ecosystem: z.union([\n z.literal('maven'),\n z.literal('npm'),\n z.literal('nuget'),\n z.literal('pip'),\n z.literal('rubygems'),\n z.literal('rust'),\n z.literal('composer'),\n z.literal('go'),\n ]),\n name: z.string(),\n});\n\nconst SecurityVulnerabilitySchema = z\n .object({\n first_patched_version: z.object({ identifier: z.string() }).nullish(),\n package: PackageSchema,\n vulnerable_version_range: z.string(),\n })\n .nullable();\n\nconst SecurityAdvisorySchema = z.object({\n description: z.string(),\n identifiers: z.array(\n z.object({\n type: z.string(),\n value: z.string(),\n }),\n ),\n references: z.array(z.object({ url: z.string() })).optional(),\n});\n\nexport const VulnerabilityAlertSchema = LooseArray(\n z.object({\n dismissed_reason: z.string().nullish(),\n security_advisory: SecurityAdvisorySchema,\n security_vulnerability: SecurityVulnerabilitySchema,\n dependency: z.object({\n manifest_path: z.string(),\n }),\n }),\n {\n onError: /* istanbul ignore next */ ({ error }) => {\n logger.debug(\n { error },\n 'Vulnerability Alert: Failed to parse some alerts',\n );\n },\n },\n);\n\n// https://docs.github.com/en/rest/repos/contents?apiVersion=2022-11-28#get-repository-content\nconst GithubResponseMetadata = z.object({\n name: z.string(),\n path: z.string(),\n});\n\nexport const GithubFileMeta = GithubResponseMetadata.extend({\n type: z.literal('file'),\n});\nexport type GithubFileMeta = z.infer<typeof GithubFileMeta>;\n\nexport const GithubFile = GithubFileMeta.extend({\n content: z.string(),\n encoding: z.string(),\n});\nexport type GithubFile = z.infer<typeof GithubFile>;\n\nexport const GithubDirectory = GithubResponseMetadata.extend({\n type: z.literal('dir'),\n});\n\nexport type GithubDirectory = z.infer<typeof GithubDirectory>;\n\nexport const GithubOtherContent = GithubResponseMetadata.extend({\n type: z.literal('symlink').or(z.literal('submodule')),\n});\n\nexport type GithubOtherContent = z.infer<typeof GithubOtherContent>;\n\nexport const GithubElement = GithubFile.or(GithubFileMeta)\n .or(GithubDirectory)\n .or(GithubOtherContent);\nexport type GithubElement = z.infer<typeof GithubElement>;\n\nexport const GithubContentResponse = z.array(GithubElement).or(GithubElement);\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/platform/github/schema.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport { logger } from '../../../logger';\nimport { LooseArray } from '../../../util/schema-utils';\n\nconst PackageSchema = z.object({\n ecosystem: z.union([\n z.literal('maven'),\n z.literal('npm'),\n z.literal('nuget'),\n z.literal('pip'),\n z.literal('rubygems'),\n z.literal('rust'),\n z.literal('composer'),\n z.literal('go'),\n ]),\n name: z.string(),\n});\n\nconst SecurityVulnerabilitySchema = z\n .object({\n first_patched_version: z.object({ identifier: z.string() }).nullish(),\n package: PackageSchema,\n vulnerable_version_range: z.string(),\n })\n .nullable();\n\nconst SecurityAdvisorySchema = z.object({\n description: z.string(),\n identifiers: z.array(\n z.object({\n type: z.string(),\n value: z.string(),\n }),\n ),\n references: z.array(z.object({ url: z.string() })).optional(),\n});\n\nexport const VulnerabilityAlertSchema = LooseArray(\n z.object({\n dismissed_reason: z.string().nullish(),\n security_advisory: SecurityAdvisorySchema,\n security_vulnerability: SecurityVulnerabilitySchema,\n dependency: z.object({\n manifest_path: z.string(),\n }),\n }),\n {\n /* v8 ignore start */\n onError: ({ error }) => {\n logger.debug(\n { error },\n 'Vulnerability Alert: Failed to parse some alerts',\n );\n },\n /* v8 ignore stop */\n },\n);\n\n// https://docs.github.com/en/rest/repos/contents?apiVersion=2022-11-28#get-repository-content\nconst GithubResponseMetadata = z.object({\n name: z.string(),\n path: z.string(),\n});\n\nexport const GithubFileMeta = GithubResponseMetadata.extend({\n type: z.literal('file'),\n});\nexport type GithubFileMeta = z.infer<typeof GithubFileMeta>;\n\nexport const GithubFile = GithubFileMeta.extend({\n content: z.string(),\n encoding: z.string(),\n});\nexport type GithubFile = z.infer<typeof GithubFile>;\n\nexport const GithubDirectory = GithubResponseMetadata.extend({\n type: z.literal('dir'),\n});\n\nexport type GithubDirectory = z.infer<typeof GithubDirectory>;\n\nexport const GithubOtherContent = GithubResponseMetadata.extend({\n type: z.literal('symlink').or(z.literal('submodule')),\n});\n\nexport type GithubOtherContent = z.infer<typeof GithubOtherContent>;\n\nexport const GithubElement = GithubFile.or(GithubFileMeta)\n .or(GithubDirectory)\n .or(GithubOtherContent);\nexport type GithubElement = z.infer<typeof GithubElement>;\n\nexport const GithubContentResponse = z.array(GithubElement).or(GithubElement);\n"]}
@@ -46,6 +46,7 @@ const array_1 = require("../../../util/array");
46
46
  const common_1 = require("../../../util/common");
47
47
  const git = tslib_1.__importStar(require("../../../util/git"));
48
48
  const hostRules = tslib_1.__importStar(require("../../../util/host-rules"));
49
+ const memory_http_cache_provider_1 = require("../../../util/http/cache/memory-http-cache-provider");
49
50
  const gitlab_1 = require("../../../util/http/gitlab");
50
51
  const number_1 = require("../../../util/number");
51
52
  const p = tslib_1.__importStar(require("../../../util/promises"));
@@ -94,10 +95,10 @@ async function initPlatform({ endpoint, token, gitAuthor, }) {
94
95
  const user = (await http_1.gitlabApi.getJsonUnchecked(`user`, { token })).body;
95
96
  platformConfig.gitAuthor = `${user.name} <${user.commit_email ?? user.email}>`;
96
97
  }
97
- // istanbul ignore if: experimental feature
98
+ /* v8 ignore start: experimental feature */
98
99
  if (process.env.RENOVATE_X_PLATFORM_VERSION) {
99
100
  gitlabVersion = process.env.RENOVATE_X_PLATFORM_VERSION;
100
- }
101
+ } /* v8 ignore stop */
101
102
  else {
102
103
  const version = (await http_1.gitlabApi.getJsonUnchecked('version', {
103
104
  token,
@@ -164,7 +165,9 @@ async function getRawFile(fileName, repoName, branchOrTag) {
164
165
  const repo = urlEscape(repoName) ?? config.repository;
165
166
  const url = `projects/${repo}/repository/files/${escapedFileName}?ref=` +
166
167
  (branchOrTag ?? `HEAD`);
167
- const res = await http_1.gitlabApi.getJsonUnchecked(url);
168
+ const res = await http_1.gitlabApi.getJsonUnchecked(url, {
169
+ cacheProvider: memory_http_cache_provider_1.memCacheProvider,
170
+ });
168
171
  const buf = res.body.content;
169
172
  const str = Buffer.from(buf, 'base64').toString();
170
173
  return str;
@@ -198,8 +201,9 @@ function getRepoUrl(repository, gitUrl, res) {
198
201
  const { protocol, host, pathname } = (0, url_1.parseUrl)(defaults.endpoint);
199
202
  const newPathname = pathname.slice(0, pathname.indexOf('/api'));
200
203
  const url = node_url_1.default.format({
201
- protocol: protocol.slice(0, -1) ||
202
- /* istanbul ignore next: should never happen */ 'https',
204
+ protocol:
205
+ /* v8 ignore next: should never happen */
206
+ protocol.slice(0, -1) || 'https',
203
207
  // TODO: types (#22198)
204
208
  auth: `oauth2:${opts.token}`,
205
209
  host,
@@ -244,11 +248,11 @@ async function initRepo({ repository, cloneSubmodules, cloneSubmodulesFilter, ig
244
248
  throw new Error(error_messages_1.REPOSITORY_EMPTY);
245
249
  }
246
250
  config.defaultBranch = res.body.default_branch;
247
- // istanbul ignore if
251
+ /* v8 ignore start */
248
252
  if (!config.defaultBranch) {
249
253
  logger_1.logger.warn({ resBody: res.body }, 'Error fetching GitLab project');
250
254
  throw new Error(error_messages_1.TEMPORARY_ERROR);
251
- }
255
+ } /* v8 ignore stop */
252
256
  config.mergeMethod = res.body.merge_method || 'merge';
253
257
  if (res.body.squash_option) {
254
258
  config.squash =
@@ -264,7 +268,7 @@ async function initRepo({ repository, cloneSubmodules, cloneSubmodulesFilter, ig
264
268
  url,
265
269
  });
266
270
  }
267
- catch (err) /* istanbul ignore next */ {
271
+ catch (err) /* v8 ignore start */ {
268
272
  logger_1.logger.debug({ err }, 'Caught initRepo error');
269
273
  if (err.message.includes('HEAD is not a symbolic ref')) {
270
274
  throw new Error(error_messages_1.REPOSITORY_EMPTY);
@@ -283,7 +287,7 @@ async function initRepo({ repository, cloneSubmodules, cloneSubmodulesFilter, ig
283
287
  }
284
288
  logger_1.logger.debug({ err }, 'Unknown GitLab initRepo error');
285
289
  throw err;
286
- }
290
+ } /* v8 ignore stop */
287
291
  const repoConfig = {
288
292
  defaultBranch: config.defaultBranch,
289
293
  isFork: !!res.body.forked_from_project,
@@ -303,18 +307,23 @@ async function getStatus(branchName, useCache = true) {
303
307
  try {
304
308
  // TODO: types (#22198)
305
309
  const url = `projects/${config.repository}/repository/commits/${branchSha}/statuses`;
306
- return (await http_1.gitlabApi.getJsonUnchecked(url, {
307
- paginate: true,
308
- memCache: useCache,
309
- })).body;
310
+ const opts = { paginate: true };
311
+ if (useCache) {
312
+ opts.cacheProvider = memory_http_cache_provider_1.memCacheProvider;
313
+ }
314
+ else {
315
+ opts.memCache = false;
316
+ }
317
+ return (await http_1.gitlabApi.getJsonUnchecked(url, opts))
318
+ .body;
310
319
  }
311
- catch (err) /* istanbul ignore next */ {
320
+ catch (err) /* v8 ignore start */ {
312
321
  logger_1.logger.debug({ err }, 'Error getting commit status');
313
322
  if (err.response?.statusCode === 404) {
314
323
  throw new Error(error_messages_1.REPOSITORY_CHANGED);
315
324
  }
316
325
  throw err;
317
- }
326
+ } /* v8 ignore stop */
318
327
  }
319
328
  const gitlabToRenovateStatusMapping = {
320
329
  pending: 'yellow',
@@ -335,11 +344,11 @@ async function getBranchStatus(branchName, internalChecksAsSuccess) {
335
344
  throw new Error(error_messages_1.REPOSITORY_CHANGED);
336
345
  }
337
346
  const branchStatuses = await getStatus(branchName);
338
- // istanbul ignore if
347
+ /* v8 ignore start */
339
348
  if (!is_1.default.array(branchStatuses)) {
340
349
  logger_1.logger.warn({ branchName, branchStatuses }, 'Empty or unexpected branch statuses');
341
350
  return 'yellow';
342
- }
351
+ } /* v8 ignore stop */
343
352
  logger_1.logger.debug(`Got res with ${branchStatuses.length} results`);
344
353
  const mr = await getBranchPr(branchName);
345
354
  if (mr && mr.sha !== mr.headPipelineSha && mr.headPipelineStatus) {
@@ -385,10 +394,10 @@ async function fetchPrList() {
385
394
  const searchParams = {
386
395
  per_page: '100',
387
396
  };
388
- // istanbul ignore if
397
+ /* v8 ignore start */
389
398
  if (!config.ignorePrAuthor) {
390
399
  searchParams.scope = 'created_by_me';
391
- }
400
+ } /* v8 ignore stop */
392
401
  const query = (0, url_1.getQueryString)(searchParams);
393
402
  const urlString = `projects/${config.repository}/merge_requests?${query}`;
394
403
  try {
@@ -397,13 +406,13 @@ async function fetchPrList() {
397
406
  });
398
407
  return res.body.map((pr) => (0, utils_1.prInfo)(pr));
399
408
  }
400
- catch (err) /* istanbul ignore next */ {
409
+ catch (err) /* v8 ignore start */ {
401
410
  logger_1.logger.debug({ err }, 'Error fetching PR list');
402
411
  if (err.statusCode === 403) {
403
412
  throw new Error(error_messages_1.PLATFORM_AUTHENTICATION_ERROR);
404
413
  }
405
414
  throw err;
406
- }
415
+ } /* v8 ignore stop */
407
416
  }
408
417
  async function getPrList() {
409
418
  if (!config.prList) {
@@ -505,9 +514,9 @@ async function tryPrAutomerge(pr, platformPrOptions) {
505
514
  }
506
515
  }
507
516
  }
508
- catch (err) /* istanbul ignore next */ {
517
+ catch (err) /* v8 ignore start */ {
509
518
  logger_1.logger.debug({ err }, 'Automerge on PR creation failed');
510
- }
519
+ } /* v8 ignore stop */
511
520
  }
512
521
  async function approvePr(pr) {
513
522
  try {
@@ -536,10 +545,10 @@ async function createPr({ sourceBranch, targetBranch, prTitle, prBody: rawDescri
536
545
  },
537
546
  });
538
547
  const pr = (0, utils_1.prInfo)(res.body);
539
- // istanbul ignore if
548
+ /* v8 ignore start */
540
549
  if (config.prList) {
541
550
  config.prList.push(pr);
542
- }
551
+ } /* v8 ignore stop */
543
552
  if (platformPrOptions?.autoApprove) {
544
553
  await approvePr(pr.number);
545
554
  }
@@ -580,11 +589,11 @@ async function updatePr({ number: iid, prTitle, prBody: description, addLabels,
580
589
  const updatedPr = (0, utils_1.prInfo)(updatedPrInfo);
581
590
  if (config.prList) {
582
591
  const existingIndex = config.prList.findIndex((pr) => pr.number === updatedPr.number);
583
- // istanbul ignore if: should not happen
592
+ /* v8 ignore start: should not happen */
584
593
  if (existingIndex === -1) {
585
594
  logger_1.logger.warn({ pr: updatedPr }, 'Possible error: Updated PR was not found in the PRs that were returned from getPrList().');
586
595
  config.prList.push(updatedPr);
587
- }
596
+ } /* v8 ignore stop */
588
597
  else {
589
598
  config.prList[existingIndex] = updatedPr;
590
599
  }
@@ -606,7 +615,7 @@ async function mergePr({ id }) {
606
615
  });
607
616
  return true;
608
617
  }
609
- catch (err) /* istanbul ignore next */ {
618
+ catch (err) /* v8 ignore start */ {
610
619
  if (err.statusCode === 401) {
611
620
  logger_1.logger.debug('No permissions to merge PR');
612
621
  return false;
@@ -618,7 +627,7 @@ async function mergePr({ id }) {
618
627
  logger_1.logger.debug({ err }, 'merge PR error');
619
628
  logger_1.logger.debug('PR merge failed');
620
629
  return false;
621
- }
630
+ } /* v8 ignore stop */
622
631
  }
623
632
  function massageMarkdown(input) {
624
633
  const desc = input
@@ -639,10 +648,11 @@ function maxBodyLength() {
639
648
  return 1000000;
640
649
  }
641
650
  }
642
- // istanbul ignore next: no need to test
651
+ /* v8 ignore start: no need to test */
643
652
  function labelCharLimit() {
644
653
  return 255;
645
654
  }
655
+ /* v8 ignore stop */
646
656
  // Branch
647
657
  function matchesState(state, desiredState) {
648
658
  if (desiredState === 'all') {
@@ -745,7 +755,7 @@ async function setBranchStatus({ branchName, context, description, state: renova
745
755
  // update status cache
746
756
  await getStatus(branchName, false);
747
757
  }
748
- catch (err) /* istanbul ignore next */ {
758
+ catch (err) /* v8 ignore start */ {
749
759
  if (err.body?.message?.startsWith('Cannot transition status via :enqueue from :pending')) {
750
760
  // https://gitlab.com/gitlab-org/gitlab-foss/issues/25807
751
761
  logger_1.logger.debug('Ignoring status transition error');
@@ -754,7 +764,7 @@ async function setBranchStatus({ branchName, context, description, state: renova
754
764
  logger_1.logger.debug({ err });
755
765
  logger_1.logger.warn('Failed to set branch status');
756
766
  }
757
- }
767
+ } /* v8 ignore stop */
758
768
  }
759
769
  // Issue
760
770
  async function getIssueList() {
@@ -771,11 +781,11 @@ async function getIssueList() {
771
781
  memCache: false,
772
782
  paginate: true,
773
783
  });
774
- // istanbul ignore if
784
+ /* v8 ignore start */
775
785
  if (!is_1.default.array(res.body)) {
776
786
  logger_1.logger.warn({ responseBody: res.body }, 'Could not retrieve issue list');
777
787
  return [];
778
- }
788
+ } /* v8 ignore stop */
779
789
  config.issueList = res.body.map((i) => ({
780
790
  iid: i.iid,
781
791
  title: i.title,
@@ -786,16 +796,24 @@ async function getIssueList() {
786
796
  }
787
797
  async function getIssue(number, useCache = true) {
788
798
  try {
789
- const issueBody = (await http_1.gitlabApi.getJsonUnchecked(`projects/${config.repository}/issues/${number}`, { memCache: useCache })).body.description;
799
+ const opts = {};
800
+ /* v8 ignore start: temporary code */
801
+ if (useCache) {
802
+ opts.cacheProvider = memory_http_cache_provider_1.memCacheProvider;
803
+ }
804
+ else {
805
+ opts.memCache = false;
806
+ } /* v8 ignore stop */
807
+ const issueBody = (await http_1.gitlabApi.getJsonUnchecked(`projects/${config.repository}/issues/${number}`, opts)).body.description;
790
808
  return {
791
809
  number,
792
810
  body: issueBody,
793
811
  };
794
812
  }
795
- catch (err) /* istanbul ignore next */ {
813
+ catch (err) /* v8 ignore start */ {
796
814
  logger_1.logger.debug({ err, number }, 'Error getting issue');
797
815
  return null;
798
- }
816
+ } /* v8 ignore stop */
799
817
  }
800
818
  async function findIssue(title) {
801
819
  logger_1.logger.debug(`findIssue(${title})`);
@@ -807,10 +825,10 @@ async function findIssue(title) {
807
825
  }
808
826
  return await getIssue(issue.iid);
809
827
  }
810
- catch /* istanbul ignore next */ {
828
+ catch /* v8 ignore start */ {
811
829
  logger_1.logger.warn('Error finding issue');
812
830
  return null;
813
- }
831
+ } /* v8 ignore stop */
814
832
  }
815
833
  async function ensureIssue({ title, reuseTitle, body, labels, confidential, }) {
816
834
  logger_1.logger.debug(`ensureIssue()`);
@@ -851,14 +869,14 @@ async function ensureIssue({ title, reuseTitle, body, labels, confidential, }) {
851
869
  return 'created';
852
870
  }
853
871
  }
854
- catch (err) /* istanbul ignore next */ {
872
+ catch (err) /* v8 ignore start */ {
855
873
  if (err.message.startsWith('Issues are disabled for this repo')) {
856
874
  logger_1.logger.debug(`Could not create issue: ${err.message}`);
857
875
  }
858
876
  else {
859
877
  logger_1.logger.warn({ err }, 'Could not ensure issue');
860
878
  }
861
- }
879
+ } /* v8 ignore stop */
862
880
  return null;
863
881
  }
864
882
  async function ensureIssueClosing(title) {
@@ -956,9 +974,9 @@ async function deleteLabel(issueNo, label) {
956
974
  body: { labels },
957
975
  });
958
976
  }
959
- catch (err) /* istanbul ignore next */ {
977
+ catch (err) /* v8 ignore start */ {
960
978
  logger_1.logger.warn({ err, issueNo, label }, 'Failed to delete label');
961
- }
979
+ } /* v8 ignore stop */
962
980
  }
963
981
  async function getComments(issueNo) {
964
982
  // GET projects/:owner/:repo/merge_requests/:number/notes