renovate 43.256.0 → 43.256.2

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 (487) hide show
  1. package/dist/config/decrypt.js +1 -1
  2. package/dist/config/index.js +1 -1
  3. package/dist/config/migrations/custom/package-rules-migration.js +1 -1
  4. package/dist/config/migrations/index.js +2 -2
  5. package/dist/config/options/index.js +1 -1
  6. package/dist/config/options/index.js.map +1 -1
  7. package/dist/config/presets/index.js +1 -1
  8. package/dist/config/presets/internal/index.js +1 -1
  9. package/dist/config/presets/local/common.js +1 -1
  10. package/dist/config/secrets.js +1 -1
  11. package/dist/constants/category.d.ts +1 -1
  12. package/dist/constants/platforms.d.ts +1 -1
  13. package/dist/global-config-option-defaults.generated.js +1 -1
  14. package/dist/global-config-option-defaults.generated.js.map +1 -1
  15. package/dist/instrumentation/index.js +1 -1
  16. package/dist/logger/bunyan.js +1 -1
  17. package/dist/logger/index.js +2 -1
  18. package/dist/logger/index.js.map +1 -1
  19. package/dist/logger/pretty-stdout.js +1 -1
  20. package/dist/logger/problem-stream.js +1 -1
  21. package/dist/logger/utils.js +1 -1
  22. package/dist/manager-list.generated.d.ts +1 -1
  23. package/dist/modules/datasource/azure-pipelines-tasks/schema.js +1 -1
  24. package/dist/modules/datasource/bitrise/index.js +1 -1
  25. package/dist/modules/datasource/cdnjs/schema.js +1 -1
  26. package/dist/modules/datasource/conda/schema/prefix-dev.js +1 -1
  27. package/dist/modules/datasource/conda/schema.js +1 -1
  28. package/dist/modules/datasource/crate/schema.js +1 -1
  29. package/dist/modules/datasource/custom/utils.js +1 -1
  30. package/dist/modules/datasource/dart-version/index.js +1 -1
  31. package/dist/modules/datasource/deb/packages.js +1 -1
  32. package/dist/modules/datasource/deno/schema.js +1 -1
  33. package/dist/modules/datasource/devbox/schema.js +1 -1
  34. package/dist/modules/datasource/docker/common.js +1 -1
  35. package/dist/modules/datasource/docker/schema.js +1 -1
  36. package/dist/modules/datasource/flutter-version/index.js +1 -1
  37. package/dist/modules/datasource/flutter-version/schema.js +1 -1
  38. package/dist/modules/datasource/forgejo-releases/schema.js +1 -1
  39. package/dist/modules/datasource/forgejo-tags/schema.js +1 -1
  40. package/dist/modules/datasource/gitea-releases/schema.js +1 -1
  41. package/dist/modules/datasource/gitea-tags/schema.js +1 -1
  42. package/dist/modules/datasource/go/releases-goproxy.js +2 -2
  43. package/dist/modules/datasource/golang-version/index.js +1 -1
  44. package/dist/modules/datasource/gradle-version/schema.js +5 -3
  45. package/dist/modules/datasource/gradle-version/schema.js.map +1 -1
  46. package/dist/modules/datasource/hackage/index.js +1 -1
  47. package/dist/modules/datasource/hex/v2/package.js +1 -1
  48. package/dist/modules/datasource/java-version/schema.js +1 -1
  49. package/dist/modules/datasource/jenkins-plugins/schema.js +1 -1
  50. package/dist/modules/datasource/jsr/schema.js +1 -1
  51. package/dist/modules/datasource/maven/common.js +3 -2
  52. package/dist/modules/datasource/maven/common.js.map +1 -1
  53. package/dist/modules/datasource/maven/index.js +2 -2
  54. package/dist/modules/datasource/maven/schema.js +1 -1
  55. package/dist/modules/datasource/maven/util.js +3 -2
  56. package/dist/modules/datasource/maven/util.js.map +1 -1
  57. package/dist/modules/datasource/metadata.js +1 -1
  58. package/dist/modules/datasource/nextcloud/schema.js +1 -1
  59. package/dist/modules/datasource/node-version/schema.js +5 -3
  60. package/dist/modules/datasource/node-version/schema.js.map +1 -1
  61. package/dist/modules/datasource/npm/index.js +2 -2
  62. package/dist/modules/datasource/npm/npmrc.js +1 -1
  63. package/dist/modules/datasource/nuget/common.js +1 -1
  64. package/dist/modules/datasource/nuget/schema.js +1 -1
  65. package/dist/modules/datasource/nuget/v3.js +1 -1
  66. package/dist/modules/datasource/packagist/schema.js +1 -1
  67. package/dist/modules/datasource/puppet-forge/schema.js +1 -1
  68. package/dist/modules/datasource/pypi/schema.js +1 -1
  69. package/dist/modules/datasource/repology/schema.js +5 -3
  70. package/dist/modules/datasource/repology/schema.js.map +1 -1
  71. package/dist/modules/datasource/rubygems/common.js +1 -1
  72. package/dist/modules/datasource/rubygems/metadata-cache.js +4 -1
  73. package/dist/modules/datasource/rubygems/metadata-cache.js.map +1 -1
  74. package/dist/modules/datasource/rubygems/versions-endpoint-cache.js +1 -1
  75. package/dist/modules/datasource/terraform-module/schema.js +1 -1
  76. package/dist/modules/datasource/terraform-provider/schema.js +1 -1
  77. package/dist/modules/datasource/unity3d-packages/index.js +1 -1
  78. package/dist/modules/manager/ansible/index.js +1 -1
  79. package/dist/modules/manager/ansible-galaxy/extract.js +1 -1
  80. package/dist/modules/manager/ansible-galaxy/index.js +1 -1
  81. package/dist/modules/manager/ant/index.js +1 -1
  82. package/dist/modules/manager/argocd/index.js +1 -1
  83. package/dist/modules/manager/argocd/schema.js +1 -1
  84. package/dist/modules/manager/asdf/index.js +1 -1
  85. package/dist/modules/manager/azure-pipelines/extract.js +1 -1
  86. package/dist/modules/manager/azure-pipelines/index.js +1 -1
  87. package/dist/modules/manager/azure-pipelines/schema.js +1 -1
  88. package/dist/modules/manager/batect/index.js +1 -1
  89. package/dist/modules/manager/batect-wrapper/index.js +1 -1
  90. package/dist/modules/manager/bazel/common.js +1 -1
  91. package/dist/modules/manager/bazel/index.js +1 -1
  92. package/dist/modules/manager/bazel/rules/http.js +1 -1
  93. package/dist/modules/manager/bazel/rules/index.js +1 -1
  94. package/dist/modules/manager/bazel-module/bazelrc.js +1 -1
  95. package/dist/modules/manager/bazel-module/index.js +1 -1
  96. package/dist/modules/manager/bazel-module/parser/context.js +1 -1
  97. package/dist/modules/manager/bazel-module/parser/fragments.js +1 -1
  98. package/dist/modules/manager/bazel-module/rules-img.js +1 -1
  99. package/dist/modules/manager/bazel-module/rules.js +1 -1
  100. package/dist/modules/manager/bazelisk/index.js +1 -1
  101. package/dist/modules/manager/bicep/index.js +1 -1
  102. package/dist/modules/manager/bitbucket-pipelines/index.js +1 -1
  103. package/dist/modules/manager/bitrise/index.js +1 -1
  104. package/dist/modules/manager/bitrise/utils.js +1 -1
  105. package/dist/modules/manager/buildkite/extract.js +1 -1
  106. package/dist/modules/manager/buildkite/index.js +1 -1
  107. package/dist/modules/manager/buildpacks/extract.js +1 -1
  108. package/dist/modules/manager/buildpacks/index.js +1 -1
  109. package/dist/modules/manager/buildpacks/schema.js +1 -1
  110. package/dist/modules/manager/bun/extract.js +1 -1
  111. package/dist/modules/manager/bun/index.js +1 -1
  112. package/dist/modules/manager/bun/utils.js +1 -1
  113. package/dist/modules/manager/bun-version/index.js +1 -1
  114. package/dist/modules/manager/bundler/index.js +1 -1
  115. package/dist/modules/manager/cake/index.js +1 -1
  116. package/dist/modules/manager/cargo/extract.js +1 -1
  117. package/dist/modules/manager/cargo/index.js +1 -1
  118. package/dist/modules/manager/cargo/locked-version.js +1 -1
  119. package/dist/modules/manager/cdnurl/index.js +1 -1
  120. package/dist/modules/manager/circleci/index.js +1 -1
  121. package/dist/modules/manager/circleci/schema.js +3 -2
  122. package/dist/modules/manager/circleci/schema.js.map +1 -1
  123. package/dist/modules/manager/cloudbuild/index.js +1 -1
  124. package/dist/modules/manager/cocoapods/extract.js +1 -1
  125. package/dist/modules/manager/cocoapods/index.js +1 -1
  126. package/dist/modules/manager/composer/index.js +1 -1
  127. package/dist/modules/manager/composer/schema.js +2 -2
  128. package/dist/modules/manager/composer/update-locked.js +1 -1
  129. package/dist/modules/manager/composer/utils.js +2 -2
  130. package/dist/modules/manager/conan/index.js +1 -1
  131. package/dist/modules/manager/copier/index.js +1 -1
  132. package/dist/modules/manager/cpanfile/index.js +1 -1
  133. package/dist/modules/manager/crossplane/index.js +1 -1
  134. package/dist/modules/manager/crow/index.js +1 -1
  135. package/dist/modules/manager/crow/schema.js +1 -1
  136. package/dist/modules/manager/custom/jsonata/index.js +1 -1
  137. package/dist/modules/manager/custom/jsonata/types.d.ts +1 -1
  138. package/dist/modules/manager/custom/jsonata/utils.js +1 -1
  139. package/dist/modules/manager/custom/regex/index.js +1 -1
  140. package/dist/modules/manager/custom/regex/types.d.ts +1 -1
  141. package/dist/modules/manager/custom/types.d.ts +1 -1
  142. package/dist/modules/manager/deno/extract.js +1 -1
  143. package/dist/modules/manager/deno/index.js +1 -1
  144. package/dist/modules/manager/deno/post.js +2 -2
  145. package/dist/modules/manager/deno/schema.js +1 -1
  146. package/dist/modules/manager/deps-edn/index.js +1 -1
  147. package/dist/modules/manager/devbox/index.js +1 -1
  148. package/dist/modules/manager/devbox/schema.js +1 -1
  149. package/dist/modules/manager/devbox/tool-versioning.js +5 -5
  150. package/dist/modules/manager/devcontainer/index.js +1 -1
  151. package/dist/modules/manager/docker-compose/index.js +1 -1
  152. package/dist/modules/manager/dockerfile/extract.js +2 -2
  153. package/dist/modules/manager/dockerfile/index.js +1 -1
  154. package/dist/modules/manager/droneci/index.js +1 -1
  155. package/dist/modules/manager/fleet/index.js +1 -1
  156. package/dist/modules/manager/flux/index.js +1 -1
  157. package/dist/modules/manager/flux/schema.js +1 -1
  158. package/dist/modules/manager/fvm/index.js +1 -1
  159. package/dist/modules/manager/git-submodules/extract.js +1 -1
  160. package/dist/modules/manager/git-submodules/index.js +1 -1
  161. package/dist/modules/manager/github-actions/community.js +1 -1
  162. package/dist/modules/manager/github-actions/extract.js +1 -1
  163. package/dist/modules/manager/github-actions/index.js +1 -1
  164. package/dist/modules/manager/github-actions/parse.js +1 -1
  165. package/dist/modules/manager/gitlabci/index.js +1 -1
  166. package/dist/modules/manager/gitlabci-include/index.js +1 -1
  167. package/dist/modules/manager/gitlabci-include/schema.js +4 -3
  168. package/dist/modules/manager/gitlabci-include/schema.js.map +1 -1
  169. package/dist/modules/manager/glasskube/index.js +1 -1
  170. package/dist/modules/manager/glasskube/schema.js +1 -1
  171. package/dist/modules/manager/gleam/extract.js +1 -1
  172. package/dist/modules/manager/gleam/index.js +1 -1
  173. package/dist/modules/manager/gleam/locked-version.js +1 -1
  174. package/dist/modules/manager/gomod/artifacts-extra.js +1 -1
  175. package/dist/modules/manager/gomod/artifacts.js +2 -2
  176. package/dist/modules/manager/gomod/extract.js +1 -1
  177. package/dist/modules/manager/gomod/index.js +1 -1
  178. package/dist/modules/manager/gomod/line-parser.js +1 -1
  179. package/dist/modules/manager/gradle/extract/consistent-versions-plugin.js +1 -1
  180. package/dist/modules/manager/gradle/extract.js +2 -2
  181. package/dist/modules/manager/gradle/index.js +1 -1
  182. package/dist/modules/manager/gradle/parser/common.js +1 -1
  183. package/dist/modules/manager/gradle/utils.js +2 -2
  184. package/dist/modules/manager/gradle-wrapper/artifacts.js +1 -1
  185. package/dist/modules/manager/gradle-wrapper/index.js +1 -1
  186. package/dist/modules/manager/gradle-wrapper/utils.js +2 -2
  187. package/dist/modules/manager/haskell-cabal/extract.js +1 -1
  188. package/dist/modules/manager/haskell-cabal/index.js +1 -1
  189. package/dist/modules/manager/helm-requirements/index.js +1 -1
  190. package/dist/modules/manager/helm-values/extract.js +1 -1
  191. package/dist/modules/manager/helm-values/index.js +1 -1
  192. package/dist/modules/manager/helmfile/index.js +1 -1
  193. package/dist/modules/manager/helmfile/schema.js +1 -1
  194. package/dist/modules/manager/helmsman/index.js +1 -1
  195. package/dist/modules/manager/helmv3/index.js +1 -1
  196. package/dist/modules/manager/helmv3/utils.js +1 -1
  197. package/dist/modules/manager/hermit/artifacts.js +1 -1
  198. package/dist/modules/manager/hermit/index.js +1 -1
  199. package/dist/modules/manager/homeassistant-manifest/index.js +1 -1
  200. package/dist/modules/manager/homebrew/index.js +1 -1
  201. package/dist/modules/manager/html/extract.js +1 -1
  202. package/dist/modules/manager/html/index.js +1 -1
  203. package/dist/modules/manager/jenkins/index.js +1 -1
  204. package/dist/modules/manager/jsonnet-bundler/index.js +1 -1
  205. package/dist/modules/manager/kotlin-script/index.js +1 -1
  206. package/dist/modules/manager/kubernetes/index.js +1 -1
  207. package/dist/modules/manager/kubernetes/schema.js +1 -1
  208. package/dist/modules/manager/kustomize/extract.js +1 -1
  209. package/dist/modules/manager/kustomize/index.js +1 -1
  210. package/dist/modules/manager/leiningen/extract.js +1 -1
  211. package/dist/modules/manager/leiningen/index.js +1 -1
  212. package/dist/modules/manager/maven/extract.js +3 -2
  213. package/dist/modules/manager/maven/extract.js.map +1 -1
  214. package/dist/modules/manager/maven/index.js +1 -1
  215. package/dist/modules/manager/maven/update.js +1 -1
  216. package/dist/modules/manager/maven-wrapper/artifacts.js +2 -2
  217. package/dist/modules/manager/maven-wrapper/index.js +1 -1
  218. package/dist/modules/manager/meteor/index.js +1 -1
  219. package/dist/modules/manager/mint/index.js +1 -1
  220. package/dist/modules/manager/mise/index.js +1 -1
  221. package/dist/modules/manager/mise/upgradeable-tooling.js +1 -1
  222. package/dist/modules/manager/mix/index.js +1 -1
  223. package/dist/modules/manager/nix/index.js +1 -1
  224. package/dist/modules/manager/nodenv/index.js +1 -1
  225. package/dist/modules/manager/npm/extract/common/catalogs.js +1 -1
  226. package/dist/modules/manager/npm/extract/common/dependency.js +1 -1
  227. package/dist/modules/manager/npm/extract/index.js +1 -1
  228. package/dist/modules/manager/npm/extract/pnpm.js +1 -1
  229. package/dist/modules/manager/npm/index.js +1 -1
  230. package/dist/modules/manager/npm/post-update/index.js +1 -1
  231. package/dist/modules/manager/npm/post-update/node-version.js +1 -1
  232. package/dist/modules/manager/npm/post-update/npm.js +1 -1
  233. package/dist/modules/manager/npm/post-update/pnpm.js +1 -1
  234. package/dist/modules/manager/npm/post-update/yarn.js +1 -1
  235. package/dist/modules/manager/npm/schema.js +1 -1
  236. package/dist/modules/manager/npm/update/index.js +4 -4
  237. package/dist/modules/manager/npm/update/locked-dependency/common/parent-version.js +1 -1
  238. package/dist/modules/manager/npm/update/locked-dependency/index.js +1 -1
  239. package/dist/modules/manager/npm/update/locked-dependency/package-lock/dep-constraints.js +1 -1
  240. package/dist/modules/manager/npm/update/locked-dependency/package-lock/index.js +1 -1
  241. package/dist/modules/manager/npm/update/locked-dependency/yarn-lock/get-locked.js +1 -1
  242. package/dist/modules/manager/npm/update/locked-dependency/yarn-lock/index.js +1 -1
  243. package/dist/modules/manager/nuget/extract.js +1 -1
  244. package/dist/modules/manager/nuget/index.js +1 -1
  245. package/dist/modules/manager/nvm/index.js +1 -1
  246. package/dist/modules/manager/ocb/extract.js +1 -1
  247. package/dist/modules/manager/ocb/index.js +1 -1
  248. package/dist/modules/manager/osgi/index.js +1 -1
  249. package/dist/modules/manager/pep621/index.js +1 -1
  250. package/dist/modules/manager/pep621/utils.js +1 -1
  251. package/dist/modules/manager/pep723/index.js +1 -1
  252. package/dist/modules/manager/pip-compile/artifacts.js +1 -1
  253. package/dist/modules/manager/pip-compile/common.js +1 -1
  254. package/dist/modules/manager/pip-compile/index.js +1 -1
  255. package/dist/modules/manager/pip_requirements/extract.js +1 -1
  256. package/dist/modules/manager/pip_requirements/index.js +1 -1
  257. package/dist/modules/manager/pip_setup/index.js +1 -1
  258. package/dist/modules/manager/pipenv/artifacts.js +1 -1
  259. package/dist/modules/manager/pipenv/extract.js +5 -2
  260. package/dist/modules/manager/pipenv/extract.js.map +1 -1
  261. package/dist/modules/manager/pipenv/index.js +1 -1
  262. package/dist/modules/manager/pixi/artifacts.js +1 -1
  263. package/dist/modules/manager/pixi/index.js +1 -1
  264. package/dist/modules/manager/pixi/schema.js +1 -1
  265. package/dist/modules/manager/poetry/artifacts.js +1 -1
  266. package/dist/modules/manager/poetry/index.js +1 -1
  267. package/dist/modules/manager/poetry/schema.js +4 -3
  268. package/dist/modules/manager/poetry/schema.js.map +1 -1
  269. package/dist/modules/manager/pre-commit/index.js +1 -1
  270. package/dist/modules/manager/proto/index.js +1 -1
  271. package/dist/modules/manager/proto/schema.js +1 -1
  272. package/dist/modules/manager/pub/index.js +1 -1
  273. package/dist/modules/manager/puppet/common.js +1 -1
  274. package/dist/modules/manager/puppet/index.js +1 -1
  275. package/dist/modules/manager/puppet/puppetfile-parser.js +1 -1
  276. package/dist/modules/manager/pyenv/index.js +1 -1
  277. package/dist/modules/manager/quadlet/index.js +1 -1
  278. package/dist/modules/manager/renovate-config/index.js +1 -1
  279. package/dist/modules/manager/ruby-version/index.js +1 -1
  280. package/dist/modules/manager/runtime-version/extract.js +1 -1
  281. package/dist/modules/manager/runtime-version/index.js +1 -1
  282. package/dist/modules/manager/rust-toolchain/extract.js +1 -1
  283. package/dist/modules/manager/rust-toolchain/index.js +1 -1
  284. package/dist/modules/manager/sbt/extract.js +1 -1
  285. package/dist/modules/manager/sbt/index.js +1 -1
  286. package/dist/modules/manager/scalafmt/index.js +1 -1
  287. package/dist/modules/manager/setup-cfg/index.js +1 -1
  288. package/dist/modules/manager/sveltos/extract.js +1 -1
  289. package/dist/modules/manager/sveltos/index.js +1 -1
  290. package/dist/modules/manager/sveltos/schema.js +1 -1
  291. package/dist/modules/manager/swift/index.js +1 -1
  292. package/dist/modules/manager/tekton/index.js +1 -1
  293. package/dist/modules/manager/terraform/extractors/others/modules.js +1 -1
  294. package/dist/modules/manager/terraform/index.js +1 -1
  295. package/dist/modules/manager/terraform/lockfile/index.js +1 -1
  296. package/dist/modules/manager/terraform-version/index.js +1 -1
  297. package/dist/modules/manager/terragrunt/index.js +1 -1
  298. package/dist/modules/manager/terragrunt/modules.js +1 -1
  299. package/dist/modules/manager/terragrunt-version/index.js +1 -1
  300. package/dist/modules/manager/tflint-plugin/index.js +1 -1
  301. package/dist/modules/manager/travis/index.js +1 -1
  302. package/dist/modules/manager/typst/index.js +1 -1
  303. package/dist/modules/manager/unity3d/index.js +1 -1
  304. package/dist/modules/manager/velaci/index.js +1 -1
  305. package/dist/modules/manager/vendir/extract.js +1 -1
  306. package/dist/modules/manager/vendir/index.js +1 -1
  307. package/dist/modules/manager/vendir/schema.js +1 -1
  308. package/dist/modules/manager/woodpecker/index.js +1 -1
  309. package/dist/modules/manager/xcodegen/index.js +1 -1
  310. package/dist/modules/platform/azure/azure-got-wrapper.js +1 -1
  311. package/dist/modules/platform/azure/index.js +1 -1
  312. package/dist/modules/platform/azure/util.js +1 -1
  313. package/dist/modules/platform/bitbucket/index.js +2 -1
  314. package/dist/modules/platform/bitbucket/index.js.map +1 -1
  315. package/dist/modules/platform/bitbucket-server/schema.js +1 -1
  316. package/dist/modules/platform/bitbucket-server/utils.js +3 -1
  317. package/dist/modules/platform/bitbucket-server/utils.js.map +1 -1
  318. package/dist/modules/platform/codecommit/index.js +1 -1
  319. package/dist/modules/platform/forgejo/index.js +1 -1
  320. package/dist/modules/platform/forgejo/schema.js +3 -2
  321. package/dist/modules/platform/forgejo/schema.js.map +1 -1
  322. package/dist/modules/platform/gerrit/index.js +1 -1
  323. package/dist/modules/platform/gerrit/schema.js +1 -1
  324. package/dist/modules/platform/gerrit/scm.js +1 -1
  325. package/dist/modules/platform/gerrit/utils.js +1 -1
  326. package/dist/modules/platform/gitea/index.js +1 -1
  327. package/dist/modules/platform/github/index.js +1 -1
  328. package/dist/modules/platform/github/schema.d.ts +1 -1
  329. package/dist/modules/platform/github/schema.js +1 -1
  330. package/dist/modules/platform/gitlab/schema.js +1 -1
  331. package/dist/modules/platform/local/index.js +1 -1
  332. package/dist/modules/platform/pr-body.js +1 -1
  333. package/dist/modules/platform/scm-manager/index.js +1 -1
  334. package/dist/modules/platform/scm-manager/schema.js +1 -1
  335. package/dist/modules/platform/scm-manager/scm-manager-helper.js +1 -1
  336. package/dist/modules/platform/scm.js +1 -1
  337. package/dist/modules/platform/utils/read-only-issue-body.js +1 -1
  338. package/dist/modules/versioning/api.js +51 -51
  339. package/dist/modules/versioning/apk/index.js +1 -1
  340. package/dist/modules/versioning/aws-eks-addon/index.js +4 -3
  341. package/dist/modules/versioning/aws-eks-addon/index.js.map +1 -1
  342. package/dist/modules/versioning/aws-machine-image/index.js +1 -1
  343. package/dist/modules/versioning/azure-rest-api/index.js +1 -1
  344. package/dist/modules/versioning/bazel-module/bzlmod-version.js +1 -1
  345. package/dist/modules/versioning/bazel-module/index.js +1 -1
  346. package/dist/modules/versioning/cargo/index.js +2 -2
  347. package/dist/modules/versioning/composer/index.js +2 -2
  348. package/dist/modules/versioning/conan/index.js +2 -2
  349. package/dist/modules/versioning/conan/range.js +1 -1
  350. package/dist/modules/versioning/conda/index.js +1 -1
  351. package/dist/modules/versioning/deb/index.js +1 -1
  352. package/dist/modules/versioning/debian/index.js +1 -1
  353. package/dist/modules/versioning/deno/index.js +2 -2
  354. package/dist/modules/versioning/devbox/index.js +1 -1
  355. package/dist/modules/versioning/docker/index.js +1 -1
  356. package/dist/modules/versioning/elm/index.js +1 -1
  357. package/dist/modules/versioning/exact/index.js +1 -1
  358. package/dist/modules/versioning/git/index.js +1 -1
  359. package/dist/modules/versioning/github-actions/index.js +1 -1
  360. package/dist/modules/versioning/glasskube/index.js +1 -1
  361. package/dist/modules/versioning/go-mod-directive/index.js +2 -2
  362. package/dist/modules/versioning/gradle/compare.js +1 -1
  363. package/dist/modules/versioning/gradle/index.js +5 -3
  364. package/dist/modules/versioning/gradle/index.js.map +1 -1
  365. package/dist/modules/versioning/hashicorp/index.js +2 -2
  366. package/dist/modules/versioning/helm/index.js +1 -1
  367. package/dist/modules/versioning/hermit/index.js +3 -2
  368. package/dist/modules/versioning/hermit/index.js.map +1 -1
  369. package/dist/modules/versioning/hex/index.js +2 -2
  370. package/dist/modules/versioning/ivy/index.js +2 -2
  371. package/dist/modules/versioning/ivy/parse.js +2 -2
  372. package/dist/modules/versioning/kubernetes-api/index.js +4 -3
  373. package/dist/modules/versioning/kubernetes-api/index.js.map +1 -1
  374. package/dist/modules/versioning/lambda-node/index.js +2 -2
  375. package/dist/modules/versioning/loose/index.js +1 -1
  376. package/dist/modules/versioning/maven/compare.js +1 -1
  377. package/dist/modules/versioning/maven/index.js +2 -2
  378. package/dist/modules/versioning/nixpkgs/index.js +3 -2
  379. package/dist/modules/versioning/nixpkgs/index.js.map +1 -1
  380. package/dist/modules/versioning/node/index.js +2 -2
  381. package/dist/modules/versioning/node/schedule.js +3 -2
  382. package/dist/modules/versioning/node/schedule.js.map +1 -1
  383. package/dist/modules/versioning/npm/index.js +1 -1
  384. package/dist/modules/versioning/nuget/index.js +1 -1
  385. package/dist/modules/versioning/nuget/parser.js +1 -1
  386. package/dist/modules/versioning/paket/index.js +1 -1
  387. package/dist/modules/versioning/paket/range.js +1 -1
  388. package/dist/modules/versioning/pep440/index.js +1 -1
  389. package/dist/modules/versioning/pep440/range.js +7 -3
  390. package/dist/modules/versioning/pep440/range.js.map +1 -1
  391. package/dist/modules/versioning/perl/index.js +1 -1
  392. package/dist/modules/versioning/poetry/index.js +3 -3
  393. package/dist/modules/versioning/pvp/index.js +1 -1
  394. package/dist/modules/versioning/python/index.js +3 -3
  395. package/dist/modules/versioning/redhat/index.js +1 -1
  396. package/dist/modules/versioning/regex/index.js +1 -1
  397. package/dist/modules/versioning/rez/index.js +3 -3
  398. package/dist/modules/versioning/rpm/index.js +1 -1
  399. package/dist/modules/versioning/ruby/index.js +1 -1
  400. package/dist/modules/versioning/ruby/strategies/index.js +4 -4
  401. package/dist/modules/versioning/rust-release-channel/index.js +1 -1
  402. package/dist/modules/versioning/same-major/index.js +2 -2
  403. package/dist/modules/versioning/schema.js +1 -1
  404. package/dist/modules/versioning/semver/index.js +1 -1
  405. package/dist/modules/versioning/semver-coerced/index.d.ts +1 -1
  406. package/dist/modules/versioning/semver-coerced/index.js +1 -1
  407. package/dist/modules/versioning/semver-partial/index.js +1 -1
  408. package/dist/modules/versioning/swift/index.js +1 -1
  409. package/dist/modules/versioning/unity3d/index.js +1 -1
  410. package/dist/modules/versioning/unity3d-packages/index.js +1 -1
  411. package/dist/util/cache/package/impl/redis.js +1 -1
  412. package/dist/util/cache/package/impl/sqlite.js +2 -1
  413. package/dist/util/cache/package/impl/sqlite.js.map +1 -1
  414. package/dist/util/cache/package/namespaces.d.ts +1 -1
  415. package/dist/util/check-token.js +1 -1
  416. package/dist/util/common.js +1 -1
  417. package/dist/util/emoji.js +1 -1
  418. package/dist/util/exec/containerbase.js +1 -1
  419. package/dist/util/exec/docker/index.js +1 -1
  420. package/dist/util/exec/env.js +1 -1
  421. package/dist/util/exec/hermit.js +1 -1
  422. package/dist/util/git/auth.js +1 -1
  423. package/dist/util/git/instrument.js +1 -1
  424. package/dist/util/git/types.d.ts +1 -1
  425. package/dist/util/github/url.js +1 -1
  426. package/dist/util/http/cache/memory-http-cache-provider.js +1 -1
  427. package/dist/util/http/cache/repository-http-cache-provider.js +1 -1
  428. package/dist/util/http/got.js +1 -1
  429. package/dist/util/http/http.js +1 -1
  430. package/dist/util/http/throttle.js +1 -1
  431. package/dist/util/json-writer/index.js +3 -3
  432. package/dist/util/merge-confidence/index.js +1 -1
  433. package/dist/util/mutex.js +1 -1
  434. package/dist/util/result.d.ts +1 -1
  435. package/dist/util/schema-utils/index.js +7 -4
  436. package/dist/util/schema-utils/index.js.map +1 -1
  437. package/dist/util/stats.js +1 -1
  438. package/dist/util/template/index.js +12 -6
  439. package/dist/util/template/index.js.map +1 -1
  440. package/dist/util/yaml.js +1 -1
  441. package/dist/versioning-list.generated.d.ts +1 -1
  442. package/dist/workers/global/config/parse/cli.js +1 -1
  443. package/dist/workers/global/config/parse/env.js +1 -1
  444. package/dist/workers/global/index.js +1 -1
  445. package/dist/workers/global/limits.js +1 -1
  446. package/dist/workers/repository/changelog/index.js +1 -1
  447. package/dist/workers/repository/common.js +1 -1
  448. package/dist/workers/repository/config-migration/branch/index.js +1 -1
  449. package/dist/workers/repository/config-migration/branch/rebase.js +1 -1
  450. package/dist/workers/repository/dependency-dashboard.js +1 -1
  451. package/dist/workers/repository/extract/file-match.js +1 -1
  452. package/dist/workers/repository/finalize/repository-statistics.js +1 -1
  453. package/dist/workers/repository/index.js +1 -1
  454. package/dist/workers/repository/init/merge.js +1 -1
  455. package/dist/workers/repository/init/types.d.ts +1 -1
  456. package/dist/workers/repository/process/extract-update.js +1 -1
  457. package/dist/workers/repository/process/index.js +5 -3
  458. package/dist/workers/repository/process/index.js.map +1 -1
  459. package/dist/workers/repository/process/lookup/utils.js +1 -1
  460. package/dist/workers/repository/process/vulnerabilities.js +2 -1
  461. package/dist/workers/repository/process/vulnerabilities.js.map +1 -1
  462. package/dist/workers/repository/process/write.js +1 -1
  463. package/dist/workers/repository/reconfigure/comment.js +1 -1
  464. package/dist/workers/repository/update/branch/auto-replace.js +1 -1
  465. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js +1 -1
  466. package/dist/workers/repository/update/branch/schedule.js +1 -1
  467. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js +4 -2
  468. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js.map +1 -1
  469. package/dist/workers/repository/update/pr/changelog/bitbucket-server/index.js +4 -2
  470. package/dist/workers/repository/update/pr/changelog/bitbucket-server/index.js.map +1 -1
  471. package/dist/workers/repository/update/pr/changelog/forgejo/index.js +4 -2
  472. package/dist/workers/repository/update/pr/changelog/forgejo/index.js.map +1 -1
  473. package/dist/workers/repository/update/pr/changelog/gitea/index.js +4 -2
  474. package/dist/workers/repository/update/pr/changelog/gitea/index.js.map +1 -1
  475. package/dist/workers/repository/update/pr/changelog/github/index.js +4 -2
  476. package/dist/workers/repository/update/pr/changelog/github/index.js.map +1 -1
  477. package/dist/workers/repository/update/pr/changelog/gitlab/index.js +4 -2
  478. package/dist/workers/repository/update/pr/changelog/gitlab/index.js.map +1 -1
  479. package/dist/workers/repository/update/pr/changelog/index.js +1 -1
  480. package/dist/workers/repository/update/pr/changelog/release-notes.js +3 -2
  481. package/dist/workers/repository/update/pr/changelog/release-notes.js.map +1 -1
  482. package/dist/workers/repository/update/pr/changelog/types.d.ts +1 -1
  483. package/dist/workers/repository/update/pr/index.js +1 -1
  484. package/dist/workers/repository/update/pr/labels.js +1 -1
  485. package/dist/workers/repository/updates/flatten.js +1 -1
  486. package/package.json +6 -6
  487. package/renovate-schema.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","names":["packageCache.get","HttpError","packageCache.set","packageCache.getCacheType"],"sources":["../../../../lib/modules/datasource/maven/util.ts"],"sourcesContent":["import { Readable } from 'node:stream';\nimport { GetObjectCommand } from '@aws-sdk/client-s3';\nimport { XmlDocument } from 'xmldoc';\nimport { HOST_DISABLED } from '../../../constants/error-messages.ts';\nimport { logger } from '../../../logger/index.ts';\nimport { ExternalHostError } from '../../../types/errors/external-host-error.ts';\nimport * as packageCache from '../../../util/cache/package/index.ts';\nimport { PackageHttpCacheProvider } from '../../../util/http/cache/package-http-cache-provider.ts';\nimport { type Http, HttpError } from '../../../util/http/index.ts';\nimport type { HttpOptions, HttpResponse } from '../../../util/http/types.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport { Result } from '../../../util/result.ts';\nimport { getS3Client, parseS3Url } from '../../../util/s3.ts';\nimport { streamToString } from '../../../util/streams.ts';\nimport { asTimestamp } from '../../../util/timestamp.ts';\nimport { ensureTrailingSlash, isHttpUrl } from '../../../util/url.ts';\nimport { getGoogleAuthToken } from '../util.ts';\nimport { isMavenCentral } from './common.ts';\nimport { CachedMavenXml } from './schema.ts';\nimport type {\n DependencyInfo,\n MavenDependency,\n MavenFetchResult,\n MavenFetchSuccess,\n} from './types.ts';\n\nfunction isTemporaryError(err: HttpError): boolean {\n if (err.code === 'ECONNRESET') {\n return true;\n }\n\n if (err.response) {\n const status = err.response.statusCode;\n return status === 429 || (status >= 500 && status < 600);\n }\n\n return false;\n}\n\nfunction isHostError(err: HttpError): boolean {\n return err.code === 'ETIMEDOUT';\n}\n\nfunction isNotFoundError(err: HttpError): boolean {\n return err.code === 'ENOTFOUND' || err.response?.statusCode === 404;\n}\n\nfunction isPermissionsIssue(err: HttpError): boolean {\n const status = err.response?.statusCode;\n return status === 401 || status === 403;\n}\n\nfunction isConnectionError(err: HttpError): boolean {\n return (\n err.code === 'EAI_AGAIN' ||\n err.code === 'ERR_TLS_CERT_ALTNAME_INVALID' ||\n err.code === 'ECONNREFUSED'\n );\n}\n\nfunction isUnsupportedHostError(err: HttpError): boolean {\n return err.name === 'UnsupportedProtocolError';\n}\n\nconst cacheProvider = new PackageHttpCacheProvider({\n namespace: 'datasource-maven:cache-provider',\n softTtlMinutes: 15,\n checkAuthorizationHeader: true,\n checkCacheControlHeader: false, // Maven doesn't respond with `cache-control` headers\n writeSchema: CachedMavenXml,\n});\n\n// Release POMs and timestamped snapshot POMs are immutable once published, so we can cache them much longer than mutable metadata files.\nconst pomCacheProvider = new PackageHttpCacheProvider({\n namespace: 'datasource-maven:pom-cache-provider',\n softTtlMinutes: 60 * 24 * 28, // 28 days before we'll give it another check, just in case it's updated\n checkAuthorizationHeader: true,\n checkCacheControlHeader: false,\n writeSchema: CachedMavenXml,\n});\n\nfunction selectCacheProvider(url: string): PackageHttpCacheProvider {\n // Non-timestamped -SNAPSHOT.pom files are mutable; everything else ending in .pom (release POMs and timestamped snapshot POMs) is immutable.\n if (url.endsWith('.pom') && !url.endsWith('-SNAPSHOT.pom')) {\n return pomCacheProvider;\n }\n return cacheProvider;\n}\n\nconst METADATA_NOT_FOUND_NAMESPACE =\n 'datasource-maven:metadata-not-found' as const;\nconst METADATA_NOT_FOUND_TTL_MINUTES = 60 * 12; // 12 hours\n\n/** introduces jitter to make sure that a given repo's cache expiring doesn't lead to many requests leading to high traffic and/or rate limits */\nfunction getMetadataNotFoundTtl(): number {\n const jitter = Math.floor(Math.random() * 60 * 2); // 0–120 minutes\n return METADATA_NOT_FOUND_TTL_MINUTES + jitter;\n}\n\nfunction isMetadataUrl(url: string): boolean {\n return url.endsWith('/maven-metadata.xml');\n}\n\nexport async function downloadHttpProtocol(\n http: Http,\n pkgUrl: URL | string,\n opts: HttpOptions = {},\n): Promise<MavenFetchResult> {\n const url = pkgUrl.toString();\n\n if (isMetadataUrl(url)) {\n const cacheHasNotFoundResponse = await packageCache.get<true>(\n METADATA_NOT_FOUND_NAMESPACE,\n url,\n );\n if (cacheHasNotFoundResponse) {\n logger.trace(\n { url },\n 'Returning cached 404 response for the metadata-metadata URL request',\n );\n return Result.err({ type: 'not-found' });\n }\n }\n\n const fetchResult = await Result.wrap<HttpResponse, Error>(\n http.getText(url, { ...opts, cacheProvider: selectCacheProvider(url) }),\n )\n .transform((res): MavenFetchSuccess => {\n const result: MavenFetchSuccess = { data: res.body };\n\n if (!res.authorization) {\n result.isCacheable = true;\n }\n\n const lastModified = asTimestamp(res?.headers?.['last-modified']);\n if (lastModified) {\n result.lastModified = lastModified;\n }\n\n return result;\n })\n .catch(async (err): Promise<MavenFetchResult> => {\n /* v8 ignore next: never happens, needs for type narrowing */\n if (!(err instanceof HttpError)) {\n return Result.err({ type: 'unknown', err });\n }\n\n const failedUrl = url;\n if (err.message === HOST_DISABLED) {\n logger.trace({ failedUrl }, 'Host disabled');\n return Result.err({ type: 'host-disabled' });\n }\n\n if (isNotFoundError(err)) {\n logger.trace({ failedUrl }, `Url not found`);\n if (isMetadataUrl(failedUrl)) {\n await packageCache.set(\n METADATA_NOT_FOUND_NAMESPACE,\n failedUrl,\n true,\n getMetadataNotFoundTtl(),\n );\n }\n return Result.err({ type: 'not-found' });\n }\n\n if (isHostError(err)) {\n logger.debug(`Cannot connect to host ${failedUrl}`);\n return Result.err({ type: 'host-error' });\n }\n\n if (isPermissionsIssue(err)) {\n logger.debug(\n `Dependency lookup unauthorized. Please add authentication with a hostRule for ${failedUrl}`,\n );\n return Result.err({ type: 'permission-issue' });\n }\n\n if (isTemporaryError(err)) {\n logger.debug({ failedUrl, err }, 'Temporary error');\n\n if (isMavenCentral(url)) {\n const statusCode = err?.response?.statusCode;\n if (statusCode === 429) {\n if (packageCache.getCacheType() === 'redis') {\n logger.once.warn(\n { failedUrl },\n 'Maven Central rate limiting detected despite Redis caching.',\n );\n } else {\n logger.once.warn(\n { failedUrl },\n 'Maven Central rate limiting detected. Persistent caching required.',\n );\n }\n }\n return Result.err({ type: 'maven-central-temporary-error', err });\n } else {\n return Result.err({ type: 'temporary-error' });\n }\n }\n\n if (isConnectionError(err)) {\n logger.debug(`Connection refused to maven registry ${failedUrl}`);\n return Result.err({ type: 'connection-error' });\n }\n\n if (isUnsupportedHostError(err)) {\n logger.debug(`Unsupported host ${failedUrl}`);\n return Result.err({ type: 'unsupported-host' });\n }\n\n logger.info({ failedUrl, err }, 'Unknown HTTP download error');\n return Result.err({ type: 'unknown', err });\n });\n\n const { err } = fetchResult.unwrap();\n if (err?.type === 'maven-central-temporary-error') {\n throw new ExternalHostError(err.err);\n }\n\n return fetchResult;\n}\n\nexport async function downloadHttpContent(\n http: Http,\n pkgUrl: URL | string,\n opts: HttpOptions = {},\n): Promise<string | null> {\n const fetchResult = await downloadHttpProtocol(http, pkgUrl, opts);\n return fetchResult.transform(({ data }) => data).unwrapOrNull();\n}\n\nfunction isS3NotFound(err: Error): boolean {\n return err.message === 'NotFound' || err.message === 'NoSuchKey';\n}\n\nexport async function downloadS3Protocol(\n pkgUrl: URL,\n): Promise<MavenFetchResult> {\n logger.trace({ url: pkgUrl.toString() }, `Attempting to load S3 dependency`);\n\n const s3Url = parseS3Url(pkgUrl);\n if (!s3Url) {\n return Result.err({ type: 'invalid-url' });\n }\n\n return await Result.wrap(() => {\n const command = new GetObjectCommand(s3Url);\n const client = getS3Client();\n return client.send(command);\n })\n .transform(\n async ({\n Body,\n LastModified,\n DeleteMarker,\n }): Promise<MavenFetchResult> => {\n if (DeleteMarker) {\n logger.trace(\n { failedUrl: pkgUrl.toString() },\n 'Maven S3 lookup error: DeleteMarker encountered',\n );\n return Result.err({ type: 'not-found' });\n }\n\n if (!(Body instanceof Readable)) {\n logger.debug(\n { failedUrl: pkgUrl.toString() },\n 'Maven S3 lookup error: unsupported Body type',\n );\n return Result.err({ type: 'unsupported-format' });\n }\n\n const data = await streamToString(Body);\n const result: MavenFetchSuccess = { data };\n\n const lastModified = asTimestamp(LastModified);\n if (lastModified) {\n result.lastModified = lastModified;\n }\n\n return Result.ok(result);\n },\n )\n .catch((err): MavenFetchResult => {\n if (!(err instanceof Error)) {\n return Result.err(err);\n }\n\n const failedUrl = pkgUrl.toString();\n\n if (err.name === 'CredentialsProviderError') {\n logger.debug(\n { failedUrl },\n 'Maven S3 lookup error: credentials provider error, check \"AWS_ACCESS_KEY_ID\" and \"AWS_SECRET_ACCESS_KEY\" variables',\n );\n return Result.err({ type: 'credentials-error' });\n }\n\n if (err.message === 'Region is missing') {\n logger.debug(\n { failedUrl },\n 'Maven S3 lookup error: missing region, check \"AWS_REGION\" variable',\n );\n return Result.err({ type: 'missing-aws-region' });\n }\n\n if (isS3NotFound(err)) {\n logger.trace({ failedUrl }, 'Maven S3 lookup error: object not found');\n return Result.err({ type: 'not-found' });\n }\n\n logger.debug({ failedUrl, err }, 'Maven S3 lookup error: unknown error');\n return Result.err({ type: 'unknown', err });\n });\n}\n\nexport async function downloadArtifactRegistryProtocol(\n http: Http,\n pkgUrl: URL,\n): Promise<MavenFetchResult> {\n const opts: HttpOptions = {};\n const host = pkgUrl.host;\n const path = pkgUrl.pathname;\n\n logger.trace({ host, path }, `Using google auth for Maven repository`);\n const auth = await getGoogleAuthToken();\n if (auth) {\n opts.headers = { authorization: `Basic ${auth}` };\n } else {\n logger.once.debug(\n { host, path },\n 'Could not get Google access token, using no auth',\n );\n }\n\n const url = pkgUrl.toString().replace('artifactregistry:', 'https:');\n\n return downloadHttpProtocol(http, url, opts);\n}\n\nfunction containsPlaceholder(str: string): boolean {\n return regEx(/\\${.*?}/g).test(str);\n}\n\nfunction removeKnownPlaceholders(str: string): string {\n return str.replace(regEx(/\\/tree\\/\\${[^}]+}/), '');\n}\n\nexport function getMavenUrl(\n dependency: MavenDependency,\n repoUrl: string,\n path: string,\n): URL {\n return new URL(\n `${dependency.dependencyUrl}/${path}`,\n ensureTrailingSlash(repoUrl),\n );\n}\n\nexport async function downloadMaven(\n http: Http,\n url: URL,\n): Promise<MavenFetchResult> {\n const protocol = url.protocol;\n\n let result: MavenFetchResult = Result.err({ type: 'unsupported-protocol' });\n\n if (isHttpUrl(url)) {\n result = await downloadHttpProtocol(http, url);\n }\n\n if (protocol === 'artifactregistry:') {\n result = await downloadArtifactRegistryProtocol(http, url);\n }\n\n if (protocol === 's3:') {\n result = await downloadS3Protocol(url);\n }\n\n return result.onError((err) => {\n if (err.type === 'unsupported-protocol') {\n logger.debug(\n { url: url.toString() },\n `Maven lookup error: unsupported protocol (${protocol})`,\n );\n }\n });\n}\n\nexport async function downloadMavenXml(\n http: Http,\n url: URL,\n): Promise<MavenFetchResult<XmlDocument>> {\n const rawResult = await downloadMaven(http, url);\n return rawResult.transform((result): MavenFetchResult<XmlDocument> => {\n try {\n return Result.ok({\n ...result,\n data: new XmlDocument(result.data),\n });\n } catch (err) {\n return Result.err({ type: 'xml-parse-error', err });\n }\n });\n}\n\nexport function getDependencyParts(packageName: string): MavenDependency {\n const [group, name] = packageName.split(':');\n const dependencyUrl = `${group.replace(regEx(/\\./g), '/')}/${name}`;\n return {\n display: packageName,\n group,\n name,\n dependencyUrl,\n };\n}\n\nfunction extractSnapshotVersion(metadata: XmlDocument): string | null {\n // Parse the maven-metadata.xml for the snapshot version and determine\n // the fixed version of the latest deployed snapshot.\n // The metadata descriptor can be found at\n // https://maven.apache.org/ref/3.3.3/maven-repository-metadata/repository-metadata.html\n //\n // Basically, we need to replace -SNAPSHOT with the artifact timestanp & build number,\n // so for example 1.0.0-SNAPSHOT will become 1.0.0-<timestamp>-<buildNumber>\n const version = metadata\n .descendantWithPath('version')\n ?.val?.replace('-SNAPSHOT', '');\n\n const snapshot = metadata.descendantWithPath('versioning.snapshot');\n const timestamp = snapshot?.childNamed('timestamp')?.val;\n const build = snapshot?.childNamed('buildNumber')?.val;\n\n // If we weren't able to parse out the required 3 version elements,\n // return null because we can't determine the fixed version of the latest snapshot.\n if (!version || !timestamp || !build) {\n return null;\n }\n return `${version}-${timestamp}-${build}`;\n}\n\nasync function getSnapshotFullVersion(\n http: Http,\n version: string,\n dependency: MavenDependency,\n repoUrl: string,\n): Promise<string | null> {\n // To determine what actual files are available for the snapshot, first we have to fetch and parse\n // the metadata located at http://<repo>/<group>/<artifact>/<version-SNAPSHOT>/maven-metadata.xml\n const metadataUrl = getMavenUrl(\n dependency,\n repoUrl,\n `${version}/maven-metadata.xml`,\n );\n\n const metadataXmlResult = await downloadMavenXml(http, metadataUrl);\n\n return metadataXmlResult\n .transform(({ data }) =>\n Result.wrapNullable(extractSnapshotVersion(data), {\n type: 'snapshot-extract-error',\n }),\n )\n .unwrapOrNull();\n}\n\nfunction isSnapshotVersion(version: string): boolean {\n if (version.endsWith('-SNAPSHOT')) {\n return true;\n }\n return false;\n}\n\nexport async function createUrlForDependencyPom(\n http: Http,\n version: string,\n dependency: MavenDependency,\n repoUrl: string,\n): Promise<string> {\n if (isSnapshotVersion(version)) {\n // By default, Maven snapshots are deployed to the repository with fixed file names.\n // Resolve the full, actual pom file name for the version.\n const fullVersion = await getSnapshotFullVersion(\n http,\n version,\n dependency,\n repoUrl,\n );\n\n // If we were able to resolve the version, use that, otherwise fall back to using -SNAPSHOT\n if (fullVersion !== null) {\n // TODO: types (#22198)\n return `${version}/${dependency.name}-${fullVersion}.pom`;\n }\n }\n\n // TODO: types (#22198)\n return `${version}/${dependency.name}-${version}.pom`;\n}\n\nexport async function getDependencyInfo(\n http: Http,\n dependency: MavenDependency,\n repoUrl: string,\n version: string,\n recursionLimit = 5,\n): Promise<DependencyInfo> {\n const path = await createUrlForDependencyPom(\n http,\n version,\n dependency,\n repoUrl,\n );\n\n const pomUrl = getMavenUrl(dependency, repoUrl, path);\n const pomXmlResult = await downloadMavenXml(http, pomUrl);\n const dependencyInfoResult = await pomXmlResult.transform(\n async ({ data: pomContent }) => {\n const result: DependencyInfo = {};\n\n const homepage = pomContent.valueWithPath('url');\n if (homepage && !containsPlaceholder(homepage)) {\n result.homepage = homepage;\n }\n\n const sourceUrl = pomContent.valueWithPath('scm.url');\n if (\n sourceUrl &&\n !containsPlaceholder(removeKnownPlaceholders(sourceUrl))\n ) {\n result.sourceUrl = sourceUrl\n .replace(regEx(/^scm:/), '')\n .replace(regEx(/^git:/), '')\n .replace(regEx(/^git@github.com:/), 'https://github.com/')\n .replace(regEx(/^git@github.com\\//), 'https://github.com/');\n\n if (result.sourceUrl.startsWith('//')) {\n // most likely the result of us stripping scm:, git: etc\n // going with prepending https: here which should result in potential information retrival\n result.sourceUrl = `https:${result.sourceUrl}`;\n }\n }\n\n const relocation = pomContent.descendantWithPath(\n 'distributionManagement.relocation',\n );\n if (relocation) {\n const relocationGroup =\n relocation.valueWithPath('groupId') ?? dependency.group;\n const relocationName =\n relocation.valueWithPath('artifactId') ?? dependency.name;\n result.replacementName = `${relocationGroup}:${relocationName}`;\n const relocationVersion = relocation.valueWithPath('version');\n result.replacementVersion = relocationVersion ?? version;\n const relocationMessage = relocation.valueWithPath('message');\n if (relocationMessage) {\n result.deprecationMessage = relocationMessage;\n }\n }\n\n const groupId = pomContent.valueWithPath('groupId');\n if (groupId) {\n result.packageScope = groupId;\n }\n\n const parent = pomContent.childNamed('parent');\n if (\n recursionLimit > 0 &&\n parent &&\n (!result.sourceUrl || !result.homepage)\n ) {\n // if we found a parent and are missing some information\n // trying to get the scm/homepage information from it\n const [parentGroupId, parentArtifactId, parentVersion] = [\n 'groupId',\n 'artifactId',\n 'version',\n ].map((k) => parent.valueWithPath(k)?.replace(/\\s+/g, ''));\n if (parentGroupId && parentArtifactId && parentVersion) {\n const parentDisplayId = `${parentGroupId}:${parentArtifactId}`;\n const parentDependency = getDependencyParts(parentDisplayId);\n const parentInformation = await getDependencyInfo(\n http,\n parentDependency,\n repoUrl,\n parentVersion,\n recursionLimit - 1,\n );\n if (!result.sourceUrl && parentInformation.sourceUrl) {\n result.sourceUrl = parentInformation.sourceUrl;\n }\n if (!result.homepage && parentInformation.homepage) {\n result.homepage = parentInformation.homepage;\n }\n }\n }\n\n return result;\n },\n );\n\n return dependencyInfoResult.unwrapOr({});\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"util.js","names":["packageCache.get","HttpError","packageCache.set","packageCache.getCacheType"],"sources":["../../../../lib/modules/datasource/maven/util.ts"],"sourcesContent":["import { Readable } from 'node:stream';\nimport { GetObjectCommand } from '@aws-sdk/client-s3';\nimport { XmlDocument } from 'xmldoc';\nimport { HOST_DISABLED } from '../../../constants/error-messages.ts';\nimport { logger } from '../../../logger/index.ts';\nimport { ExternalHostError } from '../../../types/errors/external-host-error.ts';\nimport * as packageCache from '../../../util/cache/package/index.ts';\nimport { PackageHttpCacheProvider } from '../../../util/http/cache/package-http-cache-provider.ts';\nimport { type Http, HttpError } from '../../../util/http/index.ts';\nimport type { HttpOptions, HttpResponse } from '../../../util/http/types.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport { Result } from '../../../util/result.ts';\nimport { getS3Client, parseS3Url } from '../../../util/s3.ts';\nimport { streamToString } from '../../../util/streams.ts';\nimport { asTimestamp } from '../../../util/timestamp.ts';\nimport { ensureTrailingSlash, isHttpUrl } from '../../../util/url.ts';\nimport { getGoogleAuthToken } from '../util.ts';\nimport { isMavenCentral } from './common.ts';\nimport { CachedMavenXml } from './schema.ts';\nimport type {\n DependencyInfo,\n MavenDependency,\n MavenFetchResult,\n MavenFetchSuccess,\n} from './types.ts';\n\nfunction isTemporaryError(err: HttpError): boolean {\n if (err.code === 'ECONNRESET') {\n return true;\n }\n\n if (err.response) {\n const status = err.response.statusCode;\n return status === 429 || (status >= 500 && status < 600);\n }\n\n return false;\n}\n\nfunction isHostError(err: HttpError): boolean {\n return err.code === 'ETIMEDOUT';\n}\n\nfunction isNotFoundError(err: HttpError): boolean {\n return err.code === 'ENOTFOUND' || err.response?.statusCode === 404;\n}\n\nfunction isPermissionsIssue(err: HttpError): boolean {\n const status = err.response?.statusCode;\n return status === 401 || status === 403;\n}\n\nfunction isConnectionError(err: HttpError): boolean {\n return (\n err.code === 'EAI_AGAIN' ||\n err.code === 'ERR_TLS_CERT_ALTNAME_INVALID' ||\n err.code === 'ECONNREFUSED'\n );\n}\n\nfunction isUnsupportedHostError(err: HttpError): boolean {\n return err.name === 'UnsupportedProtocolError';\n}\n\nconst cacheProvider = new PackageHttpCacheProvider({\n namespace: 'datasource-maven:cache-provider',\n softTtlMinutes: 15,\n checkAuthorizationHeader: true,\n checkCacheControlHeader: false, // Maven doesn't respond with `cache-control` headers\n writeSchema: CachedMavenXml,\n});\n\n// Release POMs and timestamped snapshot POMs are immutable once published, so we can cache them much longer than mutable metadata files.\nconst pomCacheProvider = new PackageHttpCacheProvider({\n namespace: 'datasource-maven:pom-cache-provider',\n softTtlMinutes: 60 * 24 * 28, // 28 days before we'll give it another check, just in case it's updated\n checkAuthorizationHeader: true,\n checkCacheControlHeader: false,\n writeSchema: CachedMavenXml,\n});\n\nfunction selectCacheProvider(url: string): PackageHttpCacheProvider {\n // Non-timestamped -SNAPSHOT.pom files are mutable; everything else ending in .pom (release POMs and timestamped snapshot POMs) is immutable.\n if (url.endsWith('.pom') && !url.endsWith('-SNAPSHOT.pom')) {\n return pomCacheProvider;\n }\n return cacheProvider;\n}\n\nconst METADATA_NOT_FOUND_NAMESPACE =\n 'datasource-maven:metadata-not-found' as const;\nconst METADATA_NOT_FOUND_TTL_MINUTES = 60 * 12; // 12 hours\n\n/** introduces jitter to make sure that a given repo's cache expiring doesn't lead to many requests leading to high traffic and/or rate limits */\nfunction getMetadataNotFoundTtl(): number {\n const jitter = Math.floor(Math.random() * 60 * 2); // 0–120 minutes\n return METADATA_NOT_FOUND_TTL_MINUTES + jitter;\n}\n\nfunction isMetadataUrl(url: string): boolean {\n return url.endsWith('/maven-metadata.xml');\n}\n\nexport async function downloadHttpProtocol(\n http: Http,\n pkgUrl: URL | string,\n opts: HttpOptions = {},\n): Promise<MavenFetchResult> {\n const url = pkgUrl.toString();\n\n if (isMetadataUrl(url)) {\n const cacheHasNotFoundResponse = await packageCache.get<true>(\n METADATA_NOT_FOUND_NAMESPACE,\n url,\n );\n if (cacheHasNotFoundResponse) {\n logger.trace(\n { url },\n 'Returning cached 404 response for the metadata-metadata URL request',\n );\n return Result.err({ type: 'not-found' });\n }\n }\n\n const fetchResult = await Result.wrap<HttpResponse, Error>(\n http.getText(url, { ...opts, cacheProvider: selectCacheProvider(url) }),\n )\n .transform((res): MavenFetchSuccess => {\n const result: MavenFetchSuccess = { data: res.body };\n\n if (!res.authorization) {\n result.isCacheable = true;\n }\n\n const lastModified = asTimestamp(res?.headers?.['last-modified']);\n if (lastModified) {\n result.lastModified = lastModified;\n }\n\n return result;\n })\n .catch(async (err): Promise<MavenFetchResult> => {\n /* v8 ignore next: never happens, needs for type narrowing */\n if (!(err instanceof HttpError)) {\n return Result.err({ type: 'unknown', err });\n }\n\n const failedUrl = url;\n if (err.message === HOST_DISABLED) {\n logger.trace({ failedUrl }, 'Host disabled');\n return Result.err({ type: 'host-disabled' });\n }\n\n if (isNotFoundError(err)) {\n logger.trace({ failedUrl }, `Url not found`);\n if (isMetadataUrl(failedUrl)) {\n await packageCache.set(\n METADATA_NOT_FOUND_NAMESPACE,\n failedUrl,\n true,\n getMetadataNotFoundTtl(),\n );\n }\n return Result.err({ type: 'not-found' });\n }\n\n if (isHostError(err)) {\n logger.debug(`Cannot connect to host ${failedUrl}`);\n return Result.err({ type: 'host-error' });\n }\n\n if (isPermissionsIssue(err)) {\n logger.debug(\n `Dependency lookup unauthorized. Please add authentication with a hostRule for ${failedUrl}`,\n );\n return Result.err({ type: 'permission-issue' });\n }\n\n if (isTemporaryError(err)) {\n logger.debug({ failedUrl, err }, 'Temporary error');\n\n if (isMavenCentral(url)) {\n const statusCode = err?.response?.statusCode;\n if (statusCode === 429) {\n if (packageCache.getCacheType() === 'redis') {\n logger.once.warn(\n { failedUrl },\n 'Maven Central rate limiting detected despite Redis caching.',\n );\n } else {\n logger.once.warn(\n { failedUrl },\n 'Maven Central rate limiting detected. Persistent caching required.',\n );\n }\n }\n return Result.err({ type: 'maven-central-temporary-error', err });\n } else {\n return Result.err({ type: 'temporary-error' });\n }\n }\n\n if (isConnectionError(err)) {\n logger.debug(`Connection refused to maven registry ${failedUrl}`);\n return Result.err({ type: 'connection-error' });\n }\n\n if (isUnsupportedHostError(err)) {\n logger.debug(`Unsupported host ${failedUrl}`);\n return Result.err({ type: 'unsupported-host' });\n }\n\n logger.info({ failedUrl, err }, 'Unknown HTTP download error');\n return Result.err({ type: 'unknown', err });\n });\n\n const { err } = fetchResult.unwrap();\n if (err?.type === 'maven-central-temporary-error') {\n throw new ExternalHostError(err.err);\n }\n\n return fetchResult;\n}\n\nexport async function downloadHttpContent(\n http: Http,\n pkgUrl: URL | string,\n opts: HttpOptions = {},\n): Promise<string | null> {\n const fetchResult = await downloadHttpProtocol(http, pkgUrl, opts);\n return fetchResult.transform(({ data }) => data).unwrapOrNull();\n}\n\nfunction isS3NotFound(err: Error): boolean {\n return err.message === 'NotFound' || err.message === 'NoSuchKey';\n}\n\nexport async function downloadS3Protocol(\n pkgUrl: URL,\n): Promise<MavenFetchResult> {\n logger.trace({ url: pkgUrl.toString() }, `Attempting to load S3 dependency`);\n\n const s3Url = parseS3Url(pkgUrl);\n if (!s3Url) {\n return Result.err({ type: 'invalid-url' });\n }\n\n return await Result.wrap(() => {\n const command = new GetObjectCommand(s3Url);\n const client = getS3Client();\n return client.send(command);\n })\n .transform(\n async ({\n Body,\n LastModified,\n DeleteMarker,\n }): Promise<MavenFetchResult> => {\n if (DeleteMarker) {\n logger.trace(\n { failedUrl: pkgUrl.toString() },\n 'Maven S3 lookup error: DeleteMarker encountered',\n );\n return Result.err({ type: 'not-found' });\n }\n\n if (!(Body instanceof Readable)) {\n logger.debug(\n { failedUrl: pkgUrl.toString() },\n 'Maven S3 lookup error: unsupported Body type',\n );\n return Result.err({ type: 'unsupported-format' });\n }\n\n const data = await streamToString(Body);\n const result: MavenFetchSuccess = { data };\n\n const lastModified = asTimestamp(LastModified);\n if (lastModified) {\n result.lastModified = lastModified;\n }\n\n return Result.ok(result);\n },\n )\n .catch((err): MavenFetchResult => {\n if (!(err instanceof Error)) {\n return Result.err(err);\n }\n\n const failedUrl = pkgUrl.toString();\n\n if (err.name === 'CredentialsProviderError') {\n logger.debug(\n { failedUrl },\n 'Maven S3 lookup error: credentials provider error, check \"AWS_ACCESS_KEY_ID\" and \"AWS_SECRET_ACCESS_KEY\" variables',\n );\n return Result.err({ type: 'credentials-error' });\n }\n\n if (err.message === 'Region is missing') {\n logger.debug(\n { failedUrl },\n 'Maven S3 lookup error: missing region, check \"AWS_REGION\" variable',\n );\n return Result.err({ type: 'missing-aws-region' });\n }\n\n if (isS3NotFound(err)) {\n logger.trace({ failedUrl }, 'Maven S3 lookup error: object not found');\n return Result.err({ type: 'not-found' });\n }\n\n logger.debug({ failedUrl, err }, 'Maven S3 lookup error: unknown error');\n return Result.err({ type: 'unknown', err });\n });\n}\n\nexport async function downloadArtifactRegistryProtocol(\n http: Http,\n pkgUrl: URL,\n): Promise<MavenFetchResult> {\n const opts: HttpOptions = {};\n const host = pkgUrl.host;\n const path = pkgUrl.pathname;\n\n logger.trace({ host, path }, `Using google auth for Maven repository`);\n const auth = await getGoogleAuthToken();\n if (auth) {\n opts.headers = { authorization: `Basic ${auth}` };\n } else {\n logger.once.debug(\n { host, path },\n 'Could not get Google access token, using no auth',\n );\n }\n\n const url = pkgUrl.toString().replace('artifactregistry:', 'https:');\n\n return downloadHttpProtocol(http, url, opts);\n}\n\nfunction containsPlaceholder(str: string): boolean {\n return regEx(/\\${.*?}/g).test(str);\n}\n\nfunction removeKnownPlaceholders(str: string): string {\n return str.replace(regEx(/\\/tree\\/\\${[^}]+}/), '');\n}\n\nexport function getMavenUrl(\n dependency: MavenDependency,\n repoUrl: string,\n path: string,\n): URL {\n return new URL(\n `${dependency.dependencyUrl}/${path}`,\n ensureTrailingSlash(repoUrl),\n );\n}\n\nexport async function downloadMaven(\n http: Http,\n url: URL,\n): Promise<MavenFetchResult> {\n const protocol = url.protocol;\n\n let result: MavenFetchResult = Result.err({ type: 'unsupported-protocol' });\n\n if (isHttpUrl(url)) {\n result = await downloadHttpProtocol(http, url);\n }\n\n if (protocol === 'artifactregistry:') {\n result = await downloadArtifactRegistryProtocol(http, url);\n }\n\n if (protocol === 's3:') {\n result = await downloadS3Protocol(url);\n }\n\n return result.onError((err) => {\n if (err.type === 'unsupported-protocol') {\n logger.debug(\n { url: url.toString() },\n `Maven lookup error: unsupported protocol (${protocol})`,\n );\n }\n });\n}\n\nexport async function downloadMavenXml(\n http: Http,\n url: URL,\n): Promise<MavenFetchResult<XmlDocument>> {\n const rawResult = await downloadMaven(http, url);\n return rawResult.transform((result): MavenFetchResult<XmlDocument> => {\n try {\n return Result.ok({\n ...result,\n data: new XmlDocument(result.data),\n });\n } catch (err) {\n return Result.err({ type: 'xml-parse-error', err });\n }\n });\n}\n\nexport function getDependencyParts(packageName: string): MavenDependency {\n const [group, name] = packageName.split(':');\n const dependencyUrl = `${group.replace(regEx(/\\./g), '/')}/${name}`;\n return {\n display: packageName,\n group,\n name,\n dependencyUrl,\n };\n}\n\nfunction extractSnapshotVersion(metadata: XmlDocument): string | null {\n // Parse the maven-metadata.xml for the snapshot version and determine\n // the fixed version of the latest deployed snapshot.\n // The metadata descriptor can be found at\n // https://maven.apache.org/ref/3.3.3/maven-repository-metadata/repository-metadata.html\n //\n // Basically, we need to replace -SNAPSHOT with the artifact timestanp & build number,\n // so for example 1.0.0-SNAPSHOT will become 1.0.0-<timestamp>-<buildNumber>\n const version = metadata\n .descendantWithPath('version')\n ?.val?.replace('-SNAPSHOT', '');\n\n const snapshot = metadata.descendantWithPath('versioning.snapshot');\n const timestamp = snapshot?.childNamed('timestamp')?.val;\n const build = snapshot?.childNamed('buildNumber')?.val;\n\n // If we weren't able to parse out the required 3 version elements,\n // return null because we can't determine the fixed version of the latest snapshot.\n if (!version || !timestamp || !build) {\n return null;\n }\n return `${version}-${timestamp}-${build}`;\n}\n\nasync function getSnapshotFullVersion(\n http: Http,\n version: string,\n dependency: MavenDependency,\n repoUrl: string,\n): Promise<string | null> {\n // To determine what actual files are available for the snapshot, first we have to fetch and parse\n // the metadata located at http://<repo>/<group>/<artifact>/<version-SNAPSHOT>/maven-metadata.xml\n const metadataUrl = getMavenUrl(\n dependency,\n repoUrl,\n `${version}/maven-metadata.xml`,\n );\n\n const metadataXmlResult = await downloadMavenXml(http, metadataUrl);\n\n return metadataXmlResult\n .transform(({ data }) =>\n Result.wrapNullable(extractSnapshotVersion(data), {\n type: 'snapshot-extract-error',\n }),\n )\n .unwrapOrNull();\n}\n\nfunction isSnapshotVersion(version: string): boolean {\n if (version.endsWith('-SNAPSHOT')) {\n return true;\n }\n return false;\n}\n\nexport async function createUrlForDependencyPom(\n http: Http,\n version: string,\n dependency: MavenDependency,\n repoUrl: string,\n): Promise<string> {\n if (isSnapshotVersion(version)) {\n // By default, Maven snapshots are deployed to the repository with fixed file names.\n // Resolve the full, actual pom file name for the version.\n const fullVersion = await getSnapshotFullVersion(\n http,\n version,\n dependency,\n repoUrl,\n );\n\n // If we were able to resolve the version, use that, otherwise fall back to using -SNAPSHOT\n if (fullVersion !== null) {\n // TODO: types (#22198)\n return `${version}/${dependency.name}-${fullVersion}.pom`;\n }\n }\n\n // TODO: types (#22198)\n return `${version}/${dependency.name}-${version}.pom`;\n}\n\nexport async function getDependencyInfo(\n http: Http,\n dependency: MavenDependency,\n repoUrl: string,\n version: string,\n recursionLimit = 5,\n): Promise<DependencyInfo> {\n const path = await createUrlForDependencyPom(\n http,\n version,\n dependency,\n repoUrl,\n );\n\n const pomUrl = getMavenUrl(dependency, repoUrl, path);\n const pomXmlResult = await downloadMavenXml(http, pomUrl);\n const dependencyInfoResult = await pomXmlResult.transform(\n async ({ data: pomContent }) => {\n const result: DependencyInfo = {};\n\n const homepage = pomContent.valueWithPath('url');\n if (homepage && !containsPlaceholder(homepage)) {\n result.homepage = homepage;\n }\n\n const sourceUrl = pomContent.valueWithPath('scm.url');\n if (\n sourceUrl &&\n !containsPlaceholder(removeKnownPlaceholders(sourceUrl))\n ) {\n result.sourceUrl = sourceUrl\n .replace(regEx(/^scm:/), '')\n .replace(regEx(/^git:/), '')\n .replace(regEx(/^git@github.com:/), 'https://github.com/')\n .replace(regEx(/^git@github.com\\//), 'https://github.com/');\n\n if (result.sourceUrl.startsWith('//')) {\n // most likely the result of us stripping scm:, git: etc\n // going with prepending https: here which should result in potential information retrival\n result.sourceUrl = `https:${result.sourceUrl}`;\n }\n }\n\n const relocation = pomContent.descendantWithPath(\n 'distributionManagement.relocation',\n );\n if (relocation) {\n const relocationGroup =\n relocation.valueWithPath('groupId') ?? dependency.group;\n const relocationName =\n relocation.valueWithPath('artifactId') ?? dependency.name;\n result.replacementName = `${relocationGroup}:${relocationName}`;\n const relocationVersion = relocation.valueWithPath('version');\n result.replacementVersion = relocationVersion ?? version;\n const relocationMessage = relocation.valueWithPath('message');\n if (relocationMessage) {\n result.deprecationMessage = relocationMessage;\n }\n }\n\n const groupId = pomContent.valueWithPath('groupId');\n if (groupId) {\n result.packageScope = groupId;\n }\n\n const parent = pomContent.childNamed('parent');\n if (\n recursionLimit > 0 &&\n parent &&\n (!result.sourceUrl || !result.homepage)\n ) {\n // if we found a parent and are missing some information\n // trying to get the scm/homepage information from it\n const [parentGroupId, parentArtifactId, parentVersion] = [\n 'groupId',\n 'artifactId',\n 'version',\n ].map((k) => parent.valueWithPath(k)?.replace(/\\s+/g, ''));\n if (parentGroupId && parentArtifactId && parentVersion) {\n const parentDisplayId = `${parentGroupId}:${parentArtifactId}`;\n const parentDependency = getDependencyParts(parentDisplayId);\n const parentInformation = await getDependencyInfo(\n http,\n parentDependency,\n repoUrl,\n parentVersion,\n recursionLimit - 1,\n );\n if (!result.sourceUrl && parentInformation.sourceUrl) {\n result.sourceUrl = parentInformation.sourceUrl;\n }\n if (!result.homepage && parentInformation.homepage) {\n result.homepage = parentInformation.homepage;\n }\n }\n }\n\n return result;\n },\n );\n\n return dependencyInfoResult.unwrapOr({});\n}\n"],"mappings":"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"}
