renovate 40.0.0-next.4 → 40.0.0-next.41

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 (810) hide show
  1. package/dist/config/decrypt/legacy.js +0 -1
  2. package/dist/config/decrypt/legacy.js.map +1 -1
  3. package/dist/config/decrypt.d.ts +3 -1
  4. package/dist/config/decrypt.js +56 -13
  5. package/dist/config/decrypt.js.map +1 -1
  6. package/dist/config/migrate-validate.js +3 -2
  7. package/dist/config/migrate-validate.js.map +1 -1
  8. package/dist/config/migration.js +2 -1
  9. package/dist/config/migration.js.map +1 -1
  10. package/dist/config/migrations/custom/rebase-stale-prs-migration.js +1 -1
  11. package/dist/config/migrations/custom/rebase-stale-prs-migration.js.map +1 -1
  12. package/dist/config/options/index.js +17 -3
  13. package/dist/config/options/index.js.map +1 -1
  14. package/dist/config/parse.js +2 -2
  15. package/dist/config/parse.js.map +1 -1
  16. package/dist/config/presets/common.js +1 -0
  17. package/dist/config/presets/common.js.map +1 -1
  18. package/dist/config/presets/gitea/index.js +0 -1
  19. package/dist/config/presets/gitea/index.js.map +1 -1
  20. package/dist/config/presets/github/index.js +0 -1
  21. package/dist/config/presets/github/index.js.map +1 -1
  22. package/dist/config/presets/gitlab/index.js +1 -1
  23. package/dist/config/presets/gitlab/index.js.map +1 -1
  24. package/dist/config/presets/http/index.js +1 -2
  25. package/dist/config/presets/http/index.js.map +1 -1
  26. package/dist/config/presets/index.js +0 -7
  27. package/dist/config/presets/index.js.map +1 -1
  28. package/dist/config/presets/internal/custom-managers.js +18 -4
  29. package/dist/config/presets/internal/custom-managers.js.map +1 -1
  30. package/dist/config/presets/internal/group.js +30 -1
  31. package/dist/config/presets/internal/group.js.map +1 -1
  32. package/dist/config/presets/internal/index.js +1 -3
  33. package/dist/config/presets/internal/index.js.map +1 -1
  34. package/dist/config/presets/internal/workarounds.js +1 -0
  35. package/dist/config/presets/internal/workarounds.js.map +1 -1
  36. package/dist/config/presets/parse.js +2 -1
  37. package/dist/config/presets/parse.js.map +1 -1
  38. package/dist/config/schema.d.ts +2 -2
  39. package/dist/config/types.d.ts +4 -1
  40. package/dist/config/types.js.map +1 -1
  41. package/dist/config/validation.js +3 -5
  42. package/dist/config/validation.js.map +1 -1
  43. package/dist/config-validator.js +0 -1
  44. package/dist/config-validator.js.map +1 -1
  45. package/dist/constants/category.js +0 -1
  46. package/dist/constants/category.js.map +1 -1
  47. package/dist/constants/platforms.js +5 -1
  48. package/dist/constants/platforms.js.map +1 -1
  49. package/dist/data/monorepo.json +8 -2
  50. package/dist/data/source-urls.json +1 -0
  51. package/dist/data-files.generated.js +2 -2
  52. package/dist/data-files.generated.js.map +1 -1
  53. package/dist/instrumentation/index.js +39 -15
  54. package/dist/instrumentation/index.js.map +1 -1
  55. package/dist/instrumentation/utils.js +1 -1
  56. package/dist/instrumentation/utils.js.map +1 -1
  57. package/dist/logger/cmd-serializer.js +0 -1
  58. package/dist/logger/cmd-serializer.js.map +1 -1
  59. package/dist/logger/config-serializer.js +0 -1
  60. package/dist/logger/config-serializer.js.map +1 -1
  61. package/dist/logger/index.js +1 -4
  62. package/dist/logger/index.js.map +1 -1
  63. package/dist/logger/once.js +4 -2
  64. package/dist/logger/once.js.map +1 -1
  65. package/dist/logger/pretty-stdout.js +0 -1
  66. package/dist/logger/pretty-stdout.js.map +1 -1
  67. package/dist/logger/renovate-logger.js +1 -1
  68. package/dist/logger/renovate-logger.js.map +1 -1
  69. package/dist/logger/utils.js +6 -11
  70. package/dist/logger/utils.js.map +1 -1
  71. package/dist/modules/datasource/api.js +4 -0
  72. package/dist/modules/datasource/api.js.map +1 -1
  73. package/dist/modules/datasource/artifactory/index.js +1 -2
  74. package/dist/modules/datasource/artifactory/index.js.map +1 -1
  75. package/dist/modules/datasource/aws-eks-addon/index.d.ts +11 -0
  76. package/dist/modules/datasource/aws-eks-addon/index.js +75 -0
  77. package/dist/modules/datasource/aws-eks-addon/index.js.map +1 -0
  78. package/dist/modules/datasource/aws-eks-addon/schema.d.ts +40 -0
  79. package/dist/modules/datasource/aws-eks-addon/schema.js +31 -0
  80. package/dist/modules/datasource/aws-eks-addon/schema.js.map +1 -0
  81. package/dist/modules/datasource/aws-machine-image/index.js +6 -5
  82. package/dist/modules/datasource/aws-machine-image/index.js.map +1 -1
  83. package/dist/modules/datasource/azure-pipelines-tasks/index.js +15 -1
  84. package/dist/modules/datasource/azure-pipelines-tasks/index.js.map +1 -1
  85. package/dist/modules/datasource/azure-pipelines-tasks/schema.d.ts +24 -0
  86. package/dist/modules/datasource/azure-pipelines-tasks/schema.js +3 -0
  87. package/dist/modules/datasource/azure-pipelines-tasks/schema.js.map +1 -1
  88. package/dist/modules/datasource/bazel/index.js +18 -2
  89. package/dist/modules/datasource/bazel/index.js.map +1 -1
  90. package/dist/modules/datasource/bazel/schema.d.ts +1 -0
  91. package/dist/modules/datasource/bazel/schema.js.map +1 -1
  92. package/dist/modules/datasource/bitbucket-server-tags/index.d.ts +19 -0
  93. package/dist/modules/datasource/bitbucket-server-tags/index.js +133 -0
  94. package/dist/modules/datasource/bitbucket-server-tags/index.js.map +1 -0
  95. package/dist/modules/datasource/bitbucket-server-tags/schema.d.ts +28 -0
  96. package/dist/modules/datasource/bitbucket-server-tags/schema.js +13 -0
  97. package/dist/modules/datasource/bitbucket-server-tags/schema.js.map +1 -0
  98. package/dist/modules/datasource/bitrise/index.js +1 -1
  99. package/dist/modules/datasource/bitrise/index.js.map +1 -1
  100. package/dist/modules/datasource/cdnjs/schema.d.ts +2 -2
  101. package/dist/modules/datasource/conda/index.js +18 -1
  102. package/dist/modules/datasource/conda/index.js.map +1 -1
  103. package/dist/modules/datasource/conda/prefix-dev.d.ts +3 -0
  104. package/dist/modules/datasource/conda/prefix-dev.js +81 -0
  105. package/dist/modules/datasource/conda/prefix-dev.js.map +1 -0
  106. package/dist/modules/datasource/conda/schema/prefix-dev.d.ts +189 -0
  107. package/dist/modules/datasource/conda/schema/prefix-dev.js +31 -0
  108. package/dist/modules/datasource/conda/schema/prefix-dev.js.map +1 -0
  109. package/dist/modules/datasource/conda/types.d.ts +1 -20
  110. package/dist/modules/datasource/conda/types.js.map +1 -1
  111. package/dist/modules/datasource/cpan/index.js +2 -4
  112. package/dist/modules/datasource/cpan/index.js.map +1 -1
  113. package/dist/modules/datasource/crate/index.js +3 -3
  114. package/dist/modules/datasource/crate/index.js.map +1 -1
  115. package/dist/modules/datasource/custom/formats/html.js +1 -1
  116. package/dist/modules/datasource/custom/formats/html.js.map +1 -1
  117. package/dist/modules/datasource/custom/formats/yaml.js +1 -1
  118. package/dist/modules/datasource/custom/formats/yaml.js.map +1 -1
  119. package/dist/modules/datasource/custom/index.js +4 -2
  120. package/dist/modules/datasource/custom/index.js.map +1 -1
  121. package/dist/modules/datasource/custom/schema.d.ts +22 -22
  122. package/dist/modules/datasource/custom/utils.js +1 -0
  123. package/dist/modules/datasource/custom/utils.js.map +1 -1
  124. package/dist/modules/datasource/dart/index.js +1 -1
  125. package/dist/modules/datasource/dart/index.js.map +1 -1
  126. package/dist/modules/datasource/dart-version/index.js +1 -1
  127. package/dist/modules/datasource/dart-version/index.js.map +1 -1
  128. package/dist/modules/datasource/datasource.js +0 -1
  129. package/dist/modules/datasource/datasource.js.map +1 -1
  130. package/dist/modules/datasource/deb/index.d.ts +4 -5
  131. package/dist/modules/datasource/deb/index.js +10 -11
  132. package/dist/modules/datasource/deb/index.js.map +1 -1
  133. package/dist/modules/datasource/deb/url.d.ts +3 -3
  134. package/dist/modules/datasource/deb/url.js +17 -13
  135. package/dist/modules/datasource/deb/url.js.map +1 -1
  136. package/dist/modules/datasource/deno/index.js +1 -1
  137. package/dist/modules/datasource/deno/index.js.map +1 -1
  138. package/dist/modules/datasource/deno/schema.d.ts +1 -1
  139. package/dist/modules/datasource/devbox/index.js +0 -1
  140. package/dist/modules/datasource/devbox/index.js.map +1 -1
  141. package/dist/modules/datasource/docker/common.js +5 -2
  142. package/dist/modules/datasource/docker/common.js.map +1 -1
  143. package/dist/modules/datasource/docker/index.js +10 -8
  144. package/dist/modules/datasource/docker/index.js.map +1 -1
  145. package/dist/modules/datasource/docker/schema.d.ts +77 -101
  146. package/dist/modules/datasource/docker/schema.js +2 -1
  147. package/dist/modules/datasource/docker/schema.js.map +1 -1
  148. package/dist/modules/datasource/flutter-version/index.js +1 -1
  149. package/dist/modules/datasource/flutter-version/index.js.map +1 -1
  150. package/dist/modules/datasource/galaxy/schema.d.ts +1 -1
  151. package/dist/modules/datasource/galaxy-collection/schema.d.ts +8 -8
  152. package/dist/modules/datasource/git-refs/index.js +1 -1
  153. package/dist/modules/datasource/git-refs/index.js.map +1 -1
  154. package/dist/modules/datasource/gitea-releases/schema.d.ts +2 -2
  155. package/dist/modules/datasource/gitea-tags/schema.d.ts +4 -4
  156. package/dist/modules/datasource/github-release-attachments/index.js +2 -2
  157. package/dist/modules/datasource/github-release-attachments/index.js.map +1 -1
  158. package/dist/modules/datasource/github-runners/index.js +2 -2
  159. package/dist/modules/datasource/github-runners/index.js.map +1 -1
  160. package/dist/modules/datasource/gitlab-packages/index.js +1 -1
  161. package/dist/modules/datasource/gitlab-packages/index.js.map +1 -1
  162. package/dist/modules/datasource/gitlab-releases/index.js +1 -3
  163. package/dist/modules/datasource/gitlab-releases/index.js.map +1 -1
  164. package/dist/modules/datasource/go/base.js +1 -1
  165. package/dist/modules/datasource/go/base.js.map +1 -1
  166. package/dist/modules/datasource/go/index.js +1 -1
  167. package/dist/modules/datasource/go/index.js.map +1 -1
  168. package/dist/modules/datasource/go/releases-direct.js +7 -4
  169. package/dist/modules/datasource/go/releases-direct.js.map +1 -1
  170. package/dist/modules/datasource/go/releases-goproxy.js +1 -1
  171. package/dist/modules/datasource/go/releases-goproxy.js.map +1 -1
  172. package/dist/modules/datasource/golang-version/index.js +2 -2
  173. package/dist/modules/datasource/golang-version/index.js.map +1 -1
  174. package/dist/modules/datasource/gradle-version/index.js +1 -1
  175. package/dist/modules/datasource/gradle-version/index.js.map +1 -1
  176. package/dist/modules/datasource/helm/index.js +1 -1
  177. package/dist/modules/datasource/helm/index.js.map +1 -1
  178. package/dist/modules/datasource/hex/index.js +1 -1
  179. package/dist/modules/datasource/hex/index.js.map +1 -1
  180. package/dist/modules/datasource/hex/schema.d.ts +11 -11
  181. package/dist/modules/datasource/hexpm-bob/index.js +1 -1
  182. package/dist/modules/datasource/hexpm-bob/index.js.map +1 -1
  183. package/dist/modules/datasource/index.js +4 -4
  184. package/dist/modules/datasource/index.js.map +1 -1
  185. package/dist/modules/datasource/java-version/index.js +0 -1
  186. package/dist/modules/datasource/java-version/index.js.map +1 -1
  187. package/dist/modules/datasource/jenkins-plugins/index.js +1 -1
  188. package/dist/modules/datasource/jenkins-plugins/index.js.map +1 -1
  189. package/dist/modules/datasource/maven/index.js +35 -27
  190. package/dist/modules/datasource/maven/index.js.map +1 -1
  191. package/dist/modules/datasource/maven/types.d.ts +3 -6
  192. package/dist/modules/datasource/maven/types.js.map +1 -1
  193. package/dist/modules/datasource/maven/util.d.ts +4 -5
  194. package/dist/modules/datasource/maven/util.js +94 -157
  195. package/dist/modules/datasource/maven/util.js.map +1 -1
  196. package/dist/modules/datasource/metadata.js +9 -1
  197. package/dist/modules/datasource/metadata.js.map +1 -1
  198. package/dist/modules/datasource/node-version/index.js +1 -1
  199. package/dist/modules/datasource/node-version/index.js.map +1 -1
  200. package/dist/modules/datasource/npm/get.d.ts +0 -1
  201. package/dist/modules/datasource/npm/get.js +14 -68
  202. package/dist/modules/datasource/npm/get.js.map +1 -1
  203. package/dist/modules/datasource/npm/index.js +1 -1
  204. package/dist/modules/datasource/npm/index.js.map +1 -1
  205. package/dist/modules/datasource/npm/npmrc.js +1 -1
  206. package/dist/modules/datasource/npm/npmrc.js.map +1 -1
  207. package/dist/modules/datasource/npm/types.d.ts +0 -8
  208. package/dist/modules/datasource/npm/types.js.map +1 -1
  209. package/dist/modules/datasource/nuget/index.js +1 -1
  210. package/dist/modules/datasource/nuget/index.js.map +1 -1
  211. package/dist/modules/datasource/nuget/v2.js +1 -1
  212. package/dist/modules/datasource/nuget/v2.js.map +1 -1
  213. package/dist/modules/datasource/nuget/v3.js +6 -6
  214. package/dist/modules/datasource/nuget/v3.js.map +1 -1
  215. package/dist/modules/datasource/orb/index.js +1 -1
  216. package/dist/modules/datasource/orb/index.js.map +1 -1
  217. package/dist/modules/datasource/packagist/index.js +2 -2
  218. package/dist/modules/datasource/packagist/index.js.map +1 -1
  219. package/dist/modules/datasource/packagist/schema.d.ts +32 -32
  220. package/dist/modules/datasource/pod/index.js +2 -2
  221. package/dist/modules/datasource/pod/index.js.map +1 -1
  222. package/dist/modules/datasource/postprocess-release.js +1 -1
  223. package/dist/modules/datasource/postprocess-release.js.map +1 -1
  224. package/dist/modules/datasource/pypi/index.js +1 -1
  225. package/dist/modules/datasource/pypi/index.js.map +1 -1
  226. package/dist/modules/datasource/python-version/index.js +1 -1
  227. package/dist/modules/datasource/python-version/index.js.map +1 -1
  228. package/dist/modules/datasource/repology/index.js +1 -1
  229. package/dist/modules/datasource/repology/index.js.map +1 -1
  230. package/dist/modules/datasource/ruby-version/index.js +1 -1
  231. package/dist/modules/datasource/ruby-version/index.js.map +1 -1
  232. package/dist/modules/datasource/rubygems/index.js +2 -2
  233. package/dist/modules/datasource/rubygems/index.js.map +1 -1
  234. package/dist/modules/datasource/rubygems/versions-endpoint-cache.js +2 -2
  235. package/dist/modules/datasource/rubygems/versions-endpoint-cache.js.map +1 -1
  236. package/dist/modules/datasource/sbt-package/index.js +1 -1
  237. package/dist/modules/datasource/sbt-package/index.js.map +1 -1
  238. package/dist/modules/datasource/sbt-plugin/index.js +1 -1
  239. package/dist/modules/datasource/sbt-plugin/index.js.map +1 -1
  240. package/dist/modules/datasource/schema.d.ts +4 -4
  241. package/dist/modules/datasource/terraform-module/index.js +1 -1
  242. package/dist/modules/datasource/terraform-module/index.js.map +1 -1
  243. package/dist/modules/datasource/terraform-provider/index.js +2 -3
  244. package/dist/modules/datasource/terraform-provider/index.js.map +1 -1
  245. package/dist/modules/datasource/types.d.ts +2 -0
  246. package/dist/modules/datasource/types.js.map +1 -1
  247. package/dist/modules/datasource/unity3d/index.d.ts +4 -1
  248. package/dist/modules/datasource/unity3d/index.js +36 -42
  249. package/dist/modules/datasource/unity3d/index.js.map +1 -1
  250. package/dist/modules/datasource/unity3d/schema.d.ts +47 -0
  251. package/dist/modules/datasource/unity3d/schema.js +17 -0
  252. package/dist/modules/datasource/unity3d/schema.js.map +1 -0
  253. package/dist/modules/manager/api.js +2 -0
  254. package/dist/modules/manager/api.js.map +1 -1
  255. package/dist/modules/manager/argocd/extract.js +1 -1
  256. package/dist/modules/manager/argocd/extract.js.map +1 -1
  257. package/dist/modules/manager/argocd/schema.d.ts +22 -22
  258. package/dist/modules/manager/asdf/upgradeable-tooling.js +94 -0
  259. package/dist/modules/manager/asdf/upgradeable-tooling.js.map +1 -1
  260. package/dist/modules/manager/azure-pipelines/schema.d.ts +32 -32
  261. package/dist/modules/manager/batect/schema.d.ts +4 -4
  262. package/dist/modules/manager/batect-wrapper/artifacts.js +1 -1
  263. package/dist/modules/manager/batect-wrapper/artifacts.js.map +1 -1
  264. package/dist/modules/manager/bazel/rules/docker.d.ts +6 -6
  265. package/dist/modules/manager/bazel/rules/git.d.ts +10 -10
  266. package/dist/modules/manager/bazel/rules/git.js +9 -2
  267. package/dist/modules/manager/bazel/rules/git.js.map +1 -1
  268. package/dist/modules/manager/bazel/rules/go.d.ts +5 -5
  269. package/dist/modules/manager/bazel/rules/maven.d.ts +7 -7
  270. package/dist/modules/manager/bazel/rules/oci.d.ts +6 -6
  271. package/dist/modules/manager/bazel-module/parser/fragments.d.ts +40 -40
  272. package/dist/modules/manager/bazel-module/parser/maven.d.ts +44 -90
  273. package/dist/modules/manager/bazel-module/parser/oci.d.ts +19 -42
  274. package/dist/modules/manager/bazel-module/rules.d.ts +50 -160
  275. package/dist/modules/manager/bun/artifacts.js +0 -1
  276. package/dist/modules/manager/bun/artifacts.js.map +1 -1
  277. package/dist/modules/manager/bun/extract.d.ts +1 -0
  278. package/dist/modules/manager/bun/extract.js +53 -27
  279. package/dist/modules/manager/bun/extract.js.map +1 -1
  280. package/dist/modules/manager/bun/index.js +1 -1
  281. package/dist/modules/manager/bun/index.js.map +1 -1
  282. package/dist/modules/manager/bun/utils.d.ts +2 -0
  283. package/dist/modules/manager/bun/utils.js +22 -0
  284. package/dist/modules/manager/bun/utils.js.map +1 -0
  285. package/dist/modules/manager/bundler/artifacts.js +0 -1
  286. package/dist/modules/manager/bundler/artifacts.js.map +1 -1
  287. package/dist/modules/manager/bundler/extract.js +2 -1
  288. package/dist/modules/manager/bundler/extract.js.map +1 -1
  289. package/dist/modules/manager/cake/index.js +4 -2
  290. package/dist/modules/manager/cake/index.js.map +1 -1
  291. package/dist/modules/manager/cargo/artifacts.js +5 -7
  292. package/dist/modules/manager/cargo/artifacts.js.map +1 -1
  293. package/dist/modules/manager/cargo/schema.d.ts +117 -117
  294. package/dist/modules/manager/circleci/extract.js +21 -30
  295. package/dist/modules/manager/circleci/extract.js.map +1 -1
  296. package/dist/modules/manager/circleci/schema.d.ts +33 -144
  297. package/dist/modules/manager/circleci/schema.js +21 -17
  298. package/dist/modules/manager/circleci/schema.js.map +1 -1
  299. package/dist/modules/manager/cocoapods/artifacts.js +1 -2
  300. package/dist/modules/manager/cocoapods/artifacts.js.map +1 -1
  301. package/dist/modules/manager/composer/artifacts.js +1 -2
  302. package/dist/modules/manager/composer/artifacts.js.map +1 -1
  303. package/dist/modules/manager/composer/schema.d.ts +32 -34
  304. package/dist/modules/manager/composer/schema.js +1 -1
  305. package/dist/modules/manager/composer/schema.js.map +1 -1
  306. package/dist/modules/manager/composer/utils.d.ts +1 -0
  307. package/dist/modules/manager/composer/utils.js +18 -6
  308. package/dist/modules/manager/composer/utils.js.map +1 -1
  309. package/dist/modules/manager/conan/artifacts.d.ts +2 -0
  310. package/dist/modules/manager/conan/artifacts.js +76 -0
  311. package/dist/modules/manager/conan/artifacts.js.map +1 -0
  312. package/dist/modules/manager/conan/index.d.ts +2 -0
  313. package/dist/modules/manager/conan/index.js +4 -1
  314. package/dist/modules/manager/conan/index.js.map +1 -1
  315. package/dist/modules/manager/copier/artifacts.js +0 -1
  316. package/dist/modules/manager/copier/artifacts.js.map +1 -1
  317. package/dist/modules/manager/crossplane/schema.d.ts +2 -2
  318. package/dist/modules/manager/custom/jsonata/index.js +4 -0
  319. package/dist/modules/manager/custom/jsonata/index.js.map +1 -1
  320. package/dist/modules/manager/custom/jsonata/schema.d.ts +21 -21
  321. package/dist/modules/manager/custom/regex/index.js +2 -0
  322. package/dist/modules/manager/custom/regex/index.js.map +1 -1
  323. package/dist/modules/manager/deps-edn/extract.js +2 -1
  324. package/dist/modules/manager/deps-edn/extract.js.map +1 -1
  325. package/dist/modules/manager/devbox/artifacts.d.ts +1 -1
  326. package/dist/modules/manager/devbox/artifacts.js +35 -11
  327. package/dist/modules/manager/devbox/artifacts.js.map +1 -1
  328. package/dist/modules/manager/devbox/schema.js +1 -1
  329. package/dist/modules/manager/devbox/schema.js.map +1 -1
  330. package/dist/modules/manager/devcontainer/extract.js +43 -1
  331. package/dist/modules/manager/devcontainer/extract.js.map +1 -1
  332. package/dist/modules/manager/devcontainer/index.js +11 -1
  333. package/dist/modules/manager/devcontainer/index.js.map +1 -1
  334. package/dist/modules/manager/devcontainer/schema.d.ts +7 -3
  335. package/dist/modules/manager/devcontainer/schema.js +3 -1
  336. package/dist/modules/manager/devcontainer/schema.js.map +1 -1
  337. package/dist/modules/manager/docker-compose/schema.d.ts +6 -6
  338. package/dist/modules/manager/dockerfile/extract.js +2 -6
  339. package/dist/modules/manager/dockerfile/extract.js.map +1 -1
  340. package/dist/modules/manager/fingerprint.generated.js +86 -85
  341. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  342. package/dist/modules/manager/flux/artifacts.js +0 -1
  343. package/dist/modules/manager/flux/artifacts.js.map +1 -1
  344. package/dist/modules/manager/flux/extract.js +27 -24
  345. package/dist/modules/manager/flux/extract.js.map +1 -1
  346. package/dist/modules/manager/flux/schema.d.ts +130 -154
  347. package/dist/modules/manager/github-actions/extract.js +60 -39
  348. package/dist/modules/manager/github-actions/extract.js.map +1 -1
  349. package/dist/modules/manager/github-actions/schema.d.ts +66 -0
  350. package/dist/modules/manager/github-actions/schema.js +38 -0
  351. package/dist/modules/manager/github-actions/schema.js.map +1 -0
  352. package/dist/modules/manager/gitlabci/extract.d.ts +1 -5
  353. package/dist/modules/manager/gitlabci/extract.js +27 -126
  354. package/dist/modules/manager/gitlabci/extract.js.map +1 -1
  355. package/dist/modules/manager/gitlabci/schema.d.ts +55 -0
  356. package/dist/modules/manager/gitlabci/schema.js +63 -0
  357. package/dist/modules/manager/gitlabci/schema.js.map +1 -0
  358. package/dist/modules/manager/gitlabci-include/extract.js +6 -54
  359. package/dist/modules/manager/gitlabci-include/extract.js.map +1 -1
  360. package/dist/modules/manager/gitlabci-include/schema.d.ts +13 -0
  361. package/dist/modules/manager/gitlabci-include/schema.js +46 -0
  362. package/dist/modules/manager/gitlabci-include/schema.js.map +1 -0
  363. package/dist/modules/manager/glasskube/schema.d.ts +8 -8
  364. package/dist/modules/manager/gomod/artifacts-extra.js +12 -4
  365. package/dist/modules/manager/gomod/artifacts-extra.js.map +1 -1
  366. package/dist/modules/manager/gomod/artifacts.js +24 -10
  367. package/dist/modules/manager/gomod/artifacts.js.map +1 -1
  368. package/dist/modules/manager/gomod/extract.js +23 -0
  369. package/dist/modules/manager/gomod/extract.js.map +1 -1
  370. package/dist/modules/manager/gomod/line-parser.js +16 -0
  371. package/dist/modules/manager/gomod/line-parser.js.map +1 -1
  372. package/dist/modules/manager/gomod/update.js +5 -3
  373. package/dist/modules/manager/gomod/update.js.map +1 -1
  374. package/dist/modules/manager/gradle/artifacts.js +0 -1
  375. package/dist/modules/manager/gradle/artifacts.js.map +1 -1
  376. package/dist/modules/manager/gradle/extract/catalog.js +1 -1
  377. package/dist/modules/manager/gradle/extract/catalog.js.map +1 -1
  378. package/dist/modules/manager/gradle/extract.js +8 -13
  379. package/dist/modules/manager/gradle/extract.js.map +1 -1
  380. package/dist/modules/manager/gradle/parser/assignments.js +2 -2
  381. package/dist/modules/manager/gradle/parser/assignments.js.map +1 -1
  382. package/dist/modules/manager/gradle/parser/handlers.d.ts +1 -2
  383. package/dist/modules/manager/gradle/parser/handlers.js +17 -24
  384. package/dist/modules/manager/gradle/parser/handlers.js.map +1 -1
  385. package/dist/modules/manager/gradle/parser/registry-urls.js +46 -12
  386. package/dist/modules/manager/gradle/parser/registry-urls.js.map +1 -1
  387. package/dist/modules/manager/gradle/types.d.ts +1 -0
  388. package/dist/modules/manager/gradle/types.js.map +1 -1
  389. package/dist/modules/manager/gradle-wrapper/artifacts.js +1 -2
  390. package/dist/modules/manager/gradle-wrapper/artifacts.js.map +1 -1
  391. package/dist/modules/manager/helmfile/artifacts.js +0 -1
  392. package/dist/modules/manager/helmfile/artifacts.js.map +1 -1
  393. package/dist/modules/manager/helmfile/extract.js +4 -0
  394. package/dist/modules/manager/helmfile/extract.js.map +1 -1
  395. package/dist/modules/manager/helmfile/schema.d.ts +9 -9
  396. package/dist/modules/manager/helmv3/artifacts.js +0 -1
  397. package/dist/modules/manager/helmv3/artifacts.js.map +1 -1
  398. package/dist/modules/manager/helmv3/utils.js +3 -1
  399. package/dist/modules/manager/helmv3/utils.js.map +1 -1
  400. package/dist/modules/manager/hermit/artifacts.js +0 -1
  401. package/dist/modules/manager/hermit/artifacts.js.map +1 -1
  402. package/dist/modules/manager/homebrew/extract.js +0 -1
  403. package/dist/modules/manager/homebrew/extract.js.map +1 -1
  404. package/dist/modules/manager/jsonnet-bundler/artifacts.js +0 -1
  405. package/dist/modules/manager/jsonnet-bundler/artifacts.js.map +1 -1
  406. package/dist/modules/manager/kustomize/artifacts.d.ts +2 -0
  407. package/dist/modules/manager/kustomize/artifacts.js +154 -0
  408. package/dist/modules/manager/kustomize/artifacts.js.map +1 -0
  409. package/dist/modules/manager/kustomize/common.d.ts +3 -0
  410. package/dist/modules/manager/kustomize/common.js +22 -0
  411. package/dist/modules/manager/kustomize/common.js.map +1 -0
  412. package/dist/modules/manager/kustomize/index.d.ts +1 -0
  413. package/dist/modules/manager/kustomize/index.js +3 -1
  414. package/dist/modules/manager/kustomize/index.js.map +1 -1
  415. package/dist/modules/manager/kustomize/types.d.ts +4 -0
  416. package/dist/modules/manager/kustomize/types.js.map +1 -1
  417. package/dist/modules/manager/maven/extract.js +4 -4
  418. package/dist/modules/manager/maven/extract.js.map +1 -1
  419. package/dist/modules/manager/maven-wrapper/artifacts.js +0 -1
  420. package/dist/modules/manager/maven-wrapper/artifacts.js.map +1 -1
  421. package/dist/modules/manager/mise/extract.js +1 -1
  422. package/dist/modules/manager/mise/extract.js.map +1 -1
  423. package/dist/modules/manager/mix/artifacts.js +64 -14
  424. package/dist/modules/manager/mix/artifacts.js.map +1 -1
  425. package/dist/modules/manager/mix/index.d.ts +1 -0
  426. package/dist/modules/manager/mix/index.js +2 -1
  427. package/dist/modules/manager/mix/index.js.map +1 -1
  428. package/dist/modules/manager/nix/artifacts.js +0 -1
  429. package/dist/modules/manager/nix/artifacts.js.map +1 -1
  430. package/dist/modules/manager/nix/extract.js +1 -1
  431. package/dist/modules/manager/nix/extract.js.map +1 -1
  432. package/dist/modules/manager/nix/schema.d.ts +20 -20
  433. package/dist/modules/manager/nix/schema.js +1 -0
  434. package/dist/modules/manager/nix/schema.js.map +1 -1
  435. package/dist/modules/manager/npm/artifacts.js +0 -1
  436. package/dist/modules/manager/npm/artifacts.js.map +1 -1
  437. package/dist/modules/manager/npm/extract/common/package-file.js +1 -0
  438. package/dist/modules/manager/npm/extract/common/package-file.js.map +1 -1
  439. package/dist/modules/manager/npm/extract/yarn.js +2 -2
  440. package/dist/modules/manager/npm/extract/yarn.js.map +1 -1
  441. package/dist/modules/manager/npm/post-update/npm.js +0 -1
  442. package/dist/modules/manager/npm/post-update/npm.js.map +1 -1
  443. package/dist/modules/manager/npm/post-update/pnpm.js +13 -2
  444. package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
  445. package/dist/modules/manager/npm/post-update/rules.js +11 -1
  446. package/dist/modules/manager/npm/post-update/rules.js.map +1 -1
  447. package/dist/modules/manager/npm/post-update/yarn.js +0 -1
  448. package/dist/modules/manager/npm/post-update/yarn.js.map +1 -1
  449. package/dist/modules/manager/npm/schema.d.ts +13 -13
  450. package/dist/modules/manager/npm/update/dependency/index.js +1 -1
  451. package/dist/modules/manager/npm/update/dependency/index.js.map +1 -1
  452. package/dist/modules/manager/nuget/artifacts.js +1 -2
  453. package/dist/modules/manager/nuget/artifacts.js.map +1 -1
  454. package/dist/modules/manager/nuget/extract.js +21 -18
  455. package/dist/modules/manager/nuget/extract.js.map +1 -1
  456. package/dist/modules/manager/nuget/package-tree.js +4 -0
  457. package/dist/modules/manager/nuget/package-tree.js.map +1 -1
  458. package/dist/modules/manager/nuget/schema.d.ts +8 -8
  459. package/dist/modules/manager/nuget/util.js +4 -1
  460. package/dist/modules/manager/nuget/util.js.map +1 -1
  461. package/dist/modules/manager/ocb/schema.d.ts +6 -6
  462. package/dist/modules/manager/pep621/processors/pdm.js +0 -1
  463. package/dist/modules/manager/pep621/processors/pdm.js.map +1 -1
  464. package/dist/modules/manager/pep621/processors/uv.js +0 -1
  465. package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
  466. package/dist/modules/manager/pep621/schema.d.ts +346 -54
  467. package/dist/modules/manager/pep621/schema.js +2 -0
  468. package/dist/modules/manager/pep621/schema.js.map +1 -1
  469. package/dist/modules/manager/pep621/utils.js +1 -1
  470. package/dist/modules/manager/pep621/utils.js.map +1 -1
  471. package/dist/modules/manager/pip-compile/common.js +0 -1
  472. package/dist/modules/manager/pip-compile/common.js.map +1 -1
  473. package/dist/modules/manager/pip_requirements/artifacts.js +0 -1
  474. package/dist/modules/manager/pip_requirements/artifacts.js.map +1 -1
  475. package/dist/modules/manager/pip_requirements/common.js +2 -6
  476. package/dist/modules/manager/pip_requirements/common.js.map +1 -1
  477. package/dist/modules/manager/pipenv/artifacts.js +0 -1
  478. package/dist/modules/manager/pipenv/artifacts.js.map +1 -1
  479. package/dist/modules/manager/pixi/artifacts.d.ts +3 -0
  480. package/dist/modules/manager/pixi/artifacts.js +78 -0
  481. package/dist/modules/manager/pixi/artifacts.js.map +1 -0
  482. package/dist/modules/manager/pixi/extract.d.ts +4 -0
  483. package/dist/modules/manager/pixi/extract.js +131 -0
  484. package/dist/modules/manager/pixi/extract.js.map +1 -0
  485. package/dist/modules/manager/pixi/index.d.ts +10 -0
  486. package/dist/modules/manager/pixi/index.js +20 -0
  487. package/dist/modules/manager/pixi/index.js.map +1 -0
  488. package/dist/modules/manager/pixi/schema.d.ts +405 -0
  489. package/dist/modules/manager/pixi/schema.js +147 -0
  490. package/dist/modules/manager/pixi/schema.js.map +1 -0
  491. package/dist/modules/manager/poetry/artifacts.js +3 -4
  492. package/dist/modules/manager/poetry/artifacts.js.map +1 -1
  493. package/dist/modules/manager/poetry/extract.js +2 -1
  494. package/dist/modules/manager/poetry/extract.js.map +1 -1
  495. package/dist/modules/manager/poetry/schema.d.ts +48 -48
  496. package/dist/modules/manager/pub/artifacts.js +0 -1
  497. package/dist/modules/manager/pub/artifacts.js.map +1 -1
  498. package/dist/modules/manager/pub/schema.d.ts +8 -8
  499. package/dist/modules/manager/scalafmt/extract.js +1 -1
  500. package/dist/modules/manager/scalafmt/extract.js.map +1 -1
  501. package/dist/modules/manager/sveltos/schema.d.ts +30 -42
  502. package/dist/modules/manager/terraform/lockfile/hash.d.ts +1 -1
  503. package/dist/modules/manager/terraform/util.js +1 -3
  504. package/dist/modules/manager/terraform/util.js.map +1 -1
  505. package/dist/modules/manager/types.d.ts +6 -2
  506. package/dist/modules/manager/types.js.map +1 -1
  507. package/dist/modules/manager/vendir/schema.d.ts +7 -7
  508. package/dist/modules/platform/api.d.ts +1 -1
  509. package/dist/modules/platform/azure/azure-helper.js +2 -2
  510. package/dist/modules/platform/azure/azure-helper.js.map +1 -1
  511. package/dist/modules/platform/azure/index.js +14 -14
  512. package/dist/modules/platform/azure/index.js.map +1 -1
  513. package/dist/modules/platform/bitbucket/comments.js +4 -4
  514. package/dist/modules/platform/bitbucket/comments.js.map +1 -1
  515. package/dist/modules/platform/bitbucket/index.d.ts +1 -0
  516. package/dist/modules/platform/bitbucket/index.js +54 -44
  517. package/dist/modules/platform/bitbucket/index.js.map +1 -1
  518. package/dist/modules/platform/bitbucket/schema.d.ts +14 -14
  519. package/dist/modules/platform/bitbucket/utils.js +3 -3
  520. package/dist/modules/platform/bitbucket/utils.js.map +1 -1
  521. package/dist/modules/platform/bitbucket-server/index.d.ts +3 -3
  522. package/dist/modules/platform/bitbucket-server/index.js +81 -81
  523. package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
  524. package/dist/modules/platform/bitbucket-server/pr-cache.d.ts +23 -0
  525. package/dist/modules/platform/bitbucket-server/pr-cache.js +125 -0
  526. package/dist/modules/platform/bitbucket-server/pr-cache.js.map +1 -0
  527. package/dist/modules/platform/bitbucket-server/schema.d.ts +76 -0
  528. package/dist/modules/platform/bitbucket-server/schema.js +15 -1
  529. package/dist/modules/platform/bitbucket-server/schema.js.map +1 -1
  530. package/dist/modules/platform/bitbucket-server/types.d.ts +8 -2
  531. package/dist/modules/platform/bitbucket-server/types.js.map +1 -1
  532. package/dist/modules/platform/bitbucket-server/utils.d.ts +0 -2
  533. package/dist/modules/platform/bitbucket-server/utils.js +6 -52
  534. package/dist/modules/platform/bitbucket-server/utils.js.map +1 -1
  535. package/dist/modules/platform/codecommit/codecommit-client.js +6 -6
  536. package/dist/modules/platform/codecommit/codecommit-client.js.map +1 -1
  537. package/dist/modules/platform/codecommit/index.js +24 -24
  538. package/dist/modules/platform/codecommit/index.js.map +1 -1
  539. package/dist/modules/platform/gerrit/client.d.ts +0 -3
  540. package/dist/modules/platform/gerrit/client.js +20 -29
  541. package/dist/modules/platform/gerrit/client.js.map +1 -1
  542. package/dist/modules/platform/gerrit/index.js +0 -6
  543. package/dist/modules/platform/gerrit/index.js.map +1 -1
  544. package/dist/modules/platform/gerrit/scm.js +5 -6
  545. package/dist/modules/platform/gerrit/scm.js.map +1 -1
  546. package/dist/modules/platform/gerrit/types.d.ts +1 -4
  547. package/dist/modules/platform/gerrit/types.js.map +1 -1
  548. package/dist/modules/platform/gerrit/utils.d.ts +3 -2
  549. package/dist/modules/platform/gerrit/utils.js +4 -8
  550. package/dist/modules/platform/gerrit/utils.js.map +1 -1
  551. package/dist/modules/platform/gitea/gitea-helper.d.ts +1 -0
  552. package/dist/modules/platform/gitea/gitea-helper.js +16 -0
  553. package/dist/modules/platform/gitea/gitea-helper.js.map +1 -1
  554. package/dist/modules/platform/gitea/index.d.ts +1 -0
  555. package/dist/modules/platform/gitea/index.js +33 -16
  556. package/dist/modules/platform/gitea/index.js.map +1 -1
  557. package/dist/modules/platform/gitea/schema.d.ts +8 -8
  558. package/dist/modules/platform/gitea/types.d.ts +1 -1
  559. package/dist/modules/platform/gitea/types.js.map +1 -1
  560. package/dist/modules/platform/github/common.d.ts +2 -0
  561. package/dist/modules/platform/github/common.js +16 -0
  562. package/dist/modules/platform/github/common.js.map +1 -1
  563. package/dist/modules/platform/github/index.d.ts +1 -1
  564. package/dist/modules/platform/github/index.js +87 -82
  565. package/dist/modules/platform/github/index.js.map +1 -1
  566. package/dist/modules/platform/github/issue.d.ts +18 -18
  567. package/dist/modules/platform/github/massage-markdown-links.js +2 -2
  568. package/dist/modules/platform/github/massage-markdown-links.js.map +1 -1
  569. package/dist/modules/platform/github/pr.js +3 -3
  570. package/dist/modules/platform/github/pr.js.map +1 -1
  571. package/dist/modules/platform/github/schema.d.ts +128 -128
  572. package/dist/modules/platform/github/schema.js +3 -1
  573. package/dist/modules/platform/github/schema.js.map +1 -1
  574. package/dist/modules/platform/gitlab/index.d.ts +1 -0
  575. package/dist/modules/platform/gitlab/index.js +72 -49
  576. package/dist/modules/platform/gitlab/index.js.map +1 -1
  577. package/dist/modules/platform/index.js +0 -1
  578. package/dist/modules/platform/index.js.map +1 -1
  579. package/dist/modules/platform/scm.d.ts +1 -1
  580. package/dist/modules/versioning/api.js +2 -0
  581. package/dist/modules/versioning/api.js.map +1 -1
  582. package/dist/modules/versioning/composer/index.js +10 -0
  583. package/dist/modules/versioning/composer/index.js.map +1 -1
  584. package/dist/modules/versioning/conda/index.d.ts +41 -0
  585. package/dist/modules/versioning/conda/index.js +178 -0
  586. package/dist/modules/versioning/conda/index.js.map +1 -0
  587. package/dist/modules/versioning/distro.js +1 -3
  588. package/dist/modules/versioning/distro.js.map +1 -1
  589. package/dist/modules/versioning/hashicorp/convertor.d.ts +2 -1
  590. package/dist/modules/versioning/hashicorp/convertor.js +13 -8
  591. package/dist/modules/versioning/hashicorp/convertor.js.map +1 -1
  592. package/dist/modules/versioning/hex/index.js +3 -3
  593. package/dist/modules/versioning/hex/index.js.map +1 -1
  594. package/dist/modules/versioning/npm/index.js +2 -1
  595. package/dist/modules/versioning/npm/index.js.map +1 -1
  596. package/dist/modules/versioning/schema.js +1 -1
  597. package/dist/modules/versioning/schema.js.map +1 -1
  598. package/dist/modules/versioning/types.d.ts +4 -0
  599. package/dist/modules/versioning/types.js.map +1 -1
  600. package/dist/proxy.js +2 -1
  601. package/dist/proxy.js.map +1 -1
  602. package/dist/renovate.js +2 -2
  603. package/dist/renovate.js.map +1 -1
  604. package/dist/util/cache/package/decorator.js +2 -2
  605. package/dist/util/cache/package/decorator.js.map +1 -1
  606. package/dist/util/cache/package/redis.js +0 -1
  607. package/dist/util/cache/package/redis.js.map +1 -1
  608. package/dist/util/cache/package/types.d.ts +1 -1
  609. package/dist/util/cache/package/types.js.map +1 -1
  610. package/dist/util/cache/repository/impl/base.d.ts +1 -1
  611. package/dist/util/cache/repository/impl/base.js +4 -0
  612. package/dist/util/cache/repository/impl/base.js.map +1 -1
  613. package/dist/util/cache/repository/schema.d.ts +4 -4
  614. package/dist/util/cache/repository/types.d.ts +3 -0
  615. package/dist/util/cache/repository/types.js.map +1 -1
  616. package/dist/util/common.d.ts +4 -2
  617. package/dist/util/common.js +17 -3
  618. package/dist/util/common.js.map +1 -1
  619. package/dist/util/env.d.ts +4 -0
  620. package/dist/util/env.js +22 -0
  621. package/dist/util/env.js.map +1 -0
  622. package/dist/util/exec/containerbase.js +19 -14
  623. package/dist/util/exec/containerbase.js.map +1 -1
  624. package/dist/util/exec/index.js +5 -2
  625. package/dist/util/exec/index.js.map +1 -1
  626. package/dist/util/exec/types.d.ts +0 -2
  627. package/dist/util/exec/types.js.map +1 -1
  628. package/dist/util/exec/utils.d.ts +1 -1
  629. package/dist/util/exec/utils.js +6 -5
  630. package/dist/util/exec/utils.js.map +1 -1
  631. package/dist/util/git/auth.js +8 -5
  632. package/dist/util/git/auth.js.map +1 -1
  633. package/dist/util/git/author.js +1 -1
  634. package/dist/util/git/author.js.map +1 -1
  635. package/dist/util/git/config.js +0 -1
  636. package/dist/util/git/config.js.map +1 -1
  637. package/dist/util/git/error.js +4 -2
  638. package/dist/util/git/error.js.map +1 -1
  639. package/dist/util/git/index.js +75 -52
  640. package/dist/util/git/index.js.map +1 -1
  641. package/dist/util/git/private-key.js +2 -4
  642. package/dist/util/git/private-key.js.map +1 -1
  643. package/dist/util/git/types.d.ts +2 -0
  644. package/dist/util/git/types.js.map +1 -1
  645. package/dist/util/git/url.js +1 -1
  646. package/dist/util/git/url.js.map +1 -1
  647. package/dist/util/github/graphql/datasource-fetcher.js +3 -5
  648. package/dist/util/github/graphql/datasource-fetcher.js.map +1 -1
  649. package/dist/util/github/graphql/query-adapters/releases-query-adapter.d.ts +2 -2
  650. package/dist/util/github/graphql/query-adapters/tags-query-adapter.d.ts +2 -2
  651. package/dist/util/http/auth.js +0 -1
  652. package/dist/util/http/auth.js.map +1 -1
  653. package/dist/util/http/bitbucket-server.d.ts +7 -5
  654. package/dist/util/http/bitbucket-server.js +26 -23
  655. package/dist/util/http/bitbucket-server.js.map +1 -1
  656. package/dist/util/http/bitbucket.d.ts +6 -5
  657. package/dist/util/http/bitbucket.js +34 -31
  658. package/dist/util/http/bitbucket.js.map +1 -1
  659. package/dist/util/http/cache/abstract-http-cache-provider.js +2 -2
  660. package/dist/util/http/cache/abstract-http-cache-provider.js.map +1 -1
  661. package/dist/util/http/cache/memory-http-cache-provider.d.ts +10 -0
  662. package/dist/util/http/cache/memory-http-cache-provider.js +29 -0
  663. package/dist/util/http/cache/memory-http-cache-provider.js.map +1 -0
  664. package/dist/util/http/cache/package-http-cache-provider.d.ts +23 -0
  665. package/dist/util/http/cache/package-http-cache-provider.js +80 -0
  666. package/dist/util/http/cache/package-http-cache-provider.js.map +1 -0
  667. package/dist/util/http/cache/schema.d.ts +2 -2
  668. package/dist/util/http/errors.d.ts +2 -0
  669. package/dist/util/http/errors.js +8 -0
  670. package/dist/util/http/errors.js.map +1 -0
  671. package/dist/util/http/gerrit.d.ts +6 -4
  672. package/dist/util/http/gerrit.js +11 -12
  673. package/dist/util/http/gerrit.js.map +1 -1
  674. package/dist/util/http/gitea.d.ts +5 -4
  675. package/dist/util/http/gitea.js +14 -13
  676. package/dist/util/http/gitea.js.map +1 -1
  677. package/dist/util/http/github.d.ts +14 -8
  678. package/dist/util/http/github.js +65 -60
  679. package/dist/util/http/github.js.map +1 -1
  680. package/dist/util/http/gitlab.d.ts +7 -5
  681. package/dist/util/http/gitlab.js +58 -46
  682. package/dist/util/http/gitlab.js.map +1 -1
  683. package/dist/util/http/got.d.ts +9 -0
  684. package/dist/util/http/got.js +54 -0
  685. package/dist/util/http/got.js.map +1 -0
  686. package/dist/util/http/host-rules.d.ts +2 -1
  687. package/dist/util/http/host-rules.js +17 -4
  688. package/dist/util/http/host-rules.js.map +1 -1
  689. package/dist/util/http/http.d.ts +93 -0
  690. package/dist/util/http/http.js +346 -0
  691. package/dist/util/http/http.js.map +1 -0
  692. package/dist/util/http/index.d.ts +6 -74
  693. package/dist/util/http/index.js +5 -359
  694. package/dist/util/http/index.js.map +1 -1
  695. package/dist/util/http/legacy.js +4 -1
  696. package/dist/util/http/legacy.js.map +1 -1
  697. package/dist/util/http/types.d.ts +9 -16
  698. package/dist/util/http/types.js.map +1 -1
  699. package/dist/util/schema-utils.d.ts +1 -0
  700. package/dist/util/schema-utils.js +43 -8
  701. package/dist/util/schema-utils.js.map +1 -1
  702. package/dist/util/stats.d.ts +10 -0
  703. package/dist/util/stats.js +45 -1
  704. package/dist/util/stats.js.map +1 -1
  705. package/dist/util/string.d.ts +16 -0
  706. package/dist/util/string.js +79 -0
  707. package/dist/util/string.js.map +1 -1
  708. package/dist/util/toml.d.ts +1 -0
  709. package/dist/util/toml.js +6 -0
  710. package/dist/util/toml.js.map +1 -1
  711. package/dist/util/url.js +3 -8
  712. package/dist/util/url.js.map +1 -1
  713. package/dist/util/yaml.js +3 -8
  714. package/dist/util/yaml.js.map +1 -1
  715. package/dist/workers/global/config/parse/env.js +3 -2
  716. package/dist/workers/global/config/parse/env.js.map +1 -1
  717. package/dist/workers/global/config/parse/file.js +19 -9
  718. package/dist/workers/global/config/parse/file.js.map +1 -1
  719. package/dist/workers/global/config/parse/host-rules-from-env.js +6 -2
  720. package/dist/workers/global/config/parse/host-rules-from-env.js.map +1 -1
  721. package/dist/workers/global/config/parse/index.js +15 -0
  722. package/dist/workers/global/config/parse/index.js.map +1 -1
  723. package/dist/workers/global/index.js +4 -2
  724. package/dist/workers/global/index.js.map +1 -1
  725. package/dist/workers/repository/cache.js +1 -2
  726. package/dist/workers/repository/cache.js.map +1 -1
  727. package/dist/workers/repository/config-migration/branch/migrated-data.js +2 -0
  728. package/dist/workers/repository/config-migration/branch/migrated-data.js.map +1 -1
  729. package/dist/workers/repository/index.js +1 -0
  730. package/dist/workers/repository/index.js.map +1 -1
  731. package/dist/workers/repository/init/merge.js +6 -3
  732. package/dist/workers/repository/init/merge.js.map +1 -1
  733. package/dist/workers/repository/onboarding/pr/config-description.js +3 -1
  734. package/dist/workers/repository/onboarding/pr/config-description.js.map +1 -1
  735. package/dist/workers/repository/process/extract-update.js +0 -1
  736. package/dist/workers/repository/process/extract-update.js.map +1 -1
  737. package/dist/workers/repository/process/fingerprint-fields.js +0 -1
  738. package/dist/workers/repository/process/fingerprint-fields.js.map +1 -1
  739. package/dist/workers/repository/process/libyear.js +2 -2
  740. package/dist/workers/repository/process/libyear.js.map +1 -1
  741. package/dist/workers/repository/process/lookup/index.js +15 -4
  742. package/dist/workers/repository/process/lookup/index.js.map +1 -1
  743. package/dist/workers/repository/process/lookup/timestamps.d.ts +18 -0
  744. package/dist/workers/repository/process/lookup/timestamps.js +69 -0
  745. package/dist/workers/repository/process/lookup/timestamps.js.map +1 -0
  746. package/dist/workers/repository/process/lookup/types.d.ts +1 -0
  747. package/dist/workers/repository/process/lookup/types.js.map +1 -1
  748. package/dist/workers/repository/process/lookup/utils.js +20 -9
  749. package/dist/workers/repository/process/lookup/utils.js.map +1 -1
  750. package/dist/workers/repository/process/sort.js +1 -1
  751. package/dist/workers/repository/process/sort.js.map +1 -1
  752. package/dist/workers/repository/process/vulnerabilities.js +1 -1
  753. package/dist/workers/repository/process/vulnerabilities.js.map +1 -1
  754. package/dist/workers/repository/process/write.js +1 -8
  755. package/dist/workers/repository/process/write.js.map +1 -1
  756. package/dist/workers/repository/reconfigure/utils.d.ts +2 -0
  757. package/dist/workers/repository/reconfigure/utils.js +16 -0
  758. package/dist/workers/repository/reconfigure/utils.js.map +1 -1
  759. package/dist/workers/repository/reconfigure/validate.js +6 -17
  760. package/dist/workers/repository/reconfigure/validate.js.map +1 -1
  761. package/dist/workers/repository/update/branch/auto-replace.js +25 -5
  762. package/dist/workers/repository/update/branch/auto-replace.js.map +1 -1
  763. package/dist/workers/repository/update/branch/commit.js +2 -0
  764. package/dist/workers/repository/update/branch/commit.js.map +1 -1
  765. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js +10 -1
  766. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js.map +1 -1
  767. package/dist/workers/repository/update/pr/body/config-description.js +26 -1
  768. package/dist/workers/repository/update/pr/body/config-description.js.map +1 -1
  769. package/dist/workers/repository/update/pr/body/index.js +21 -14
  770. package/dist/workers/repository/update/pr/body/index.js.map +1 -1
  771. package/dist/workers/repository/update/pr/changelog/api.js +8 -6
  772. package/dist/workers/repository/update/pr/changelog/api.js.map +1 -1
  773. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js +1 -1
  774. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js.map +1 -1
  775. package/dist/workers/repository/update/pr/changelog/bitbucket-server/index.d.ts +3 -0
  776. package/dist/workers/repository/update/pr/changelog/bitbucket-server/index.js +39 -0
  777. package/dist/workers/repository/update/pr/changelog/bitbucket-server/index.js.map +1 -0
  778. package/dist/workers/repository/update/pr/changelog/bitbucket-server/source.d.ts +8 -0
  779. package/dist/workers/repository/update/pr/changelog/bitbucket-server/source.js +31 -0
  780. package/dist/workers/repository/update/pr/changelog/bitbucket-server/source.js.map +1 -0
  781. package/dist/workers/repository/update/pr/changelog/github/index.js +6 -3
  782. package/dist/workers/repository/update/pr/changelog/github/index.js.map +1 -1
  783. package/dist/workers/repository/update/pr/changelog/gitlab/index.js +1 -1
  784. package/dist/workers/repository/update/pr/changelog/gitlab/index.js.map +1 -1
  785. package/dist/workers/repository/update/pr/changelog/release-notes.js +12 -8
  786. package/dist/workers/repository/update/pr/changelog/release-notes.js.map +1 -1
  787. package/dist/workers/repository/update/pr/changelog/source.d.ts +1 -1
  788. package/dist/workers/repository/update/pr/changelog/source.js +1 -0
  789. package/dist/workers/repository/update/pr/changelog/source.js.map +1 -1
  790. package/dist/workers/repository/update/pr/changelog/types.d.ts +1 -1
  791. package/dist/workers/repository/update/pr/changelog/types.js.map +1 -1
  792. package/dist/workers/repository/update/pr/index.js +2 -4
  793. package/dist/workers/repository/update/pr/index.js.map +1 -1
  794. package/dist/workers/repository/updates/flatten.js +8 -4
  795. package/dist/workers/repository/updates/flatten.js.map +1 -1
  796. package/dist/workers/repository/updates/generate.js +3 -2
  797. package/dist/workers/repository/updates/generate.js.map +1 -1
  798. package/dist/workers/types.d.ts +1 -4
  799. package/dist/workers/types.js.map +1 -1
  800. package/package.json +85 -85
  801. package/renovate-schema.json +24 -3
  802. package/dist/modules/manager/github-actions/types.d.ts +0 -30
  803. package/dist/modules/manager/github-actions/types.js +0 -3
  804. package/dist/modules/manager/github-actions/types.js.map +0 -1
  805. package/dist/modules/manager/gitlabci/common.d.ts +0 -6
  806. package/dist/modules/manager/gitlabci/common.js +0 -30
  807. package/dist/modules/manager/gitlabci/common.js.map +0 -1
  808. package/dist/modules/manager/gitlabci/types.d.ts +0 -35
  809. package/dist/modules/manager/gitlabci/types.js +0 -3
  810. package/dist/modules/manager/gitlabci/types.js.map +0 -1
