renovate 42.4.0 → 42.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (708) hide show
  1. package/dist/config/decrypt.js +13 -14
  2. package/dist/config/decrypt.js.map +1 -1
  3. package/dist/config/massage.js +6 -7
  4. package/dist/config/massage.js.map +1 -1
  5. package/dist/config/migrate-validate.js +3 -3
  6. package/dist/config/migrate-validate.js.map +1 -1
  7. package/dist/config/migration.js +19 -20
  8. package/dist/config/migration.js.map +1 -1
  9. package/dist/config/migrations/base/abstract-migration.js +5 -6
  10. package/dist/config/migrations/base/abstract-migration.js.map +1 -1
  11. package/dist/config/migrations/custom/automerge-major-migration.js +2 -3
  12. package/dist/config/migrations/custom/automerge-major-migration.js.map +1 -1
  13. package/dist/config/migrations/custom/automerge-migration.js +4 -5
  14. package/dist/config/migrations/custom/automerge-migration.js.map +1 -1
  15. package/dist/config/migrations/custom/automerge-minor-migration.js +2 -3
  16. package/dist/config/migrations/custom/automerge-minor-migration.js.map +1 -1
  17. package/dist/config/migrations/custom/automerge-patch-migration.js +2 -3
  18. package/dist/config/migrations/custom/automerge-patch-migration.js.map +1 -1
  19. package/dist/config/migrations/custom/automerge-type-migration.js +2 -3
  20. package/dist/config/migrations/custom/automerge-type-migration.js.map +1 -1
  21. package/dist/config/migrations/custom/base-branch-migration.js +3 -4
  22. package/dist/config/migrations/custom/base-branch-migration.js.map +1 -1
  23. package/dist/config/migrations/custom/branch-name-migration.js +2 -3
  24. package/dist/config/migrations/custom/branch-name-migration.js.map +1 -1
  25. package/dist/config/migrations/custom/branch-prefix-migration.js +2 -3
  26. package/dist/config/migrations/custom/branch-prefix-migration.js.map +1 -1
  27. package/dist/config/migrations/custom/compatibility-migration.js +2 -3
  28. package/dist/config/migrations/custom/compatibility-migration.js.map +1 -1
  29. package/dist/config/migrations/custom/composer-ignore-platform-reqs-migration.js +2 -3
  30. package/dist/config/migrations/custom/composer-ignore-platform-reqs-migration.js.map +1 -1
  31. package/dist/config/migrations/custom/custom-managers-migration.js +2 -3
  32. package/dist/config/migrations/custom/custom-managers-migration.js.map +1 -1
  33. package/dist/config/migrations/custom/datasource-migration.js +2 -3
  34. package/dist/config/migrations/custom/datasource-migration.js.map +1 -1
  35. package/dist/config/migrations/custom/dep-types-migration.js +4 -5
  36. package/dist/config/migrations/custom/dep-types-migration.js.map +1 -1
  37. package/dist/config/migrations/custom/enabled-managers-migration.js +2 -3
  38. package/dist/config/migrations/custom/enabled-managers-migration.js.map +1 -1
  39. package/dist/config/migrations/custom/extends-migration.js +4 -5
  40. package/dist/config/migrations/custom/extends-migration.js.map +1 -1
  41. package/dist/config/migrations/custom/fetch-release-notes-migration.js +2 -3
  42. package/dist/config/migrations/custom/fetch-release-notes-migration.js.map +1 -1
  43. package/dist/config/migrations/custom/file-match-migration.js +3 -4
  44. package/dist/config/migrations/custom/file-match-migration.js.map +1 -1
  45. package/dist/config/migrations/custom/host-rules-migration.js +6 -7
  46. package/dist/config/migrations/custom/host-rules-migration.js.map +1 -1
  47. package/dist/config/migrations/custom/ignore-npmrc-file-migration.js +2 -3
  48. package/dist/config/migrations/custom/ignore-npmrc-file-migration.js.map +1 -1
  49. package/dist/config/migrations/custom/include-forks-migration.js +2 -3
  50. package/dist/config/migrations/custom/include-forks-migration.js.map +1 -1
  51. package/dist/config/migrations/custom/match-datasources-migration.js +2 -3
  52. package/dist/config/migrations/custom/match-datasources-migration.js.map +1 -1
  53. package/dist/config/migrations/custom/match-managers-migration.js +2 -3
  54. package/dist/config/migrations/custom/match-managers-migration.js.map +1 -1
  55. package/dist/config/migrations/custom/match-strings-migration.js +2 -3
  56. package/dist/config/migrations/custom/match-strings-migration.js.map +1 -1
  57. package/dist/config/migrations/custom/package-files-migration.js +6 -7
  58. package/dist/config/migrations/custom/package-files-migration.js.map +1 -1
  59. package/dist/config/migrations/custom/package-rules-migration.js +15 -16
  60. package/dist/config/migrations/custom/package-rules-migration.js.map +1 -1
  61. package/dist/config/migrations/custom/packages-migration.js +3 -4
  62. package/dist/config/migrations/custom/packages-migration.js.map +1 -1
  63. package/dist/config/migrations/custom/path-rules-migration.js +3 -4
  64. package/dist/config/migrations/custom/path-rules-migration.js.map +1 -1
  65. package/dist/config/migrations/custom/pin-versions-migration.js +2 -3
  66. package/dist/config/migrations/custom/pin-versions-migration.js.map +1 -1
  67. package/dist/config/migrations/custom/platform-commit-migration.js +2 -3
  68. package/dist/config/migrations/custom/platform-commit-migration.js.map +1 -1
  69. package/dist/config/migrations/custom/post-update-options-migration.js +2 -3
  70. package/dist/config/migrations/custom/post-update-options-migration.js.map +1 -1
  71. package/dist/config/migrations/custom/rebase-stale-prs-migration.js +2 -3
  72. package/dist/config/migrations/custom/rebase-stale-prs-migration.js.map +1 -1
  73. package/dist/config/migrations/custom/recreate-closed-migration.js +2 -3
  74. package/dist/config/migrations/custom/recreate-closed-migration.js.map +1 -1
  75. package/dist/config/migrations/custom/renovate-fork-migration.js +2 -3
  76. package/dist/config/migrations/custom/renovate-fork-migration.js.map +1 -1
  77. package/dist/config/migrations/custom/schedule-migration.js +4 -4
  78. package/dist/config/migrations/custom/schedule-migration.js.map +1 -1
  79. package/dist/config/migrations/custom/semantic-commits-migration.js +2 -3
  80. package/dist/config/migrations/custom/semantic-commits-migration.js.map +1 -1
  81. package/dist/config/migrations/custom/semantic-prefix-migration.js +2 -3
  82. package/dist/config/migrations/custom/semantic-prefix-migration.js.map +1 -1
  83. package/dist/config/migrations/custom/stability-days-migration.js +2 -3
  84. package/dist/config/migrations/custom/stability-days-migration.js.map +1 -1
  85. package/dist/config/migrations/custom/suppress-notifications-migration.js +2 -3
  86. package/dist/config/migrations/custom/suppress-notifications-migration.js.map +1 -1
  87. package/dist/config/migrations/custom/unpublish-safe-migration.js +2 -3
  88. package/dist/config/migrations/custom/unpublish-safe-migration.js.map +1 -1
  89. package/dist/config/migrations/migrations-service.js +2 -3
  90. package/dist/config/migrations/migrations-service.js.map +1 -1
  91. package/dist/config/options/index.js +7 -0
  92. package/dist/config/options/index.js.map +1 -1
  93. package/dist/config/presets/github/index.js +2 -3
  94. package/dist/config/presets/github/index.js.map +1 -1
  95. package/dist/config/presets/gitlab/index.js +2 -3
  96. package/dist/config/presets/gitlab/index.js.map +1 -1
  97. package/dist/config/presets/index.js +8 -8
  98. package/dist/config/presets/index.js.map +1 -1
  99. package/dist/config/presets/parse.js +2 -3
  100. package/dist/config/presets/parse.js.map +1 -1
  101. package/dist/config/secrets.js +3 -4
  102. package/dist/config/secrets.js.map +1 -1
  103. package/dist/config/types.d.ts +1 -0
  104. package/dist/config/types.js.map +1 -1
  105. package/dist/config/validation-helpers/match-base-branches.js +2 -3
  106. package/dist/config/validation-helpers/match-base-branches.js.map +1 -1
  107. package/dist/config/validation-helpers/regex-glob-matchers.js +2 -3
  108. package/dist/config/validation-helpers/regex-glob-matchers.js.map +1 -1
  109. package/dist/config/validation-helpers/utils.js +6 -6
  110. package/dist/config/validation-helpers/utils.js.map +1 -1
  111. package/dist/config/validation.js +29 -29
  112. package/dist/config/validation.js.map +1 -1
  113. package/dist/instrumentation/reporting.js +7 -8
  114. package/dist/instrumentation/reporting.js.map +1 -1
  115. package/dist/instrumentation/utils.js +2 -3
  116. package/dist/instrumentation/utils.js.map +1 -1
  117. package/dist/logger/err-serializer.js +2 -2
  118. package/dist/logger/err-serializer.js.map +1 -1
  119. package/dist/logger/index.js +3 -3
  120. package/dist/logger/index.js.map +1 -1
  121. package/dist/logger/renovate-logger.js +4 -5
  122. package/dist/logger/renovate-logger.js.map +1 -1
  123. package/dist/logger/utils.js +19 -19
  124. package/dist/logger/utils.js.map +1 -1
  125. package/dist/modules/datasource/aws-eks-addon/index.js +2 -2
  126. package/dist/modules/datasource/aws-eks-addon/index.js.map +1 -1
  127. package/dist/modules/datasource/bazel/index.js +2 -2
  128. package/dist/modules/datasource/bazel/index.js.map +1 -1
  129. package/dist/modules/datasource/bitrise/index.js +2 -2
  130. package/dist/modules/datasource/bitrise/index.js.map +1 -1
  131. package/dist/modules/datasource/common.js +4 -4
  132. package/dist/modules/datasource/common.js.map +1 -1
  133. package/dist/modules/datasource/conan/index.js +3 -3
  134. package/dist/modules/datasource/conan/index.js.map +1 -1
  135. package/dist/modules/datasource/custom/formats/html.js +2 -5
  136. package/dist/modules/datasource/custom/formats/html.js.map +1 -1
  137. package/dist/modules/datasource/custom/index.js +2 -3
  138. package/dist/modules/datasource/custom/index.js.map +1 -1
  139. package/dist/modules/datasource/custom/utils.js +4 -4
  140. package/dist/modules/datasource/custom/utils.js.map +1 -1
  141. package/dist/modules/datasource/dart-version/index.js +2 -3
  142. package/dist/modules/datasource/dart-version/index.js.map +1 -1
  143. package/dist/modules/datasource/deno/index.js +2 -2
  144. package/dist/modules/datasource/deno/index.js.map +1 -1
  145. package/dist/modules/datasource/docker/common.js +5 -5
  146. package/dist/modules/datasource/docker/common.js.map +1 -1
  147. package/dist/modules/datasource/docker/index.js +6 -6
  148. package/dist/modules/datasource/docker/index.js.map +1 -1
  149. package/dist/modules/datasource/endoflife-date/index.js +2 -2
  150. package/dist/modules/datasource/endoflife-date/index.js.map +1 -1
  151. package/dist/modules/datasource/galaxy/index.js +2 -2
  152. package/dist/modules/datasource/galaxy/index.js.map +1 -1
  153. package/dist/modules/datasource/galaxy-collection/index.js +2 -2
  154. package/dist/modules/datasource/galaxy-collection/index.js.map +1 -1
  155. package/dist/modules/datasource/git-refs/base.js +2 -2
  156. package/dist/modules/datasource/git-refs/base.js.map +1 -1
  157. package/dist/modules/datasource/github-release-attachments/index.js +2 -2
  158. package/dist/modules/datasource/github-release-attachments/index.js.map +1 -1
  159. package/dist/modules/datasource/github-releases/index.js +2 -3
  160. package/dist/modules/datasource/github-releases/index.js.map +1 -1
  161. package/dist/modules/datasource/github-tags/index.js +2 -3
  162. package/dist/modules/datasource/github-tags/index.js.map +1 -1
  163. package/dist/modules/datasource/go/goproxy-parser.js +3 -3
  164. package/dist/modules/datasource/go/goproxy-parser.js.map +1 -1
  165. package/dist/modules/datasource/go/index.js +2 -2
  166. package/dist/modules/datasource/go/index.js.map +1 -1
  167. package/dist/modules/datasource/go/releases-goproxy.js +3 -3
  168. package/dist/modules/datasource/go/releases-goproxy.js.map +1 -1
  169. package/dist/modules/datasource/hackage/index.js +2 -2
  170. package/dist/modules/datasource/hackage/index.js.map +1 -1
  171. package/dist/modules/datasource/hex/schema.js +2 -3
  172. package/dist/modules/datasource/hex/schema.js.map +1 -1
  173. package/dist/modules/datasource/hexpm-bob/index.js +2 -2
  174. package/dist/modules/datasource/hexpm-bob/index.js.map +1 -1
  175. package/dist/modules/datasource/index.js +14 -14
  176. package/dist/modules/datasource/index.js.map +1 -1
  177. package/dist/modules/datasource/jsr/index.js +2 -2
  178. package/dist/modules/datasource/jsr/index.js.map +1 -1
  179. package/dist/modules/datasource/jsr/util.js +3 -4
  180. package/dist/modules/datasource/jsr/util.js.map +1 -1
  181. package/dist/modules/datasource/metadata.js +5 -5
  182. package/dist/modules/datasource/metadata.js.map +1 -1
  183. package/dist/modules/datasource/npm/get.js +2 -2
  184. package/dist/modules/datasource/npm/get.js.map +1 -1
  185. package/dist/modules/datasource/npm/npmrc.js +7 -7
  186. package/dist/modules/datasource/npm/npmrc.js.map +1 -1
  187. package/dist/modules/datasource/nuget/v3.js +2 -2
  188. package/dist/modules/datasource/nuget/v3.js.map +1 -1
  189. package/dist/modules/datasource/packagist/index.js +2 -2
  190. package/dist/modules/datasource/packagist/index.js.map +1 -1
  191. package/dist/modules/datasource/packagist/schema.js +3 -4
  192. package/dist/modules/datasource/packagist/schema.js.map +1 -1
  193. package/dist/modules/datasource/pypi/index.js +2 -2
  194. package/dist/modules/datasource/pypi/index.js.map +1 -1
  195. package/dist/modules/datasource/repology/index.js +3 -3
  196. package/dist/modules/datasource/repology/index.js.map +1 -1
  197. package/dist/modules/datasource/rubygems/schema.js +5 -6
  198. package/dist/modules/datasource/rubygems/schema.js.map +1 -1
  199. package/dist/modules/datasource/util.js +2 -3
  200. package/dist/modules/datasource/util.js.map +1 -1
  201. package/dist/modules/manager/argocd/extract.js +3 -4
  202. package/dist/modules/manager/argocd/extract.js.map +1 -1
  203. package/dist/modules/manager/asdf/extract.js +2 -3
  204. package/dist/modules/manager/asdf/extract.js.map +1 -1
  205. package/dist/modules/manager/bazel/artifacts.js +2 -2
  206. package/dist/modules/manager/bazel/artifacts.js.map +1 -1
  207. package/dist/modules/manager/bazel/common.js +4 -5
  208. package/dist/modules/manager/bazel/common.js.map +1 -1
  209. package/dist/modules/manager/bazel/rules/http.js +3 -4
  210. package/dist/modules/manager/bazel/rules/http.js.map +1 -1
  211. package/dist/modules/manager/bazel/rules/maven.js +2 -3
  212. package/dist/modules/manager/bazel/rules/maven.js.map +1 -1
  213. package/dist/modules/manager/bazel-module/parser/starlark.js +2 -3
  214. package/dist/modules/manager/bazel-module/parser/starlark.js.map +1 -1
  215. package/dist/modules/manager/bazel-module/rules.js +3 -3
  216. package/dist/modules/manager/bazel-module/rules.js.map +1 -1
  217. package/dist/modules/manager/bitrise/utils.js +3 -4
  218. package/dist/modules/manager/bitrise/utils.js.map +1 -1
  219. package/dist/modules/manager/buildpacks/extract.js +2 -3
  220. package/dist/modules/manager/buildpacks/extract.js.map +1 -1
  221. package/dist/modules/manager/bun/artifacts.js +2 -2
  222. package/dist/modules/manager/bun/artifacts.js.map +1 -1
  223. package/dist/modules/manager/bun/extract.js +2 -3
  224. package/dist/modules/manager/bun/extract.js.map +1 -1
  225. package/dist/modules/manager/bundler/artifacts.js +3 -3
  226. package/dist/modules/manager/bundler/artifacts.js.map +1 -1
  227. package/dist/modules/manager/bundler/extract.js +5 -6
  228. package/dist/modules/manager/bundler/extract.js.map +1 -1
  229. package/dist/modules/manager/cargo/extract.js +3 -4
  230. package/dist/modules/manager/cargo/extract.js.map +1 -1
  231. package/dist/modules/manager/composer/artifacts.js +3 -3
  232. package/dist/modules/manager/composer/artifacts.js.map +1 -1
  233. package/dist/modules/manager/composer/utils.js +3 -4
  234. package/dist/modules/manager/composer/utils.js.map +1 -1
  235. package/dist/modules/manager/conan/extract.js +2 -3
  236. package/dist/modules/manager/conan/extract.js.map +1 -1
  237. package/dist/modules/manager/copier/utils.js +3 -4
  238. package/dist/modules/manager/copier/utils.js.map +1 -1
  239. package/dist/modules/manager/crow/extract.js +2 -3
  240. package/dist/modules/manager/crow/extract.js.map +1 -1
  241. package/dist/modules/manager/custom/jsonata/index.js +2 -3
  242. package/dist/modules/manager/custom/jsonata/index.js.map +1 -1
  243. package/dist/modules/manager/custom/jsonata/utils.js +3 -3
  244. package/dist/modules/manager/custom/jsonata/utils.js.map +1 -1
  245. package/dist/modules/manager/custom/regex/index.js +2 -3
  246. package/dist/modules/manager/custom/regex/index.js.map +1 -1
  247. package/dist/modules/manager/custom/regex/strategies.js +4 -5
  248. package/dist/modules/manager/custom/regex/strategies.js.map +1 -1
  249. package/dist/modules/manager/custom/regex/utils.js +2 -2
  250. package/dist/modules/manager/custom/regex/utils.js.map +1 -1
  251. package/dist/modules/manager/custom/utils.js +6 -7
  252. package/dist/modules/manager/custom/utils.js.map +1 -1
  253. package/dist/modules/manager/deps-edn/extract.js +13 -14
  254. package/dist/modules/manager/deps-edn/extract.js.map +1 -1
  255. package/dist/modules/manager/deps-edn/parser.js +2 -2
  256. package/dist/modules/manager/deps-edn/parser.js.map +1 -1
  257. package/dist/modules/manager/devbox/artifacts.js +2 -2
  258. package/dist/modules/manager/devbox/artifacts.js.map +1 -1
  259. package/dist/modules/manager/docker-compose/extract.js +3 -4
  260. package/dist/modules/manager/docker-compose/extract.js.map +1 -1
  261. package/dist/modules/manager/docker-compose/schema.js +2 -3
  262. package/dist/modules/manager/docker-compose/schema.js.map +1 -1
  263. package/dist/modules/manager/dockerfile/extract.js +5 -5
  264. package/dist/modules/manager/dockerfile/extract.js.map +1 -1
  265. package/dist/modules/manager/fingerprint.generated.js +5 -5
  266. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  267. package/dist/modules/manager/fleet/extract.js +2 -3
  268. package/dist/modules/manager/fleet/extract.js.map +1 -1
  269. package/dist/modules/manager/flux/extract.js +2 -3
  270. package/dist/modules/manager/flux/extract.js.map +1 -1
  271. package/dist/modules/manager/glasskube/extract.js +2 -3
  272. package/dist/modules/manager/glasskube/extract.js.map +1 -1
  273. package/dist/modules/manager/gleam/artifacts.js +3 -4
  274. package/dist/modules/manager/gleam/artifacts.js.map +1 -1
  275. package/dist/modules/manager/gomod/artifacts.js +2 -2
  276. package/dist/modules/manager/gomod/artifacts.js.map +1 -1
  277. package/dist/modules/manager/gradle/artifacts.js +2 -2
  278. package/dist/modules/manager/gradle/artifacts.js.map +1 -1
  279. package/dist/modules/manager/gradle/extract/catalog.js +5 -5
  280. package/dist/modules/manager/gradle/extract/catalog.js.map +1 -1
  281. package/dist/modules/manager/gradle-wrapper/artifacts.js +2 -2
  282. package/dist/modules/manager/gradle-wrapper/artifacts.js.map +1 -1
  283. package/dist/modules/manager/helm-requirements/extract.js +2 -3
  284. package/dist/modules/manager/helm-requirements/extract.js.map +1 -1
  285. package/dist/modules/manager/helmfile/artifacts.js +2 -3
  286. package/dist/modules/manager/helmfile/artifacts.js.map +1 -1
  287. package/dist/modules/manager/helmfile/extract.js +4 -5
  288. package/dist/modules/manager/helmfile/extract.js.map +1 -1
  289. package/dist/modules/manager/helmsman/extract.js +4 -5
  290. package/dist/modules/manager/helmsman/extract.js.map +1 -1
  291. package/dist/modules/manager/helmv3/artifacts.js +4 -4
  292. package/dist/modules/manager/helmv3/artifacts.js.map +1 -1
  293. package/dist/modules/manager/helmv3/extract.js +4 -5
  294. package/dist/modules/manager/helmv3/extract.js.map +1 -1
  295. package/dist/modules/manager/helmv3/oci.js +3 -4
  296. package/dist/modules/manager/helmv3/oci.js.map +1 -1
  297. package/dist/modules/manager/jenkins/extract.js +3 -3
  298. package/dist/modules/manager/jenkins/extract.js.map +1 -1
  299. package/dist/modules/manager/kotlin-script/extract.js +3 -4
  300. package/dist/modules/manager/kotlin-script/extract.js.map +1 -1
  301. package/dist/modules/manager/kubernetes/extract.js +4 -4
  302. package/dist/modules/manager/kubernetes/extract.js.map +1 -1
  303. package/dist/modules/manager/kustomize/artifacts.js +8 -8
  304. package/dist/modules/manager/kustomize/artifacts.js.map +1 -1
  305. package/dist/modules/manager/kustomize/extract.js +8 -8
  306. package/dist/modules/manager/kustomize/extract.js.map +1 -1
  307. package/dist/modules/manager/maven/extract.js +4 -4
  308. package/dist/modules/manager/maven/extract.js.map +1 -1
  309. package/dist/modules/manager/maven/update.js +2 -2
  310. package/dist/modules/manager/maven/update.js.map +1 -1
  311. package/dist/modules/manager/maven-wrapper/artifacts.js +2 -2
  312. package/dist/modules/manager/maven-wrapper/artifacts.js.map +1 -1
  313. package/dist/modules/manager/mise/backends.js +9 -10
  314. package/dist/modules/manager/mise/backends.js.map +1 -1
  315. package/dist/modules/manager/mise/extract.js +7 -8
  316. package/dist/modules/manager/mise/extract.js.map +1 -1
  317. package/dist/modules/manager/mix/artifacts.js +3 -3
  318. package/dist/modules/manager/mix/artifacts.js.map +1 -1
  319. package/dist/modules/manager/nix/artifacts.js +2 -2
  320. package/dist/modules/manager/nix/artifacts.js.map +1 -1
  321. package/dist/modules/manager/npm/detect.js +2 -2
  322. package/dist/modules/manager/npm/detect.js.map +1 -1
  323. package/dist/modules/manager/npm/extract/common/dependency.js +2 -2
  324. package/dist/modules/manager/npm/extract/common/dependency.js.map +1 -1
  325. package/dist/modules/manager/npm/extract/common/overrides.js +3 -4
  326. package/dist/modules/manager/npm/extract/common/overrides.js.map +1 -1
  327. package/dist/modules/manager/npm/extract/common/package-file.js +8 -9
  328. package/dist/modules/manager/npm/extract/common/package-file.js.map +1 -1
  329. package/dist/modules/manager/npm/extract/index.js +10 -10
  330. package/dist/modules/manager/npm/extract/index.js.map +1 -1
  331. package/dist/modules/manager/npm/extract/pnpm.js +7 -7
  332. package/dist/modules/manager/npm/extract/pnpm.js.map +1 -1
  333. package/dist/modules/manager/npm/extract/post/locked-versions.js +3 -3
  334. package/dist/modules/manager/npm/extract/post/locked-versions.js.map +1 -1
  335. package/dist/modules/manager/npm/extract/post/monorepo.js +3 -4
  336. package/dist/modules/manager/npm/extract/post/monorepo.js.map +1 -1
  337. package/dist/modules/manager/npm/extract/yarn.js +2 -3
  338. package/dist/modules/manager/npm/extract/yarn.js.map +1 -1
  339. package/dist/modules/manager/npm/extract/yarnrc.js +2 -3
  340. package/dist/modules/manager/npm/extract/yarnrc.js.map +1 -1
  341. package/dist/modules/manager/npm/post-update/index.js +6 -6
  342. package/dist/modules/manager/npm/post-update/index.js.map +1 -1
  343. package/dist/modules/manager/npm/post-update/npm.js +4 -4
  344. package/dist/modules/manager/npm/post-update/npm.js.map +1 -1
  345. package/dist/modules/manager/npm/post-update/pnpm.js +3 -3
  346. package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
  347. package/dist/modules/manager/npm/post-update/rules.js +2 -2
  348. package/dist/modules/manager/npm/post-update/rules.js.map +1 -1
  349. package/dist/modules/manager/npm/post-update/utils.js +2 -2
  350. package/dist/modules/manager/npm/post-update/utils.js.map +1 -1
  351. package/dist/modules/manager/npm/post-update/yarn.js +3 -3
  352. package/dist/modules/manager/npm/post-update/yarn.js.map +1 -1
  353. package/dist/modules/manager/npm/update/dependency/index.js +2 -3
  354. package/dist/modules/manager/npm/update/dependency/index.js.map +1 -1
  355. package/dist/modules/manager/npm/update/dependency/pnpm.js +2 -3
  356. package/dist/modules/manager/npm/update/dependency/pnpm.js.map +1 -1
  357. package/dist/modules/manager/npm/update/dependency/yarn.js +3 -4
  358. package/dist/modules/manager/npm/update/dependency/yarn.js.map +1 -1
  359. package/dist/modules/manager/nuget/config-formatter.js +2 -2
  360. package/dist/modules/manager/nuget/config-formatter.js.map +1 -1
  361. package/dist/modules/manager/nuget/extract.js +4 -4
  362. package/dist/modules/manager/nuget/extract.js.map +1 -1
  363. package/dist/modules/manager/nuget/package-tree.js +2 -2
  364. package/dist/modules/manager/nuget/package-tree.js.map +1 -1
  365. package/dist/modules/manager/ocb/extract.js +2 -3
  366. package/dist/modules/manager/ocb/extract.js.map +1 -1
  367. package/dist/modules/manager/osgi/extract.js +4 -4
  368. package/dist/modules/manager/osgi/extract.js.map +1 -1
  369. package/dist/modules/manager/pep621/artifacts.js +3 -4
  370. package/dist/modules/manager/pep621/artifacts.js.map +1 -1
  371. package/dist/modules/manager/pep621/processors/uv.js +2 -3
  372. package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
  373. package/dist/modules/manager/pep621/utils.js +8 -10
  374. package/dist/modules/manager/pep621/utils.js.map +1 -1
  375. package/dist/modules/manager/pep723/schema.js +2 -3
  376. package/dist/modules/manager/pep723/schema.js.map +1 -1
  377. package/dist/modules/manager/pip-compile/common.js +3 -3
  378. package/dist/modules/manager/pip-compile/common.js.map +1 -1
  379. package/dist/modules/manager/pip_requirements/artifacts.js +2 -3
  380. package/dist/modules/manager/pip_requirements/artifacts.js.map +1 -1
  381. package/dist/modules/manager/pip_requirements/extract.js +2 -3
  382. package/dist/modules/manager/pip_requirements/extract.js.map +1 -1
  383. package/dist/modules/manager/pipenv/artifacts.js +3 -4
  384. package/dist/modules/manager/pipenv/artifacts.js.map +1 -1
  385. package/dist/modules/manager/pipenv/extract.js +6 -7
  386. package/dist/modules/manager/pipenv/extract.js.map +1 -1
  387. package/dist/modules/manager/pixi/artifacts.js +2 -3
  388. package/dist/modules/manager/pixi/artifacts.js.map +1 -1
  389. package/dist/modules/manager/pixi/extract.js +2 -3
  390. package/dist/modules/manager/pixi/extract.js.map +1 -1
  391. package/dist/modules/manager/poetry/artifacts.js +4 -5
  392. package/dist/modules/manager/poetry/artifacts.js.map +1 -1
  393. package/dist/modules/manager/poetry/extract.js +2 -3
  394. package/dist/modules/manager/poetry/extract.js.map +1 -1
  395. package/dist/modules/manager/pre-commit/extract.js +4 -5
  396. package/dist/modules/manager/pre-commit/extract.js.map +1 -1
  397. package/dist/modules/manager/pub/artifacts.js +3 -4
  398. package/dist/modules/manager/pub/artifacts.js.map +1 -1
  399. package/dist/modules/manager/pub/extract.js +8 -11
  400. package/dist/modules/manager/pub/extract.js.map +1 -1
  401. package/dist/modules/manager/renovate-config-presets/extract.js +4 -5
  402. package/dist/modules/manager/renovate-config-presets/extract.js.map +1 -1
  403. package/dist/modules/manager/tekton/extract.js +9 -10
  404. package/dist/modules/manager/tekton/extract.js.map +1 -1
  405. package/dist/modules/manager/terraform/base.js +2 -3
  406. package/dist/modules/manager/terraform/base.js.map +1 -1
  407. package/dist/modules/manager/terraform/extract.js +2 -2
  408. package/dist/modules/manager/terraform/extract.js.map +1 -1
  409. package/dist/modules/manager/terraform/extractors/others/modules.js +3 -4
  410. package/dist/modules/manager/terraform/extractors/others/modules.js.map +1 -1
  411. package/dist/modules/manager/terraform/extractors/others/providers.js +3 -4
  412. package/dist/modules/manager/terraform/extractors/others/providers.js.map +1 -1
  413. package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js +7 -8
  414. package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js.map +1 -1
  415. package/dist/modules/manager/terraform/extractors/resources/helm-release.js +5 -6
  416. package/dist/modules/manager/terraform/extractors/resources/helm-release.js.map +1 -1
  417. package/dist/modules/manager/terraform/extractors/resources/terraform-workspace.js +3 -4
  418. package/dist/modules/manager/terraform/extractors/resources/terraform-workspace.js.map +1 -1
  419. package/dist/modules/manager/terraform/extractors/terraform-block/required-provider.js +4 -5
  420. package/dist/modules/manager/terraform/extractors/terraform-block/required-provider.js.map +1 -1
  421. package/dist/modules/manager/terraform/extractors/terraform-block/terraform-version.js +3 -3
  422. package/dist/modules/manager/terraform/extractors/terraform-block/terraform-version.js.map +1 -1
  423. package/dist/modules/manager/terraform/lockfile/index.js +2 -2
  424. package/dist/modules/manager/terraform/lockfile/index.js.map +1 -1
  425. package/dist/modules/manager/terraform/lockfile/util.js +2 -3
  426. package/dist/modules/manager/terraform/lockfile/util.js.map +1 -1
  427. package/dist/modules/manager/terraform/util.js +2 -3
  428. package/dist/modules/manager/terraform/util.js.map +1 -1
  429. package/dist/modules/manager/tflint-plugin/plugins.js +2 -3
  430. package/dist/modules/manager/tflint-plugin/plugins.js.map +1 -1
  431. package/dist/modules/manager/travis/extract.js +5 -6
  432. package/dist/modules/manager/travis/extract.js.map +1 -1
  433. package/dist/modules/manager/woodpecker/extract.js +2 -3
  434. package/dist/modules/manager/woodpecker/extract.js.map +1 -1
  435. package/dist/modules/platform/azure/index.js +2 -2
  436. package/dist/modules/platform/azure/index.js.map +1 -1
  437. package/dist/modules/platform/bitbucket/index.js +5 -5
  438. package/dist/modules/platform/bitbucket/index.js.map +1 -1
  439. package/dist/modules/platform/bitbucket-server/pr-cache.js +2 -2
  440. package/dist/modules/platform/bitbucket-server/pr-cache.js.map +1 -1
  441. package/dist/modules/platform/bitbucket-server/utils.js +2 -2
  442. package/dist/modules/platform/bitbucket-server/utils.js.map +1 -1
  443. package/dist/modules/platform/codecommit/codecommit-client.js +2 -2
  444. package/dist/modules/platform/codecommit/codecommit-client.js.map +1 -1
  445. package/dist/modules/platform/forgejo/index.js +5 -5
  446. package/dist/modules/platform/forgejo/index.js.map +1 -1
  447. package/dist/modules/platform/forgejo/utils.js +2 -2
  448. package/dist/modules/platform/forgejo/utils.js.map +1 -1
  449. package/dist/modules/platform/gitea/index.js +5 -5
  450. package/dist/modules/platform/gitea/index.js.map +1 -1
  451. package/dist/modules/platform/gitea/utils.js +2 -2
  452. package/dist/modules/platform/gitea/utils.js.map +1 -1
  453. package/dist/modules/platform/github/common.js +4 -5
  454. package/dist/modules/platform/github/common.js.map +1 -1
  455. package/dist/modules/platform/github/index.js +5 -5
  456. package/dist/modules/platform/github/index.js.map +1 -1
  457. package/dist/modules/platform/github/pr.js +2 -3
  458. package/dist/modules/platform/github/pr.js.map +1 -1
  459. package/dist/modules/platform/gitlab/http.js +2 -3
  460. package/dist/modules/platform/gitlab/http.js.map +1 -1
  461. package/dist/modules/platform/gitlab/index.js +3 -3
  462. package/dist/modules/platform/gitlab/index.js.map +1 -1
  463. package/dist/modules/platform/gitlab/utils.js +3 -3
  464. package/dist/modules/platform/gitlab/utils.js.map +1 -1
  465. package/dist/modules/platform/pr-body.js +2 -3
  466. package/dist/modules/platform/pr-body.js.map +1 -1
  467. package/dist/modules/versioning/composer/index.js +2 -3
  468. package/dist/modules/versioning/composer/index.js.map +1 -1
  469. package/dist/modules/versioning/generic.js +5 -6
  470. package/dist/modules/versioning/generic.js.map +1 -1
  471. package/dist/modules/versioning/gradle/compare.js +3 -4
  472. package/dist/modules/versioning/gradle/compare.js.map +1 -1
  473. package/dist/modules/versioning/nixpkgs/index.js +6 -7
  474. package/dist/modules/versioning/nixpkgs/index.js.map +1 -1
  475. package/dist/modules/versioning/npm/range.js +2 -2
  476. package/dist/modules/versioning/npm/range.js.map +1 -1
  477. package/dist/modules/versioning/rpm/index.js +4 -5
  478. package/dist/modules/versioning/rpm/index.js.map +1 -1
  479. package/dist/modules/versioning/schema.js +2 -2
  480. package/dist/modules/versioning/schema.js.map +1 -1
  481. package/dist/modules/versioning/semver-coerced/index.js +3 -3
  482. package/dist/modules/versioning/semver-coerced/index.js.map +1 -1
  483. package/dist/modules/versioning/semver-partial/index.js +4 -4
  484. package/dist/modules/versioning/semver-partial/index.js.map +1 -1
  485. package/dist/proxy.js +3 -4
  486. package/dist/proxy.js.map +1 -1
  487. package/dist/util/array.js +4 -5
  488. package/dist/util/array.js.map +1 -1
  489. package/dist/util/assign-keys.js +2 -3
  490. package/dist/util/assign-keys.js.map +1 -1
  491. package/dist/util/cache/package/decorator.js +6 -6
  492. package/dist/util/cache/package/decorator.js.map +1 -1
  493. package/dist/util/cache/package/ttl.js +4 -5
  494. package/dist/util/cache/package/ttl.js.map +1 -1
  495. package/dist/util/cache/repository/impl/base.js +3 -4
  496. package/dist/util/cache/repository/impl/base.js.map +1 -1
  497. package/dist/util/cache/repository/impl/s3.js +2 -3
  498. package/dist/util/cache/repository/impl/s3.js.map +1 -1
  499. package/dist/util/exec/common.js +2 -3
  500. package/dist/util/exec/common.js.map +1 -1
  501. package/dist/util/exec/containerbase.js +2 -2
  502. package/dist/util/exec/containerbase.js.map +1 -1
  503. package/dist/util/exec/docker/index.js +5 -5
  504. package/dist/util/exec/docker/index.js.map +1 -1
  505. package/dist/util/exec/index.js +2 -2
  506. package/dist/util/exec/index.js.map +1 -1
  507. package/dist/util/exec/utils.js +3 -4
  508. package/dist/util/exec/utils.js.map +1 -1
  509. package/dist/util/filter-map.js +2 -3
  510. package/dist/util/filter-map.js.map +1 -1
  511. package/dist/util/fs/index.js +3 -3
  512. package/dist/util/fs/index.js.map +1 -1
  513. package/dist/util/git/auth.js +2 -3
  514. package/dist/util/git/auth.js.map +1 -1
  515. package/dist/util/git/config.js +3 -4
  516. package/dist/util/git/config.js.map +1 -1
  517. package/dist/util/git/index.js +4 -4
  518. package/dist/util/git/index.js.map +1 -1
  519. package/dist/util/git/private-key.js +2 -2
  520. package/dist/util/git/private-key.js.map +1 -1
  521. package/dist/util/host-rules.js +6 -6
  522. package/dist/util/host-rules.js.map +1 -1
  523. package/dist/util/http/auth.js +3 -4
  524. package/dist/util/http/auth.js.map +1 -1
  525. package/dist/util/http/bitbucket-server.js +2 -3
  526. package/dist/util/http/bitbucket-server.js.map +1 -1
  527. package/dist/util/http/bitbucket.js +3 -4
  528. package/dist/util/http/bitbucket.js.map +1 -1
  529. package/dist/util/http/cache/package-http-cache-provider.js +2 -2
  530. package/dist/util/http/cache/package-http-cache-provider.js.map +1 -1
  531. package/dist/util/http/forgejo.js +3 -4
  532. package/dist/util/http/forgejo.js.map +1 -1
  533. package/dist/util/http/gitea.js +3 -4
  534. package/dist/util/http/gitea.js.map +1 -1
  535. package/dist/util/http/github.js +10 -10
  536. package/dist/util/http/github.js.map +1 -1
  537. package/dist/util/http/gitlab.js +4 -5
  538. package/dist/util/http/gitlab.js.map +1 -1
  539. package/dist/util/http/host-rules.js +10 -10
  540. package/dist/util/http/host-rules.js.map +1 -1
  541. package/dist/util/http/http.js +5 -5
  542. package/dist/util/http/http.js.map +1 -1
  543. package/dist/util/http/rate-limits.js +3 -3
  544. package/dist/util/http/rate-limits.js.map +1 -1
  545. package/dist/util/interpolator.js +8 -9
  546. package/dist/util/interpolator.js.map +1 -1
  547. package/dist/util/merge-confidence/index.js +5 -5
  548. package/dist/util/merge-confidence/index.js.map +1 -1
  549. package/dist/util/number.js +2 -3
  550. package/dist/util/number.js.map +1 -1
  551. package/dist/util/package-rules/base-branches.js +3 -4
  552. package/dist/util/package-rules/base-branches.js.map +1 -1
  553. package/dist/util/package-rules/categories.js +3 -4
  554. package/dist/util/package-rules/categories.js.map +1 -1
  555. package/dist/util/package-rules/current-age.js +3 -4
  556. package/dist/util/package-rules/current-age.js.map +1 -1
  557. package/dist/util/package-rules/current-value.js +2 -3
  558. package/dist/util/package-rules/current-value.js.map +1 -1
  559. package/dist/util/package-rules/current-version.js +5 -5
  560. package/dist/util/package-rules/current-version.js.map +1 -1
  561. package/dist/util/package-rules/datasources.js +3 -4
  562. package/dist/util/package-rules/datasources.js.map +1 -1
  563. package/dist/util/package-rules/dep-names.js +3 -4
  564. package/dist/util/package-rules/dep-names.js.map +1 -1
  565. package/dist/util/package-rules/dep-types.js +2 -3
  566. package/dist/util/package-rules/dep-types.js.map +1 -1
  567. package/dist/util/package-rules/files.js +4 -5
  568. package/dist/util/package-rules/files.js.map +1 -1
  569. package/dist/util/package-rules/index.js +6 -6
  570. package/dist/util/package-rules/index.js.map +1 -1
  571. package/dist/util/package-rules/managers.js +3 -4
  572. package/dist/util/package-rules/managers.js.map +1 -1
  573. package/dist/util/package-rules/merge-confidence.js +5 -6
  574. package/dist/util/package-rules/merge-confidence.js.map +1 -1
  575. package/dist/util/package-rules/new-value.js +2 -3
  576. package/dist/util/package-rules/new-value.js.map +1 -1
  577. package/dist/util/package-rules/package-names.js +2 -3
  578. package/dist/util/package-rules/package-names.js.map +1 -1
  579. package/dist/util/package-rules/repositories.js +3 -4
  580. package/dist/util/package-rules/repositories.js.map +1 -1
  581. package/dist/util/package-rules/sourceurls.js +2 -3
  582. package/dist/util/package-rules/sourceurls.js.map +1 -1
  583. package/dist/util/package-rules/update-types.js +2 -3
  584. package/dist/util/package-rules/update-types.js.map +1 -1
  585. package/dist/util/pretty-time.js +4 -4
  586. package/dist/util/pretty-time.js.map +1 -1
  587. package/dist/util/regex.js +2 -3
  588. package/dist/util/regex.js.map +1 -1
  589. package/dist/util/s3.js +2 -3
  590. package/dist/util/s3.js.map +1 -1
  591. package/dist/util/sanitize.js +2 -3
  592. package/dist/util/sanitize.js.map +1 -1
  593. package/dist/util/string-match.js +2 -3
  594. package/dist/util/string-match.js.map +1 -1
  595. package/dist/util/template/index.js +6 -6
  596. package/dist/util/template/index.js.map +1 -1
  597. package/dist/util/url.js +5 -5
  598. package/dist/util/url.js.map +1 -1
  599. package/dist/workers/global/autodiscover.js +3 -4
  600. package/dist/workers/global/autodiscover.js.map +1 -1
  601. package/dist/workers/global/config/parse/additional-config-file.js +4 -4
  602. package/dist/workers/global/config/parse/additional-config-file.js.map +1 -1
  603. package/dist/workers/global/config/parse/coersions.js +2 -2
  604. package/dist/workers/global/config/parse/coersions.js.map +1 -1
  605. package/dist/workers/global/config/parse/env.js +2 -2
  606. package/dist/workers/global/config/parse/env.js.map +1 -1
  607. package/dist/workers/global/config/parse/file.js +5 -5
  608. package/dist/workers/global/config/parse/file.js.map +1 -1
  609. package/dist/workers/global/config/parse/index.js +6 -7
  610. package/dist/workers/global/config/parse/index.js.map +1 -1
  611. package/dist/workers/global/config/parse/util.js +2 -2
  612. package/dist/workers/global/config/parse/util.js.map +1 -1
  613. package/dist/workers/global/index.js +5 -5
  614. package/dist/workers/global/index.js.map +1 -1
  615. package/dist/workers/global/limits.js +6 -7
  616. package/dist/workers/global/limits.js.map +1 -1
  617. package/dist/workers/repository/config-migration/branch/index.js +2 -3
  618. package/dist/workers/repository/config-migration/branch/index.js.map +1 -1
  619. package/dist/workers/repository/config-migration/branch/migrated-data.js +2 -2
  620. package/dist/workers/repository/config-migration/branch/migrated-data.js.map +1 -1
  621. package/dist/workers/repository/config-migration/pr/index.js +3 -3
  622. package/dist/workers/repository/config-migration/pr/index.js.map +1 -1
  623. package/dist/workers/repository/dependency-dashboard.js +10 -10
  624. package/dist/workers/repository/dependency-dashboard.js.map +1 -1
  625. package/dist/workers/repository/error.js +6 -1
  626. package/dist/workers/repository/error.js.map +1 -1
  627. package/dist/workers/repository/extract/index.js +2 -3
  628. package/dist/workers/repository/extract/index.js.map +1 -1
  629. package/dist/workers/repository/extract/manager-files.js +2 -3
  630. package/dist/workers/repository/extract/manager-files.js.map +1 -1
  631. package/dist/workers/repository/extract/supersedes.js +4 -5
  632. package/dist/workers/repository/extract/supersedes.js.map +1 -1
  633. package/dist/workers/repository/finalize/prune.js +2 -3
  634. package/dist/workers/repository/finalize/prune.js.map +1 -1
  635. package/dist/workers/repository/init/inherited.js +5 -5
  636. package/dist/workers/repository/init/inherited.js.map +1 -1
  637. package/dist/workers/repository/init/merge.js +13 -13
  638. package/dist/workers/repository/init/merge.js.map +1 -1
  639. package/dist/workers/repository/model/commit-message.js +2 -3
  640. package/dist/workers/repository/model/commit-message.js.map +1 -1
  641. package/dist/workers/repository/onboarding/branch/index.js +2 -3
  642. package/dist/workers/repository/onboarding/branch/index.js.map +1 -1
  643. package/dist/workers/repository/onboarding/branch/onboarding-branch-cache.js +5 -6
  644. package/dist/workers/repository/onboarding/branch/onboarding-branch-cache.js.map +1 -1
  645. package/dist/workers/repository/onboarding/pr/config-description.js +2 -5
  646. package/dist/workers/repository/onboarding/pr/config-description.js.map +1 -1
  647. package/dist/workers/repository/onboarding/pr/index.js +3 -3
  648. package/dist/workers/repository/onboarding/pr/index.js.map +1 -1
  649. package/dist/workers/repository/package-files.js +8 -9
  650. package/dist/workers/repository/package-files.js.map +1 -1
  651. package/dist/workers/repository/process/extract-update.js +2 -2
  652. package/dist/workers/repository/process/extract-update.js.map +1 -1
  653. package/dist/workers/repository/process/fetch.js +3 -3
  654. package/dist/workers/repository/process/fetch.js.map +1 -1
  655. package/dist/workers/repository/process/lookup/current.js +2 -3
  656. package/dist/workers/repository/process/lookup/current.js.map +1 -1
  657. package/dist/workers/repository/process/lookup/filter-checks.js +4 -5
  658. package/dist/workers/repository/process/lookup/filter-checks.js.map +1 -1
  659. package/dist/workers/repository/process/lookup/generate.js +2 -3
  660. package/dist/workers/repository/process/lookup/generate.js.map +1 -1
  661. package/dist/workers/repository/process/lookup/index.js +15 -16
  662. package/dist/workers/repository/process/lookup/index.js.map +1 -1
  663. package/dist/workers/repository/process/lookup/utils.js +7 -7
  664. package/dist/workers/repository/process/lookup/utils.js.map +1 -1
  665. package/dist/workers/repository/process/vulnerabilities.js +11 -11
  666. package/dist/workers/repository/process/vulnerabilities.js.map +1 -1
  667. package/dist/workers/repository/process/write.js +2 -3
  668. package/dist/workers/repository/process/write.js.map +1 -1
  669. package/dist/workers/repository/reconfigure/comment.js +2 -5
  670. package/dist/workers/repository/reconfigure/comment.js.map +1 -1
  671. package/dist/workers/repository/reconfigure/utils.js +2 -3
  672. package/dist/workers/repository/reconfigure/utils.js.map +1 -1
  673. package/dist/workers/repository/reconfigure/validate.js +2 -3
  674. package/dist/workers/repository/reconfigure/validate.js.map +1 -1
  675. package/dist/workers/repository/update/branch/auto-replace.js +4 -5
  676. package/dist/workers/repository/update/branch/auto-replace.js.map +1 -1
  677. package/dist/workers/repository/update/branch/commit.js +3 -4
  678. package/dist/workers/repository/update/branch/commit.js.map +1 -1
  679. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js +12 -5
  680. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js.map +1 -1
  681. package/dist/workers/repository/update/branch/get-updated.js +8 -9
  682. package/dist/workers/repository/update/branch/get-updated.js.map +1 -1
  683. package/dist/workers/repository/update/branch/index.js +3 -3
  684. package/dist/workers/repository/update/branch/index.js.map +1 -1
  685. package/dist/workers/repository/update/branch/schedule.js +2 -2
  686. package/dist/workers/repository/update/branch/schedule.js.map +1 -1
  687. package/dist/workers/repository/update/pr/body/notes.js +2 -2
  688. package/dist/workers/repository/update/pr/body/notes.js.map +1 -1
  689. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js +2 -2
  690. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js.map +1 -1
  691. package/dist/workers/repository/update/pr/changelog/index.js +3 -3
  692. package/dist/workers/repository/update/pr/changelog/index.js.map +1 -1
  693. package/dist/workers/repository/update/pr/changelog/release-notes.js +4 -4
  694. package/dist/workers/repository/update/pr/changelog/release-notes.js.map +1 -1
  695. package/dist/workers/repository/update/pr/changelog/source.js +8 -8
  696. package/dist/workers/repository/update/pr/changelog/source.js.map +1 -1
  697. package/dist/workers/repository/update/pr/code-owners.js +2 -2
  698. package/dist/workers/repository/update/pr/code-owners.js.map +1 -1
  699. package/dist/workers/repository/update/pr/index.js +7 -8
  700. package/dist/workers/repository/update/pr/index.js.map +1 -1
  701. package/dist/workers/repository/update/pr/labels.js +4 -4
  702. package/dist/workers/repository/update/pr/labels.js.map +1 -1
  703. package/dist/workers/repository/update/pr/participants.js +4 -5
  704. package/dist/workers/repository/update/pr/participants.js.map +1 -1
  705. package/dist/workers/repository/updates/generate.js +4 -4
  706. package/dist/workers/repository/updates/generate.js.map +1 -1
  707. package/package.json +3 -3
  708. package/renovate-schema.json +7 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/bazel/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { isValidLocalPath, readLocalFile } from '../../../util/fs';\nimport { HttpError } from '../../../util/http';\nimport { joinUrlParts } from '../../../util/url';\nimport { id as bazelVersioningId } from '../../versioning/bazel-module';\nimport { BzlmodVersion } from '../../versioning/bazel-module/bzlmod-version';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, Release, ReleaseResult } from '../types';\nimport { BazelModuleMetadata } from './schema';\n\nexport class BazelDatasource extends Datasource {\n static readonly id = 'bazel';\n\n static readonly bazelCentralRepoUrl =\n 'https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main';\n\n override readonly defaultRegistryUrls = [BazelDatasource.bazelCentralRepoUrl];\n override readonly registryStrategy = 'hunt';\n override readonly customRegistrySupport = true;\n override readonly caching = true;\n override readonly defaultVersioning = bazelVersioningId;\n\n static packageMetadataPath(packageName: string): string {\n return `/modules/${packageName}/metadata.json`;\n }\n\n constructor() {\n super(BazelDatasource.id);\n }\n\n @cache({\n namespace: `datasource-${BazelDatasource.id}`,\n key: ({ registryUrl, packageName }: GetReleasesConfig) =>\n `${registryUrl!}:${packageName}`,\n })\n async getReleases({\n registryUrl,\n packageName,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n const path = BazelDatasource.packageMetadataPath(packageName);\n const url = joinUrlParts(registryUrl!, path);\n const result: ReleaseResult = { releases: [] };\n try {\n let metadata: BazelModuleMetadata;\n const FILE_PREFIX = 'file://';\n if (url.startsWith(FILE_PREFIX)) {\n const filePath = url.slice(FILE_PREFIX.length);\n if (!isValidLocalPath(filePath)) {\n return null;\n }\n const fileContent = await readLocalFile(filePath, 'utf8');\n if (!fileContent) {\n return null;\n }\n metadata = BazelModuleMetadata.parse(JSON.parse(fileContent));\n } else {\n const response = await this.http.getJson(url, BazelModuleMetadata);\n metadata = response.body;\n }\n\n result.releases = metadata.versions\n .map((v) => new BzlmodVersion(v))\n .sort(BzlmodVersion.defaultCompare)\n .map((bv) => {\n const release: Release = { version: bv.original };\n if (is.truthy(metadata.yanked_versions?.[bv.original])) {\n release.isDeprecated = true;\n }\n return release;\n });\n if (metadata.homepage) {\n result.homepage = metadata.homepage;\n }\n } catch (err) {\n if (err instanceof HttpError) {\n if (err.response?.statusCode === 404) {\n return null;\n }\n throw new ExternalHostError(err);\n }\n this.handleGenericErrors(err);\n }\n\n return result.releases.length ? result : null;\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/bazel/index.ts"],"names":[],"mappings":";;;;AAAA,yCAA4C;AAC5C,mFAA8E;AAC9E,qEAA8D;AAC9D,yCAAmE;AACnE,6CAA+C;AAC/C,2CAAiD;AACjD,gEAAwE;AACxE,iFAA6E;AAC7E,8CAA2C;AAE3C,qCAA+C;AAE/C,MAAa,eAAgB,SAAQ,uBAAU;IAC7C,MAAM,CAAU,EAAE,GAAG,OAAO,CAAC;IAE7B,MAAM,CAAU,mBAAmB,GACjC,0EAA0E,CAAC;IAE3D,mBAAmB,GAAG,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;IAC5D,gBAAgB,GAAG,MAAM,CAAC;IAC1B,qBAAqB,GAAG,IAAI,CAAC;IAC7B,OAAO,GAAG,IAAI,CAAC;IACf,iBAAiB,GAAG,iBAAiB,CAAC;IAExD,MAAM,CAAC,mBAAmB,CAAC,WAAmB;QAC5C,OAAO,YAAY,WAAW,gBAAgB,CAAC;IACjD,CAAC;IAED;QACE,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAOK,AAAN,KAAK,CAAC,WAAW,CAAC,EAChB,WAAW,EACX,WAAW,GACO;QAClB,MAAM,IAAI,GAAG,eAAe,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,IAAA,kBAAY,EAAC,WAAY,EAAE,IAAI,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAkB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC/C,IAAI,CAAC;YACH,IAAI,QAA6B,CAAC;YAClC,MAAM,WAAW,GAAG,SAAS,CAAC;YAC9B,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC/C,IAAI,CAAC,IAAA,qBAAgB,EAAC,QAAQ,CAAC,EAAE,CAAC;oBAChC,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,WAAW,GAAG,MAAM,IAAA,kBAAa,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,QAAQ,GAAG,4BAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,4BAAmB,CAAC,CAAC;gBACnE,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC3B,CAAC;YAED,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ;iBAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,8BAAa,CAAC,CAAC,CAAC,CAAC;iBAChC,IAAI,CAAC,8BAAa,CAAC,cAAc,CAAC;iBAClC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBACV,MAAM,OAAO,GAAY,EAAE,OAAO,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAClD,IAAI,IAAA,aAAQ,EAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;oBACtD,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC9B,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC,CAAC;YACL,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtB,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACtC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,gBAAS,EAAE,CAAC;gBAC7B,IAAI,GAAG,CAAC,QAAQ,EAAE,UAAU,KAAK,GAAG,EAAE,CAAC;oBACrC,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,IAAI,uCAAiB,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAChD,CAAC;;AA1EH,0CA2EC;AAlDO;IALL,IAAA,iBAAK,EAAC;QACL,SAAS,EAAE,cAAc,eAAe,CAAC,EAAE,EAAE;QAC7C,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,WAAW,EAAqB,EAAE,EAAE,CACvD,GAAG,WAAY,IAAI,WAAW,EAAE;KACnC,CAAC;kDAkDD","sourcesContent":["import { isTruthy } from '@sindresorhus/is';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { isValidLocalPath, readLocalFile } from '../../../util/fs';\nimport { HttpError } from '../../../util/http';\nimport { joinUrlParts } from '../../../util/url';\nimport { id as bazelVersioningId } from '../../versioning/bazel-module';\nimport { BzlmodVersion } from '../../versioning/bazel-module/bzlmod-version';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, Release, ReleaseResult } from '../types';\nimport { BazelModuleMetadata } from './schema';\n\nexport class BazelDatasource extends Datasource {\n static readonly id = 'bazel';\n\n static readonly bazelCentralRepoUrl =\n 'https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main';\n\n override readonly defaultRegistryUrls = [BazelDatasource.bazelCentralRepoUrl];\n override readonly registryStrategy = 'hunt';\n override readonly customRegistrySupport = true;\n override readonly caching = true;\n override readonly defaultVersioning = bazelVersioningId;\n\n static packageMetadataPath(packageName: string): string {\n return `/modules/${packageName}/metadata.json`;\n }\n\n constructor() {\n super(BazelDatasource.id);\n }\n\n @cache({\n namespace: `datasource-${BazelDatasource.id}`,\n key: ({ registryUrl, packageName }: GetReleasesConfig) =>\n `${registryUrl!}:${packageName}`,\n })\n async getReleases({\n registryUrl,\n packageName,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n const path = BazelDatasource.packageMetadataPath(packageName);\n const url = joinUrlParts(registryUrl!, path);\n const result: ReleaseResult = { releases: [] };\n try {\n let metadata: BazelModuleMetadata;\n const FILE_PREFIX = 'file://';\n if (url.startsWith(FILE_PREFIX)) {\n const filePath = url.slice(FILE_PREFIX.length);\n if (!isValidLocalPath(filePath)) {\n return null;\n }\n const fileContent = await readLocalFile(filePath, 'utf8');\n if (!fileContent) {\n return null;\n }\n metadata = BazelModuleMetadata.parse(JSON.parse(fileContent));\n } else {\n const response = await this.http.getJson(url, BazelModuleMetadata);\n metadata = response.body;\n }\n\n result.releases = metadata.versions\n .map((v) => new BzlmodVersion(v))\n .sort(BzlmodVersion.defaultCompare)\n .map((bv) => {\n const release: Release = { version: bv.original };\n if (isTruthy(metadata.yanked_versions?.[bv.original])) {\n release.isDeprecated = true;\n }\n return release;\n });\n if (metadata.homepage) {\n result.homepage = metadata.homepage;\n }\n } catch (err) {\n if (err instanceof HttpError) {\n if (err.response?.statusCode === 404) {\n return null;\n }\n throw new ExternalHostError(err);\n }\n this.handleGenericErrors(err);\n }\n\n return result.releases.length ? result : null;\n }\n}\n"]}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BitriseDatasource = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
5
+ const is_1 = require("@sindresorhus/is");
6
6
  const logger_1 = require("../../../logger");
7
7
  const decorator_1 = require("../../../util/cache/package/decorator");
8
8
  const common_1 = require("../../../util/common");
@@ -48,7 +48,7 @@ class BitriseDatasource extends datasource_1.Datasource {
48
48
  : `https://${parsedUrl.resource}/api/v3`;
49
49
  const packageUrl = (0, url_2.joinUrlParts)(baseApiURL, 'repos', parsedUrl.full_name, 'contents/steps', massagedPackageName);
50
50
  const { body: packageRaw } = await this.http.getJson(packageUrl, schema_1.GithubContentResponse);
51
- if (!is_1.default.array(packageRaw)) {
51
+ if (!(0, is_1.isArray)(packageRaw)) {
52
52
  logger_1.logger.warn({ data: packageRaw, url: packageUrl }, 'Got unexpected response for Bitrise package location');
53
53
  return null;
54
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/bitrise/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { detectPlatform } from '../../../util/common';\nimport { parseGitUrl } from '../../../util/git/url';\nimport { GithubHttp } from '../../../util/http/github';\nimport { fromBase64 } from '../../../util/string';\nimport { joinUrlParts } from '../../../util/url';\nimport { GithubContentResponse } from '../../platform/github/schema';\nimport semver from '../../versioning/semver';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, ReleaseResult } from '../types';\nimport { BitriseStepFile } from './schema';\n\nexport class BitriseDatasource extends Datasource {\n static readonly id = 'bitrise';\n\n override readonly http: GithubHttp;\n\n constructor() {\n super(BitriseDatasource.id);\n\n this.http = new GithubHttp(this.id);\n }\n\n override readonly customRegistrySupport = true;\n\n override readonly defaultRegistryUrls = [\n 'https://github.com/bitrise-io/bitrise-steplib.git',\n ];\n\n override readonly releaseTimestampSupport = true;\n override readonly releaseTimestampNote =\n 'The release timestamp is determined from the `published_at` field in the results.';\n override readonly sourceUrlSupport = 'release';\n override readonly sourceUrlNote =\n 'The source URL is determined from the `source_code_url` field of the release object in the results.';\n\n @cache({\n namespace: `datasource-${BitriseDatasource.id}`,\n key: ({ packageName, registryUrl }: GetReleasesConfig) =>\n `${registryUrl}/${packageName}`,\n })\n async getReleases({\n packageName,\n registryUrl,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n /* v8 ignore next 3 -- should never happen */\n if (!registryUrl) {\n return null;\n }\n\n const parsedUrl = parseGitUrl(registryUrl);\n if (detectPlatform(registryUrl) !== 'github') {\n logger.once.warn(\n `${parsedUrl.source} is not a supported Git hoster for this datasource`,\n );\n return null;\n }\n\n const result: ReleaseResult = {\n releases: [],\n };\n\n const massagedPackageName = encodeURIComponent(packageName);\n const baseApiURL =\n parsedUrl.resource === 'github.com'\n ? 'https://api.github.com'\n : `https://${parsedUrl.resource}/api/v3`;\n const packageUrl = joinUrlParts(\n baseApiURL,\n 'repos',\n parsedUrl.full_name,\n 'contents/steps',\n massagedPackageName,\n );\n\n const { body: packageRaw } = await this.http.getJson(\n packageUrl,\n GithubContentResponse,\n );\n\n if (!is.array(packageRaw)) {\n logger.warn(\n { data: packageRaw, url: packageUrl },\n 'Got unexpected response for Bitrise package location',\n );\n return null;\n }\n\n for (const versionDir of packageRaw.filter((element) =>\n semver.isValid(element.name),\n )) {\n const stepUrl = joinUrlParts(packageUrl, versionDir.name, 'step.yml');\n // TODO use getRawFile when ready #30155\n const { body } = await this.http.getJson(stepUrl, GithubContentResponse);\n if (!('content' in body)) {\n logger.warn(\n { data: body, url: stepUrl },\n 'Got unexpected response for Bitrise step location',\n );\n return null;\n }\n if (body.encoding !== 'base64') {\n logger.warn(\n { encoding: body.encoding, data: body, url: stepUrl },\n `Got unexpected encoding for Bitrise step location`,\n );\n return null;\n }\n\n const content = fromBase64(body.content);\n const { published_at, source_code_url } = BitriseStepFile.parse(content);\n\n result.releases.push({\n version: versionDir.name,\n releaseTimestamp: published_at,\n sourceUrl: source_code_url,\n });\n }\n\n // if we have no releases return null\n if (!result.releases.length) {\n return null;\n }\n\n return {\n ...result,\n homepage: `https://bitrise.io/integrations/steps/${packageName}`,\n };\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/bitrise/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { isArray } from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { detectPlatform } from '../../../util/common';\nimport { parseGitUrl } from '../../../util/git/url';\nimport { GithubHttp } from '../../../util/http/github';\nimport { fromBase64 } from '../../../util/string';\nimport { joinUrlParts } from '../../../util/url';\nimport { GithubContentResponse } from '../../platform/github/schema';\nimport semver from '../../versioning/semver';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, ReleaseResult } from '../types';\nimport { BitriseStepFile } from './schema';\n\nexport class BitriseDatasource extends Datasource {\n static readonly id = 'bitrise';\n\n override readonly http: GithubHttp;\n\n constructor() {\n super(BitriseDatasource.id);\n\n this.http = new GithubHttp(this.id);\n }\n\n override readonly customRegistrySupport = true;\n\n override readonly defaultRegistryUrls = [\n 'https://github.com/bitrise-io/bitrise-steplib.git',\n ];\n\n override readonly releaseTimestampSupport = true;\n override readonly releaseTimestampNote =\n 'The release timestamp is determined from the `published_at` field in the results.';\n override readonly sourceUrlSupport = 'release';\n override readonly sourceUrlNote =\n 'The source URL is determined from the `source_code_url` field of the release object in the results.';\n\n @cache({\n namespace: `datasource-${BitriseDatasource.id}`,\n key: ({ packageName, registryUrl }: GetReleasesConfig) =>\n `${registryUrl}/${packageName}`,\n })\n async getReleases({\n packageName,\n registryUrl,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n /* v8 ignore next 3 -- should never happen */\n if (!registryUrl) {\n return null;\n }\n\n const parsedUrl = parseGitUrl(registryUrl);\n if (detectPlatform(registryUrl) !== 'github') {\n logger.once.warn(\n `${parsedUrl.source} is not a supported Git hoster for this datasource`,\n );\n return null;\n }\n\n const result: ReleaseResult = {\n releases: [],\n };\n\n const massagedPackageName = encodeURIComponent(packageName);\n const baseApiURL =\n parsedUrl.resource === 'github.com'\n ? 'https://api.github.com'\n : `https://${parsedUrl.resource}/api/v3`;\n const packageUrl = joinUrlParts(\n baseApiURL,\n 'repos',\n parsedUrl.full_name,\n 'contents/steps',\n massagedPackageName,\n );\n\n const { body: packageRaw } = await this.http.getJson(\n packageUrl,\n GithubContentResponse,\n );\n\n if (!isArray(packageRaw)) {\n logger.warn(\n { data: packageRaw, url: packageUrl },\n 'Got unexpected response for Bitrise package location',\n );\n return null;\n }\n\n for (const versionDir of packageRaw.filter((element) =>\n semver.isValid(element.name),\n )) {\n const stepUrl = joinUrlParts(packageUrl, versionDir.name, 'step.yml');\n // TODO use getRawFile when ready #30155\n const { body } = await this.http.getJson(stepUrl, GithubContentResponse);\n if (!('content' in body)) {\n logger.warn(\n { data: body, url: stepUrl },\n 'Got unexpected response for Bitrise step location',\n );\n return null;\n }\n if (body.encoding !== 'base64') {\n logger.warn(\n { encoding: body.encoding, data: body, url: stepUrl },\n `Got unexpected encoding for Bitrise step location`,\n );\n return null;\n }\n\n const content = fromBase64(body.content);\n const { published_at, source_code_url } = BitriseStepFile.parse(content);\n\n result.releases.push({\n version: versionDir.name,\n releaseTimestamp: published_at,\n sourceUrl: source_code_url,\n });\n }\n\n // if we have no releases return null\n if (!result.releases.length) {\n return null;\n }\n\n return {\n ...result,\n homepage: `https://bitrise.io/integrations/steps/${packageName}`,\n };\n }\n}\n"]}
@@ -9,7 +9,7 @@ exports.filterValidVersions = filterValidVersions;
9
9
  exports.sortAndRemoveDuplicates = sortAndRemoveDuplicates;
10
10
  exports.applyConstraintsFiltering = applyConstraintsFiltering;
11
11
  const tslib_1 = require("tslib");
12
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
12
+ const is_1 = require("@sindresorhus/is");
13
13
  const logger_1 = require("../../logger");
14
14
  const filter_map_1 = require("../../util/filter-map");
15
15
  const regex_1 = require("../../util/regex");
@@ -38,8 +38,8 @@ function getDefaultVersioning(datasourceName) {
38
38
  return datasource.defaultVersioning;
39
39
  }
40
40
  function isGetPkgReleasesConfig(input) {
41
- return (is_1.default.nonEmptyStringAndNotWhitespace(input.datasource) &&
42
- is_1.default.nonEmptyStringAndNotWhitespace(input.packageName));
41
+ return ((0, is_1.isNonEmptyStringAndNotWhitespace)(input.datasource) &&
42
+ (0, is_1.isNonEmptyStringAndNotWhitespace)(input.packageName));
43
43
  }
44
44
  function applyVersionCompatibility(releaseResult, versionCompatibility, currentCompatibility) {
45
45
  if (!versionCompatibility) {
@@ -132,7 +132,7 @@ function applyConstraintsFiltering(releaseResult, config) {
132
132
  continue;
133
133
  }
134
134
  const constraint = releaseConstraints[name];
135
- if (!is_1.default.nonEmptyArray(constraint)) {
135
+ if (!(0, is_1.isNonEmptyArray)(constraint)) {
136
136
  // A release with no constraints is OK
137
137
  continue;
138
138
  }
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../lib/modules/datasource/common.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../logger';\nimport { filterMap } from '../../util/filter-map';\nimport { regEx } from '../../util/regex';\nimport { defaultVersioning } from '../versioning';\nimport * as allVersioning from '../versioning';\nimport datasources from './api';\nimport { CustomDatasource } from './custom';\nimport type {\n DatasourceApi,\n GetPkgReleasesConfig,\n ReleaseResult,\n} from './types';\n\nexport function getDatasourceFor(datasource: string): DatasourceApi | null {\n if (datasource?.startsWith('custom.')) {\n return getDatasourceFor(CustomDatasource.id);\n }\n return datasources.get(datasource) ?? null;\n}\n\nexport function getDefaultVersioning(\n datasourceName: string | undefined,\n): string {\n if (!datasourceName) {\n return defaultVersioning.id;\n }\n\n const datasource = getDatasourceFor(datasourceName);\n\n if (!datasource) {\n logger.warn({ datasourceName }, 'Missing datasource!');\n return defaultVersioning.id;\n }\n\n if (!datasource.defaultVersioning) {\n return defaultVersioning.id;\n }\n\n return datasource.defaultVersioning;\n}\n\nexport function isGetPkgReleasesConfig(\n input: unknown,\n): input is GetPkgReleasesConfig {\n return (\n is.nonEmptyStringAndNotWhitespace(\n (input as GetPkgReleasesConfig).datasource,\n ) &&\n is.nonEmptyStringAndNotWhitespace(\n (input as GetPkgReleasesConfig).packageName,\n )\n );\n}\n\nexport function applyVersionCompatibility(\n releaseResult: ReleaseResult,\n versionCompatibility: string | undefined,\n currentCompatibility: string | undefined,\n): ReleaseResult {\n if (!versionCompatibility) {\n return releaseResult;\n }\n\n const versionCompatibilityRegEx = regEx(versionCompatibility);\n releaseResult.releases = filterMap(releaseResult.releases, (release) => {\n const regexResult = versionCompatibilityRegEx.exec(release.version);\n if (!regexResult?.groups?.version) {\n logger.trace(\n { releaseVersion: release.version, versionCompatibility },\n 'versionCompatibility: Does not match regex',\n );\n return null;\n }\n if (regexResult?.groups?.compatibility !== currentCompatibility) {\n logger.trace(\n { releaseVersion: release.version, versionCompatibility },\n 'versionCompatibility: Does not match compatibility',\n );\n return null;\n }\n logger.trace(\n {\n releaseVersion: release.version,\n versionCompatibility,\n version: regexResult.groups.version,\n compatibility: regexResult.groups.compatibility,\n },\n 'versionCompatibility: matches',\n );\n release.version = regexResult.groups.version;\n return release;\n });\n\n return releaseResult;\n}\n\nexport function applyExtractVersion(\n releaseResult: ReleaseResult,\n extractVersion: string | undefined,\n): ReleaseResult {\n if (!extractVersion) {\n return releaseResult;\n }\n\n const extractVersionRegEx = regEx(extractVersion);\n releaseResult.releases = filterMap(releaseResult.releases, (release) => {\n const version = extractVersionRegEx.exec(release.version)?.groups?.version;\n if (!version) {\n return null;\n }\n\n release.versionOrig = release.version;\n release.version = version;\n return release;\n });\n\n return releaseResult;\n}\n\nexport function filterValidVersions<\n Config extends Pick<GetPkgReleasesConfig, 'versioning' | 'datasource'>,\n>(releaseResult: ReleaseResult, config: Config): ReleaseResult {\n const versioningName =\n config.versioning ?? getDefaultVersioning(config.datasource);\n const versioning = allVersioning.get(versioningName);\n\n releaseResult.releases = filterMap(releaseResult.releases, (release) =>\n versioning.isVersion(release.version) ? release : null,\n );\n\n return releaseResult;\n}\n\nexport function sortAndRemoveDuplicates<\n Config extends Pick<GetPkgReleasesConfig, 'versioning' | 'datasource'>,\n>(releaseResult: ReleaseResult, config: Config): ReleaseResult {\n const versioningName =\n config.versioning ?? getDefaultVersioning(config.datasource);\n const versioning = allVersioning.get(versioningName);\n\n releaseResult.releases = releaseResult.releases.sort((a, b) =>\n versioning.sortVersions(a.version, b.version),\n );\n\n // Once releases are sorted, deduplication is straightforward and efficient\n let previousVersion: string | null = null;\n releaseResult.releases = filterMap(releaseResult.releases, (release) => {\n if (previousVersion === release.version) {\n return null;\n }\n previousVersion = release.version;\n return release;\n });\n\n return releaseResult;\n}\n\nexport function applyConstraintsFiltering<\n Config extends Pick<\n GetPkgReleasesConfig,\n | 'constraintsFiltering'\n | 'versioning'\n | 'datasource'\n | 'constraints'\n | 'packageName'\n >,\n>(releaseResult: ReleaseResult, config: Config): ReleaseResult {\n if (config?.constraintsFiltering !== 'strict') {\n for (const release of releaseResult.releases) {\n delete release.constraints;\n }\n\n return releaseResult;\n }\n\n const versioningName =\n config.versioning ?? getDefaultVersioning(config.datasource);\n const versioning = allVersioning.get(versioningName);\n\n const configConstraints = config.constraints;\n const filteredReleases: string[] = [];\n const startingLength = releaseResult.releases.length;\n releaseResult.releases = filterMap(releaseResult.releases, (release) => {\n const releaseConstraints = release.constraints;\n delete release.constraints;\n\n if (!configConstraints || !releaseConstraints) {\n return release;\n }\n\n for (const [name, configConstraint] of Object.entries(configConstraints)) {\n if (!versioning.isValid(configConstraint)) {\n logger.once.warn(\n {\n packageName: config.packageName,\n constraint: configConstraint,\n versioning: versioningName,\n },\n 'Invalid constraint used with strict constraintsFiltering',\n );\n continue;\n }\n\n const constraint = releaseConstraints[name];\n if (!is.nonEmptyArray(constraint)) {\n // A release with no constraints is OK\n continue;\n }\n\n let satisfiesConstraints = false;\n for (const releaseConstraint of constraint) {\n if (!releaseConstraint) {\n satisfiesConstraints = true;\n logger.once.debug(\n {\n packageName: config.packageName,\n versioning: versioningName,\n constraint: releaseConstraint,\n },\n 'Undefined release constraint',\n );\n break;\n }\n\n if (!versioning.isValid(releaseConstraint)) {\n logger.once.debug(\n {\n packageName: config.packageName,\n versioning: versioningName,\n constraint: releaseConstraint,\n },\n 'Invalid release constraint',\n );\n break;\n }\n\n if (configConstraint === releaseConstraint) {\n satisfiesConstraints = true;\n break;\n }\n\n if (versioning.subset?.(configConstraint, releaseConstraint)) {\n satisfiesConstraints = true;\n break;\n }\n\n if (versioning.matches(configConstraint, releaseConstraint)) {\n satisfiesConstraints = true;\n break;\n }\n }\n\n if (!satisfiesConstraints) {\n filteredReleases.push(release.version);\n return null;\n }\n }\n\n return release;\n });\n\n if (filteredReleases.length) {\n const count = filteredReleases.length;\n const packageName = config.packageName;\n const releases = filteredReleases.join(', ');\n logger.debug(\n `Filtered out ${count} non-matching releases out of ${startingLength} total for ${packageName} due to constraintsFiltering=strict: ${releases}`,\n );\n }\n\n return releaseResult;\n}\n"]}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../lib/modules/datasource/common.ts"],"names":[],"mappings":";;AAiBA,4CAKC;AAED,oDAmBC;AAED,wDAWC;AAED,8DAwCC;AAED,kDAqBC;AAED,kDAYC;AAED,0DAsBC;AAED,8DAkHC;;AAnRD,yCAG0B;AAC1B,yCAAsC;AACtC,sDAAkD;AAClD,4CAAyC;AACzC,8CAAkD;AAClD,qEAA+C;AAC/C,wDAAgC;AAChC,qCAA4C;AAO5C,SAAgB,gBAAgB,CAAC,UAAkB;IACjD,IAAI,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,OAAO,gBAAgB,CAAC,yBAAgB,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,aAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;AAC7C,CAAC;AAED,SAAgB,oBAAoB,CAClC,cAAkC;IAElC,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,8BAAiB,CAAC,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAEpD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,eAAM,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,EAAE,qBAAqB,CAAC,CAAC;QACvD,OAAO,8BAAiB,CAAC,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;QAClC,OAAO,8BAAiB,CAAC,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO,UAAU,CAAC,iBAAiB,CAAC;AACtC,CAAC;AAED,SAAgB,sBAAsB,CACpC,KAAc;IAEd,OAAO,CACL,IAAA,qCAAgC,EAC7B,KAA8B,CAAC,UAAU,CAC3C;QACD,IAAA,qCAAgC,EAC7B,KAA8B,CAAC,WAAW,CAC5C,CACF,CAAC;AACJ,CAAC;AAED,SAAgB,yBAAyB,CACvC,aAA4B,EAC5B,oBAAwC,EACxC,oBAAwC;IAExC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,yBAAyB,GAAG,IAAA,aAAK,EAAC,oBAAoB,CAAC,CAAC;IAC9D,aAAa,CAAC,QAAQ,GAAG,IAAA,sBAAS,EAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;QACrE,MAAM,WAAW,GAAG,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAClC,eAAM,CAAC,KAAK,CACV,EAAE,cAAc,EAAE,OAAO,CAAC,OAAO,EAAE,oBAAoB,EAAE,EACzD,4CAA4C,CAC7C,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,WAAW,EAAE,MAAM,EAAE,aAAa,KAAK,oBAAoB,EAAE,CAAC;YAChE,eAAM,CAAC,KAAK,CACV,EAAE,cAAc,EAAE,OAAO,CAAC,OAAO,EAAE,oBAAoB,EAAE,EACzD,oDAAoD,CACrD,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,eAAM,CAAC,KAAK,CACV;YACE,cAAc,EAAE,OAAO,CAAC,OAAO;YAC/B,oBAAoB;YACpB,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO;YACnC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,aAAa;SAChD,EACD,+BAA+B,CAChC,CAAC;QACF,OAAO,CAAC,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;QAC7C,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAgB,mBAAmB,CACjC,aAA4B,EAC5B,cAAkC;IAElC,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,mBAAmB,GAAG,IAAA,aAAK,EAAC,cAAc,CAAC,CAAC;IAClD,aAAa,CAAC,QAAQ,GAAG,IAAA,sBAAS,EAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;QACrE,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC;QAC3E,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;QACtC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1B,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAgB,mBAAmB,CAEjC,aAA4B,EAAE,MAAc;IAC5C,MAAM,cAAc,GAClB,MAAM,CAAC,UAAU,IAAI,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAErD,aAAa,CAAC,QAAQ,GAAG,IAAA,sBAAS,EAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CACrE,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CACvD,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAgB,uBAAuB,CAErC,aAA4B,EAAE,MAAc;IAC5C,MAAM,cAAc,GAClB,MAAM,CAAC,UAAU,IAAI,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAErD,aAAa,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC5D,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAC9C,CAAC;IAEF,2EAA2E;IAC3E,IAAI,eAAe,GAAkB,IAAI,CAAC;IAC1C,aAAa,CAAC,QAAQ,GAAG,IAAA,sBAAS,EAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;QACrE,IAAI,eAAe,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAgB,yBAAyB,CASvC,aAA4B,EAAE,MAAc;IAC5C,IAAI,MAAM,EAAE,oBAAoB,KAAK,QAAQ,EAAE,CAAC;QAC9C,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC7C,OAAO,OAAO,CAAC,WAAW,CAAC;QAC7B,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,cAAc,GAClB,MAAM,CAAC,UAAU,IAAI,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAErD,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC;IAC7C,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;IACrD,aAAa,CAAC,QAAQ,GAAG,IAAA,sBAAS,EAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;QACrE,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC;QAC/C,OAAO,OAAO,CAAC,WAAW,CAAC;QAE3B,IAAI,CAAC,iBAAiB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC9C,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC1C,eAAM,CAAC,IAAI,CAAC,IAAI,CACd;oBACE,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,UAAU,EAAE,gBAAgB;oBAC5B,UAAU,EAAE,cAAc;iBAC3B,EACD,0DAA0D,CAC3D,CAAC;gBACF,SAAS;YACX,CAAC;YAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,IAAA,oBAAe,EAAC,UAAU,CAAC,EAAE,CAAC;gBACjC,sCAAsC;gBACtC,SAAS;YACX,CAAC;YAED,IAAI,oBAAoB,GAAG,KAAK,CAAC;YACjC,KAAK,MAAM,iBAAiB,IAAI,UAAU,EAAE,CAAC;gBAC3C,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,oBAAoB,GAAG,IAAI,CAAC;oBAC5B,eAAM,CAAC,IAAI,CAAC,KAAK,CACf;wBACE,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,UAAU,EAAE,cAAc;wBAC1B,UAAU,EAAE,iBAAiB;qBAC9B,EACD,8BAA8B,CAC/B,CAAC;oBACF,MAAM;gBACR,CAAC;gBAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBAC3C,eAAM,CAAC,IAAI,CAAC,KAAK,CACf;wBACE,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,UAAU,EAAE,cAAc;wBAC1B,UAAU,EAAE,iBAAiB;qBAC9B,EACD,4BAA4B,CAC7B,CAAC;oBACF,MAAM;gBACR,CAAC;gBAED,IAAI,gBAAgB,KAAK,iBAAiB,EAAE,CAAC;oBAC3C,oBAAoB,GAAG,IAAI,CAAC;oBAC5B,MAAM;gBACR,CAAC;gBAED,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,EAAE,CAAC;oBAC7D,oBAAoB,GAAG,IAAI,CAAC;oBAC5B,MAAM;gBACR,CAAC;gBAED,IAAI,UAAU,CAAC,OAAO,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,EAAE,CAAC;oBAC5D,oBAAoB,GAAG,IAAI,CAAC;oBAC5B,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC1B,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACvC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC;QACtC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,eAAM,CAAC,KAAK,CACV,gBAAgB,KAAK,iCAAiC,cAAc,cAAc,WAAW,wCAAwC,QAAQ,EAAE,CAChJ,CAAC;IACJ,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC","sourcesContent":["import {\n isNonEmptyArray,\n isNonEmptyStringAndNotWhitespace,\n} from '@sindresorhus/is';\nimport { logger } from '../../logger';\nimport { filterMap } from '../../util/filter-map';\nimport { regEx } from '../../util/regex';\nimport { defaultVersioning } from '../versioning';\nimport * as allVersioning from '../versioning';\nimport datasources from './api';\nimport { CustomDatasource } from './custom';\nimport type {\n DatasourceApi,\n GetPkgReleasesConfig,\n ReleaseResult,\n} from './types';\n\nexport function getDatasourceFor(datasource: string): DatasourceApi | null {\n if (datasource?.startsWith('custom.')) {\n return getDatasourceFor(CustomDatasource.id);\n }\n return datasources.get(datasource) ?? null;\n}\n\nexport function getDefaultVersioning(\n datasourceName: string | undefined,\n): string {\n if (!datasourceName) {\n return defaultVersioning.id;\n }\n\n const datasource = getDatasourceFor(datasourceName);\n\n if (!datasource) {\n logger.warn({ datasourceName }, 'Missing datasource!');\n return defaultVersioning.id;\n }\n\n if (!datasource.defaultVersioning) {\n return defaultVersioning.id;\n }\n\n return datasource.defaultVersioning;\n}\n\nexport function isGetPkgReleasesConfig(\n input: unknown,\n): input is GetPkgReleasesConfig {\n return (\n isNonEmptyStringAndNotWhitespace(\n (input as GetPkgReleasesConfig).datasource,\n ) &&\n isNonEmptyStringAndNotWhitespace(\n (input as GetPkgReleasesConfig).packageName,\n )\n );\n}\n\nexport function applyVersionCompatibility(\n releaseResult: ReleaseResult,\n versionCompatibility: string | undefined,\n currentCompatibility: string | undefined,\n): ReleaseResult {\n if (!versionCompatibility) {\n return releaseResult;\n }\n\n const versionCompatibilityRegEx = regEx(versionCompatibility);\n releaseResult.releases = filterMap(releaseResult.releases, (release) => {\n const regexResult = versionCompatibilityRegEx.exec(release.version);\n if (!regexResult?.groups?.version) {\n logger.trace(\n { releaseVersion: release.version, versionCompatibility },\n 'versionCompatibility: Does not match regex',\n );\n return null;\n }\n if (regexResult?.groups?.compatibility !== currentCompatibility) {\n logger.trace(\n { releaseVersion: release.version, versionCompatibility },\n 'versionCompatibility: Does not match compatibility',\n );\n return null;\n }\n logger.trace(\n {\n releaseVersion: release.version,\n versionCompatibility,\n version: regexResult.groups.version,\n compatibility: regexResult.groups.compatibility,\n },\n 'versionCompatibility: matches',\n );\n release.version = regexResult.groups.version;\n return release;\n });\n\n return releaseResult;\n}\n\nexport function applyExtractVersion(\n releaseResult: ReleaseResult,\n extractVersion: string | undefined,\n): ReleaseResult {\n if (!extractVersion) {\n return releaseResult;\n }\n\n const extractVersionRegEx = regEx(extractVersion);\n releaseResult.releases = filterMap(releaseResult.releases, (release) => {\n const version = extractVersionRegEx.exec(release.version)?.groups?.version;\n if (!version) {\n return null;\n }\n\n release.versionOrig = release.version;\n release.version = version;\n return release;\n });\n\n return releaseResult;\n}\n\nexport function filterValidVersions<\n Config extends Pick<GetPkgReleasesConfig, 'versioning' | 'datasource'>,\n>(releaseResult: ReleaseResult, config: Config): ReleaseResult {\n const versioningName =\n config.versioning ?? getDefaultVersioning(config.datasource);\n const versioning = allVersioning.get(versioningName);\n\n releaseResult.releases = filterMap(releaseResult.releases, (release) =>\n versioning.isVersion(release.version) ? release : null,\n );\n\n return releaseResult;\n}\n\nexport function sortAndRemoveDuplicates<\n Config extends Pick<GetPkgReleasesConfig, 'versioning' | 'datasource'>,\n>(releaseResult: ReleaseResult, config: Config): ReleaseResult {\n const versioningName =\n config.versioning ?? getDefaultVersioning(config.datasource);\n const versioning = allVersioning.get(versioningName);\n\n releaseResult.releases = releaseResult.releases.sort((a, b) =>\n versioning.sortVersions(a.version, b.version),\n );\n\n // Once releases are sorted, deduplication is straightforward and efficient\n let previousVersion: string | null = null;\n releaseResult.releases = filterMap(releaseResult.releases, (release) => {\n if (previousVersion === release.version) {\n return null;\n }\n previousVersion = release.version;\n return release;\n });\n\n return releaseResult;\n}\n\nexport function applyConstraintsFiltering<\n Config extends Pick<\n GetPkgReleasesConfig,\n | 'constraintsFiltering'\n | 'versioning'\n | 'datasource'\n | 'constraints'\n | 'packageName'\n >,\n>(releaseResult: ReleaseResult, config: Config): ReleaseResult {\n if (config?.constraintsFiltering !== 'strict') {\n for (const release of releaseResult.releases) {\n delete release.constraints;\n }\n\n return releaseResult;\n }\n\n const versioningName =\n config.versioning ?? getDefaultVersioning(config.datasource);\n const versioning = allVersioning.get(versioningName);\n\n const configConstraints = config.constraints;\n const filteredReleases: string[] = [];\n const startingLength = releaseResult.releases.length;\n releaseResult.releases = filterMap(releaseResult.releases, (release) => {\n const releaseConstraints = release.constraints;\n delete release.constraints;\n\n if (!configConstraints || !releaseConstraints) {\n return release;\n }\n\n for (const [name, configConstraint] of Object.entries(configConstraints)) {\n if (!versioning.isValid(configConstraint)) {\n logger.once.warn(\n {\n packageName: config.packageName,\n constraint: configConstraint,\n versioning: versioningName,\n },\n 'Invalid constraint used with strict constraintsFiltering',\n );\n continue;\n }\n\n const constraint = releaseConstraints[name];\n if (!isNonEmptyArray(constraint)) {\n // A release with no constraints is OK\n continue;\n }\n\n let satisfiesConstraints = false;\n for (const releaseConstraint of constraint) {\n if (!releaseConstraint) {\n satisfiesConstraints = true;\n logger.once.debug(\n {\n packageName: config.packageName,\n versioning: versioningName,\n constraint: releaseConstraint,\n },\n 'Undefined release constraint',\n );\n break;\n }\n\n if (!versioning.isValid(releaseConstraint)) {\n logger.once.debug(\n {\n packageName: config.packageName,\n versioning: versioningName,\n constraint: releaseConstraint,\n },\n 'Invalid release constraint',\n );\n break;\n }\n\n if (configConstraint === releaseConstraint) {\n satisfiesConstraints = true;\n break;\n }\n\n if (versioning.subset?.(configConstraint, releaseConstraint)) {\n satisfiesConstraints = true;\n break;\n }\n\n if (versioning.matches(configConstraint, releaseConstraint)) {\n satisfiesConstraints = true;\n break;\n }\n }\n\n if (!satisfiesConstraints) {\n filteredReleases.push(release.version);\n return null;\n }\n }\n\n return release;\n });\n\n if (filteredReleases.length) {\n const count = filteredReleases.length;\n const packageName = config.packageName;\n const releases = filteredReleases.join(', ');\n logger.debug(\n `Filtered out ${count} non-matching releases out of ${startingLength} total for ${packageName} due to constraintsFiltering=strict: ${releases}`,\n );\n }\n\n return releaseResult;\n}\n"]}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ConanDatasource = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
5
+ const is_1 = require("@sindresorhus/is");
6
6
  const logger_1 = require("../../../logger");
7
7
  const decorator_1 = require("../../../util/cache/package/decorator");
8
8
  const github_1 = require("../../../util/http/github");
@@ -35,7 +35,7 @@ class ConanDatasource extends datasource_1.Datasource {
35
35
  return result;
36
36
  }
37
37
  async getDigest({ registryUrl, packageName }, newValue) {
38
- if (is_1.default.undefined(newValue) || is_1.default.undefined(registryUrl)) {
38
+ if ((0, is_1.isUndefined)(newValue) || (0, is_1.isUndefined)(registryUrl)) {
39
39
  return null;
40
40
  }
41
41
  const url = (0, url_1.ensureTrailingSlash)(registryUrl);
@@ -47,7 +47,7 @@ class ConanDatasource extends datasource_1.Datasource {
47
47
  async getReleases({ registryUrl, packageName, }) {
48
48
  const conanPackage = (0, common_1.getConanPackage)(packageName);
49
49
  const userAndChannel = '@' + conanPackage.userAndChannel;
50
- if (is_1.default.string(registryUrl) &&
50
+ if ((0, is_1.isString)(registryUrl) &&
51
51
  (0, url_1.ensureTrailingSlash)(registryUrl) === common_1.defaultRegistryUrl) {
52
52
  return this.getConanCenterReleases(conanPackage.conanName, userAndChannel);
53
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/conan/index.ts"],"names":[],"mappings":";;;;AAAA,kEAAkC;AAClC,4CAAyC;AACzC,qEAA8D;AAC9D,sDAAuD;AACvD,+CAA4C;AAC5C,2CAAsE;AACtE,wEAAkD;AAClD,8CAA2C;AAO3C,kCAA8C;AAC9C,qCAA2E;AAC3E,qCAMkB;AAElB,MAAa,eAAgB,SAAQ,uBAAU;IAC7C,MAAM,CAAU,EAAE,GAAG,mBAAU,CAAC;IAEd,mBAAmB,GAAG,CAAC,2BAAkB,CAAC,CAAC;IAE3C,OAAO,GAAG,IAAI,CAAC;IAEf,gBAAgB,GAAG,OAAO,CAAC;IAE7C,UAAU,CAAa;IAEL,gBAAgB,GAAG,SAAS,CAAC;IAC7B,aAAa,GAC7B,sLAAsL,CAAC;IAEzL,YAAY,EAAE,GAAG,eAAe,CAAC,EAAE;QACjC,KAAK,CAAC,EAAE,CAAC,CAAC;QACV,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAU,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,SAAiB,EACjB,cAAsB;QAEtB,IAAI,cAAc,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;YAChD,eAAM,CAAC,KAAK,CACV,EAAE,SAAS,EAAE,cAAc,EAAE,EAC7B,qDAAqD,CACtD,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,GAAG,GAAG,6EAA6E,SAAS,aAAa,CAAC;QAChH,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CACpD,GAAG,EACH,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,+BAA+B,EAAE,EAAE,EACxD,4BAAmB,CACpB,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAQc,AAAN,KAAK,CAAC,SAAS,CACtB,EAAE,WAAW,EAAE,WAAW,EAAgB,EAC1C,QAAiB;QAEjB,IAAI,YAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,YAAE,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,GAAG,GAAG,IAAA,yBAAmB,EAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,IAAA,wBAAe,EAAC,WAAW,CAAC,CAAC;QAClD,MAAM,cAAc,GAAG,IAAA,kBAAY,EACjC,GAAG,EACH,YAAY,EACZ,YAAY,CAAC,SAAS,EACtB,QAAQ,EACR,YAAY,CAAC,cAAc,EAC3B,YAAY,CACb,CAAC;QACF,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAC9C,cAAc,EACd,4BAAmB,CACpB,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAQK,AAAN,KAAK,CAAC,WAAW,CAAC,EAChB,WAAW,EACX,WAAW,GACO;QAClB,MAAM,YAAY,GAAG,IAAA,wBAAe,EAAC,WAAW,CAAC,CAAC;QAClD,MAAM,cAAc,GAAG,GAAG,GAAG,YAAY,CAAC,cAAc,CAAC;QACzD,IACE,YAAE,CAAC,MAAM,CAAC,WAAW,CAAC;YACtB,IAAA,yBAAmB,EAAC,WAAW,CAAC,KAAK,2BAAkB,EACvD,CAAC;YACD,OAAO,IAAI,CAAC,sBAAsB,CAChC,YAAY,CAAC,SAAS,EACtB,cAAc,CACf,CAAC;QACJ,CAAC;QAED,eAAM,CAAC,KAAK,CACV,EAAE,WAAW,EAAE,WAAW,EAAE,EAC5B,iCAAiC,CAClC,CAAC;QAEF,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,IAAA,yBAAmB,EAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,SAAS,GAAG,IAAA,kBAAY,EAC5B,GAAG,EACH,sBAAsB,YAAY,CAAC,SAAS,EAAE,CAC/C,CAAC;YAEF,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;gBACxD,MAAM,SAAS,GAAG,kBAAS,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,SAAS,EAAE,CAAC;oBACd,eAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,sBAAsB,CAAC,CAAC;oBACpD,MAAM,GAAG,GAAkB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;oBAE5C,MAAM,iBAAiB,GAAc,SAAS;yBAC3C,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,KAAK,cAAc,CAAC;yBAC3D,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;oBACvC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;oBAExC,IAAI,CAAC;wBACH,IAAI,IAAA,0BAAmB,EAAC,GAAG,CAAC,EAAE,CAAC;4BAC7B,MAAM,cAAc,GAAG,IAAA,aAAK,EAC1B,sDAAsD,CACvD,CAAC;4BACF,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;4BAChD,IAAI,CAAC,MAAM,EAAE,CAAC;gCACZ,OAAO,GAAG,CAAC;4BACb,CAAC;4BACD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BAE3C,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ;iCAChC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iCACtD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;4BAE7D,MAAM,aAAa,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;4BAErD,IAAI,CAAC,aAAa,EAAE,CAAC;gCACnB,OAAO,GAAG,CAAC;4BACb,CAAC;4BACD,eAAM,CAAC,KAAK,CACV,iBAAiB,WAAW,uBAAuB,aAAa,EAAE,CACnE,CAAC;4BAEF,MAAM,iBAAiB,GAAG,IAAA,kBAAY,EACpC,GAAG,EACH,aAAa,YAAY,CAAC,SAAS,IAAI,aAAa,IAAI,YAAY,CAAC,cAAc,SAAS,CAC7F,CAAC;4BACF,MAAM,EACJ,IAAI,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GAC/B,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,0BAAiB,CAAC,CAAC;4BAElE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAC/D,MAAM,UAAU,GAAG,IAAA,kBAAY,EAC7B,GAAG,MAAM,CAAC,IAAI,4BAA4B,MAAM,CAAC,IAAI,EAAE,EACvD,GAAG,IAAI,IAAI,YAAY,CAAC,SAAS,IAAI,aAAa,IAAI,OAAO,IAAI,UAAU,mDAAmD,CAC/H,CAAC;4BACF,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CACvD,UAAU,EACV,wBAAe,CAChB,CAAC;4BACF,MAAM,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC;4BACtC,IAAI,SAAS,EAAE,CAAC;gCACd,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;4BAC5B,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,sCAAsC,CAAC,CAAC;oBAChE,CAAC;oBACD,OAAO,GAAG,CAAC;gBACb,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;;AA7KH,0CA8KC;AAhIgB;IANd,IAAA,iBAAK,EAAC;QACL,SAAS,EAAE,cAAc,mBAAU,EAAE;QACrC,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,WAAW,EAAgB,EAAE,QAAiB,EAAE,EAAE;QACrE,uBAAuB;QACvB,aAAa,WAAY,IAAI,WAAW,IAAI,QAAS,EAAE;KAC1D,CAAC;gDAuBD;AAQK;IANL,IAAA,iBAAK,EAAC;QACL,SAAS,EAAE,cAAc,mBAAU,EAAE;QACrC,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,WAAW,EAAqB,EAAE,EAAE;QACvD,uBAAuB;QACvB,eAAe,WAAW,IAAI,WAAW,EAAE;KAC9C,CAAC;kDAkGD","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { GithubHttp } from '../../../util/http/github';\nimport { regEx } from '../../../util/regex';\nimport { ensureTrailingSlash, joinUrlParts } from '../../../util/url';\nimport * as allVersioning from '../../versioning';\nimport { Datasource } from '../datasource';\nimport type {\n DigestConfig,\n GetReleasesConfig,\n Release,\n ReleaseResult,\n} from '../types';\nimport { isArtifactoryServer } from '../util';\nimport { datasource, defaultRegistryUrl, getConanPackage } from './common';\nimport {\n ConanCenterReleases,\n ConanJSON,\n ConanLatestRevision,\n ConanProperties,\n ConanRevisionJSON,\n} from './schema';\n\nexport class ConanDatasource extends Datasource {\n static readonly id = datasource;\n\n override readonly defaultRegistryUrls = [defaultRegistryUrl];\n\n override readonly caching = true;\n\n override readonly registryStrategy = 'merge';\n\n githubHttp: GithubHttp;\n\n override readonly sourceUrlSupport = 'package';\n override readonly sourceUrlNote =\n 'The source URL is supported only if the package is served from the Artifactory servers. In which case we determine it from the `properties[conan.package.url]` field in the results.';\n\n constructor(id = ConanDatasource.id) {\n super(id);\n this.githubHttp = new GithubHttp(id);\n }\n\n async getConanCenterReleases(\n conanName: string,\n userAndChannel: string,\n ): Promise<ReleaseResult | null> {\n if (userAndChannel && userAndChannel !== '@_/_') {\n logger.debug(\n { conanName, userAndChannel },\n 'User/channel not supported for Conan Center lookups',\n );\n return null;\n }\n const url = `https://api.github.com/repos/conan-io/conan-center-index/contents/recipes/${conanName}/config.yml`;\n const { body: result } = await this.githubHttp.getYaml(\n url,\n { headers: { accept: 'application/vnd.github.v3.raw' } },\n ConanCenterReleases,\n );\n return result;\n }\n\n @cache({\n namespace: `datasource-${datasource}`,\n key: ({ registryUrl, packageName }: DigestConfig, newValue?: string) =>\n // TODO: types (#22198)\n `getDigest:${registryUrl!}:${packageName}:${newValue!}`,\n })\n override async getDigest(\n { registryUrl, packageName }: DigestConfig,\n newValue?: string,\n ): Promise<string | null> {\n if (is.undefined(newValue) || is.undefined(registryUrl)) {\n return null;\n }\n const url = ensureTrailingSlash(registryUrl);\n const conanPackage = getConanPackage(packageName);\n const revisionLookUp = joinUrlParts(\n url,\n 'v2/conans/',\n conanPackage.conanName,\n newValue,\n conanPackage.userAndChannel,\n '/revisions',\n );\n const { body: digest } = await this.http.getJson(\n revisionLookUp,\n ConanLatestRevision,\n );\n return digest;\n }\n\n @cache({\n namespace: `datasource-${datasource}`,\n key: ({ registryUrl, packageName }: GetReleasesConfig) =>\n // TODO: types (#22198)\n `getReleases:${registryUrl}:${packageName}`,\n })\n async getReleases({\n registryUrl,\n packageName,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n const conanPackage = getConanPackage(packageName);\n const userAndChannel = '@' + conanPackage.userAndChannel;\n if (\n is.string(registryUrl) &&\n ensureTrailingSlash(registryUrl) === defaultRegistryUrl\n ) {\n return this.getConanCenterReleases(\n conanPackage.conanName,\n userAndChannel,\n );\n }\n\n logger.trace(\n { packageName, registryUrl },\n 'Looking up conan api dependency',\n );\n\n if (registryUrl) {\n const url = ensureTrailingSlash(registryUrl);\n const lookupUrl = joinUrlParts(\n url,\n `v2/conans/search?q=${conanPackage.conanName}`,\n );\n\n try {\n const rep = await this.http.getJsonUnchecked(lookupUrl);\n const conanJson = ConanJSON.parse(rep.body);\n if (conanJson) {\n logger.trace({ lookupUrl }, 'Got conan api result');\n const dep: ReleaseResult = { releases: [] };\n\n const conanJsonReleases: Release[] = conanJson\n .filter(({ userChannel }) => userChannel === userAndChannel)\n .map(({ version }) => ({ version }));\n dep.releases.push(...conanJsonReleases);\n\n try {\n if (isArtifactoryServer(rep)) {\n const conanApiRegexp = regEx(\n /(?<host>.*)\\/artifactory\\/api\\/conan\\/(?<repo>[^/]+)/,\n );\n const groups = conanApiRegexp.exec(url)?.groups;\n if (!groups) {\n return dep;\n }\n const semver = allVersioning.get('semver');\n\n const sortedReleases = dep.releases\n .filter((release) => semver.isVersion(release.version))\n .sort((a, b) => semver.sortVersions(a.version, b.version));\n\n const latestVersion = sortedReleases.at(-1)?.version;\n\n if (!latestVersion) {\n return dep;\n }\n logger.debug(\n `Conan package ${packageName} has latest version ${latestVersion}`,\n );\n\n const latestRevisionUrl = joinUrlParts(\n url,\n `v2/conans/${conanPackage.conanName}/${latestVersion}/${conanPackage.userAndChannel}/latest`,\n );\n const {\n body: { revision: packageRev },\n } = await this.http.getJson(latestRevisionUrl, ConanRevisionJSON);\n\n const [user, channel] = conanPackage.userAndChannel.split('/');\n const packageUrl = joinUrlParts(\n `${groups.host}/artifactory/api/storage/${groups.repo}`,\n `${user}/${conanPackage.conanName}/${latestVersion}/${channel}/${packageRev}/export/conanfile.py?properties=conan.package.url`,\n );\n const { body: conanProperties } = await this.http.getJson(\n packageUrl,\n ConanProperties,\n );\n const { sourceUrl } = conanProperties;\n if (sourceUrl) {\n dep.sourceUrl = sourceUrl;\n }\n }\n } catch (err) {\n logger.debug({ err }, \"Couldn't determine Conan package url\");\n }\n return dep;\n }\n } catch (err) {\n this.handleGenericErrors(err);\n }\n }\n\n return null;\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/conan/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { isString, isUndefined } from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { GithubHttp } from '../../../util/http/github';\nimport { regEx } from '../../../util/regex';\nimport { ensureTrailingSlash, joinUrlParts } from '../../../util/url';\nimport * as allVersioning from '../../versioning';\nimport { Datasource } from '../datasource';\nimport type {\n DigestConfig,\n GetReleasesConfig,\n Release,\n ReleaseResult,\n} from '../types';\nimport { isArtifactoryServer } from '../util';\nimport { datasource, defaultRegistryUrl, getConanPackage } from './common';\nimport {\n ConanCenterReleases,\n ConanJSON,\n ConanLatestRevision,\n ConanProperties,\n ConanRevisionJSON,\n} from './schema';\n\nexport class ConanDatasource extends Datasource {\n static readonly id = datasource;\n\n override readonly defaultRegistryUrls = [defaultRegistryUrl];\n\n override readonly caching = true;\n\n override readonly registryStrategy = 'merge';\n\n githubHttp: GithubHttp;\n\n override readonly sourceUrlSupport = 'package';\n override readonly sourceUrlNote =\n 'The source URL is supported only if the package is served from the Artifactory servers. In which case we determine it from the `properties[conan.package.url]` field in the results.';\n\n constructor(id = ConanDatasource.id) {\n super(id);\n this.githubHttp = new GithubHttp(id);\n }\n\n async getConanCenterReleases(\n conanName: string,\n userAndChannel: string,\n ): Promise<ReleaseResult | null> {\n if (userAndChannel && userAndChannel !== '@_/_') {\n logger.debug(\n { conanName, userAndChannel },\n 'User/channel not supported for Conan Center lookups',\n );\n return null;\n }\n const url = `https://api.github.com/repos/conan-io/conan-center-index/contents/recipes/${conanName}/config.yml`;\n const { body: result } = await this.githubHttp.getYaml(\n url,\n { headers: { accept: 'application/vnd.github.v3.raw' } },\n ConanCenterReleases,\n );\n return result;\n }\n\n @cache({\n namespace: `datasource-${datasource}`,\n key: ({ registryUrl, packageName }: DigestConfig, newValue?: string) =>\n // TODO: types (#22198)\n `getDigest:${registryUrl!}:${packageName}:${newValue!}`,\n })\n override async getDigest(\n { registryUrl, packageName }: DigestConfig,\n newValue?: string,\n ): Promise<string | null> {\n if (isUndefined(newValue) || isUndefined(registryUrl)) {\n return null;\n }\n const url = ensureTrailingSlash(registryUrl);\n const conanPackage = getConanPackage(packageName);\n const revisionLookUp = joinUrlParts(\n url,\n 'v2/conans/',\n conanPackage.conanName,\n newValue,\n conanPackage.userAndChannel,\n '/revisions',\n );\n const { body: digest } = await this.http.getJson(\n revisionLookUp,\n ConanLatestRevision,\n );\n return digest;\n }\n\n @cache({\n namespace: `datasource-${datasource}`,\n key: ({ registryUrl, packageName }: GetReleasesConfig) =>\n // TODO: types (#22198)\n `getReleases:${registryUrl}:${packageName}`,\n })\n async getReleases({\n registryUrl,\n packageName,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n const conanPackage = getConanPackage(packageName);\n const userAndChannel = '@' + conanPackage.userAndChannel;\n if (\n isString(registryUrl) &&\n ensureTrailingSlash(registryUrl) === defaultRegistryUrl\n ) {\n return this.getConanCenterReleases(\n conanPackage.conanName,\n userAndChannel,\n );\n }\n\n logger.trace(\n { packageName, registryUrl },\n 'Looking up conan api dependency',\n );\n\n if (registryUrl) {\n const url = ensureTrailingSlash(registryUrl);\n const lookupUrl = joinUrlParts(\n url,\n `v2/conans/search?q=${conanPackage.conanName}`,\n );\n\n try {\n const rep = await this.http.getJsonUnchecked(lookupUrl);\n const conanJson = ConanJSON.parse(rep.body);\n if (conanJson) {\n logger.trace({ lookupUrl }, 'Got conan api result');\n const dep: ReleaseResult = { releases: [] };\n\n const conanJsonReleases: Release[] = conanJson\n .filter(({ userChannel }) => userChannel === userAndChannel)\n .map(({ version }) => ({ version }));\n dep.releases.push(...conanJsonReleases);\n\n try {\n if (isArtifactoryServer(rep)) {\n const conanApiRegexp = regEx(\n /(?<host>.*)\\/artifactory\\/api\\/conan\\/(?<repo>[^/]+)/,\n );\n const groups = conanApiRegexp.exec(url)?.groups;\n if (!groups) {\n return dep;\n }\n const semver = allVersioning.get('semver');\n\n const sortedReleases = dep.releases\n .filter((release) => semver.isVersion(release.version))\n .sort((a, b) => semver.sortVersions(a.version, b.version));\n\n const latestVersion = sortedReleases.at(-1)?.version;\n\n if (!latestVersion) {\n return dep;\n }\n logger.debug(\n `Conan package ${packageName} has latest version ${latestVersion}`,\n );\n\n const latestRevisionUrl = joinUrlParts(\n url,\n `v2/conans/${conanPackage.conanName}/${latestVersion}/${conanPackage.userAndChannel}/latest`,\n );\n const {\n body: { revision: packageRev },\n } = await this.http.getJson(latestRevisionUrl, ConanRevisionJSON);\n\n const [user, channel] = conanPackage.userAndChannel.split('/');\n const packageUrl = joinUrlParts(\n `${groups.host}/artifactory/api/storage/${groups.repo}`,\n `${user}/${conanPackage.conanName}/${latestVersion}/${channel}/${packageRev}/export/conanfile.py?properties=conan.package.url`,\n );\n const { body: conanProperties } = await this.http.getJson(\n packageUrl,\n ConanProperties,\n );\n const { sourceUrl } = conanProperties;\n if (sourceUrl) {\n dep.sourceUrl = sourceUrl;\n }\n }\n } catch (err) {\n logger.debug({ err }, \"Couldn't determine Conan package url\");\n }\n return dep;\n }\n } catch (err) {\n this.handleGenericErrors(err);\n }\n }\n\n return null;\n }\n}\n"]}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HtmlFetcher = void 0;
4
- const tslib_1 = require("tslib");
5
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
4
+ const is_1 = require("@sindresorhus/is");
6
5
  const fs_1 = require("../../../../util/fs");
7
6
  const html_1 = require("../../../../util/html");
8
7
  function extractLinks(content) {
@@ -13,9 +12,7 @@ function extractLinks(content) {
13
12
  .getElementsByTagName('pre')
14
13
  .map((pre) => (0, html_1.parse)(pre.textContent));
15
14
  const links = [body, ...pres].flatMap((e) => e.getElementsByTagName('a'));
16
- const hrefs = links
17
- .map((node) => node.getAttribute('href'))
18
- .filter(is_1.default.truthy);
15
+ const hrefs = links.map((node) => node.getAttribute('href')).filter(is_1.isTruthy);
19
16
  const releases = hrefs.map((href) => {
20
17
  return {
21
18
  version: href,
@@ -1 +1 @@
1
- {"version":3,"file":"html.js","sourceRoot":"","sources":["../../../../../lib/modules/datasource/custom/formats/html.ts"],"names":[],"mappings":";;;;AAAA,kEAAkC;AAClC,4CAAoD;AACpD,gDAA8C;AAK9C,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,IAAI,GAAG,IAAA,YAAK,EAAC,OAAO,CAAC,CAAC;IAE5B,uDAAuD;IACvD,4DAA4D;IAC5D,MAAM,IAAI,GAAG,IAAI;SACd,oBAAoB,CAAC,KAAK,CAAC;SAC3B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,YAAK,EAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IAExC,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,KAAK;SAChB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;SACxC,MAAM,CAAC,YAAE,CAAC,MAAM,CAAC,CAAC;IAErB,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAClC,OAAO;YACL,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtB,CAAC;AAED,MAAa,WAAW;IACtB,KAAK,CAAC,KAAK,CAAC,IAAU,EAAE,WAAmB;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;YAC/C,OAAO,EAAE;gBACP,MAAM,EAAE,WAAW;aACpB;SACF,CAAC,CAAC;QAEH,OAAO,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,WAAmB;QAChC,MAAM,WAAW,GAAG,MAAM,IAAA,kBAAa,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAE7D,OAAO,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;CACF;AAhBD,kCAgBC","sourcesContent":["import is from '@sindresorhus/is';\nimport { readLocalFile } from '../../../../util/fs';\nimport { parse } from '../../../../util/html';\nimport type { Http } from '../../../../util/http';\nimport type { ReleaseResult } from '../../types';\nimport type { CustomDatasourceFetcher } from './types';\n\nfunction extractLinks(content: string): ReleaseResult {\n const body = parse(content);\n\n // node-html-parser doesn't parse anything inside <pre>\n // but, for example, nginx wraps directory listings in <pre>\n const pres = body\n .getElementsByTagName('pre')\n .map((pre) => parse(pre.textContent));\n\n const links = [body, ...pres].flatMap((e) => e.getElementsByTagName('a'));\n const hrefs = links\n .map((node) => node.getAttribute('href'))\n .filter(is.truthy);\n\n const releases = hrefs.map((href) => {\n return {\n version: href,\n };\n });\n\n return { releases };\n}\n\nexport class HtmlFetcher implements CustomDatasourceFetcher {\n async fetch(http: Http, registryURL: string): Promise<unknown> {\n const response = await http.getText(registryURL, {\n headers: {\n Accept: 'text/html',\n },\n });\n\n return extractLinks(response.body);\n }\n\n async readFile(registryURL: string): Promise<unknown> {\n const fileContent = await readLocalFile(registryURL, 'utf8');\n\n return fileContent ? extractLinks(fileContent) : null;\n }\n}\n"]}
1
+ {"version":3,"file":"html.js","sourceRoot":"","sources":["../../../../../lib/modules/datasource/custom/formats/html.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAC5C,4CAAoD;AACpD,gDAA8C;AAK9C,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,IAAI,GAAG,IAAA,YAAK,EAAC,OAAO,CAAC,CAAC;IAE5B,uDAAuD;IACvD,4DAA4D;IAC5D,MAAM,IAAI,GAAG,IAAI;SACd,oBAAoB,CAAC,KAAK,CAAC;SAC3B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,YAAK,EAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IAExC,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,aAAQ,CAAC,CAAC;IAE9E,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAClC,OAAO;YACL,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtB,CAAC;AAED,MAAa,WAAW;IACtB,KAAK,CAAC,KAAK,CAAC,IAAU,EAAE,WAAmB;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;YAC/C,OAAO,EAAE;gBACP,MAAM,EAAE,WAAW;aACpB;SACF,CAAC,CAAC;QAEH,OAAO,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,WAAmB;QAChC,MAAM,WAAW,GAAG,MAAM,IAAA,kBAAa,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAE7D,OAAO,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;CACF;AAhBD,kCAgBC","sourcesContent":["import { isTruthy } from '@sindresorhus/is';\nimport { readLocalFile } from '../../../../util/fs';\nimport { parse } from '../../../../util/html';\nimport type { Http } from '../../../../util/http';\nimport type { ReleaseResult } from '../../types';\nimport type { CustomDatasourceFetcher } from './types';\n\nfunction extractLinks(content: string): ReleaseResult {\n const body = parse(content);\n\n // node-html-parser doesn't parse anything inside <pre>\n // but, for example, nginx wraps directory listings in <pre>\n const pres = body\n .getElementsByTagName('pre')\n .map((pre) => parse(pre.textContent));\n\n const links = [body, ...pres].flatMap((e) => e.getElementsByTagName('a'));\n const hrefs = links.map((node) => node.getAttribute('href')).filter(isTruthy);\n\n const releases = hrefs.map((href) => {\n return {\n version: href,\n };\n });\n\n return { releases };\n}\n\nexport class HtmlFetcher implements CustomDatasourceFetcher {\n async fetch(http: Http, registryURL: string): Promise<unknown> {\n const response = await http.getText(registryURL, {\n headers: {\n Accept: 'text/html',\n },\n });\n\n return extractLinks(response.body);\n }\n\n async readFile(registryURL: string): Promise<unknown> {\n const fileContent = await readLocalFile(registryURL, 'utf8');\n\n return fileContent ? extractLinks(fileContent) : null;\n }\n}\n"]}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CustomDatasource = void 0;
4
- const tslib_1 = require("tslib");
5
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
4
+ const is_1 = require("@sindresorhus/is");
6
5
  const logger_1 = require("../../../logger");
7
6
  const jsonata_1 = require("../../../util/jsonata");
8
7
  const datasource_1 = require("../datasource");
@@ -17,7 +16,7 @@ class CustomDatasource extends datasource_1.Datasource {
17
16
  }
18
17
  async getReleases(getReleasesConfig) {
19
18
  const config = (0, utils_1.getCustomConfig)(getReleasesConfig);
20
- if (is_1.default.nullOrUndefined(config)) {
19
+ if ((0, is_1.isNullOrUndefined)(config)) {
21
20
  return null;
22
21
  }
23
22
  const { defaultRegistryUrlTemplate, transformTemplates, format } = config;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/custom/index.ts"],"names":[],"mappings":";;;;AAAA,kEAAkC;AAClC,4CAAyC;AACzC,mDAAsD;AACtD,8CAA2C;AAE3C,uCAAqC;AACrC,qCAA4C;AAC5C,mCAA0C;AAE1C,MAAa,gBAAiB,SAAQ,uBAAU;IAC9C,MAAM,CAAU,EAAE,GAAG,QAAQ,CAAC;IAErB,qBAAqB,GAAG,IAAI,CAAC;IAEtC;QACE,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,WAAW,CACf,iBAAoC;QAEpC,MAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,iBAAiB,CAAC,CAAC;QAClD,IAAI,YAAE,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAE1E,MAAM,OAAO,GAAG,kBAAQ,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,eAAe,GAAG,0BAA0B,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAEzE,IAAI,IAAa,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,eAAe,EAAE,CAAC;gBACpB,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAC3B,0BAA0B,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAClD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,eAAM,CAAC,KAAK,CACV,EAAE,IAAI,EAAE,EACR,kCAAkC,MAAM,2CAA2C,CACpF,CAAC;QAEF,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;YACnD,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,iBAAiB,CAAC,CAAC;YAEpD,IAAI,UAAU,YAAY,KAAK,EAAE,CAAC;gBAChC,eAAM,CAAC,IAAI,CAAC,IAAI,CACd,EAAE,YAAY,EAAE,UAAU,CAAC,OAAO,EAAE,EACpC,+BAA+B,iBAAiB,EAAE,CACnD,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAErD,eAAM,CAAC,KAAK,CACV,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,EACrC,qCAAqC,CACtC,CAAC;gBAEF,IAAI,GAAG,YAAY,CAAC;YACtB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,eAAM,CAAC,IAAI,CAAC,IAAI,CACd,EAAE,GAAG,EAAE,EACP,8CAA8C,iBAAiB,EAAE,CAClE,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,yBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,gCAAgC,CAAC,CAAC;YACxD,eAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,qCAAqC,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEQ,SAAS,CAChB,IAAkB,EAClB,SAAkB;QAElB,4FAA4F;QAC5F,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;;AAtFH,4CAuFC","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { getExpression } from '../../../util/jsonata';\nimport { Datasource } from '../datasource';\nimport type { DigestConfig, GetReleasesConfig, ReleaseResult } from '../types';\nimport { fetchers } from './formats';\nimport { ReleaseResultZod } from './schema';\nimport { getCustomConfig } from './utils';\n\nexport class CustomDatasource extends Datasource {\n static readonly id = 'custom';\n\n override customRegistrySupport = true;\n\n constructor() {\n super(CustomDatasource.id);\n }\n\n async getReleases(\n getReleasesConfig: GetReleasesConfig,\n ): Promise<ReleaseResult | null> {\n const config = getCustomConfig(getReleasesConfig);\n if (is.nullOrUndefined(config)) {\n return null;\n }\n\n const { defaultRegistryUrlTemplate, transformTemplates, format } = config;\n\n const fetcher = fetchers[format];\n const isLocalRegistry = defaultRegistryUrlTemplate.startsWith('file://');\n\n let data: unknown;\n try {\n if (isLocalRegistry) {\n data = await fetcher.readFile(\n defaultRegistryUrlTemplate.replace('file://', ''),\n );\n } else {\n data = await fetcher.fetch(this.http, defaultRegistryUrlTemplate);\n }\n } catch (e) {\n this.handleHttpErrors(e);\n return null;\n }\n\n logger.trace(\n { data },\n `Custom datasource API fetcher '${format}' received data. Starting transformation.`,\n );\n\n for (const transformTemplate of transformTemplates) {\n const expression = getExpression(transformTemplate);\n\n if (expression instanceof Error) {\n logger.once.warn(\n { errorMessage: expression.message },\n `Invalid JSONata expression: ${transformTemplate}`,\n );\n return null;\n }\n\n try {\n const modifiedData = await expression.evaluate(data);\n\n logger.trace(\n { before: data, after: modifiedData },\n `Custom datasource transformed data.`,\n );\n\n data = modifiedData;\n } catch (err) {\n logger.once.warn(\n { err },\n `Error while evaluating JSONata expression: ${transformTemplate}`,\n );\n return null;\n }\n }\n\n try {\n const parsed = ReleaseResultZod.parse(data);\n return structuredClone(parsed);\n } catch (err) {\n logger.debug({ err }, `Response has failed validation`);\n logger.trace({ data }, 'Response that has failed validation');\n return null;\n }\n }\n\n override getDigest(\n _cfg: DigestConfig,\n _newValue?: string,\n ): Promise<string | null> {\n // Return null here to support setting a digest: value can be provided digest in getReleases\n return Promise.resolve(null);\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/custom/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNullOrUndefined } from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { getExpression } from '../../../util/jsonata';\nimport { Datasource } from '../datasource';\nimport type { DigestConfig, GetReleasesConfig, ReleaseResult } from '../types';\nimport { fetchers } from './formats';\nimport { ReleaseResultZod } from './schema';\nimport { getCustomConfig } from './utils';\n\nexport class CustomDatasource extends Datasource {\n static readonly id = 'custom';\n\n override customRegistrySupport = true;\n\n constructor() {\n super(CustomDatasource.id);\n }\n\n async getReleases(\n getReleasesConfig: GetReleasesConfig,\n ): Promise<ReleaseResult | null> {\n const config = getCustomConfig(getReleasesConfig);\n if (isNullOrUndefined(config)) {\n return null;\n }\n\n const { defaultRegistryUrlTemplate, transformTemplates, format } = config;\n\n const fetcher = fetchers[format];\n const isLocalRegistry = defaultRegistryUrlTemplate.startsWith('file://');\n\n let data: unknown;\n try {\n if (isLocalRegistry) {\n data = await fetcher.readFile(\n defaultRegistryUrlTemplate.replace('file://', ''),\n );\n } else {\n data = await fetcher.fetch(this.http, defaultRegistryUrlTemplate);\n }\n } catch (e) {\n this.handleHttpErrors(e);\n return null;\n }\n\n logger.trace(\n { data },\n `Custom datasource API fetcher '${format}' received data. Starting transformation.`,\n );\n\n for (const transformTemplate of transformTemplates) {\n const expression = getExpression(transformTemplate);\n\n if (expression instanceof Error) {\n logger.once.warn(\n { errorMessage: expression.message },\n `Invalid JSONata expression: ${transformTemplate}`,\n );\n return null;\n }\n\n try {\n const modifiedData = await expression.evaluate(data);\n\n logger.trace(\n { before: data, after: modifiedData },\n `Custom datasource transformed data.`,\n );\n\n data = modifiedData;\n } catch (err) {\n logger.once.warn(\n { err },\n `Error while evaluating JSONata expression: ${transformTemplate}`,\n );\n return null;\n }\n }\n\n try {\n const parsed = ReleaseResultZod.parse(data);\n return structuredClone(parsed);\n } catch (err) {\n logger.debug({ err }, `Response has failed validation`);\n logger.trace({ data }, 'Response that has failed validation');\n return null;\n }\n }\n\n override getDigest(\n _cfg: DigestConfig,\n _newValue?: string,\n ): Promise<string | null> {\n // Return null here to support setting a digest: value can be provided digest in getReleases\n return Promise.resolve(null);\n }\n}\n"]}
@@ -3,18 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.massageCustomDatasourceConfig = massageCustomDatasourceConfig;
4
4
  exports.getCustomConfig = getCustomConfig;
5
5
  const tslib_1 = require("tslib");
6
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
6
+ const is_1 = require("@sindresorhus/is");
7
7
  const logger_1 = require("../../../logger");
8
8
  const template = tslib_1.__importStar(require("../../../util/template"));
9
9
  function massageCustomDatasourceConfig(customDatasourceName, { customDatasources, packageName, currentValue, registryUrl: defaultRegistryUrl, }) {
10
10
  const customDatasource = customDatasources?.[customDatasourceName];
11
- if (is_1.default.nullOrUndefined(customDatasource)) {
11
+ if ((0, is_1.isNullOrUndefined)(customDatasource)) {
12
12
  logger_1.logger.debug(`No custom datasource config provided while ${packageName} has been requested`);
13
13
  return null;
14
14
  }
15
15
  const templateInput = { packageName, currentValue };
16
16
  const registryUrlTemplate = defaultRegistryUrl ?? customDatasource.defaultRegistryUrlTemplate;
17
- if (is_1.default.nullOrUndefined(registryUrlTemplate)) {
17
+ if ((0, is_1.isNullOrUndefined)(registryUrlTemplate)) {
18
18
  logger_1.logger.debug('No registry url provided by extraction nor datasource configuration');
19
19
  return null;
20
20
  }
@@ -34,7 +34,7 @@ function massageCustomDatasourceConfig(customDatasourceName, { customDatasources
34
34
  }
35
35
  function getCustomConfig(getReleasesConfig) {
36
36
  const customDatasourceName = getReleasesConfig.datasource?.replace('custom.', '');
37
- if (!is_1.default.nonEmptyString(customDatasourceName)) {
37
+ if (!(0, is_1.isNonEmptyString)(customDatasourceName)) {
38
38
  logger_1.logger.debug(`No datasource has been supplied while looking up ${getReleasesConfig.packageName}`);
39
39
  return null;
40
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/custom/utils.ts"],"names":[],"mappings":";;AAMA,sEA0CC;AAED,0CAgBC;;AAlED,kEAAkC;AAElC,4CAAyC;AACzC,yEAAmD;AAGnD,SAAgB,6BAA6B,CAC3C,oBAA4B,EAC5B,EACE,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,WAAW,EAAE,kBAAkB,GACb;IAEpB,MAAM,gBAAgB,GAAG,iBAAiB,EAAE,CAAC,oBAAoB,CAAC,CAAC;IACnE,IAAI,YAAE,CAAC,eAAe,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACzC,eAAM,CAAC,KAAK,CACV,8CAA8C,WAAW,qBAAqB,CAC/E,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,aAAa,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;IAEpD,MAAM,mBAAmB,GACvB,kBAAkB,IAAI,gBAAgB,CAAC,0BAA0B,CAAC;IACpE,IAAI,YAAE,CAAC,eAAe,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC5C,eAAM,CAAC,KAAK,CACV,qEAAqE,CACtE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;IAEzE,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,kBAAkB,IAAI,EAAE,CAAC;IACrE,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;QACnD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;QACrE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IAED,eAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,kCAAkC,CAAC,CAAC;IAEhE,OAAO;QACL,MAAM,EAAE,gBAAgB,CAAC,MAAM,IAAI,MAAM;QACzC,0BAA0B,EAAE,WAAW;QACvC,kBAAkB,EAAE,SAAS;KAC9B,CAAC;AACJ,CAAC;AAED,SAAgB,eAAe,CAC7B,iBAAoC;IAEpC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAChE,SAAS,EACT,EAAE,CACH,CAAC;IAEF,IAAI,CAAC,YAAE,CAAC,cAAc,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC7C,eAAM,CAAC,KAAK,CACV,oDAAoD,iBAAiB,CAAC,WAAW,EAAE,CACpF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,6BAA6B,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;AAChF,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport type { CustomDatasourceConfig } from '../../../config/types';\nimport { logger } from '../../../logger';\nimport * as template from '../../../util/template';\nimport type { GetReleasesConfig } from '../types';\n\nexport function massageCustomDatasourceConfig(\n customDatasourceName: string,\n {\n customDatasources,\n packageName,\n currentValue,\n registryUrl: defaultRegistryUrl,\n }: GetReleasesConfig,\n): Required<CustomDatasourceConfig> | null {\n const customDatasource = customDatasources?.[customDatasourceName];\n if (is.nullOrUndefined(customDatasource)) {\n logger.debug(\n `No custom datasource config provided while ${packageName} has been requested`,\n );\n return null;\n }\n const templateInput = { packageName, currentValue };\n\n const registryUrlTemplate =\n defaultRegistryUrl ?? customDatasource.defaultRegistryUrlTemplate;\n if (is.nullOrUndefined(registryUrlTemplate)) {\n logger.debug(\n 'No registry url provided by extraction nor datasource configuration',\n );\n return null;\n }\n const registryUrl = template.compile(registryUrlTemplate, templateInput);\n\n const transformTemplates = customDatasource.transformTemplates ?? [];\n const transform: string[] = [];\n for (const transformTemplate of transformTemplates) {\n const templated = template.compile(transformTemplate, templateInput);\n transform.push(templated);\n }\n\n logger.trace({ transform }, `Custom datasource compiled data.`);\n\n return {\n format: customDatasource.format ?? 'json',\n defaultRegistryUrlTemplate: registryUrl,\n transformTemplates: transform,\n };\n}\n\nexport function getCustomConfig(\n getReleasesConfig: GetReleasesConfig,\n): Required<CustomDatasourceConfig> | null {\n const customDatasourceName = getReleasesConfig.datasource?.replace(\n 'custom.',\n '',\n );\n\n if (!is.nonEmptyString(customDatasourceName)) {\n logger.debug(\n `No datasource has been supplied while looking up ${getReleasesConfig.packageName}`,\n );\n return null;\n }\n\n return massageCustomDatasourceConfig(customDatasourceName, getReleasesConfig);\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/custom/utils.ts"],"names":[],"mappings":";;AAMA,sEA0CC;AAED,0CAgBC;;AAlED,yCAAuE;AAEvE,4CAAyC;AACzC,yEAAmD;AAGnD,SAAgB,6BAA6B,CAC3C,oBAA4B,EAC5B,EACE,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,WAAW,EAAE,kBAAkB,GACb;IAEpB,MAAM,gBAAgB,GAAG,iBAAiB,EAAE,CAAC,oBAAoB,CAAC,CAAC;IACnE,IAAI,IAAA,sBAAiB,EAAC,gBAAgB,CAAC,EAAE,CAAC;QACxC,eAAM,CAAC,KAAK,CACV,8CAA8C,WAAW,qBAAqB,CAC/E,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,aAAa,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;IAEpD,MAAM,mBAAmB,GACvB,kBAAkB,IAAI,gBAAgB,CAAC,0BAA0B,CAAC;IACpE,IAAI,IAAA,sBAAiB,EAAC,mBAAmB,CAAC,EAAE,CAAC;QAC3C,eAAM,CAAC,KAAK,CACV,qEAAqE,CACtE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;IAEzE,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,kBAAkB,IAAI,EAAE,CAAC;IACrE,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;QACnD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;QACrE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IAED,eAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,kCAAkC,CAAC,CAAC;IAEhE,OAAO;QACL,MAAM,EAAE,gBAAgB,CAAC,MAAM,IAAI,MAAM;QACzC,0BAA0B,EAAE,WAAW;QACvC,kBAAkB,EAAE,SAAS;KAC9B,CAAC;AACJ,CAAC;AAED,SAAgB,eAAe,CAC7B,iBAAoC;IAEpC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAChE,SAAS,EACT,EAAE,CACH,CAAC;IAEF,IAAI,CAAC,IAAA,qBAAgB,EAAC,oBAAoB,CAAC,EAAE,CAAC;QAC5C,eAAM,CAAC,KAAK,CACV,oDAAoD,iBAAiB,CAAC,WAAW,EAAE,CACpF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,6BAA6B,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;AAChF,CAAC","sourcesContent":["import { isNonEmptyString, isNullOrUndefined } from '@sindresorhus/is';\nimport type { CustomDatasourceConfig } from '../../../config/types';\nimport { logger } from '../../../logger';\nimport * as template from '../../../util/template';\nimport type { GetReleasesConfig } from '../types';\n\nexport function massageCustomDatasourceConfig(\n customDatasourceName: string,\n {\n customDatasources,\n packageName,\n currentValue,\n registryUrl: defaultRegistryUrl,\n }: GetReleasesConfig,\n): Required<CustomDatasourceConfig> | null {\n const customDatasource = customDatasources?.[customDatasourceName];\n if (isNullOrUndefined(customDatasource)) {\n logger.debug(\n `No custom datasource config provided while ${packageName} has been requested`,\n );\n return null;\n }\n const templateInput = { packageName, currentValue };\n\n const registryUrlTemplate =\n defaultRegistryUrl ?? customDatasource.defaultRegistryUrlTemplate;\n if (isNullOrUndefined(registryUrlTemplate)) {\n logger.debug(\n 'No registry url provided by extraction nor datasource configuration',\n );\n return null;\n }\n const registryUrl = template.compile(registryUrlTemplate, templateInput);\n\n const transformTemplates = customDatasource.transformTemplates ?? [];\n const transform: string[] = [];\n for (const transformTemplate of transformTemplates) {\n const templated = template.compile(transformTemplate, templateInput);\n transform.push(templated);\n }\n\n logger.trace({ transform }, `Custom datasource compiled data.`);\n\n return {\n format: customDatasource.format ?? 'json',\n defaultRegistryUrlTemplate: registryUrl,\n transformTemplates: transform,\n };\n}\n\nexport function getCustomConfig(\n getReleasesConfig: GetReleasesConfig,\n): Required<CustomDatasourceConfig> | null {\n const customDatasourceName = getReleasesConfig.datasource?.replace(\n 'custom.',\n '',\n );\n\n if (!isNonEmptyString(customDatasourceName)) {\n logger.debug(\n `No datasource has been supplied while looking up ${getReleasesConfig.packageName}`,\n );\n return null;\n }\n\n return massageCustomDatasourceConfig(customDatasourceName, getReleasesConfig);\n}\n"]}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DartVersionDatasource = exports.svnVersionRegex = exports.stableVersionRegex = void 0;
4
- const tslib_1 = require("tslib");
5
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
4
+ const is_1 = require("@sindresorhus/is");
6
5
  const regex_1 = require("../../../util/regex");
7
6
  const datasource_1 = require("../datasource");
8
7
  exports.stableVersionRegex = (0, regex_1.regEx)(/^\d+\.\d+\.\d+$/);
@@ -49,7 +48,7 @@ class DartVersionDatasource extends datasource_1.Datasource {
49
48
  getReleasesFromResponse(channel, prefixes) {
50
49
  return prefixes
51
50
  .map((prefix) => this.getVersionFromPrefix(prefix))
52
- .filter(is_1.default.string)
51
+ .filter(is_1.isString)
53
52
  .filter((version) => {
54
53
  if (version === 'latest' ||
55
54
  // skip old svn versions
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/dart-version/index.ts"],"names":[],"mappings":";;;;AAAA,kEAAkC;AAClC,+CAA4C;AAC5C,8CAA2C;AAI9B,QAAA,kBAAkB,GAAG,IAAA,aAAK,EAAC,iBAAiB,CAAC,CAAC;AAC3D;;;;GAIG;AACU,QAAA,eAAe,GAAG,IAAA,aAAK,EAAC,OAAO,CAAC,CAAC;AAE9C,MAAa,qBAAsB,SAAQ,uBAAU;IACnD,MAAM,CAAU,EAAE,GAAG,cAAc,CAAC;IAEpC;QACE,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAEiB,qBAAqB,GAAG,KAAK,CAAC;IAE9B,mBAAmB,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAEzD,OAAO,GAAG,IAAI,CAAC;IAEhB,QAAQ,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAEpC,gBAAgB,GAAG,SAAS,CAAC;IAC7B,aAAa,GAC7B,mDAAmD,CAAC;IAEtD,KAAK,CAAC,WAAW,CAAC,EAChB,WAAW,GACO;QAClB,6CAA6C;QAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAkB;YAC5B,QAAQ,EAAE,mBAAmB;YAC7B,SAAS,EAAE,kCAAkC;YAC7C,WAAW;YACX,QAAQ,EAAE,EAAE;SACb,CAAC;QACF,IAAI,CAAC;YACH,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,CACX,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAC9B,GAAG,WAAW,gEAAgE,OAAO,wBAAwB,CAC9G,CACF,CAAC,IAAI,CAAC;gBACP,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAChD,CAAC;IAEO,uBAAuB,CAC7B,OAAe,EACf,QAAkB;QAElB,OAAO,QAAQ;aACZ,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;aAClD,MAAM,CAAC,YAAE,CAAC,MAAM,CAAC;aACjB,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YAClB,IACE,OAAO,KAAK,QAAQ;gBACpB,wBAAwB;gBACxB,uBAAe,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC7B,4EAA4E;gBAC5E,iDAAiD;gBACjD,CAAC,OAAO,KAAK,QAAQ,IAAI,0BAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAC1D,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,kEAAkE;IAC1D,oBAAoB,CAAC,MAAc;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;;AA5EH,sDA6EC","sourcesContent":["import is from '@sindresorhus/is';\nimport { regEx } from '../../../util/regex';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, Release, ReleaseResult } from '../types';\nimport type { DartResponse } from './types';\n\nexport const stableVersionRegex = regEx(/^\\d+\\.\\d+\\.\\d+$/);\n/**\n * The server returns old svn versions which would need mapping to a version.\n * They are very old, so we skip them instead.\n * https://github.com/dart-lang/site-www/blob/7d4409c87bb6570b2d8870b20283f81f2b7e08fc/tool/get-dart/dart_sdk_archive/lib/src/svn_versions.dart#L2\n */\nexport const svnVersionRegex = regEx(/^\\d+$/);\n\nexport class DartVersionDatasource extends Datasource {\n static readonly id = 'dart-version';\n\n constructor() {\n super(DartVersionDatasource.id);\n }\n\n override readonly customRegistrySupport = false;\n\n override readonly defaultRegistryUrls = ['https://storage.googleapis.com'];\n\n override readonly caching = true;\n\n private readonly channels = ['stable', 'beta', 'dev'];\n\n override readonly sourceUrlSupport = 'package';\n override readonly sourceUrlNote =\n 'We use the URL: https://github.com/dart-lang/sdk.';\n\n async getReleases({\n registryUrl,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n /* v8 ignore next 3 -- should never happen */\n if (!registryUrl) {\n return null;\n }\n const result: ReleaseResult = {\n homepage: 'https://dart.dev/',\n sourceUrl: 'https://github.com/dart-lang/sdk',\n registryUrl,\n releases: [],\n };\n try {\n for (const channel of this.channels) {\n const resp = (\n await this.http.getJsonUnchecked<DartResponse>(\n `${registryUrl}/storage/v1/b/dart-archive/o?delimiter=%2F&prefix=channels%2F${channel}%2Frelease%2F&alt=json`,\n )\n ).body;\n const releases = this.getReleasesFromResponse(channel, resp.prefixes);\n result.releases.push(...releases);\n }\n } catch (err) {\n this.handleGenericErrors(err);\n }\n\n return result.releases.length ? result : null;\n }\n\n private getReleasesFromResponse(\n channel: string,\n prefixes: string[],\n ): Release[] {\n return prefixes\n .map((prefix) => this.getVersionFromPrefix(prefix))\n .filter(is.string)\n .filter((version) => {\n if (\n version === 'latest' ||\n // skip old svn versions\n svnVersionRegex.test(version) ||\n // The API response contains a stable version being released as a non-stable\n // release. So we filter out these releases here.\n (channel !== 'stable' && stableVersionRegex.test(version))\n ) {\n return false;\n }\n return true;\n })\n .map((version) => ({ version, isStable: channel === 'stable' }));\n }\n\n // Prefix should have a format of \"channels/stable/release/2.9.3/\"\n private getVersionFromPrefix(prefix: string): string | undefined {\n const parts = prefix.split('/');\n return parts[parts.length - 2];\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/dart-version/index.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAC5C,+CAA4C;AAC5C,8CAA2C;AAI9B,QAAA,kBAAkB,GAAG,IAAA,aAAK,EAAC,iBAAiB,CAAC,CAAC;AAC3D;;;;GAIG;AACU,QAAA,eAAe,GAAG,IAAA,aAAK,EAAC,OAAO,CAAC,CAAC;AAE9C,MAAa,qBAAsB,SAAQ,uBAAU;IACnD,MAAM,CAAU,EAAE,GAAG,cAAc,CAAC;IAEpC;QACE,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAEiB,qBAAqB,GAAG,KAAK,CAAC;IAE9B,mBAAmB,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAEzD,OAAO,GAAG,IAAI,CAAC;IAEhB,QAAQ,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAEpC,gBAAgB,GAAG,SAAS,CAAC;IAC7B,aAAa,GAC7B,mDAAmD,CAAC;IAEtD,KAAK,CAAC,WAAW,CAAC,EAChB,WAAW,GACO;QAClB,6CAA6C;QAC7C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAkB;YAC5B,QAAQ,EAAE,mBAAmB;YAC7B,SAAS,EAAE,kCAAkC;YAC7C,WAAW;YACX,QAAQ,EAAE,EAAE;SACb,CAAC;QACF,IAAI,CAAC;YACH,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,CACX,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAC9B,GAAG,WAAW,gEAAgE,OAAO,wBAAwB,CAC9G,CACF,CAAC,IAAI,CAAC;gBACP,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAChD,CAAC;IAEO,uBAAuB,CAC7B,OAAe,EACf,QAAkB;QAElB,OAAO,QAAQ;aACZ,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;aAClD,MAAM,CAAC,aAAQ,CAAC;aAChB,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YAClB,IACE,OAAO,KAAK,QAAQ;gBACpB,wBAAwB;gBACxB,uBAAe,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC7B,4EAA4E;gBAC5E,iDAAiD;gBACjD,CAAC,OAAO,KAAK,QAAQ,IAAI,0BAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAC1D,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,kEAAkE;IAC1D,oBAAoB,CAAC,MAAc;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;;AA5EH,sDA6EC","sourcesContent":["import { isString } from '@sindresorhus/is';\nimport { regEx } from '../../../util/regex';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, Release, ReleaseResult } from '../types';\nimport type { DartResponse } from './types';\n\nexport const stableVersionRegex = regEx(/^\\d+\\.\\d+\\.\\d+$/);\n/**\n * The server returns old svn versions which would need mapping to a version.\n * They are very old, so we skip them instead.\n * https://github.com/dart-lang/site-www/blob/7d4409c87bb6570b2d8870b20283f81f2b7e08fc/tool/get-dart/dart_sdk_archive/lib/src/svn_versions.dart#L2\n */\nexport const svnVersionRegex = regEx(/^\\d+$/);\n\nexport class DartVersionDatasource extends Datasource {\n static readonly id = 'dart-version';\n\n constructor() {\n super(DartVersionDatasource.id);\n }\n\n override readonly customRegistrySupport = false;\n\n override readonly defaultRegistryUrls = ['https://storage.googleapis.com'];\n\n override readonly caching = true;\n\n private readonly channels = ['stable', 'beta', 'dev'];\n\n override readonly sourceUrlSupport = 'package';\n override readonly sourceUrlNote =\n 'We use the URL: https://github.com/dart-lang/sdk.';\n\n async getReleases({\n registryUrl,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n /* v8 ignore next 3 -- should never happen */\n if (!registryUrl) {\n return null;\n }\n const result: ReleaseResult = {\n homepage: 'https://dart.dev/',\n sourceUrl: 'https://github.com/dart-lang/sdk',\n registryUrl,\n releases: [],\n };\n try {\n for (const channel of this.channels) {\n const resp = (\n await this.http.getJsonUnchecked<DartResponse>(\n `${registryUrl}/storage/v1/b/dart-archive/o?delimiter=%2F&prefix=channels%2F${channel}%2Frelease%2F&alt=json`,\n )\n ).body;\n const releases = this.getReleasesFromResponse(channel, resp.prefixes);\n result.releases.push(...releases);\n }\n } catch (err) {\n this.handleGenericErrors(err);\n }\n\n return result.releases.length ? result : null;\n }\n\n private getReleasesFromResponse(\n channel: string,\n prefixes: string[],\n ): Release[] {\n return prefixes\n .map((prefix) => this.getVersionFromPrefix(prefix))\n .filter(isString)\n .filter((version) => {\n if (\n version === 'latest' ||\n // skip old svn versions\n svnVersionRegex.test(version) ||\n // The API response contains a stable version being released as a non-stable\n // release. So we filter out these releases here.\n (channel !== 'stable' && stableVersionRegex.test(version))\n ) {\n return false;\n }\n return true;\n })\n .map((version) => ({ version, isStable: channel === 'stable' }));\n }\n\n // Prefix should have a format of \"channels/stable/release/2.9.3/\"\n private getVersionFromPrefix(prefix: string): string | undefined {\n const parts = prefix.split('/');\n return parts[parts.length - 2];\n }\n}\n"]}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DenoDatasource = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
5
+ const is_1 = require("@sindresorhus/is");
6
6
  const p_map_1 = tslib_1.__importDefault(require("p-map"));
7
7
  const logger_1 = require("../../../logger");
8
8
  const packageCache = tslib_1.__importStar(require("../../../util/cache/package"));
@@ -29,7 +29,7 @@ class DenoDatasource extends datasource_1.Datasource {
29
29
  const massagedRegistryUrl = registryUrl;
30
30
  const extractResult = (0, regex_1.regEx)(/^(https:\/\/deno.land\/)(?<rawPackageName>[^@\s]+)/).exec(packageName);
31
31
  const rawPackageName = extractResult?.groups?.rawPackageName;
32
- if (is_1.default.nullOrUndefined(rawPackageName)) {
32
+ if ((0, is_1.isNullOrUndefined)(rawPackageName)) {
33
33
  logger_1.logger.debug(`Could not extract rawPackageName from packageName: "${packageName}"`);
34
34
  return null;
35
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/deno/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport pMap from 'p-map';\nimport { logger } from '../../../logger';\nimport * as packageCache from '../../../util/cache/package';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { regEx } from '../../../util/regex';\nimport { joinUrlParts } from '../../../util/url';\nimport * as semanticVersioning from '../../versioning/semver';\nimport { Datasource } from '../datasource';\nimport type { Release } from '../index';\nimport type { GetReleasesConfig, ReleaseResult } from '../types';\nimport { DenoAPIModuleResponse, DenoAPIModuleVersionResponse } from './schema';\n\nexport class DenoDatasource extends Datasource {\n static readonly id = 'deno';\n\n override readonly customRegistrySupport = true;\n\n override readonly registryStrategy = 'first';\n\n override readonly defaultVersioning = semanticVersioning.id;\n\n override readonly defaultRegistryUrls = ['https://apiland.deno.dev'];\n\n override readonly releaseTimestampSupport = true;\n override readonly releaseTimestampNote =\n 'The release timestamp is determined from the `uploaded_at` field in the results.';\n override readonly sourceUrlSupport = 'release';\n override readonly sourceUrlNote =\n 'The source URL is determined from the `repository` field in the results.';\n\n constructor() {\n super(DenoDatasource.id);\n }\n\n @cache({\n namespace: `datasource-${DenoDatasource.id}`,\n key: ({ packageName, registryUrl }: GetReleasesConfig) =>\n // TODO: types (#22198)\n `getReleases:${registryUrl}:${packageName}`,\n })\n async getReleases({\n packageName,\n registryUrl,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n const massagedRegistryUrl = registryUrl!;\n\n const extractResult = regEx(\n /^(https:\\/\\/deno.land\\/)(?<rawPackageName>[^@\\s]+)/,\n ).exec(packageName);\n const rawPackageName = extractResult?.groups?.rawPackageName;\n if (is.nullOrUndefined(rawPackageName)) {\n logger.debug(\n `Could not extract rawPackageName from packageName: \"${packageName}\"`,\n );\n return null;\n }\n\n // remove third-party prefix if defined. The only internal library is `std` and is available under the same API\n const massagedPackageName = rawPackageName.replace('x/', '');\n\n // https://apiland.deno.dev/v2/modules/postgres\n const moduleAPIURL = joinUrlParts(\n massagedRegistryUrl,\n 'v2/modules',\n massagedPackageName,\n );\n\n return await this.getReleaseResult(moduleAPIURL);\n }\n\n @cache({\n namespace: `datasource-${DenoDatasource.id}`,\n key: (moduleAPIURL) => `getReleaseResult:${moduleAPIURL}`,\n })\n async getReleaseResult(moduleAPIURL: string): Promise<ReleaseResult> {\n const detailsCacheKey = `details:${moduleAPIURL}`;\n const releasesCache: Record<string, Release> =\n (await packageCache.get(\n `datasource-${DenoDatasource.id}`,\n detailsCacheKey,\n )) ?? {};\n let cacheModified = false;\n\n const {\n body: { versions, tags },\n } = await this.http.getJson(moduleAPIURL, DenoAPIModuleResponse);\n\n // get details for the versions\n const releases = await pMap(\n versions,\n async (version) => {\n const cacheRelease = releasesCache[version];\n /* v8 ignore next 3: hard to test */\n if (cacheRelease) {\n return cacheRelease;\n }\n\n // https://apiland.deno.dev/v2/modules/postgres/v0.17.0\n const url = joinUrlParts(moduleAPIURL, version);\n const { body: release } = await this.http.getJson(\n url,\n DenoAPIModuleVersionResponse.catch(({ error: err }) => {\n logger.warn(\n { err, version },\n 'Deno: failed to get version details',\n );\n return { version };\n }),\n );\n\n releasesCache[release.version] = release;\n cacheModified = true;\n\n return release;\n },\n { concurrency: 5 },\n );\n\n if (cacheModified) {\n // 1 week. Releases at Deno are immutable, therefore we can use a long term cache here.\n await packageCache.set(\n `datasource-${DenoDatasource.id}`,\n detailsCacheKey,\n releasesCache,\n 10080,\n );\n }\n\n return { releases, tags };\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/deno/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNullOrUndefined } from '@sindresorhus/is';\nimport pMap from 'p-map';\nimport { logger } from '../../../logger';\nimport * as packageCache from '../../../util/cache/package';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { regEx } from '../../../util/regex';\nimport { joinUrlParts } from '../../../util/url';\nimport * as semanticVersioning from '../../versioning/semver';\nimport { Datasource } from '../datasource';\nimport type { Release } from '../index';\nimport type { GetReleasesConfig, ReleaseResult } from '../types';\nimport { DenoAPIModuleResponse, DenoAPIModuleVersionResponse } from './schema';\n\nexport class DenoDatasource extends Datasource {\n static readonly id = 'deno';\n\n override readonly customRegistrySupport = true;\n\n override readonly registryStrategy = 'first';\n\n override readonly defaultVersioning = semanticVersioning.id;\n\n override readonly defaultRegistryUrls = ['https://apiland.deno.dev'];\n\n override readonly releaseTimestampSupport = true;\n override readonly releaseTimestampNote =\n 'The release timestamp is determined from the `uploaded_at` field in the results.';\n override readonly sourceUrlSupport = 'release';\n override readonly sourceUrlNote =\n 'The source URL is determined from the `repository` field in the results.';\n\n constructor() {\n super(DenoDatasource.id);\n }\n\n @cache({\n namespace: `datasource-${DenoDatasource.id}`,\n key: ({ packageName, registryUrl }: GetReleasesConfig) =>\n // TODO: types (#22198)\n `getReleases:${registryUrl}:${packageName}`,\n })\n async getReleases({\n packageName,\n registryUrl,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n const massagedRegistryUrl = registryUrl!;\n\n const extractResult = regEx(\n /^(https:\\/\\/deno.land\\/)(?<rawPackageName>[^@\\s]+)/,\n ).exec(packageName);\n const rawPackageName = extractResult?.groups?.rawPackageName;\n if (isNullOrUndefined(rawPackageName)) {\n logger.debug(\n `Could not extract rawPackageName from packageName: \"${packageName}\"`,\n );\n return null;\n }\n\n // remove third-party prefix if defined. The only internal library is `std` and is available under the same API\n const massagedPackageName = rawPackageName.replace('x/', '');\n\n // https://apiland.deno.dev/v2/modules/postgres\n const moduleAPIURL = joinUrlParts(\n massagedRegistryUrl,\n 'v2/modules',\n massagedPackageName,\n );\n\n return await this.getReleaseResult(moduleAPIURL);\n }\n\n @cache({\n namespace: `datasource-${DenoDatasource.id}`,\n key: (moduleAPIURL) => `getReleaseResult:${moduleAPIURL}`,\n })\n async getReleaseResult(moduleAPIURL: string): Promise<ReleaseResult> {\n const detailsCacheKey = `details:${moduleAPIURL}`;\n const releasesCache: Record<string, Release> =\n (await packageCache.get(\n `datasource-${DenoDatasource.id}`,\n detailsCacheKey,\n )) ?? {};\n let cacheModified = false;\n\n const {\n body: { versions, tags },\n } = await this.http.getJson(moduleAPIURL, DenoAPIModuleResponse);\n\n // get details for the versions\n const releases = await pMap(\n versions,\n async (version) => {\n const cacheRelease = releasesCache[version];\n /* v8 ignore next 3: hard to test */\n if (cacheRelease) {\n return cacheRelease;\n }\n\n // https://apiland.deno.dev/v2/modules/postgres/v0.17.0\n const url = joinUrlParts(moduleAPIURL, version);\n const { body: release } = await this.http.getJson(\n url,\n DenoAPIModuleVersionResponse.catch(({ error: err }) => {\n logger.warn(\n { err, version },\n 'Deno: failed to get version details',\n );\n return { version };\n }),\n );\n\n releasesCache[release.version] = release;\n cacheModified = true;\n\n return release;\n },\n { concurrency: 5 },\n );\n\n if (cacheModified) {\n // 1 week. Releases at Deno are immutable, therefore we can use a long term cache here.\n await packageCache.set(\n `datasource-${DenoDatasource.id}`,\n detailsCacheKey,\n releasesCache,\n 10080,\n );\n }\n\n return { releases, tags };\n }\n}\n"]}
@@ -8,7 +8,7 @@ exports.extractDigestFromResponseBody = extractDigestFromResponseBody;
8
8
  exports.findLatestStable = findLatestStable;
9
9
  exports.findHelmSourceUrl = findHelmSourceUrl;
10
10
  const tslib_1 = require("tslib");
11
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
11
+ const is_1 = require("@sindresorhus/is");
12
12
  const auth_header_1 = require("auth-header");
13
13
  const error_messages_1 = require("../../../constants/error-messages");
14
14
  const logger_1 = require("../../../logger");
@@ -58,7 +58,7 @@ async function getAuthHeaders(http, registryHost, dockerRepository, apiCheckUrl
58
58
  throw new Error(error_messages_1.PAGE_NOT_FOUND_ERROR);
59
59
  }
60
60
  if (apiCheckResponse.statusCode !== 401 ||
61
- !is_1.default.nonEmptyString(apiCheckResponse.headers['www-authenticate'])) {
61
+ !(0, is_1.isNonEmptyString)(apiCheckResponse.headers['www-authenticate'])) {
62
62
  logger_1.logger.warn({ apiCheckUrl, res: apiCheckResponse }, 'Invalid registry response');
63
63
  return null;
64
64
  }
@@ -112,7 +112,7 @@ async function getAuthHeaders(http, registryHost, dockerRepository, apiCheckUrl
112
112
  // * www-authenticate: Bearer realm="https://ghcr.io/token",service="ghcr.io",scope="repository:user/image:pull"
113
113
  // * www-authenticate: Bearer realm="https://auth.docker.io/token",service="registry.docker.io"
114
114
  if (authenticateHeader.scheme.toUpperCase() !== 'BEARER' ||
115
- !is_1.default.string(authenticateHeader.params.realm) ||
115
+ !(0, is_1.isString)(authenticateHeader.params.realm) ||
116
116
  (0, url_2.parseUrl)(authenticateHeader.params.realm) === null) {
117
117
  logger_1.logger.once.debug(`hostRules: testing direct auth for ${registryHost}`);
118
118
  logger_1.logger.trace({ registryHost, dockerRepository, authenticateHeader }, `Invalid realm, testing direct auth`);
@@ -120,14 +120,14 @@ async function getAuthHeaders(http, registryHost, dockerRepository, apiCheckUrl
120
120
  }
121
121
  const authUrl = new URL(`${authenticateHeader.params.realm}`);
122
122
  // repo isn't known to server yet, so causing wrong scope `repository:user/image:pull`
123
- if (is_1.default.string(authenticateHeader.params.scope) &&
123
+ if ((0, is_1.isString)(authenticateHeader.params.scope) &&
124
124
  !apiCheckUrl.endsWith('/v2/')) {
125
125
  authUrl.searchParams.append('scope', authenticateHeader.params.scope);
126
126
  }
127
127
  else {
128
128
  authUrl.searchParams.append('scope', `repository:${dockerRepository}:pull`);
129
129
  }
130
- if (is_1.default.string(authenticateHeader.params.service)) {
130
+ if ((0, is_1.isString)(authenticateHeader.params.service)) {
131
131
  authUrl.searchParams.append('service', authenticateHeader.params.service);
132
132
  }
133
133
  logger_1.logger.trace({ registryHost, dockerRepository, authUrl: authUrl.href }, `Obtaining docker registry token`);