@@ -100,6 +100,6 @@ function shouldDeleteHomepage(sourceUrl, homepage) {
100
100
  return massagedSourceUrl === homepage;
101
101
  }
102
102
  //#endregion
103
- export { addMetaData, massageGithubUrl };
103
+ export { addMetaData, massageGithubUrl, massageGitlabUrl, massageUrl, shouldDeleteHomepage };
104
104
 
105
105
  //# sourceMappingURL=metadata.js.map
@@ -15,6 +15,6 @@ const Application = z.object({
15
15
  });
16
16
  const Applications = z.array(Application);
17
17
  //#endregion
18
- export { Applications };
18
+ export { Application, ApplicationRelease, Applications };
19
19
 
20
20
  //# sourceMappingURL=schema.js.map
@@ -1,14 +1,16 @@
1
1
  import { LooseArray } from "../../../util/schema-utils/index.js";
2
2
  import { z } from "zod/v4";
3
- const NodeReleases = LooseArray(z.object({
3
+ //#region lib/modules/datasource/node-version/schema.ts
4
+ const NodeRelease = z.object({
4
5
  /** node version */
5
6
  version: z.string(),
6
7
  /** release date */
7
8
  date: z.string().optional(),
8
9
  /** Is LTS release */
9
10
  lts: z.union([z.literal(false), z.string()])
10
- }));
11
+ });
12
+ const NodeReleases = LooseArray(NodeRelease);
11
13
  //#endregion