@@ -16,7 +16,7 @@ exports.Versioning = zod_1.z
16
16
  logger_1.logger.debug(`Versioning: '${versioningSpec}' not found, falling back to ${defaultVersioning.id}`);
17
17
  return defaultVersioning.api;
18
18
  }
19
- if (is_1.default.function_(versioning)) {
19
+ if (is_1.default.function(versioning)) {
20
20
  const versioningConfig = versioningRest.length
21
21
  ? versioningRest.join(':')
22
22
  : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../lib/modules/versioning/schema.ts"],"names":[],"mappings":";;;;AAAA,kEAAkC;AAClC,6BAAwB;AACxB,yCAAsC;AACtC,wDAAgC;AAChC,4EAAsD;AAGzC,QAAA,UAAU,GAAG,OAAC;KACxB,MAAM,EAAE;KACR,SAAS,CAAC,CAAC,cAAc,EAAE,GAAG,EAAiB,EAAE;IAChD,MAAM,CAAC,cAAc,EAAE,GAAG,cAAc,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEtE,IAAI,UAAU,GAAG,aAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,eAAM,CAAC,KAAK,CACV,gBAAgB,cAAc,gCAAgC,iBAAiB,CAAC,EAAE,EAAE,CACrF,CAAC;QACF,OAAO,iBAAiB,CAAC,GAAG,CAAC;IAC/B,CAAC;IAED,IAAI,YAAE,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,MAAM,gBAAgB,GAAG,cAAc,CAAC,MAAM;YAC5C,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;YAC1B,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,CAAC;YACH,UAAU,GAAG,IAAI,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,gBAAgB,cAAc,wBAAwB;gBAC/D,MAAM,EAAE,EAAE,KAAK,EAAE;aAClB,CAAC,CAAC;YACH,OAAO,OAAC,CAAC,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { z } from 'zod';\nimport { logger } from '../../logger';\nimport versionings from './api';\nimport * as defaultVersioning from './semver-coerced';\nimport type { VersioningApi } from './types';\n\nexport const Versioning = z\n .string()\n .transform((versioningSpec, ctx): VersioningApi => {\n const [versioningName, ...versioningRest] = versioningSpec.split(':');\n\n let versioning = versionings.get(versioningName);\n if (!versioning) {\n logger.debug(\n `Versioning: '${versioningSpec}' not found, falling back to ${defaultVersioning.id}`,\n );\n return defaultVersioning.api;\n }\n\n if (is.function_(versioning)) {\n const versioningConfig = versioningRest.length\n ? versioningRest.join(':')\n : undefined;\n\n try {\n versioning = new versioning(versioningConfig);\n } catch (error) {\n ctx.addIssue({\n code: 'custom',\n message: `Versioning: '${versioningSpec}' failed to initialize`,\n params: { error },\n });\n return z.NEVER;\n }\n }\n\n return versioning;\n });\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../lib/modules/versioning/schema.ts"],"names":[],"mappings":";;;;AAAA,kEAAkC;AAClC,6BAAwB;AACxB,yCAAsC;AACtC,wDAAgC;AAChC,4EAAsD;AAGzC,QAAA,UAAU,GAAG,OAAC;KACxB,MAAM,EAAE;KACR,SAAS,CAAC,CAAC,cAAc,EAAE,GAAG,EAAiB,EAAE;IAChD,MAAM,CAAC,cAAc,EAAE,GAAG,cAAc,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEtE,IAAI,UAAU,GAAG,aAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,eAAM,CAAC,KAAK,CACV,gBAAgB,cAAc,gCAAgC,iBAAiB,CAAC,EAAE,EAAE,CACrF,CAAC;QACF,OAAO,iBAAiB,CAAC,GAAG,CAAC;IAC/B,CAAC;IAED,IAAI,YAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,gBAAgB,GAAG,cAAc,CAAC,MAAM;YAC5C,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;YAC1B,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,CAAC;YACH,UAAU,GAAG,IAAI,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,gBAAgB,cAAc,wBAAwB;gBAC/D,MAAM,EAAE,EAAE,KAAK,EAAE;aAClB,CAAC,CAAC;YACH,OAAO,OAAC,CAAC,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { z } from 'zod';\nimport { logger } from '../../logger';\nimport versionings from './api';\nimport * as defaultVersioning from './semver-coerced';\nimport type { VersioningApi } from './types';\n\nexport const Versioning = z\n .string()\n .transform((versioningSpec, ctx): VersioningApi => {\n const [versioningName, ...versioningRest] = versioningSpec.split(':');\n\n let versioning = versionings.get(versioningName);\n if (!versioning) {\n logger.debug(\n `Versioning: '${versioningSpec}' not found, falling back to ${defaultVersioning.id}`,\n );\n return defaultVersioning.api;\n }\n\n if (is.function(versioning)) {\n const versioningConfig = versioningRest.length\n ? versioningRest.join(':')\n : undefined;\n\n try {\n versioning = new versioning(versioningConfig);\n } catch (error) {\n ctx.addIssue({\n code: 'custom',\n message: `Versioning: '${versioningSpec}' failed to initialize`,\n params: { error },\n });\n return z.NEVER;\n }\n }\n\n return versioning;\n });\n"]}
@@ -102,6 +102,10 @@ export interface VersioningApi {
102
102
  * @param superRange - the dom range
103
103
  */
104
104
  subset?(subRange: string, superRange: string): boolean | undefined;
105
+ /**
106
+ * Checks whether subRange intersects superRange.
107
+ */
108
+ intersects?(subRange: string, superRange: string): boolean;
105
109
  /**
106
110
  * Return whether unstable-to-unstable upgrades within the same major version are allowed.
107
111
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/modules/versioning/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { SemVer } from 'semver';\nimport type { RangeStrategy } from '../../types';\n\nexport interface NewValueConfig {\n currentValue: string;\n rangeStrategy: RangeStrategy;\n currentVersion?: string;\n newVersion: string;\n isReplacement?: boolean;\n}\nexport interface VersioningApi {\n // validation\n\n /**\n * Check whether the `input` is the valid version or range.\n *\n * For some managers, ranges are called \"constraints\",\"specifiers\", \"requirements\", etc.\n * We stick to the term \"range\" for all of it.\n */\n isValid(input: string): boolean;\n\n /**\n * Check whether the `input` is a valid version.\n *\n * There is no direct way to determine whether the `input` is the range,\n * but combination of `isVersion` and `isValid` can be used for that:\n *\n * `isValid(input) && !isVersion(input)`\n */\n isVersion(input: string | undefined | null): boolean;\n\n /**\n * Check whether the `input` is the:\n *\n * 1. Version, or\n * 2. Range with the special syntax of matching exactly one version:\n * - `==1.2.3` or `===1.2.3` for Python,\n * - `=1.2.3` for NPM,\n * - `[1.2.3]` for Maven or NuGet.\n *\n * This is used to provide pinning functionality.\n */\n isSingleVersion(input: string): boolean;\n\n /**\n * Check whether the `version` is considered to be \"stable\".\n */\n isStable(version: string): boolean;\n\n /**\n * Determines whether the version is compatible with the current one,\n * in some manager-dependent way.\n *\n * For most managers, all valid versions are compatible between each other.\n *\n * However, for example, Docker versions `1.2.3` and `1.2.4-alpine` are not compatible,\n * i.e. `1.2.4-alpine` is not a valid upgrade for `1.2.3`.\n */\n isCompatible(version: string, current?: string): boolean;\n\n // digestion of version\n\n getMajor(version: string | SemVer): null | number;\n getMinor(version: string | SemVer): null | number;\n getPatch(version: string | SemVer): null | number;\n\n // comparison\n\n /**\n * Check whether `version` and `other` are logically equivalent, even if\n * they're not the exact same string.\n *\n * For example, with Semver the build metadata should be ignored when comparing.\n */\n equals(version: string, other: string): boolean;\n\n /**\n * Check whether `version` is \"greater\" than the `other` version.\n */\n isGreaterThan(version: string, other: string): boolean;\n\n /**\n * Check whether the `version` is \"less\" than all the versions possible in\n * the `range`.\n */\n isLessThanRange?(version: string, range: string): boolean;\n\n /**\n * Select the highest version from `versions` that is within the given\n * `range` constraint, or return `null` if there is no matching version.\n */\n getSatisfyingVersion(versions: string[], range: string): string | null;\n\n /**\n * Select the lowest version from `versions` that is within the given\n * `range` constraint, or return `null` if there is no matching version.\n */\n minSatisfyingVersion(versions: string[], range: string): string | null;\n\n /**\n * Calculate a new version constraint based on the current constraint, the\n * `rangeStrategy` option, and the current and new version.\n */\n getNewValue(newValueConfig: NewValueConfig): string | null;\n\n /**\n * Compare two versions. Return `0` if `v1 == v2`, or `1` if `v1` is\n * greater, or `-1` if `v2` is greater.\n */\n sortVersions(version: string, other: string): number;\n\n /**\n * Check whether the `version` satisfies the `range` constraint.\n */\n matches(version: string, range: string): boolean;\n\n valueToVersion?(version: string): string;\n\n /**\n * @returns true if subRange is entirely contained by superRange, false otherwise,\n * and undefined if it cannot determine it.\n *\n * @param subRange - the sub range\n * @param superRange - the dom range\n */\n subset?(subRange: string, superRange: string): boolean | undefined;\n\n /**\n * Return whether unstable-to-unstable upgrades within the same major version are allowed.\n */\n allowUnstableMajorUpgrades?: boolean;\n\n /**\n * Check whether the `type` in the `a` and `b` version numbers match.\n * Both `a` and `b` must pass `isVersion`.\n */\n isSame?(type: 'major' | 'minor' | 'patch', a: string, b: string): boolean;\n}\n\nexport type VersioningApiConstructor = new (config?: string) => VersioningApi;\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/modules/versioning/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { SemVer } from 'semver';\nimport type { RangeStrategy } from '../../types';\n\nexport interface NewValueConfig {\n currentValue: string;\n rangeStrategy: RangeStrategy;\n currentVersion?: string;\n newVersion: string;\n isReplacement?: boolean;\n}\nexport interface VersioningApi {\n // validation\n\n /**\n * Check whether the `input` is the valid version or range.\n *\n * For some managers, ranges are called \"constraints\",\"specifiers\", \"requirements\", etc.\n * We stick to the term \"range\" for all of it.\n */\n isValid(input: string): boolean;\n\n /**\n * Check whether the `input` is a valid version.\n *\n * There is no direct way to determine whether the `input` is the range,\n * but combination of `isVersion` and `isValid` can be used for that:\n *\n * `isValid(input) && !isVersion(input)`\n */\n isVersion(input: string | undefined | null): boolean;\n\n /**\n * Check whether the `input` is the:\n *\n * 1. Version, or\n * 2. Range with the special syntax of matching exactly one version:\n * - `==1.2.3` or `===1.2.3` for Python,\n * - `=1.2.3` for NPM,\n * - `[1.2.3]` for Maven or NuGet.\n *\n * This is used to provide pinning functionality.\n */\n isSingleVersion(input: string): boolean;\n\n /**\n * Check whether the `version` is considered to be \"stable\".\n */\n isStable(version: string): boolean;\n\n /**\n * Determines whether the version is compatible with the current one,\n * in some manager-dependent way.\n *\n * For most managers, all valid versions are compatible between each other.\n *\n * However, for example, Docker versions `1.2.3` and `1.2.4-alpine` are not compatible,\n * i.e. `1.2.4-alpine` is not a valid upgrade for `1.2.3`.\n */\n isCompatible(version: string, current?: string): boolean;\n\n // digestion of version\n\n getMajor(version: string | SemVer): null | number;\n getMinor(version: string | SemVer): null | number;\n getPatch(version: string | SemVer): null | number;\n\n // comparison\n\n /**\n * Check whether `version` and `other` are logically equivalent, even if\n * they're not the exact same string.\n *\n * For example, with Semver the build metadata should be ignored when comparing.\n */\n equals(version: string, other: string): boolean;\n\n /**\n * Check whether `version` is \"greater\" than the `other` version.\n */\n isGreaterThan(version: string, other: string): boolean;\n\n /**\n * Check whether the `version` is \"less\" than all the versions possible in\n * the `range`.\n */\n isLessThanRange?(version: string, range: string): boolean;\n\n /**\n * Select the highest version from `versions` that is within the given\n * `range` constraint, or return `null` if there is no matching version.\n */\n getSatisfyingVersion(versions: string[], range: string): string | null;\n\n /**\n * Select the lowest version from `versions` that is within the given\n * `range` constraint, or return `null` if there is no matching version.\n */\n minSatisfyingVersion(versions: string[], range: string): string | null;\n\n /**\n * Calculate a new version constraint based on the current constraint, the\n * `rangeStrategy` option, and the current and new version.\n */\n getNewValue(newValueConfig: NewValueConfig): string | null;\n\n /**\n * Compare two versions. Return `0` if `v1 == v2`, or `1` if `v1` is\n * greater, or `-1` if `v2` is greater.\n */\n sortVersions(version: string, other: string): number;\n\n /**\n * Check whether the `version` satisfies the `range` constraint.\n */\n matches(version: string, range: string): boolean;\n\n valueToVersion?(version: string): string;\n\n /**\n * @returns true if subRange is entirely contained by superRange, false otherwise,\n * and undefined if it cannot determine it.\n *\n * @param subRange - the sub range\n * @param superRange - the dom range\n */\n subset?(subRange: string, superRange: string): boolean | undefined;\n\n /**\n * Checks whether subRange intersects superRange.\n */\n intersects?(subRange: string, superRange: string): boolean;\n\n /**\n * Return whether unstable-to-unstable upgrades within the same major version are allowed.\n */\n allowUnstableMajorUpgrades?: boolean;\n\n /**\n * Check whether the `type` in the `a` and `b` version numbers match.\n * Both `a` and `b` must pass `isVersion`.\n */\n isSame?(type: 'major' | 'minor' | 'patch', a: string, b: string): boolean;\n}\n\nexport type VersioningApiConstructor = new (config?: string) => VersioningApi;\n"]}
package/dist/proxy.js CHANGED
@@ -10,11 +10,12 @@ const envVars = ['HTTP_PROXY', 'HTTPS_PROXY', 'NO_PROXY'];
10
10
  let agent = false;
11
11
  function bootstrap() {
12
12
  envVars.forEach((envVar) => {
13
- /* istanbul ignore if: env is case-insensitive on windows */
13
+ /* v8 ignore start -- env is case-insensitive on windows */
14
14
  if (typeof process.env[envVar] === 'undefined' &&
15
15
  typeof process.env[envVar.toLowerCase()] !== 'undefined') {
16
16
  process.env[envVar] = process.env[envVar.toLowerCase()];
17
17
  }
18
+ /* v8 ignore stop */
18
19
  if (process.env[envVar]) {
19
20
  logger_1.logger.debug(`Detected ${envVar} value in env`);
20
21
  process.env[envVar.toLowerCase()] = process.env[envVar];
package/dist/proxy.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../lib/proxy.ts"],"names":[],"mappings":";;AAQA,8BA4BC;AAGD,4BAEC;;AAzCD,kEAAkC;AAClC,+CAAsD;AACtD,qCAAkC;AAElC,MAAM,OAAO,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;AAE1D,IAAI,KAAK,GAAG,KAAK,CAAC;AAElB,SAAgB,SAAS;IACvB,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACzB,4DAA4D;QAC5D,IACE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,WAAW;YAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,WAAW,EACxD,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,eAAM,CAAC,KAAK,CAAC,YAAY,MAAM,eAAe,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IACE,YAAE,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QACzC,YAAE,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAC1C,CAAC;QACD,IAAA,qCAAsB,EAAC;YACrB,4BAA4B,EAAE,EAAE;SACjC,CAAC,CAAC;QACH,KAAK,GAAG,IAAI,CAAC;IACf,CAAC;SAAM,CAAC;QACN,gDAAgD;QAChD,KAAK,GAAG,KAAK,CAAC;IAChB,CAAC;AACH,CAAC;AAED,uCAAuC;AACvC,SAAgB,QAAQ;IACtB,OAAO,KAAK,KAAK,IAAI,CAAC;AACxB,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { createGlobalProxyAgent } from 'global-agent';\nimport { logger } from './logger';\n\nconst envVars = ['HTTP_PROXY', 'HTTPS_PROXY', 'NO_PROXY'];\n\nlet agent = false;\n\nexport function bootstrap(): void {\n envVars.forEach((envVar) => {\n /* istanbul ignore if: env is case-insensitive on windows */\n if (\n typeof process.env[envVar] === 'undefined' &&\n typeof process.env[envVar.toLowerCase()] !== 'undefined'\n ) {\n process.env[envVar] = process.env[envVar.toLowerCase()];\n }\n\n if (process.env[envVar]) {\n logger.debug(`Detected ${envVar} value in env`);\n process.env[envVar.toLowerCase()] = process.env[envVar];\n }\n });\n\n if (\n is.nonEmptyString(process.env.HTTP_PROXY) ||\n is.nonEmptyString(process.env.HTTPS_PROXY)\n ) {\n createGlobalProxyAgent({\n environmentVariableNamespace: '',\n });\n agent = true;\n } else {\n // for testing only, does not reset global agent\n agent = false;\n }\n}\n\n// will be used by our http layer later\nexport function hasProxy(): boolean {\n return agent === true;\n}\n"]}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../lib/proxy.ts"],"names":[],"mappings":";;AAQA,8BA6BC;AAGD,4BAEC;;AA1CD,kEAAkC;AAClC,+CAAsD;AACtD,qCAAkC;AAElC,MAAM,OAAO,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;AAE1D,IAAI,KAAK,GAAG,KAAK,CAAC;AAElB,SAAgB,SAAS;IACvB,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACzB,2DAA2D;QAC3D,IACE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,WAAW;YAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,WAAW,EACxD,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,oBAAoB;QAEpB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,eAAM,CAAC,KAAK,CAAC,YAAY,MAAM,eAAe,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IACE,YAAE,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QACzC,YAAE,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAC1C,CAAC;QACD,IAAA,qCAAsB,EAAC;YACrB,4BAA4B,EAAE,EAAE;SACjC,CAAC,CAAC;QACH,KAAK,GAAG,IAAI,CAAC;IACf,CAAC;SAAM,CAAC;QACN,gDAAgD;QAChD,KAAK,GAAG,KAAK,CAAC;IAChB,CAAC;AACH,CAAC;AAED,uCAAuC;AACvC,SAAgB,QAAQ;IACtB,OAAO,KAAK,KAAK,IAAI,CAAC;AACxB,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { createGlobalProxyAgent } from 'global-agent';\nimport { logger } from './logger';\n\nconst envVars = ['HTTP_PROXY', 'HTTPS_PROXY', 'NO_PROXY'];\n\nlet agent = false;\n\nexport function bootstrap(): void {\n envVars.forEach((envVar) => {\n /* v8 ignore start -- env is case-insensitive on windows */\n if (\n typeof process.env[envVar] === 'undefined' &&\n typeof process.env[envVar.toLowerCase()] !== 'undefined'\n ) {\n process.env[envVar] = process.env[envVar.toLowerCase()];\n }\n /* v8 ignore stop */\n\n if (process.env[envVar]) {\n logger.debug(`Detected ${envVar} value in env`);\n process.env[envVar.toLowerCase()] = process.env[envVar];\n }\n });\n\n if (\n is.nonEmptyString(process.env.HTTP_PROXY) ||\n is.nonEmptyString(process.env.HTTPS_PROXY)\n ) {\n createGlobalProxyAgent({\n environmentVariableNamespace: '',\n });\n agent = true;\n } else {\n // for testing only, does not reset global agent\n agent = false;\n }\n}\n\n// will be used by our http layer later\nexport function hasProxy(): boolean {\n return agent === true;\n}\n"]}
package/dist/renovate.js CHANGED
@@ -7,7 +7,7 @@ const instrumentation_1 = require("./instrumentation"); // has to be imported be
7
7
  const logger_1 = require("./logger");
8
8
  const proxy_1 = require("./proxy");
9
9
  const global_1 = require("./workers/global");
10
- // istanbul ignore next
10
+ /* v8 ignore next 3 -- not easily testable */
11
11
  process.on('unhandledRejection', (err) => {
12
12
  logger_1.logger.error({ err }, 'unhandledRejection');
13
13
  });
@@ -16,7 +16,7 @@ process.on('unhandledRejection', (err) => {
16
16
  (async () => {
17
17
  process.exitCode = await (0, instrumentation_1.instrument)('run', () => (0, global_1.start)());
18
18
  await (0, instrumentation_1.shutdown)(); //gracefully shutdown OpenTelemetry
19
- // istanbul ignore if
19
+ /* v8 ignore next 3 -- no test required */
20
20
  if (process.env.RENOVATE_X_HARD_EXIT) {
21
21
  process.exit(process.exitCode);
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"renovate.js","sourceRoot":"","sources":["../lib/renovate.ts"],"names":[],"mappings":";;;AAEA,uCAAqC;AACrC,0BAAwB;AACxB,uDAA8E,CAAC,kFAAkF;AACjK,qCAAkC;AAClC,mCAAoC;AACpC,6CAAyC;AAEzC,uBAAuB;AACvB,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,EAAE;IACvC,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,oBAAoB,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAS,GAAE,CAAC;AAEZ,mEAAmE;AACnE,CAAC,KAAK,IAAmB,EAAE;IACzB,OAAO,CAAC,QAAQ,GAAG,MAAM,IAAA,4BAAU,EAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAA,cAAK,GAAE,CAAC,CAAC;IAC1D,MAAM,IAAA,0BAAiB,GAAE,CAAC,CAAC,mCAAmC;IAE9D,qBAAqB;IACrB,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;AACH,CAAC,CAAC,EAAE,CAAC","sourcesContent":["#!/usr/bin/env node\n\nimport 'source-map-support/register';\nimport './punycode.cjs';\nimport { instrument, shutdown as telemetryShutdown } from './instrumentation'; // has to be imported before logger and other libraries which are instrumentalised\nimport { logger } from './logger';\nimport { bootstrap } from './proxy';\nimport { start } from './workers/global';\n\n// istanbul ignore next\nprocess.on('unhandledRejection', (err) => {\n logger.error({ err }, 'unhandledRejection');\n});\n\nbootstrap();\n\n// eslint-disable-next-line @typescript-eslint/no-floating-promises\n(async (): Promise<void> => {\n process.exitCode = await instrument('run', () => start());\n await telemetryShutdown(); //gracefully shutdown OpenTelemetry\n\n // istanbul ignore if\n if (process.env.RENOVATE_X_HARD_EXIT) {\n process.exit(process.exitCode);\n }\n})();\n"]}
1
+ {"version":3,"file":"renovate.js","sourceRoot":"","sources":["../lib/renovate.ts"],"names":[],"mappings":";;;AAEA,uCAAqC;AACrC,0BAAwB;AACxB,uDAA8E,CAAC,kFAAkF;AACjK,qCAAkC;AAClC,mCAAoC;AACpC,6CAAyC;AAEzC,6CAA6C;AAC7C,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,EAAE;IACvC,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,oBAAoB,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAS,GAAE,CAAC;AAEZ,mEAAmE;AACnE,CAAC,KAAK,IAAmB,EAAE;IACzB,OAAO,CAAC,QAAQ,GAAG,MAAM,IAAA,4BAAU,EAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAA,cAAK,GAAE,CAAC,CAAC;IAC1D,MAAM,IAAA,0BAAiB,GAAE,CAAC,CAAC,mCAAmC;IAE9D,0CAA0C;IAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;AACH,CAAC,CAAC,EAAE,CAAC","sourcesContent":["#!/usr/bin/env node\n\nimport 'source-map-support/register';\nimport './punycode.cjs';\nimport { instrument, shutdown as telemetryShutdown } from './instrumentation'; // has to be imported before logger and other libraries which are instrumentalised\nimport { logger } from './logger';\nimport { bootstrap } from './proxy';\nimport { start } from './workers/global';\n\n/* v8 ignore next 3 -- not easily testable */\nprocess.on('unhandledRejection', (err) => {\n logger.error({ err }, 'unhandledRejection');\n});\n\nbootstrap();\n\n// eslint-disable-next-line @typescript-eslint/no-floating-promises\n(async (): Promise<void> => {\n process.exitCode = await instrument('run', () => start());\n await telemetryShutdown(); //gracefully shutdown OpenTelemetry\n\n /* v8 ignore next 3 -- no test required */\n if (process.env.RENOVATE_X_HARD_EXIT) {\n process.exit(process.exitCode);\n }\n})();\n"]}
@@ -24,14 +24,14 @@ function cache({ namespace, key, cacheable = () => true, ttlMinutes = 30, }) {
24
24
  if (is_1.default.string(namespace)) {
25
25
  finalNamespace = namespace;
26
26
  }
27
- else if (is_1.default.function_(namespace)) {
27
+ else if (is_1.default.function(namespace)) {
28
28
  finalNamespace = namespace.apply(instance, args);
29
29
  }
30
30
  let finalKey;
31
31
  if (is_1.default.string(key)) {
32
32
  finalKey = key;
33
33
  }
34
- else if (is_1.default.function_(key)) {
34
+ else if (is_1.default.function(key)) {
35
35
  finalKey = key.apply(instance, args);
36
36
  }
37
37
  // istanbul ignore if
@@ -1 +1 @@
1
- {"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../../../lib/util/cache/package/decorator.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { DateTime } from 'luxon';\nimport { GlobalConfig } from '../../../config/global';\nimport { logger } from '../../../logger';\nimport type { Decorator } from '../../decorator';\nimport { decorate } from '../../decorator';\nimport { acquireLock } from '../../mutex';\nimport { resolveTtlValues } from './ttl';\nimport type { DecoratorCachedRecord, PackageCacheNamespace } from './types';\nimport * as packageCache from '.';\n\ntype HashFunction<T extends any[] = any[]> = (...args: T) => string;\ntype NamespaceFunction<T extends any[] = any[]> = (\n ...args: T\n) => PackageCacheNamespace;\ntype BooleanFunction<T extends any[] = any[]> = (...args: T) => boolean;\n\n/**\n * The cache decorator parameters.\n */\ninterface CacheParameters {\n /**\n * The cache namespace\n * Either a string or a hash function that generates a string\n */\n namespace: PackageCacheNamespace | NamespaceFunction;\n\n /**\n * The cache key\n * Either a string or a hash function that generates a string\n */\n key: string | HashFunction;\n\n /**\n * A function that returns true if a result is cacheable\n * Used to prevent caching of private, sensitive, results\n */\n cacheable?: BooleanFunction;\n\n /**\n * The TTL (or expiry) of the key in minutes\n */\n ttlMinutes?: number;\n}\n\n/**\n * caches the result of a decorated method.\n */\nexport function cache<T>({\n namespace,\n key,\n cacheable = () => true,\n ttlMinutes = 30,\n}: CacheParameters): Decorator<T> {\n return decorate(async ({ args, instance, callback, methodName }) => {\n const cachePrivatePackages = GlobalConfig.get(\n 'cachePrivatePackages',\n false,\n );\n const isCacheable = cachePrivatePackages || cacheable.apply(instance, args);\n if (!isCacheable) {\n return callback();\n }\n\n let finalNamespace: PackageCacheNamespace | undefined;\n if (is.string(namespace)) {\n finalNamespace = namespace;\n } else if (is.function_(namespace)) {\n finalNamespace = namespace.apply(instance, args);\n }\n\n let finalKey: string | undefined;\n if (is.string(key)) {\n finalKey = key;\n } else if (is.function_(key)) {\n finalKey = key.apply(instance, args);\n }\n\n // istanbul ignore if\n if (!finalNamespace || !finalKey) {\n return callback();\n }\n\n finalKey = `cache-decorator:${finalKey}`;\n\n // prevent concurrent processing and cache writes\n const releaseLock = await acquireLock(finalKey, finalNamespace);\n\n try {\n const oldRecord = await packageCache.get<DecoratorCachedRecord>(\n finalNamespace,\n finalKey,\n );\n\n const ttlValues = resolveTtlValues(finalNamespace, ttlMinutes);\n const softTtl = ttlValues.softTtlMinutes;\n const hardTtl =\n methodName === 'getReleases' || methodName === 'getDigest'\n ? ttlValues.hardTtlMinutes\n : // Skip two-tier TTL for any intermediate data fetching\n softTtl;\n\n let oldData: unknown;\n if (oldRecord) {\n const now = DateTime.local();\n const cachedAt = DateTime.fromISO(oldRecord.cachedAt);\n\n const softDeadline = cachedAt.plus({ minutes: softTtl });\n if (now < softDeadline) {\n return oldRecord.value;\n }\n\n const hardDeadline = cachedAt.plus({ minutes: hardTtl });\n if (now < hardDeadline) {\n oldData = oldRecord.value;\n }\n }\n\n let newData: unknown;\n if (oldData) {\n try {\n newData = (await callback()) as T | undefined;\n } catch (err) {\n logger.debug(\n { err },\n 'Package cache decorator: callback error, returning old data',\n );\n return oldData;\n }\n } else {\n newData = (await callback()) as T | undefined;\n }\n\n if (!is.undefined(newData)) {\n const newRecord: DecoratorCachedRecord = {\n cachedAt: DateTime.local().toISO(),\n value: newData,\n };\n await packageCache.set(finalNamespace, finalKey, newRecord, hardTtl);\n }\n\n return newData;\n } finally {\n releaseLock();\n }\n });\n}\n"]}
1
+ {"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../../../lib/util/cache/package/decorator.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { DateTime } from 'luxon';\nimport { GlobalConfig } from '../../../config/global';\nimport { logger } from '../../../logger';\nimport type { Decorator } from '../../decorator';\nimport { decorate } from '../../decorator';\nimport { acquireLock } from '../../mutex';\nimport { resolveTtlValues } from './ttl';\nimport type { DecoratorCachedRecord, PackageCacheNamespace } from './types';\nimport * as packageCache from '.';\n\ntype HashFunction<T extends any[] = any[]> = (...args: T) => string;\ntype NamespaceFunction<T extends any[] = any[]> = (\n ...args: T\n) => PackageCacheNamespace;\ntype BooleanFunction<T extends any[] = any[]> = (...args: T) => boolean;\n\n/**\n * The cache decorator parameters.\n */\ninterface CacheParameters {\n /**\n * The cache namespace\n * Either a string or a hash function that generates a string\n */\n namespace: PackageCacheNamespace | NamespaceFunction;\n\n /**\n * The cache key\n * Either a string or a hash function that generates a string\n */\n key: string | HashFunction;\n\n /**\n * A function that returns true if a result is cacheable\n * Used to prevent caching of private, sensitive, results\n */\n cacheable?: BooleanFunction;\n\n /**\n * The TTL (or expiry) of the key in minutes\n */\n ttlMinutes?: number;\n}\n\n/**\n * caches the result of a decorated method.\n */\nexport function cache<T>({\n namespace,\n key,\n cacheable = () => true,\n ttlMinutes = 30,\n}: CacheParameters): Decorator<T> {\n return decorate(async ({ args, instance, callback, methodName }) => {\n const cachePrivatePackages = GlobalConfig.get(\n 'cachePrivatePackages',\n false,\n );\n const isCacheable = cachePrivatePackages || cacheable.apply(instance, args);\n if (!isCacheable) {\n return callback();\n }\n\n let finalNamespace: PackageCacheNamespace | undefined;\n if (is.string(namespace)) {\n finalNamespace = namespace;\n } else if (is.function(namespace)) {\n finalNamespace = namespace.apply(instance, args);\n }\n\n let finalKey: string | undefined;\n if (is.string(key)) {\n finalKey = key;\n } else if (is.function(key)) {\n finalKey = key.apply(instance, args);\n }\n\n // istanbul ignore if\n if (!finalNamespace || !finalKey) {\n return callback();\n }\n\n finalKey = `cache-decorator:${finalKey}`;\n\n // prevent concurrent processing and cache writes\n const releaseLock = await acquireLock(finalKey, finalNamespace);\n\n try {\n const oldRecord = await packageCache.get<DecoratorCachedRecord>(\n finalNamespace,\n finalKey,\n );\n\n const ttlValues = resolveTtlValues(finalNamespace, ttlMinutes);\n const softTtl = ttlValues.softTtlMinutes;\n const hardTtl =\n methodName === 'getReleases' || methodName === 'getDigest'\n ? ttlValues.hardTtlMinutes\n : // Skip two-tier TTL for any intermediate data fetching\n softTtl;\n\n let oldData: unknown;\n if (oldRecord) {\n const now = DateTime.local();\n const cachedAt = DateTime.fromISO(oldRecord.cachedAt);\n\n const softDeadline = cachedAt.plus({ minutes: softTtl });\n if (now < softDeadline) {\n return oldRecord.value;\n }\n\n const hardDeadline = cachedAt.plus({ minutes: hardTtl });\n if (now < hardDeadline) {\n oldData = oldRecord.value;\n }\n }\n\n let newData: unknown;\n if (oldData) {\n try {\n newData = (await callback()) as T | undefined;\n } catch (err) {\n logger.debug(\n { err },\n 'Package cache decorator: callback error, returning old data',\n );\n return oldData;\n }\n } else {\n newData = (await callback()) as T | undefined;\n }\n\n if (!is.undefined(newData)) {\n const newRecord: DecoratorCachedRecord = {\n cachedAt: DateTime.local().toISO(),\n value: newData,\n };\n await packageCache.set(finalNamespace, finalKey, newRecord, hardTtl);\n }\n\n return newData;\n } finally {\n releaseLock();\n }\n });\n}\n"]}
@@ -5,7 +5,6 @@ exports.end = end;
5
5
  exports.get = get;
6
6
  exports.set = set;
7
7
  exports.init = init;
8
- /* istanbul ignore file */
9
8
  const luxon_1 = require("luxon");
10
9
  const redis_1 = require("redis");
11
10
  const logger_1 = require("../../../logger");
@@ -1 +1 @@
1
- {"version":3,"file":"redis.js","sourceRoot":"","sources":["../../../../lib/util/cache/package/redis.ts"],"names":[],"mappings":"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","sourcesContent":["/* istanbul ignore file */\nimport { 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 { 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"]}
@@ -7,5 +7,5 @@ export interface DecoratorCachedRecord {
7
7
  value: unknown;
8
8
  cachedAt: string;
9
9
  }
10
- export type PackageCacheNamespace = '_test-namespace' | 'changelog-bitbucket-notes@v2' | 'changelog-bitbucket-release' | 'changelog-gitea-notes@v2' | 'changelog-gitea-release' | 'changelog-github-notes@v2' | 'changelog-github-release' | 'changelog-gitlab-notes@v2' | 'changelog-gitlab-release' | 'datasource-artifactory' | 'datasource-aws-machine-image' | 'datasource-aws-rds' | 'datasource-azure-bicep-resource' | 'datasource-azure-pipelines-tasks' | 'datasource-bazel' | 'datasource-bitbucket-tags' | 'datasource-bitrise' | 'datasource-buildpacks-registry' | 'datasource-cdnjs' | 'datasource-conan' | 'datasource-conda' | 'datasource-cpan' | 'datasource-crate-metadata' | 'datasource-crate' | 'datasource-deb' | 'datasource-deno' | 'datasource-docker-architecture' | 'datasource-docker-hub-cache' | 'datasource-docker-digest' | 'datasource-docker-hub-tags' | 'datasource-docker-imageconfig' | 'datasource-docker-labels' | 'datasource-docker-releases-v2' | 'datasource-docker-tags' | 'datasource-dotnet-version' | 'datasource-endoflife-date' | 'datasource-galaxy-collection' | 'datasource-galaxy' | 'datasource-git-refs' | 'datasource-git-tags' | 'datasource-git' | 'datasource-gitea-releases' | 'datasource-gitea-tags' | 'datasource-github-release-attachments' | 'datasource-gitlab-packages' | 'datasource-gitlab-releases' | 'datasource-gitlab-tags' | 'datasource-glasskube-packages' | 'datasource-go-direct' | 'datasource-go-proxy' | 'datasource-go' | 'datasource-golang-version' | 'datasource-gradle-version' | 'datasource-helm' | 'datasource-hermit' | 'datasource-hex' | 'datasource-hexpm-bob' | 'datasource-java-version' | 'datasource-jenkins-plugins' | 'datasource-maven' | 'datasource-maven:head-requests-timeout' | 'datasource-maven:head-requests' | 'datasource-maven:metadata-xml' | 'datasource-node-version' | 'datasource-npm:data' | 'datasource-nuget-v3' | 'datasource-orb' | 'datasource-packagist' | 'datasource-pod' | 'datasource-python-version' | 'datasource-releases' | 'datasource-repology' | 'datasource-ruby-version' | 'datasource-rubygems' | 'datasource-sbt-package' | 'datasource-terraform-module' | 'datasource-terraform-provider' | 'datasource-terraform' | 'datasource-unity3d' | 'github-releases-datasource-v2' | 'github-tags-datasource-v2' | 'merge-confidence' | 'preset' | 'terraform-provider-hash' | 'url-sha256';
10
+ export type PackageCacheNamespace = '_test-namespace' | 'changelog-bitbucket-notes@v2' | 'changelog-bitbucket-release' | 'changelog-bitbucket-server-notes@v2' | 'changelog-bitbucket-server-release' | 'changelog-gitea-notes@v2' | 'changelog-gitea-release' | 'changelog-github-notes@v2' | 'changelog-github-release' | 'changelog-gitlab-notes@v2' | 'changelog-gitlab-release' | 'datasource-artifactory' | 'datasource-aws-machine-image' | 'datasource-aws-rds' | 'datasource-aws-eks-addon' | 'datasource-azure-bicep-resource' | 'datasource-azure-pipelines-tasks' | 'datasource-bazel' | 'datasource-bitbucket-tags' | 'datasource-bitbucket-server-tags' | 'datasource-bitrise' | 'datasource-buildpacks-registry' | 'datasource-cdnjs' | 'datasource-conan' | 'datasource-conda' | 'datasource-cpan' | 'datasource-crate-metadata' | 'datasource-crate' | 'datasource-deb' | 'datasource-deno' | 'datasource-docker-architecture' | 'datasource-docker-hub-cache' | 'datasource-docker-digest' | 'datasource-docker-hub-tags' | 'datasource-docker-imageconfig' | 'datasource-docker-labels' | 'datasource-docker-releases-v2' | 'datasource-docker-tags' | 'datasource-dotnet-version' | 'datasource-endoflife-date' | 'datasource-galaxy-collection' | 'datasource-galaxy' | 'datasource-git-refs' | 'datasource-git-tags' | 'datasource-git' | 'datasource-gitea-releases' | 'datasource-gitea-tags' | 'datasource-github-release-attachments' | 'datasource-gitlab-packages' | 'datasource-gitlab-releases' | 'datasource-gitlab-tags' | 'datasource-glasskube-packages' | 'datasource-go-direct' | 'datasource-go-proxy' | 'datasource-go' | 'datasource-golang-version' | 'datasource-gradle-version' | 'datasource-helm' | 'datasource-hermit' | 'datasource-hex' | 'datasource-hexpm-bob' | 'datasource-java-version' | 'datasource-jenkins-plugins' | 'datasource-maven' | 'datasource-maven:head-requests-timeout' | 'datasource-maven:head-requests' | 'datasource-maven:metadata-xml' | 'datasource-node-version' | 'datasource-npm:cache-provider' | 'datasource-nuget-v3' | 'datasource-orb' | 'datasource-packagist' | 'datasource-pod' | 'datasource-python-version' | 'datasource-releases' | 'datasource-repology' | 'datasource-ruby-version' | 'datasource-rubygems' | 'datasource-sbt-package' | 'datasource-terraform-module' | 'datasource-terraform-provider' | 'datasource-terraform' | 'datasource-unity3d' | 'github-releases-datasource-v2' | 'github-tags-datasource-v2' | 'merge-confidence' | 'preset' | 'terraform-provider-hash' | 'url-sha256';
11
11
  export type CombinedKey = `global%%${PackageCacheNamespace}%%${string}`;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../lib/util/cache/package/types.ts"],"names":[],"mappings":"","sourcesContent":["export 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\nexport type PackageCacheNamespace =\n | '_test-namespace'\n | 'changelog-bitbucket-notes@v2'\n | 'changelog-bitbucket-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-azure-bicep-resource'\n | 'datasource-azure-pipelines-tasks'\n | 'datasource-bazel'\n | 'datasource-bitbucket-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-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'\n | 'datasource-maven:head-requests-timeout'\n | 'datasource-maven:head-requests'\n | 'datasource-maven:metadata-xml'\n | 'datasource-node-version'\n | 'datasource-npm:data'\n | 'datasource-nuget-v3'\n | 'datasource-orb'\n | 'datasource-packagist'\n | 'datasource-pod'\n | 'datasource-python-version'\n | 'datasource-releases'\n | 'datasource-repology'\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 | 'github-releases-datasource-v2'\n | 'github-tags-datasource-v2'\n | 'merge-confidence'\n | 'preset'\n | 'terraform-provider-hash'\n | 'url-sha256';\n\nexport type CombinedKey = `global%%${PackageCacheNamespace}%%${string}`;\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../lib/util/cache/package/types.ts"],"names":[],"mappings":"","sourcesContent":["export 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\nexport type PackageCacheNamespace =\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-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-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'\n | 'datasource-maven:head-requests-timeout'\n | 'datasource-maven:head-requests'\n | 'datasource-maven:metadata-xml'\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-releases'\n | 'datasource-repology'\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 | 'github-releases-datasource-v2'\n | 'github-tags-datasource-v2'\n | 'merge-confidence'\n | 'preset'\n | 'terraform-provider-hash'\n | 'url-sha256';\n\nexport type CombinedKey = `global%%${PackageCacheNamespace}%%${string}`;\n"]}
@@ -3,7 +3,7 @@ import type { RepoCache, RepoCacheData } from '../types';
3
3
  export declare abstract class RepoCacheBase implements RepoCache {
4
4
  protected readonly repository: string;
5
5
  protected readonly fingerprint: string;
6
- protected platform: "local" | "azure" | "bitbucket" | "bitbucket-server" | "codecommit" | "gerrit" | "gitea" | "github" | "gitlab";
6
+ protected platform: "azure" | "bitbucket" | "bitbucket-server" | "codecommit" | "gerrit" | "gitea" | "github" | "gitlab" | "local";
7
7
  private oldHash;
8
8
  private data;
9
9
  protected constructor(repository: string, fingerprint: string);
@@ -50,6 +50,10 @@ class RepoCacheBase {
50
50
  logger_1.logger.debug(`RepoCacheBase.load() - expecting data of type 'string' received '${typeof oldCache}' instead - skipping`);
51
51
  return;
52
52
  }
53
+ if (!is_1.default.nonEmptyString(oldCache)) {
54
+ logger_1.logger.debug('RepoCacheBase.load() - cache file is empty - skipping');
55
+ return;
56
+ }
53
57
  const cacheV13 = schema_1.RepoCacheV13.safeParse(oldCache);
54
58
  if (cacheV13.success) {
55
59
  await this.restore(cacheV13.data);
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../lib/util/cache/repository/impl/base.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { GlobalConfig } from '../../../../config/global';\nimport { logger } from '../../../../logger';\nimport { compressToBase64, decompressFromBase64 } from '../../../compress';\nimport { hash } from '../../../hash';\nimport { safeStringify } from '../../../stringify';\nimport { CACHE_REVISION } from '../common';\nimport { cleanupHttpCache } from '../http-cache';\nimport type { RepoCacheRecord } from '../schema';\nimport { RepoCacheV13 } from '../schema';\nimport type { RepoCache, RepoCacheData } from '../types';\n\nexport abstract class RepoCacheBase implements RepoCache {\n protected platform = GlobalConfig.get('platform')!;\n private oldHash: string | null = null;\n private data: RepoCacheData = {};\n\n protected constructor(\n protected readonly repository: string,\n protected readonly fingerprint: string,\n ) {}\n\n protected abstract read(): Promise<string | null>;\n\n protected abstract write(data: RepoCacheRecord): Promise<void>;\n\n private static parseData(input: string): RepoCacheData {\n const data: RepoCacheData = JSON.parse(input);\n // istanbul ignore next\n if (data.branches) {\n for (const branch of data.branches) {\n if (branch.branchFingerprint) {\n branch.commitFingerprint = branch.branchFingerprint;\n delete branch.branchFingerprint;\n }\n }\n }\n return data;\n }\n\n private async restore(oldCache: RepoCacheRecord): Promise<void> {\n if (oldCache.fingerprint !== this.fingerprint) {\n logger.debug('Repository cache fingerprint is invalid');\n return;\n }\n const jsonStr = await decompressFromBase64(oldCache.payload);\n this.data = RepoCacheBase.parseData(jsonStr);\n this.oldHash = oldCache.hash;\n }\n\n async load(): Promise<void> {\n try {\n const oldCache = await this.read();\n if (!is.string(oldCache)) {\n logger.debug(\n `RepoCacheBase.load() - expecting data of type 'string' received '${typeof oldCache}' instead - skipping`,\n );\n return;\n }\n\n const cacheV13 = RepoCacheV13.safeParse(oldCache);\n if (cacheV13.success) {\n await this.restore(cacheV13.data);\n logger.debug('Repository cache is restored from revision 13');\n return;\n }\n\n logger.warn({ err: cacheV13.error }, 'Repository cache is invalid');\n } catch (err) /* istanbul ignore next: not easily testable */ {\n logger.debug({ err }, 'Error reading repository cache');\n }\n }\n\n async save(): Promise<void> {\n cleanupHttpCache(this.data);\n const jsonStr = safeStringify(this.data);\n const hashedJsonStr = hash(jsonStr);\n if (hashedJsonStr === this.oldHash) {\n return;\n }\n\n const revision = CACHE_REVISION;\n const repository = this.repository;\n const fingerprint = this.fingerprint;\n\n const payload = await compressToBase64(jsonStr);\n\n await this.write({\n revision,\n repository,\n fingerprint,\n payload,\n hash: hashedJsonStr,\n });\n }\n\n getData(): RepoCacheData {\n return this.data;\n }\n\n isModified(): boolean | undefined {\n if (!this.oldHash) {\n return undefined;\n }\n const jsonStr = safeStringify(this.data);\n return hash(jsonStr) !== this.oldHash;\n }\n}\n"]}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../lib/util/cache/repository/impl/base.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { GlobalConfig } from '../../../../config/global';\nimport { logger } from '../../../../logger';\nimport { compressToBase64, decompressFromBase64 } from '../../../compress';\nimport { hash } from '../../../hash';\nimport { safeStringify } from '../../../stringify';\nimport { CACHE_REVISION } from '../common';\nimport { cleanupHttpCache } from '../http-cache';\nimport type { RepoCacheRecord } from '../schema';\nimport { RepoCacheV13 } from '../schema';\nimport type { RepoCache, RepoCacheData } from '../types';\n\nexport abstract class RepoCacheBase implements RepoCache {\n protected platform = GlobalConfig.get('platform')!;\n private oldHash: string | null = null;\n private data: RepoCacheData = {};\n\n protected constructor(\n protected readonly repository: string,\n protected readonly fingerprint: string,\n ) {}\n\n protected abstract read(): Promise<string | null>;\n\n protected abstract write(data: RepoCacheRecord): Promise<void>;\n\n private static parseData(input: string): RepoCacheData {\n const data: RepoCacheData = JSON.parse(input);\n // istanbul ignore next\n if (data.branches) {\n for (const branch of data.branches) {\n if (branch.branchFingerprint) {\n branch.commitFingerprint = branch.branchFingerprint;\n delete branch.branchFingerprint;\n }\n }\n }\n return data;\n }\n\n private async restore(oldCache: RepoCacheRecord): Promise<void> {\n if (oldCache.fingerprint !== this.fingerprint) {\n logger.debug('Repository cache fingerprint is invalid');\n return;\n }\n const jsonStr = await decompressFromBase64(oldCache.payload);\n this.data = RepoCacheBase.parseData(jsonStr);\n this.oldHash = oldCache.hash;\n }\n\n async load(): Promise<void> {\n try {\n const oldCache = await this.read();\n if (!is.string(oldCache)) {\n logger.debug(\n `RepoCacheBase.load() - expecting data of type 'string' received '${typeof oldCache}' instead - skipping`,\n );\n return;\n }\n\n if (!is.nonEmptyString(oldCache)) {\n logger.debug('RepoCacheBase.load() - cache file is empty - skipping');\n return;\n }\n\n const cacheV13 = RepoCacheV13.safeParse(oldCache);\n if (cacheV13.success) {\n await this.restore(cacheV13.data);\n logger.debug('Repository cache is restored from revision 13');\n return;\n }\n\n logger.warn({ err: cacheV13.error }, 'Repository cache is invalid');\n } catch (err) /* istanbul ignore next: not easily testable */ {\n logger.debug({ err }, 'Error reading repository cache');\n }\n }\n\n async save(): Promise<void> {\n cleanupHttpCache(this.data);\n const jsonStr = safeStringify(this.data);\n const hashedJsonStr = hash(jsonStr);\n if (hashedJsonStr === this.oldHash) {\n return;\n }\n\n const revision = CACHE_REVISION;\n const repository = this.repository;\n const fingerprint = this.fingerprint;\n\n const payload = await compressToBase64(jsonStr);\n\n await this.write({\n revision,\n repository,\n fingerprint,\n payload,\n hash: hashedJsonStr,\n });\n }\n\n getData(): RepoCacheData {\n return this.data;\n }\n\n isModified(): boolean | undefined {\n if (!this.oldHash) {\n return undefined;\n }\n const jsonStr = safeStringify(this.data);\n return hash(jsonStr) !== this.oldHash;\n }\n}\n"]}
@@ -6,15 +6,15 @@ export declare const RepoCacheV13: z.ZodPipeline<z.ZodEffects<z.ZodString, strin
6
6
  hash: z.ZodString;
7
7
  fingerprint: z.ZodString;
8
8
  }, "strict", z.ZodTypeAny, {
9
- repository: string;
10
- hash: string;
11
9
  revision: 13;
10
+ hash: string;
11
+ repository: string;
12
12
  payload: string;
13
13
  fingerprint: string;
14
14
  }, {
15
- repository: string;
16
- hash: string;
17
15
  revision: number;
16
+ hash: string;
17
+ repository: string;
18
18
  payload: string;
19
19
  fingerprint: string;
20
20
  }>>;
@@ -134,6 +134,9 @@ export interface RepoCacheData {
134
134
  bitbucket?: {
135
135
  pullRequestsCache?: unknown;
136
136
  };
137
+ bitbucketServer?: {
138
+ pullRequestsCache?: unknown;
139
+ };
137
140
  };
138
141
  prComments?: Record<number, Record<string, string>>;
139
142
  onboardingBranchCache?: OnboardingBranchCache;
@@ -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 { 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}\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 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 };\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 { 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}\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 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 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,3 +1,4 @@
1
+ import type { JsonValue } from 'type-fest';
1
2
  /**
2
3
  * Tries to detect the `platform` from a url.
3
4
  *
@@ -6,5 +7,6 @@
6
7
  */
7
8
  export declare function detectPlatform(url: string): 'azure' | 'bitbucket' | 'bitbucket-server' | 'gitea' | 'github' | 'gitlab' | null;
8
9
  export declare function noLeadingAtSymbol(input: string): string;
9
- export declare function parseJson(content: string | null, filename: string): unknown;
10
- export declare function parseJsonWithFallback(content: string, context: string): unknown;
10
+ export declare function parseJson(content: string | null, filename: string): JsonValue;
11
+ export declare function parseJsonWithFallback(content: string, context: string): JsonValue;
12
+ export declare function parseJsonc(content: string): JsonValue;
@@ -4,8 +4,10 @@ exports.detectPlatform = detectPlatform;
4
4
  exports.noLeadingAtSymbol = noLeadingAtSymbol;
5
5
  exports.parseJson = parseJson;
6
6
  exports.parseJsonWithFallback = parseJsonWithFallback;
7
+ exports.parseJsonc = parseJsonc;
7
8
  const tslib_1 = require("tslib");
8
9
  const json5_1 = tslib_1.__importDefault(require("json5"));
10
+ const JSONC = tslib_1.__importStar(require("jsonc-parser"));
9
11
  const constants_1 = require("../constants");
10
12
  const logger_1 = require("../logger");
11
13
  const hostRules = tslib_1.__importStar(require("./host-rules"));
@@ -67,9 +69,13 @@ function parseJson(content, filename) {
67
69
  if (!content) {
68
70
  return null;
69
71
  }
70
- return filename.endsWith('.json5')
71
- ? json5_1.default.parse(content)
72
- : parseJsonWithFallback(content, filename);
72
+ if (filename.endsWith('.jsonc')) {
73
+ return parseJsonc(content);
74
+ }
75
+ if (filename.endsWith('.json5')) {
76
+ return json5_1.default.parse(content);
77
+ }
78
+ return parseJsonWithFallback(content, filename);
73
79
  }
74
80
  function parseJsonWithFallback(content, context) {
75
81
  let parsedJson;
@@ -82,4 +88,12 @@ function parseJsonWithFallback(content, context) {
82
88
  }
83
89
  return parsedJson;
84
90
  }
91
+ function parseJsonc(content) {
92
+ const errors = [];
93
+ const value = JSONC.parse(content, errors, { allowTrailingComma: true });
94
+ if (errors.length === 0) {
95
+ return value;
96
+ }
97
+ throw new Error('Invalid JSONC');
98
+ }
85
99
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../lib/util/common.ts"],"names":[],"mappings":"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","sourcesContent":["import JSON5 from 'json5';\nimport {\n BITBUCKET_API_USING_HOST_TYPES,\n BITBUCKET_SERVER_API_USING_HOST_TYPES,\n GITEA_API_USING_HOST_TYPES,\n GITHUB_API_USING_HOST_TYPES,\n GITLAB_API_USING_HOST_TYPES,\n} from '../constants';\nimport { logger } from '../logger';\nimport * as hostRules from './host-rules';\nimport { parseUrl } from './url';\n\n/**\n * Tries to detect the `platform` from a url.\n *\n * @param url the url to detect `platform` from\n * @returns matched `platform` if found, otherwise `null`\n */\nexport function detectPlatform(\n url: string,\n):\n | 'azure'\n | 'bitbucket'\n | 'bitbucket-server'\n | 'gitea'\n | 'github'\n | 'gitlab'\n | null {\n const { hostname } = parseUrl(url) ?? {};\n if (hostname === 'dev.azure.com' || hostname?.endsWith('.visualstudio.com')) {\n return 'azure';\n }\n if (hostname === 'bitbucket.org' || hostname === 'bitbucket.com') {\n return 'bitbucket';\n }\n if (hostname?.includes('bitbucket')) {\n return 'bitbucket-server';\n }\n if (\n hostname &&\n (['gitea.com', 'codeberg.org'].includes(hostname) ||\n hostname.includes('gitea') ||\n hostname.includes('forgejo'))\n ) {\n return 'gitea';\n }\n if (hostname === 'github.com' || hostname?.includes('github')) {\n return 'github';\n }\n if (hostname === 'gitlab.com' || hostname?.includes('gitlab')) {\n return 'gitlab';\n }\n\n const hostType = hostRules.hostType({ url });\n\n if (!hostType) {\n return null;\n }\n\n if (BITBUCKET_SERVER_API_USING_HOST_TYPES.includes(hostType)) {\n return 'bitbucket-server';\n }\n if (BITBUCKET_API_USING_HOST_TYPES.includes(hostType)) {\n return 'bitbucket';\n }\n if (GITEA_API_USING_HOST_TYPES.includes(hostType)) {\n return 'gitea';\n }\n if (GITHUB_API_USING_HOST_TYPES.includes(hostType)) {\n return 'github';\n }\n if (GITLAB_API_USING_HOST_TYPES.includes(hostType)) {\n return 'gitlab';\n }\n\n return null;\n}\n\nexport function noLeadingAtSymbol(input: string): string {\n return input.startsWith('@') ? input.slice(1) : input;\n}\n\nexport function parseJson(content: string | null, filename: string): unknown {\n if (!content) {\n return null;\n }\n\n return filename.endsWith('.json5')\n ? JSON5.parse(content)\n : parseJsonWithFallback(content, filename);\n}\n\nexport function parseJsonWithFallback(\n content: string,\n context: string,\n): unknown {\n let parsedJson: unknown;\n\n try {\n parsedJson = JSON.parse(content);\n } catch {\n parsedJson = JSON5.parse(content);\n logger.warn(\n { context },\n 'File contents are invalid JSON but parse using JSON5. Support for this will be removed in a future release so please change to a support .json5 file name or ensure correct JSON syntax.',\n );\n }\n\n return parsedJson;\n}\n"]}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../lib/util/common.ts"],"names":[],"mappings":"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","sourcesContent":["import JSON5 from 'json5';\nimport * as JSONC from 'jsonc-parser';\nimport type { JsonValue } from 'type-fest';\nimport {\n BITBUCKET_API_USING_HOST_TYPES,\n BITBUCKET_SERVER_API_USING_HOST_TYPES,\n GITEA_API_USING_HOST_TYPES,\n GITHUB_API_USING_HOST_TYPES,\n GITLAB_API_USING_HOST_TYPES,\n} from '../constants';\nimport { logger } from '../logger';\nimport * as hostRules from './host-rules';\nimport { parseUrl } from './url';\n\n/**\n * Tries to detect the `platform` from a url.\n *\n * @param url the url to detect `platform` from\n * @returns matched `platform` if found, otherwise `null`\n */\nexport function detectPlatform(\n url: string,\n):\n | 'azure'\n | 'bitbucket'\n | 'bitbucket-server'\n | 'gitea'\n | 'github'\n | 'gitlab'\n | null {\n const { hostname } = parseUrl(url) ?? {};\n if (hostname === 'dev.azure.com' || hostname?.endsWith('.visualstudio.com')) {\n return 'azure';\n }\n if (hostname === 'bitbucket.org' || hostname === 'bitbucket.com') {\n return 'bitbucket';\n }\n if (hostname?.includes('bitbucket')) {\n return 'bitbucket-server';\n }\n if (\n hostname &&\n (['gitea.com', 'codeberg.org'].includes(hostname) ||\n hostname.includes('gitea') ||\n hostname.includes('forgejo'))\n ) {\n return 'gitea';\n }\n if (hostname === 'github.com' || hostname?.includes('github')) {\n return 'github';\n }\n if (hostname === 'gitlab.com' || hostname?.includes('gitlab')) {\n return 'gitlab';\n }\n\n const hostType = hostRules.hostType({ url });\n\n if (!hostType) {\n return null;\n }\n\n if (BITBUCKET_SERVER_API_USING_HOST_TYPES.includes(hostType)) {\n return 'bitbucket-server';\n }\n if (BITBUCKET_API_USING_HOST_TYPES.includes(hostType)) {\n return 'bitbucket';\n }\n if (GITEA_API_USING_HOST_TYPES.includes(hostType)) {\n return 'gitea';\n }\n if (GITHUB_API_USING_HOST_TYPES.includes(hostType)) {\n return 'github';\n }\n if (GITLAB_API_USING_HOST_TYPES.includes(hostType)) {\n return 'gitlab';\n }\n\n return null;\n}\n\nexport function noLeadingAtSymbol(input: string): string {\n return input.startsWith('@') ? input.slice(1) : input;\n}\n\nexport function parseJson(content: string | null, filename: string): JsonValue {\n if (!content) {\n return null;\n }\n\n if (filename.endsWith('.jsonc')) {\n return parseJsonc(content);\n }\n\n if (filename.endsWith('.json5')) {\n return JSON5.parse(content);\n }\n\n return parseJsonWithFallback(content, filename);\n}\n\nexport function parseJsonWithFallback(\n content: string,\n context: string,\n): JsonValue {\n let parsedJson: JsonValue;\n\n try {\n parsedJson = JSON.parse(content);\n } catch {\n parsedJson = JSON5.parse(content);\n logger.warn(\n { context },\n 'File contents are invalid JSON but parse using JSON5. Support for this will be removed in a future release so please change to a support .json5 file name or ensure correct JSON syntax.',\n );\n }\n\n return parsedJson;\n}\n\nexport function parseJsonc(content: string): JsonValue {\n const errors: JSONC.ParseError[] = [];\n const value = JSONC.parse(content, errors, { allowTrailingComma: true });\n if (errors.length === 0) {\n return value;\n }\n throw new Error('Invalid JSONC');\n}\n"]}
@@ -0,0 +1,4 @@
1
+ export declare function setCustomEnv(envObj: Record<string, string>): void;
2
+ export declare function getCustomEnv(): Record<string, string>;
3
+ export declare function setUserEnv(envObj: Record<string, string> | undefined): void;
4
+ export declare function getUserEnv(): Record<string, string>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setCustomEnv = setCustomEnv;
4
+ exports.getCustomEnv = getCustomEnv;
5
+ exports.setUserEnv = setUserEnv;
6
+ exports.getUserEnv = getUserEnv;
7
+ const tslib_1 = require("tslib");
8
+ const memCache = tslib_1.__importStar(require("./cache/memory"));
9
+ let customEnv = {};
10
+ function setCustomEnv(envObj) {
11
+ customEnv = envObj;
12
+ }
13
+ function getCustomEnv() {
14
+ return customEnv;
15
+ }
16
+ function setUserEnv(envObj) {
17
+ memCache.set('userEnv', envObj);
18
+ }
19
+ function getUserEnv() {
20
+ return memCache.get('userEnv') ?? {};
21
+ }
22
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../lib/util/env.ts"],"names":[],"mappings":";;AAIA,oCAEC;AAED,oCAEC;AAED,gCAEC;AAED,gCAEC;;AAlBD,iEAA2C;AAE3C,IAAI,SAAS,GAA2B,EAAE,CAAC;AAE3C,SAAgB,YAAY,CAAC,MAA8B;IACzD,SAAS,GAAG,MAAM,CAAC;AACrB,CAAC;AAED,SAAgB,YAAY;IAC1B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,UAAU,CAAC,MAA0C;IACnE,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,SAAgB,UAAU;IACxB,OAAO,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACvC,CAAC","sourcesContent":["import * as memCache from './cache/memory';\n\nlet customEnv: Record<string, string> = {};\n\nexport function setCustomEnv(envObj: Record<string, string>): void {\n customEnv = envObj;\n}\n\nexport function getCustomEnv(): Record<string, string> {\n return customEnv;\n}\n\nexport function setUserEnv(envObj: Record<string, string> | undefined): void {\n memCache.set('userEnv', envObj);\n}\n\nexport function getUserEnv(): Record<string, string> {\n return memCache.get('userEnv') ?? {};\n}\n"]}
@@ -12,6 +12,7 @@ const global_1 = require("../../config/global");
12
12
  const logger_1 = require("../../logger");
13
13
  const allVersioning = tslib_1.__importStar(require("../../modules/versioning"));
14
14
  const composer_1 = require("../../modules/versioning/composer");
15
+ const conda_1 = require("../../modules/versioning/conda");
15
16
  const gradle_1 = require("../../modules/versioning/gradle");
16
17
  const maven_1 = require("../../modules/versioning/maven");
17
18
  const node_1 = require("../../modules/versioning/node");
@@ -40,7 +41,7 @@ const allToolConfig = {
40
41
  },
41
42
  composer: {
42
43
  datasource: 'github-releases',
43
- packageName: 'composer/composer',
44
+ packageName: 'containerbase/composer-prebuild',
44
45
  versioning: composer_1.id,
45
46
  },
46
47
  copier: {
@@ -84,8 +85,8 @@ const allToolConfig = {
84
85
  versioning: semver_1.id,
85
86
  },
86
87
  golang: {
87
- datasource: 'golang-version',
88
- packageName: 'golang',
88
+ datasource: 'github-releases',
89
+ packageName: 'containerbase/golang-prebuild',
89
90
  versioning: npm_1.id,
90
91
  },
91
92
  gradle: {
@@ -131,18 +132,18 @@ const allToolConfig = {
131
132
  versioning: semver_1.id,
132
133
  },
133
134
  maven: {
134
- datasource: 'maven',
135
- packageName: 'org.apache.maven:maven',
135
+ datasource: 'github-releases',
136
+ packageName: 'containerbase/maven-prebuild',
136
137
  versioning: maven_1.id,
137
138
  },
138
139
  nix: {
139
- datasource: 'github-tags',
140
- packageName: 'NixOS/nix',
140
+ datasource: 'github-releases',
141
+ packageName: 'containerbase/nix-prebuild',
141
142
  versioning: semver_1.id,
142
143
  },
143
144
  node: {
144
- datasource: 'node-version',
145
- packageName: 'node',
145
+ datasource: 'github-releases',
146
+ packageName: 'containerbase/node-prebuild',
146
147
  versioning: node_1.id,
147
148
  },
148
149
  npm: {
@@ -176,6 +177,12 @@ const allToolConfig = {
176
177
  packageName: 'pnpm',
177
178
  versioning: npm_1.id,
178
179
  },
180
+ pixi: {
181
+ datasource: 'github-releases',
182
+ packageName: 'prefix-dev/pixi',
183
+ versioning: conda_1.id,
184
+ extractVersion: '^v(?<version>.*)$',
185
+ },
179
186
  poetry: {
180
187
  datasource: 'pypi',
181
188
  packageName: 'poetry',
@@ -217,8 +224,8 @@ const allToolConfig = {
217
224
  versioning: npm_1.id,
218
225
  },
219
226
  flutter: {
220
- datasource: 'flutter-version',
221
- packageName: 'flutter',
227
+ datasource: 'github-releases',
228
+ packageName: 'containerbase/flutter-prebuild',
222
229
  versioning: npm_1.id,
223
230
  },
224
231
  vendir: {
@@ -229,9 +236,7 @@ const allToolConfig = {
229
236
  };
230
237
  let _getPkgReleases = null;
231
238
  async function getPkgReleases(toolConfig) {
232
- if (_getPkgReleases === null) {
233
- _getPkgReleases = Promise.resolve().then(() => tslib_1.__importStar(require('../../modules/datasource')));
234
- }
239
+ _getPkgReleases ??= import('../../modules/datasource/index.js');
235
240
  const { getPkgReleases } = await _getPkgReleases;
236
241
  return getPkgReleases(toolConfig);
237
242
  }