12
- export { NodeReleases };
14
+ export { NodeRelease, NodeReleases };
13
15
 
14
16
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","names":[],"sources":["../../../../lib/modules/datasource/node-version/schema.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport { LooseArray } from '../../../util/schema-utils/index.ts';\n\nexport const NodeRelease = z.object({\n /** node version */\n version: z.string(),\n /** release date */\n date: z.string().optional(),\n /** Is LTS release */\n lts: z.union([z.literal(false), z.string()]),\n});\n\nexport type NodeRelease = z.infer<typeof NodeRelease>;\n\nexport const NodeReleases = LooseArray(NodeRelease);\n"],"mappings":";;AAcA,MAAa,eAAe,WAXD,EAAE,OAAO;;CAElC,SAAS,EAAE,OAAO;;CAElB,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS;;CAE1B,KAAK,EAAE,MAAM,CAAC,EAAE,QAAQ,KAAK,GAAG,EAAE,OAAO,CAAC,CAAC;AAC7C,CAIuC,CAAW"}
1
+ {"version":3,"file":"schema.js","names":[],"sources":["../../../../lib/modules/datasource/node-version/schema.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport { LooseArray } from '../../../util/schema-utils/index.ts';\n\nexport const NodeRelease = z.object({\n /** node version */\n version: z.string(),\n /** release date */\n date: z.string().optional(),\n /** Is LTS release */\n lts: z.union([z.literal(false), z.string()]),\n});\n\nexport type NodeRelease = z.infer<typeof NodeRelease>;\n\nexport const NodeReleases = LooseArray(NodeRelease);\n"],"mappings":";;;AAGA,MAAa,cAAc,EAAE,OAAO;;CAElC,SAAS,EAAE,OAAO;;CAElB,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS;;CAE1B,KAAK,EAAE,MAAM,CAAC,EAAE,QAAQ,KAAK,GAAG,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AAID,MAAa,eAAe,WAAW,WAAW"}
@@ -2,7 +2,7 @@ import "../../versioning/npm/index.js";
2
2
  import { Datasource } from "../datasource.js";
3
3
  import { defaultRegistryUrl } from "./common.js";
4
4
  import { getDependency } from "./get.js";
5
- import "./npmrc.js";
5
+ import { setNpmrc } from "./npmrc.js";
6
6
  //#region lib/modules/datasource/npm/index.ts
7
7
  var NpmDatasource = class NpmDatasource extends Datasource {
8
8
  static id = "npm";
@@ -24,6 +24,6 @@ var NpmDatasource = class NpmDatasource extends Datasource {
24
24
  }
25
25
  };
26
26
  //#endregion
27
- export { NpmDatasource };
27
+ export { NpmDatasource, setNpmrc };
28
28
 
29
29
  //# sourceMappingURL=index.js.map
@@ -126,6 +126,6 @@ function resolvePackageUrl(registryUrl, packageName) {
126
126
  return new URL(encodeURIComponent(packageName).replace(regEx(/^%40/), "@"), ensureTrailingSlash(registryUrl)).href;
127
127
  }
128
128
  //#endregion
129
- export { resolvePackageUrl, resolveRegistryUrl, setNpmrc };
129
+ export { convertNpmrcToRules, getMatchHostFromNpmrcHost, resolvePackageUrl, resolveRegistryUrl, setNpmrc };
130
130
 
131
131
  //# sourceMappingURL=npmrc.js.map
@@ -1,7 +1,7 @@
1
1
  import { regEx } from "../../../util/regex.js";
2
2
  import { logger } from "../../../logger/index.js";
3
3
  import { parseUrl } from "../../../util/url.js";
4
- import api from "../../versioning/nuget/index.js";
4
+ import { api } from "../../versioning/nuget/index.js";
5
5
  //#region lib/modules/datasource/nuget/common.ts
6
6
  const buildMetaRe = regEx(/\+.+$/g);
7
7
  function removeBuildMeta(version) {
@@ -21,6 +21,6 @@ const CatalogPage = z.object({
21
21
  });
22
22
  const PackageRegistration = z.object({ items: LooseArray(CatalogPage).default([]) });
23
23
  //#endregion
24
- export { CatalogPage, PackageRegistration, ServicesIndexRaw };
24
+ export { CatalogEntry, CatalogPage, PackageRegistration, ServicesIndexRaw };
25
25
 
26
26
  //# sourceMappingURL=schema.js.map
@@ -5,7 +5,7 @@ import { ensureTrailingSlash } from "../../../util/url.js";
5
5
  import { coerceArray } from "../../../util/array.js";
6
6
  import { ExternalHostError } from "../../../types/errors/external-host-error.js";
7
7
  import { createCacheWriteStream, ensureCacheDir, pipeline, readCacheFile, rmCache } from "../../../util/fs/index.js";
8
- import api from "../../versioning/nuget/index.js";
8
+ import { api } from "../../versioning/nuget/index.js";
9
9
  import { get, set } from "../../../util/cache/package/index.js";
10
10
  import { withCache } from "../../../util/cache/package/with-cache.js";
11
11
  import { RequestError } from "../../../util/http/got.js";
@@ -124,6 +124,6 @@ const RegistryMeta = z.record(z.string(), z.unknown()).catch({}).pipe(PackagistF
124
124
  availablePackages
125
125
  }));
126
126
  //#endregion
127
- export { PackagesResponse, PackagistFile, RegistryMeta, extractDepReleases, parsePackagesResponses };
127
+ export { ComposerPackagesResponse, ComposerRelease, ComposerReleases, HashSpec, MinifiedArray, PackagesResponse, PackagistFile, RegistryMeta, extractDepReleases, extractReleaseResult, parsePackagesResponse, parsePackagesResponses };
128
128
 
129
129
  //# sourceMappingURL=schema.js.map
@@ -23,6 +23,6 @@ const PuppetModule = z.object({
23
23
  return result;
24
24
  });
25
25
  //#endregion
26
- export { PuppetModule };
26
+ export { PuppetModule, PuppetReleaseAbbreviated };
27
27
 
28
28
  //# sourceMappingURL=schema.js.map
@@ -15,6 +15,6 @@ const PypiResponse = DeepNullish(z.object({
15
15
  releases: z.record(z.string(), z.array(PypiRelease)).optional()
16
16
  }));
17
17
  //#endregion
18
- export { PypiResponse };
18
+ export { PypiRelease, PypiResponse };
19
19
 
20
20
  //# sourceMappingURL=schema.js.map
@@ -1,14 +1,16 @@
1
1
  import { LooseArray } from "../../../util/schema-utils/index.js";
2
2
  import { z } from "zod/v4";
3
- const RepologyPackages = LooseArray(z.object({
3
+ //#region lib/modules/datasource/repology/schema.ts
4
+ const RepologyPackage = z.object({
4
5
  repo: z.string(),
5
6
  visiblename: z.string(),
6
7
  version: z.string(),
7
8
  srcname: z.string().nullable().optional(),
8
9
  binname: z.string().nullable().optional(),
9
10
  origversion: z.string().nullable().optional()
10
- })).catch([]);
11
+ });
12
+ const RepologyPackages = LooseArray(RepologyPackage).catch([]);
11
13
  //#endregion
12
- export { RepologyPackages };
14
+ export { RepologyPackage, RepologyPackages };
13
15
 
14
16
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","names":[],"sources":["../../../../lib/modules/datasource/repology/schema.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport { LooseArray } from '../../../util/schema-utils/index.ts';\n\nexport const RepologyPackage = z.object({\n repo: z.string(),\n visiblename: z.string(),\n version: z.string(),\n srcname: z.string().nullable().optional(),\n binname: z.string().nullable().optional(),\n origversion: z.string().nullable().optional(),\n});\n\nexport type RepologyPackage = z.infer<typeof RepologyPackage>;\n\nexport const RepologyPackages = LooseArray(RepologyPackage).catch([]);\n"],"mappings":";;AAcA,MAAa,mBAAmB,WAXD,EAAE,OAAO;CACtC,MAAM,EAAE,OAAO;CACf,aAAa,EAAE,OAAO;CACtB,SAAS,EAAE,OAAO;CAClB,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxC,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxC,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC9C,CAI2C,CAAe,CAAC,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.js","names":[],"sources":["../../../../lib/modules/datasource/repology/schema.ts"],"sourcesContent":["import { z } from 'zod/v4';\nimport { LooseArray } from '../../../util/schema-utils/index.ts';\n\nexport const RepologyPackage = z.object({\n repo: z.string(),\n visiblename: z.string(),\n version: z.string(),\n srcname: z.string().nullable().optional(),\n binname: z.string().nullable().optional(),\n origversion: z.string().nullable().optional(),\n});\n\nexport type RepologyPackage = z.infer<typeof RepologyPackage>;\n\nexport const RepologyPackages = LooseArray(RepologyPackage).catch([]);\n"],"mappings":";;;AAGA,MAAa,kBAAkB,EAAE,OAAO;CACtC,MAAM,EAAE,OAAO;CACf,aAAa,EAAE,OAAO;CACtB,SAAS,EAAE,OAAO;CAClB,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxC,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxC,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC9C,CAAC;AAID,MAAa,mBAAmB,WAAW,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -18,6 +18,6 @@ function getV1Releases(http, registryUrl, packageName) {
18
18
  return http.getJsonSafe(versionsUrl, GemVersions).transform((releaseResult) => getV1Metadata(http, registryUrl, packageName).transform((metadata) => assignMetadata(releaseResult, metadata)).unwrapOr(releaseResult));
19
19
  }
20
20
  //#endregion
21
- export { getV1Releases };
21
+ export { assignMetadata, getV1Metadata, getV1Releases };
22
22
 
23
23
  //# sourceMappingURL=common.js.map
@@ -27,7 +27,10 @@ var MetadataCache = class {
27
27
  });
28
28
  });
29
29
  const saveCache = async (cache, ttlMinutes = 2400 * 60, ttlDelta = 14400) => {
30
- if (parseUrl(registryUrl)?.hostname === "rubygems.org") await set(cacheNs, cacheKey, cache, ttlMinutes + Math.floor(Math.random() * ttlDelta));
30
+ if (parseUrl(registryUrl)?.hostname === "rubygems.org") {
31
+ const ttl = ttlMinutes + Math.floor(Math.random() * ttlDelta);
32
+ await set(cacheNs, cacheKey, cache, ttl);
33
+ }
31
34
  };
32
35
  return await loadCache().catch((err) => getV1Releases(this.http, registryUrl, packageName).transform(async (data) => {
33
36
  const dataHash = hashReleases(data);
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-cache.js","names":["packageCache.get","packageCache.set"],"sources":["../../../../lib/modules/datasource/rubygems/metadata-cache.ts"],"sourcesContent":["import { logger } from '../../../logger/index.ts';\nimport * as packageCache from '../../../util/cache/package/index.ts';\nimport { toSha256 } from '../../../util/hash.ts';\nimport type { Http } from '../../../util/http/index.ts';\nimport type { AsyncResult } from '../../../util/result.ts';\nimport { Result } from '../../../util/result.ts';\nimport { parseUrl } from '../../../util/url.ts';\nimport type { ReleaseResult } from '../types.ts';\nimport { getV1Releases } from './common.ts';\n\ninterface CacheRecord {\n hash: string;\n data: ReleaseResult;\n isFallback?: true;\n}\n\nfunction hashVersions(versions: string[]): string {\n return toSha256(versions.sort().join(','));\n}\n\nfunction hashReleases(releases: ReleaseResult): string {\n return hashVersions(releases.releases.map((release) => release.version));\n}\n\ninterface CacheNotFoundError {\n type: 'cache-not-found';\n}\ninterface CacheStaleError {\n type: 'cache-stale';\n cache: CacheRecord;\n}\ninterface CacheInvalidError {\n type: 'cache-invalid';\n}\ntype CacheLoadError = CacheNotFoundError | CacheStaleError;\ntype CacheError = CacheNotFoundError | CacheStaleError | CacheInvalidError;\n\nexport class MetadataCache {\n private readonly http: Http;\n\n constructor(http: Http) {\n this.http = http;\n }\n\n async getRelease(\n registryUrl: string,\n packageName: string,\n versions: string[],\n ): Promise<ReleaseResult> {\n const cacheNs = `datasource-rubygems`;\n const cacheKey = `metadata-cache:${registryUrl}:${packageName}`;\n const versionsHash = hashVersions(versions);\n\n const loadCache = (): AsyncResult<ReleaseResult, CacheLoadError> =>\n Result.wrapNullable<CacheRecord, CacheLoadError, CacheLoadError>(\n packageCache.get<CacheRecord>(cacheNs, cacheKey),\n { type: 'cache-not-found' },\n ).transform((cache) => {\n return versionsHash === cache.hash\n ? Result.ok(cache.data)\n : Result.err({ type: 'cache-stale', cache });\n });\n\n const saveCache = async (\n cache: CacheRecord,\n ttlMinutes = 100 * 24 * 60,\n ttlDelta = 10 * 24 * 60,\n ): Promise<void> => {\n const registryHostname = parseUrl(registryUrl)?.hostname;\n if (registryHostname === 'rubygems.org') {\n const ttlRandomDelta = Math.floor(Math.random() * ttlDelta);\n const ttl = ttlMinutes + ttlRandomDelta;\n await packageCache.set(cacheNs, cacheKey, cache, ttl);\n }\n };\n\n return await loadCache()\n .catch((err) =>\n getV1Releases(this.http, registryUrl, packageName).transform(\n async (\n data: ReleaseResult,\n ): Promise<Result<ReleaseResult, CacheError>> => {\n const dataHash = hashReleases(data);\n if (dataHash === versionsHash) {\n await saveCache({\n hash: dataHash,\n data,\n });\n return Result.ok(data);\n }\n\n /**\n * Return stale cache for 24 hours,\n * if metadata is inconsistent with versions list.\n */\n if (err.type === 'cache-stale') {\n const staleCache = err.cache;\n if (!staleCache.isFallback) {\n await saveCache(\n { ...staleCache, isFallback: true },\n 24 * 60,\n 0,\n );\n }\n return Result.ok(staleCache.data);\n }\n\n return Result.err({ type: 'cache-invalid' });\n },\n ),\n )\n .catch((err) => {\n logger.debug(\n { err },\n 'Rubygems: error fetching rubygems data, falling back to versions-only result',\n );\n const releases = versions.map((version) => ({ version }));\n return Result.ok({ releases } as ReleaseResult);\n })\n .unwrapOrThrow();\n }\n}\n"],"mappings":";;;;;;;AAgBA,SAAS,aAAa,UAA4B;CAChD,OAAO,SAAS,SAAS,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC;AAC3C;AAEA,SAAS,aAAa,UAAiC;CACrD,OAAO,aAAa,SAAS,SAAS,KAAK,YAAY,QAAQ,OAAO,CAAC;AACzE;AAeA,IAAa,gBAAb,MAA2B;CACzB;CAEA,YAAY,MAAY;EACtB,KAAK,OAAO;CACd;CAEA,MAAM,WACJ,aACA,aACA,UACwB;EACxB,MAAM,UAAU;EAChB,MAAM,WAAW,kBAAkB,YAAY,GAAG;EAClD,MAAM,eAAe,aAAa,QAAQ;EAE1C,MAAM,kBACJ,OAAO,aACLA,IAA8B,SAAS,QAAQ,GAC/C,EAAE,MAAM,kBAAkB,CAC5B,CAAC,CAAC,WAAW,UAAU;GACrB,OAAO,iBAAiB,MAAM,OAC1B,OAAO,GAAG,MAAM,IAAI,IACpB,OAAO,IAAI;IAAE,MAAM;IAAe;GAAM,CAAC;EAC/C,CAAC;EAEH,MAAM,YAAY,OAChB,OACA,aAAa,OAAW,IACxB,WAAW,UACO;GAElB,IADyB,SAAS,WAAW,CAAC,EAAE,aACvB,gBAGvB,MAAMC,IAAiB,SAAS,UAAU,OAD9B,aADW,KAAK,MAAM,KAAK,OAAO,IAAI,QACZ,CACc;EAExD;EAEA,OAAO,MAAM,UAAU,CAAC,CACrB,OAAO,QACN,cAAc,KAAK,MAAM,aAAa,WAAW,CAAC,CAAC,UACjD,OACE,SAC+C;GAC/C,MAAM,WAAW,aAAa,IAAI;GAClC,IAAI,aAAa,cAAc;IAC7B,MAAM,UAAU;KACd,MAAM;KACN;IACF,CAAC;IACD,OAAO,OAAO,GAAG,IAAI;GACvB;;;;;GAMA,IAAI,IAAI,SAAS,eAAe;IAC9B,MAAM,aAAa,IAAI;IACvB,IAAI,CAAC,WAAW,YACd,MAAM,UACJ;KAAE,GAAG;KAAY,YAAY;IAAK,GAClC,MACA,CACF;IAEF,OAAO,OAAO,GAAG,WAAW,IAAI;GAClC;GAEA,OAAO,OAAO,IAAI,EAAE,MAAM,gBAAgB,CAAC;EAC7C,CACF,CACF,CAAC,CACA,OAAO,QAAQ;GACd,OAAO,MACL,EAAE,IAAI,GACN,8EACF;GACA,MAAM,WAAW,SAAS,KAAK,aAAa,EAAE,QAAQ,EAAE;GACxD,OAAO,OAAO,GAAG,EAAE,SAAS,CAAkB;EAChD,CAAC,CAAC,CACD,cAAc;CACnB;AACF"}
1
+ {"version":3,"file":"metadata-cache.js","names":["packageCache.get","packageCache.set"],"sources":["../../../../lib/modules/datasource/rubygems/metadata-cache.ts"],"sourcesContent":["import { logger } from '../../../logger/index.ts';\nimport * as packageCache from '../../../util/cache/package/index.ts';\nimport { toSha256 } from '../../../util/hash.ts';\nimport type { Http } from '../../../util/http/index.ts';\nimport type { AsyncResult } from '../../../util/result.ts';\nimport { Result } from '../../../util/result.ts';\nimport { parseUrl } from '../../../util/url.ts';\nimport type { ReleaseResult } from '../types.ts';\nimport { getV1Releases } from './common.ts';\n\ninterface CacheRecord {\n hash: string;\n data: ReleaseResult;\n isFallback?: true;\n}\n\nfunction hashVersions(versions: string[]): string {\n return toSha256(versions.sort().join(','));\n}\n\nfunction hashReleases(releases: ReleaseResult): string {\n return hashVersions(releases.releases.map((release) => release.version));\n}\n\ninterface CacheNotFoundError {\n type: 'cache-not-found';\n}\ninterface CacheStaleError {\n type: 'cache-stale';\n cache: CacheRecord;\n}\ninterface CacheInvalidError {\n type: 'cache-invalid';\n}\ntype CacheLoadError = CacheNotFoundError | CacheStaleError;\ntype CacheError = CacheNotFoundError | CacheStaleError | CacheInvalidError;\n\nexport class MetadataCache {\n private readonly http: Http;\n\n constructor(http: Http) {\n this.http = http;\n }\n\n async getRelease(\n registryUrl: string,\n packageName: string,\n versions: string[],\n ): Promise<ReleaseResult> {\n const cacheNs = `datasource-rubygems`;\n const cacheKey = `metadata-cache:${registryUrl}:${packageName}`;\n const versionsHash = hashVersions(versions);\n\n const loadCache = (): AsyncResult<ReleaseResult, CacheLoadError> =>\n Result.wrapNullable<CacheRecord, CacheLoadError, CacheLoadError>(\n packageCache.get<CacheRecord>(cacheNs, cacheKey),\n { type: 'cache-not-found' },\n ).transform((cache) => {\n return versionsHash === cache.hash\n ? Result.ok(cache.data)\n : Result.err({ type: 'cache-stale', cache });\n });\n\n const saveCache = async (\n cache: CacheRecord,\n ttlMinutes = 100 * 24 * 60,\n ttlDelta = 10 * 24 * 60,\n ): Promise<void> => {\n const registryHostname = parseUrl(registryUrl)?.hostname;\n if (registryHostname === 'rubygems.org') {\n const ttlRandomDelta = Math.floor(Math.random() * ttlDelta);\n const ttl = ttlMinutes + ttlRandomDelta;\n await packageCache.set(cacheNs, cacheKey, cache, ttl);\n }\n };\n\n return await loadCache()\n .catch((err) =>\n getV1Releases(this.http, registryUrl, packageName).transform(\n async (\n data: ReleaseResult,\n ): Promise<Result<ReleaseResult, CacheError>> => {\n const dataHash = hashReleases(data);\n if (dataHash === versionsHash) {\n await saveCache({\n hash: dataHash,\n data,\n });\n return Result.ok(data);\n }\n\n /**\n * Return stale cache for 24 hours,\n * if metadata is inconsistent with versions list.\n */\n if (err.type === 'cache-stale') {\n const staleCache = err.cache;\n if (!staleCache.isFallback) {\n await saveCache(\n { ...staleCache, isFallback: true },\n 24 * 60,\n 0,\n );\n }\n return Result.ok(staleCache.data);\n }\n\n return Result.err({ type: 'cache-invalid' });\n },\n ),\n )\n .catch((err) => {\n logger.debug(\n { err },\n 'Rubygems: error fetching rubygems data, falling back to versions-only result',\n );\n const releases = versions.map((version) => ({ version }));\n return Result.ok({ releases } as ReleaseResult);\n })\n .unwrapOrThrow();\n }\n}\n"],"mappings":";;;;;;;AAgBA,SAAS,aAAa,UAA4B;CAChD,OAAO,SAAS,SAAS,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC;AAC3C;AAEA,SAAS,aAAa,UAAiC;CACrD,OAAO,aAAa,SAAS,SAAS,KAAK,YAAY,QAAQ,OAAO,CAAC;AACzE;AAeA,IAAa,gBAAb,MAA2B;CACzB;CAEA,YAAY,MAAY;EACtB,KAAK,OAAO;CACd;CAEA,MAAM,WACJ,aACA,aACA,UACwB;EACxB,MAAM,UAAU;EAChB,MAAM,WAAW,kBAAkB,YAAY,GAAG;EAClD,MAAM,eAAe,aAAa,QAAQ;EAE1C,MAAM,kBACJ,OAAO,aACLA,IAA8B,SAAS,QAAQ,GAC/C,EAAE,MAAM,kBAAkB,CAC5B,CAAC,CAAC,WAAW,UAAU;GACrB,OAAO,iBAAiB,MAAM,OAC1B,OAAO,GAAG,MAAM,IAAI,IACpB,OAAO,IAAI;IAAE,MAAM;IAAe;GAAM,CAAC;EAC/C,CAAC;EAEH,MAAM,YAAY,OAChB,OACA,aAAa,OAAW,IACxB,WAAW,UACO;GAElB,IADyB,SAAS,WAAW,CAAC,EAAE,aACvB,gBAAgB;IAEvC,MAAM,MAAM,aADW,KAAK,MAAM,KAAK,OAAO,IAAI,QACZ;IACtC,MAAMC,IAAiB,SAAS,UAAU,OAAO,GAAG;GACtD;EACF;EAEA,OAAO,MAAM,UAAU,CAAC,CACrB,OAAO,QACN,cAAc,KAAK,MAAM,aAAa,WAAW,CAAC,CAAC,UACjD,OACE,SAC+C;GAC/C,MAAM,WAAW,aAAa,IAAI;GAClC,IAAI,aAAa,cAAc;IAC7B,MAAM,UAAU;KACd,MAAM;KACN;IACF,CAAC;IACD,OAAO,OAAO,GAAG,IAAI;GACvB;;;;;GAMA,IAAI,IAAI,SAAS,eAAe;IAC9B,MAAM,aAAa,IAAI;IACvB,IAAI,CAAC,WAAW,YACd,MAAM,UACJ;KAAE,GAAG;KAAY,YAAY;IAAK,GAClC,MACA,CACF;IAEF,OAAO,OAAO,GAAG,WAAW,IAAI;GAClC;GAEA,OAAO,OAAO,IAAI,EAAE,MAAM,gBAAgB,CAAC;EAC7C,CACF,CACF,CAAC,CACA,OAAO,QAAQ;GACd,OAAO,MACL,EAAE,IAAI,GACN,8EACF;GACA,MAAM,WAAW,SAAS,KAAK,aAAa,EAAE,QAAQ,EAAE;GACxD,OAAO,OAAO,GAAG,EAAE,SAAS,CAAkB;EAChD,CAAC,CAAC,CACD,cAAc;CACnB;AACF"}
@@ -182,6 +182,6 @@ var VersionsEndpointCache = class {
182
182
  }
183
183
  };
184
184
  //#endregion
185
- export { VersionsEndpointCache };
185
+ export { VersionsEndpointCache, memCache };
186
186
 
187
187
  //# sourceMappingURL=versions-endpoint-cache.js.map
@@ -53,6 +53,6 @@ const TerraformModule = z.object({
53
53
  }).refine(({ versions }) => isNonEmptyArray(versions), "Empty versions array in module response");
54
54
  const ProtocolModuleResponse = z.object({ modules: LooseArray(TerraformModule) }).refine(({ modules }) => isNonEmptyArray(modules), "Empty response from `/v1/modules` endpoint").transform(({ modules: [module] }) => module);
55
55
  //#endregion
56
- export { OpenTofuModuleDocsResponse, ProtocolModuleResponse, ServiceDiscoveryResponse, TerraformModuleResponse, TerraformModuleV2Response };
56
+ export { OpenTofuModuleDocsResponse, ProtocolModuleResponse, ServiceDiscoveryResponse, TerraformModule, TerraformModuleResponse, TerraformModuleV2Response, TerraformModuleVersion };
57
57
 
58
58
  //# sourceMappingURL=schema.js.map
@@ -66,6 +66,6 @@ const TerraformRegistryBuildResponse = z.object({
66
66
  shasums_url: z.string().optional()
67
67
  });
68
68
  //#endregion
69
- export { OpenTofuProviderDocsResponse, TerraformProviderReleaseBackend, TerraformProviderV2Response, TerraformProviderVersions, TerraformRegistryBuildResponse, TerraformRegistryVersions, VersionDetailResponse };
69
+ export { OpenTofuProviderDocsResponse, TerraformBuild, TerraformProviderReleaseBackend, TerraformProviderV2Response, TerraformProviderVersions, TerraformRegistryBuildResponse, TerraformRegistryVersions, VersionDetailResponse };
70
70
 
71
71
  //# sourceMappingURL=schema.js.map
@@ -1,4 +1,4 @@
1
- import api, { id } from "../../versioning/unity3d-packages/index.js";
1
+ import { api, id } from "../../versioning/unity3d-packages/index.js";
2
2
  import { withCache } from "../../../util/cache/package/with-cache.js";
3
3
  import { asTimestamp } from "../../../util/timestamp.js";
4
4
  import { Datasource } from "../datasource.js";
@@ -14,6 +14,6 @@ const categories = ["ansible", "iac"];
14
14
  const defaultConfig = { managerFilePatterns: ["/(^|/)tasks/[^/]+\\.ya?ml$/"] };
15
15
  const supportedDatasources = [DockerDatasource.id];
16
16
  //#endregion
17
- export { ansible_exports };
17
+ export { ansible_exports, categories, defaultConfig, extractPackageFile, supportedDatasources, url };
18
18
 
19
19
  //# sourceMappingURL=index.js.map
@@ -49,6 +49,6 @@ function extractPackageFile(content, packageFile) {
49
49
  }
50
50
  }
51
51
  //#endregion
52
- export { extractPackageFile };
52
+ export { extractPackageFile, getSliceEndNumber };
53
53
 
54
54
  //# sourceMappingURL=extract.js.map
@@ -22,6 +22,6 @@ const supportedDatasources = [
22
22
  GithubTagsDatasource.id
23
23
  ];
24
24
  //#endregion
25
- export { ansible_galaxy_exports };
25
+ export { ansible_galaxy_exports, categories, defaultConfig, extractPackageFile, knownDepTypes, supportedDatasources, url };
26
26
 
27
27
  //# sourceMappingURL=index.js.map
@@ -19,6 +19,6 @@ const categories = ["java"];
19
19
  const defaultConfig = { managerFilePatterns: ["**/build.xml"] };
20
20
  const supportedDatasources = [MavenDatasource.id];
21
21
  //#endregion
22
- export { ant_exports };
22
+ export { ant_exports, categories, defaultConfig, displayName, extractAllPackageFiles, extractPackageFile, supportedDatasources, updateDependency, url };
23
23
 
24
24
  //# sourceMappingURL=index.js.map
@@ -22,6 +22,6 @@ const supportedDatasources = [
22
22
  HelmDatasource.id
23
23
  ];
24
24
  //#endregion
25
- export { argocd_exports };
25
+ export { argocd_exports, categories, defaultConfig, displayName, extractPackageFile, supportedDatasources, url };
26
26
 
27
27
  //# sourceMappingURL=index.js.map
@@ -24,6 +24,6 @@ const ApplicationSet = KubernetesResource.extend({
24
24
  const ApplicationDefinition = Application.or(ApplicationSet);
25
25
  const ApplicationDefinitions = multidocYaml({ removeTemplates: true }).pipe(LooseArray(ApplicationDefinition));
26
26
  //#endregion
27
- export { ApplicationDefinitions };
27
+ export { Application, ApplicationDefinition, ApplicationDefinitions, ApplicationKustomize, ApplicationSet, ApplicationSource, ApplicationSpec, KubernetesResource };
28
28
 
29
29
  //# sourceMappingURL=schema.js.map
@@ -38,6 +38,6 @@ const supportedDatasources = [
38
38
  RubyVersionDatasource.id
39
39
  ];
40
40
  //#endregion
41
- export { asdf_exports, supportedDatasources };
41
+ export { asdf_exports, defaultConfig, displayName, extractPackageFile, supportedDatasources, url };
42
42
 
43
43
  //# sourceMappingURL=index.js.map
@@ -120,6 +120,6 @@ function extractPackageFile(content, packageFile, config) {
120
120
  return { deps };
121
121
  }
122
122
  //#endregion
123
- export { extractPackageFile };
123
+ export { extractAzurePipelinesTasks, extractContainer, extractPackageFile, extractRepository, parseAzurePipelines };
124
124
 
125
125
  //# sourceMappingURL=extract.js.map
@@ -20,6 +20,6 @@ const defaultConfig = {
20
20
  };
21
21
  const supportedDatasources = [AzurePipelinesTasksDatasource.id, GitTagsDatasource.id];
22
22
  //#endregion
23
- export { azure_pipelines_exports };
23
+ export { azure_pipelines_exports, categories, defaultConfig, extractPackageFile, knownDepTypes, supportedDatasources, url };
24
24
 
25
25
  //# sourceMappingURL=index.js.map
@@ -42,6 +42,6 @@ const AzurePipelines = z.object({
42
42
  }).partial();
43
43
  const AzurePipelinesYaml = Yaml.pipe(AzurePipelines);
44
44
  //#endregion
45
- export { AzurePipelinesYaml };
45
+ export { AzurePipelines, AzurePipelinesYaml, Container, Deploy, Deployment, Job, Jobs, Repository, Resources, Stage, Step };
46
46
 
47
47
  //# sourceMappingURL=schema.js.map
@@ -16,6 +16,6 @@ const categories = ["batect"];
16
16
  const defaultConfig = { managerFilePatterns: ["/(^|/)batect(-bundle)?\\.ya?ml$/"] };
17
17
  const supportedDatasources = [DockerDatasource.id, GitTagsDatasource.id];
18
18
  //#endregion
19
- export { batect_exports };
19
+ export { batect_exports, categories, defaultConfig, extractAllPackageFiles, extractPackageFile, supportedDatasources, url };
20
20
 
21
21
  //# sourceMappingURL=index.js.map
@@ -18,6 +18,6 @@ const defaultConfig = {
18
18
  };
19
19
  const supportedDatasources = [GithubReleasesDatasource.id];
20
20
  //#endregion
21
- export { batect_wrapper_exports };
21
+ export { batect_wrapper_exports, categories, defaultConfig, extractPackageFile, supportedDatasources, updateArtifacts };
22
22
 
23
23
  //# sourceMappingURL=index.js.map
@@ -31,6 +31,6 @@ function updateCode(input, path, updater) {
31
31
  return patchCodeAtFragment(input, fragment, updater);
32
32
  }
33
33
  //#endregion
34
- export { findCodeFragment, patchCodeAtFragments, updateCode };
34
+ export { findCodeFragment, patchCodeAtFragment, patchCodeAtFragments, updateCode };
35
35
 
36
36
  //# sourceMappingURL=common.js.map
@@ -30,6 +30,6 @@ const supportedDatasources = [
30
30
  GoDatasource.id
31
31
  ];
32
32
  //#endregion
33
- export { bazel_exports };
33
+ export { bazel_exports, categories, defaultConfig, extractPackageFile, knownDepTypes, supportedDatasources, updateArtifacts, url };
34
34
 
35
35
  //# sourceMappingURL=index.js.map
@@ -108,6 +108,6 @@ const HttpTarget = z.object({
108
108
  return [dep];
109
109
  });
110
110
  //#endregion
111
- export { HttpTarget, httpRules };
111
+ export { HttpTarget, httpRules, parseArchiveUrl, parseGithubPath };
112
112
 
113
113
  //# sourceMappingURL=http.js.map
@@ -42,6 +42,6 @@ function extract(fragment) {
42
42
  return fragment.children.map(extract);
43
43
  }
44
44
  //#endregion
45
- export { extractDepsFromFragment, supportedRulesRegex };
45
+ export { extract, extractDepsFromFragment, extractDepsFromFragmentData, supportedRulesRegex };
46
46
 
47
47
  //# sourceMappingURL=index.js.map
@@ -121,6 +121,6 @@ async function read(workspaceDir) {
121
121
  return await readFile(upath.join(workspaceDir, ".bazelrc"), workspaceDir, /* @__PURE__ */ new Set());
122
122
  }
123
123
  //#endregion
124
- export { read };
124
+ export { BazelOption, CommandEntry, ImportEntry, expandWorkspacePath, parse, read, sanitizeOptions };
125
125
 
126
126
  //# sourceMappingURL=bazelrc.js.map
@@ -31,6 +31,6 @@ const supportedDatasources = [
31
31
  ];
32
32
  const lockFileNames = ["MODULE.bazel.lock"];
33
33
  //#endregion
34
- export { bazel_module_exports };
34
+ export { bazel_module_exports, categories, defaultConfig, extractPackageFile, knownDepTypes, lockFileNames, supportedDatasources, updateArtifacts, url };
35
35
 
36
36
  //# sourceMappingURL=index.js.map
@@ -165,6 +165,6 @@ var Ctx = class {
165
165
  }
166
166
  };
167
167
  //#endregion
168
- export { Ctx };
168
+ export { Ctx, CtxProcessingError };
169
169
 
170
170
  //# sourceMappingURL=context.js.map
@@ -167,6 +167,6 @@ function isPrimitive(data) {
167
167
  return PrimitiveFragments.safeParse(data).success;
168
168
  }
169
169
  //#endregion
170
- export { ExtensionTagFragment, RepoRuleCallFragment, RuleFragment, StringArrayFragment, StringFragment, array, attribute, boolean, extensionTag, isPrimitive, isValue, preparedExtensionTag, repoRuleCall, rule, string, useRepoRule };
170
+ export { ArrayFragment, AttributeFragment, BooleanFragment, ExtensionTagFragment, PreparedExtensionTagFragment, RepoRuleCallFragment, RuleFragment, StringArrayFragment, StringFragment, UseRepoRuleFragment, array, attribute, boolean, extensionTag, isPrimitive, isValue, preparedExtensionTag, repoRuleCall, rule, string, useRepoRule };
171
171
 
172
172
  //# sourceMappingURL=fragments.js.map
@@ -44,6 +44,6 @@ function transformRulesImgCalls(fragments) {
44
44
  return deps;
45
45
  }
46
46
  //#endregion
47
- export { transformRulesImgCalls };
47
+ export { RulesImgPullCallToDep, transformRulesImgCalls };
48
48
 
49
49
  //# sourceMappingURL=rules-img.js.map
@@ -179,6 +179,6 @@ const GitRepositoryToPackageDep = RuleFragment.extend({
179
179
  return gitRepo;
180
180
  });
181
181
  //#endregion
182
- export { GitRepositoryToPackageDep, RuleToBazelModulePackageDep, toPackageDependencies };
182
+ export { GitRepositoryToPackageDep, RuleToBazelModulePackageDep, bazelModulePackageDepToPackageDependency, processModulePkgDeps, toPackageDependencies };
183
183
 
184
184
  //# sourceMappingURL=rules.js.map
@@ -24,6 +24,6 @@ const defaultConfig = {
24
24
  const supportedDatasources = [GithubReleasesDatasource.id];
25
25
  const lockFileNames = ["MODULE.bazel.lock"];
26
26
  //#endregion
27
- export { bazelisk_exports };
27
+ export { bazelisk_exports, categories, defaultConfig, extractPackageFile, lockFileNames, supportedDatasources, updateArtifacts, url };
28
28
 
29
29
  //# sourceMappingURL=index.js.map