renovate 42.0.0-next.2 → 42.0.1

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 (778) hide show
  1. package/dist/config/app-strings.d.ts +2 -1
  2. package/dist/config/app-strings.js +10 -2
  3. package/dist/config/app-strings.js.map +1 -1
  4. package/dist/config/decrypt/bcpgp.d.ts +1 -0
  5. package/dist/config/decrypt/bcpgp.js +57 -0
  6. package/dist/config/decrypt/bcpgp.js.map +1 -0
  7. package/dist/config/decrypt/openpgp.js +0 -4
  8. package/dist/config/decrypt/openpgp.js.map +1 -1
  9. package/dist/config/decrypt.d.ts +1 -1
  10. package/dist/config/decrypt.js +9 -26
  11. package/dist/config/decrypt.js.map +1 -1
  12. package/dist/config/global.js +1 -0
  13. package/dist/config/global.js.map +1 -1
  14. package/dist/config/migrations/custom/schedule-migration.js +9 -11
  15. package/dist/config/migrations/custom/schedule-migration.js.map +1 -1
  16. package/dist/config/migrations/custom/unpublish-safe-migration.js +3 -2
  17. package/dist/config/migrations/custom/unpublish-safe-migration.js.map +1 -1
  18. package/dist/config/options/index.js +49 -2
  19. package/dist/config/options/index.js.map +1 -1
  20. package/dist/config/presets/common.js +1 -0
  21. package/dist/config/presets/common.js.map +1 -1
  22. package/dist/config/presets/internal/abandonments.js +4 -1
  23. package/dist/config/presets/internal/abandonments.js.map +1 -1
  24. package/dist/config/presets/internal/config.js +15 -0
  25. package/dist/config/presets/internal/config.js.map +1 -1
  26. package/dist/config/presets/internal/custom-managers.js +2 -2
  27. package/dist/config/presets/internal/custom-managers.js.map +1 -1
  28. package/dist/config/presets/internal/default.js +12 -1
  29. package/dist/config/presets/internal/default.js.map +1 -1
  30. package/dist/config/presets/internal/group.js +13 -0
  31. package/dist/config/presets/internal/group.js.map +1 -1
  32. package/dist/config/presets/internal/npm.js +1 -8
  33. package/dist/config/presets/internal/npm.js.map +1 -1
  34. package/dist/config/presets/internal/packages.js +5 -1
  35. package/dist/config/presets/internal/packages.js.map +1 -1
  36. package/dist/config/presets/internal/security.js +8 -0
  37. package/dist/config/presets/internal/security.js.map +1 -1
  38. package/dist/config/presets/internal/workarounds.js +2 -2
  39. package/dist/config/presets/internal/workarounds.js.map +1 -1
  40. package/dist/config/schema.d.ts +1 -1
  41. package/dist/config/secrets.js +2 -2
  42. package/dist/config/secrets.js.map +1 -1
  43. package/dist/config/types.d.ts +26 -1
  44. package/dist/config/types.js.map +1 -1
  45. package/dist/config/validation.js +4 -3
  46. package/dist/config/validation.js.map +1 -1
  47. package/dist/config-validator.js +1 -1
  48. package/dist/config-validator.js.map +1 -1
  49. package/dist/constants/platforms.js +1 -0
  50. package/dist/constants/platforms.js.map +1 -1
  51. package/dist/data/monorepo.json +13 -2
  52. package/dist/data/node-js-schedule.json +1 -1
  53. package/dist/data/replacements.json +34 -0
  54. package/dist/data-files.generated.js +3 -3
  55. package/dist/data-files.generated.js.map +1 -1
  56. package/dist/logger/renovate-logger.d.ts +1 -0
  57. package/dist/logger/renovate-logger.js +3 -0
  58. package/dist/logger/renovate-logger.js.map +1 -1
  59. package/dist/logger/utils.js +2 -1
  60. package/dist/logger/utils.js.map +1 -1
  61. package/dist/manager-list.generated.d.ts +1 -1
  62. package/dist/manager-list.generated.js +1 -1
  63. package/dist/manager-list.generated.js.map +1 -1
  64. package/dist/modules/datasource/api.js +4 -0
  65. package/dist/modules/datasource/api.js.map +1 -1
  66. package/dist/modules/datasource/aws-eks-addon/schema.d.ts +1 -8
  67. package/dist/modules/datasource/aws-eks-addon/schema.js +7 -5
  68. package/dist/modules/datasource/aws-eks-addon/schema.js.map +1 -1
  69. package/dist/modules/datasource/azure-pipelines-tasks/schema.d.ts +12 -12
  70. package/dist/modules/datasource/bitrise/schema.d.ts +1 -1
  71. package/dist/modules/datasource/buildpacks-registry/index.js +1 -1
  72. package/dist/modules/datasource/buildpacks-registry/index.js.map +1 -1
  73. package/dist/modules/datasource/buildpacks-registry/schema.d.ts +1 -1
  74. package/dist/modules/datasource/buildpacks-registry/schema.js +2 -2
  75. package/dist/modules/datasource/buildpacks-registry/schema.js.map +1 -1
  76. package/dist/modules/datasource/cdnjs/index.js +2 -2
  77. package/dist/modules/datasource/cdnjs/index.js.map +1 -1
  78. package/dist/modules/datasource/cdnjs/schema.d.ts +8 -8
  79. package/dist/modules/datasource/cdnjs/schema.js +3 -3
  80. package/dist/modules/datasource/cdnjs/schema.js.map +1 -1
  81. package/dist/modules/datasource/conan/schema.d.ts +3 -3
  82. package/dist/modules/datasource/conda/prefix-dev.js +1 -1
  83. package/dist/modules/datasource/conda/prefix-dev.js.map +1 -1
  84. package/dist/modules/datasource/conda/schema/prefix-dev.d.ts +7 -7
  85. package/dist/modules/datasource/conda/schema/prefix-dev.js +2 -2
  86. package/dist/modules/datasource/conda/schema/prefix-dev.js.map +1 -1
  87. package/dist/modules/datasource/cpan/schema.js +2 -2
  88. package/dist/modules/datasource/cpan/schema.js.map +1 -1
  89. package/dist/modules/datasource/crate/index.js +12 -11
  90. package/dist/modules/datasource/crate/index.js.map +1 -1
  91. package/dist/modules/datasource/crate/schema.d.ts +1 -1
  92. package/dist/modules/datasource/crate/schema.js +2 -2
  93. package/dist/modules/datasource/crate/schema.js.map +1 -1
  94. package/dist/modules/datasource/custom/index.d.ts +1 -1
  95. package/dist/modules/datasource/custom/index.js +2 -2
  96. package/dist/modules/datasource/custom/index.js.map +1 -1
  97. package/dist/modules/datasource/custom/schema.d.ts +1 -1
  98. package/dist/modules/datasource/custom/schema.js +2 -2
  99. package/dist/modules/datasource/custom/schema.js.map +1 -1
  100. package/dist/modules/datasource/docker/index.d.ts +1 -1
  101. package/dist/modules/datasource/docker/index.js +4 -1
  102. package/dist/modules/datasource/docker/index.js.map +1 -1
  103. package/dist/modules/datasource/docker/schema.d.ts +4 -4
  104. package/dist/modules/datasource/forgejo-releases/index.js +3 -3
  105. package/dist/modules/datasource/forgejo-releases/index.js.map +1 -1
  106. package/dist/modules/datasource/forgejo-releases/schema.d.ts +6 -6
  107. package/dist/modules/datasource/forgejo-releases/schema.js +3 -3
  108. package/dist/modules/datasource/forgejo-releases/schema.js.map +1 -1
  109. package/dist/modules/datasource/forgejo-tags/index.js +3 -3
  110. package/dist/modules/datasource/forgejo-tags/index.js.map +1 -1
  111. package/dist/modules/datasource/forgejo-tags/schema.d.ts +4 -4
  112. package/dist/modules/datasource/forgejo-tags/schema.js +7 -7
  113. package/dist/modules/datasource/forgejo-tags/schema.js.map +1 -1
  114. package/dist/modules/datasource/gitea-releases/index.js +3 -3
  115. package/dist/modules/datasource/gitea-releases/index.js.map +1 -1
  116. package/dist/modules/datasource/gitea-releases/schema.d.ts +6 -6
  117. package/dist/modules/datasource/gitea-releases/schema.js +3 -3
  118. package/dist/modules/datasource/gitea-releases/schema.js.map +1 -1
  119. package/dist/modules/datasource/gitea-tags/index.js +3 -3
  120. package/dist/modules/datasource/gitea-tags/index.js.map +1 -1
  121. package/dist/modules/datasource/gitea-tags/schema.d.ts +4 -4
  122. package/dist/modules/datasource/gitea-tags/schema.js +7 -7
  123. package/dist/modules/datasource/gitea-tags/schema.js.map +1 -1
  124. package/dist/modules/datasource/github-runners/index.js +5 -3
  125. package/dist/modules/datasource/github-runners/index.js.map +1 -1
  126. package/dist/modules/datasource/go/base.js +3 -2
  127. package/dist/modules/datasource/go/base.js.map +1 -1
  128. package/dist/modules/datasource/go/common.js +13 -9
  129. package/dist/modules/datasource/go/common.js.map +1 -1
  130. package/dist/modules/datasource/go/index.js +7 -2
  131. package/dist/modules/datasource/go/index.js.map +1 -1
  132. package/dist/modules/datasource/go/releases-direct.d.ts +2 -0
  133. package/dist/modules/datasource/go/releases-direct.js +7 -1
  134. package/dist/modules/datasource/go/releases-direct.js.map +1 -1
  135. package/dist/modules/datasource/go/releases-goproxy.js +1 -1
  136. package/dist/modules/datasource/go/releases-goproxy.js.map +1 -1
  137. package/dist/modules/datasource/helm/index.js +1 -1
  138. package/dist/modules/datasource/helm/index.js.map +1 -1
  139. package/dist/modules/datasource/helm/schema.d.ts +2 -2
  140. package/dist/modules/datasource/helm/schema.js +4 -4
  141. package/dist/modules/datasource/helm/schema.js.map +1 -1
  142. package/dist/modules/datasource/jsr/common.d.ts +1 -0
  143. package/dist/modules/datasource/jsr/common.js +12 -0
  144. package/dist/modules/datasource/jsr/common.js.map +1 -0
  145. package/dist/modules/datasource/jsr/index.d.ts +12 -0
  146. package/dist/modules/datasource/jsr/index.js +66 -0
  147. package/dist/modules/datasource/jsr/index.js.map +1 -0
  148. package/dist/modules/datasource/jsr/schema.d.ts +27 -0
  149. package/dist/modules/datasource/jsr/schema.js +20 -0
  150. package/dist/modules/datasource/jsr/schema.js.map +1 -0
  151. package/dist/modules/datasource/jsr/util.d.ts +4 -0
  152. package/dist/modules/datasource/jsr/util.js +53 -0
  153. package/dist/modules/datasource/jsr/util.js.map +1 -0
  154. package/dist/modules/datasource/maven/index.js +14 -0
  155. package/dist/modules/datasource/maven/index.js.map +1 -1
  156. package/dist/modules/datasource/maven/util.js +10 -0
  157. package/dist/modules/datasource/maven/util.js.map +1 -1
  158. package/dist/modules/datasource/npm/get.js +2 -1
  159. package/dist/modules/datasource/npm/get.js.map +1 -1
  160. package/dist/modules/datasource/npm/types.d.ts +7 -0
  161. package/dist/modules/datasource/npm/types.js.map +1 -1
  162. package/dist/modules/datasource/nuget/v3.js +3 -1
  163. package/dist/modules/datasource/nuget/v3.js.map +1 -1
  164. package/dist/modules/datasource/packagist/schema.d.ts +12 -12
  165. package/dist/modules/datasource/pypi/index.d.ts +1 -0
  166. package/dist/modules/datasource/pypi/index.js +1 -0
  167. package/dist/modules/datasource/pypi/index.js.map +1 -1
  168. package/dist/modules/datasource/python-version/schema.d.ts +3 -3
  169. package/dist/modules/datasource/rpm/index.d.ts +7 -0
  170. package/dist/modules/datasource/rpm/index.js +7 -0
  171. package/dist/modules/datasource/rpm/index.js.map +1 -1
  172. package/dist/modules/datasource/types.d.ts +2 -0
  173. package/dist/modules/datasource/types.js.map +1 -1
  174. package/dist/modules/datasource/typst/index.d.ts +11 -0
  175. package/dist/modules/datasource/typst/index.js +65 -0
  176. package/dist/modules/datasource/typst/index.js.map +1 -0
  177. package/dist/modules/datasource/typst/schema.d.ts +31 -0
  178. package/dist/modules/datasource/typst/schema.js +28 -0
  179. package/dist/modules/datasource/typst/schema.js.map +1 -0
  180. package/dist/modules/datasource/unity3d-packages/schema.d.ts +4 -4
  181. package/dist/modules/manager/api.js +6 -0
  182. package/dist/modules/manager/api.js.map +1 -1
  183. package/dist/modules/manager/argocd/extract.js +1 -1
  184. package/dist/modules/manager/argocd/extract.js.map +1 -1
  185. package/dist/modules/manager/argocd/schema.d.ts +1 -1
  186. package/dist/modules/manager/argocd/schema.js +2 -2
  187. package/dist/modules/manager/argocd/schema.js.map +1 -1
  188. package/dist/modules/manager/azure-pipelines/schema.d.ts +1 -1
  189. package/dist/modules/manager/batect/extract.js +1 -1
  190. package/dist/modules/manager/batect/extract.js.map +1 -1
  191. package/dist/modules/manager/batect/schema.d.ts +4 -4
  192. package/dist/modules/manager/batect/schema.js +2 -2
  193. package/dist/modules/manager/batect/schema.js.map +1 -1
  194. package/dist/modules/manager/bazel/rules/docker.d.ts +3 -3
  195. package/dist/modules/manager/bazel/rules/git.d.ts +5 -5
  196. package/dist/modules/manager/bazel/rules/go.d.ts +5 -5
  197. package/dist/modules/manager/bazel/rules/oci.d.ts +3 -3
  198. package/dist/modules/manager/bazel-module/extract.js +5 -0
  199. package/dist/modules/manager/bazel-module/extract.js.map +1 -1
  200. package/dist/modules/manager/bazel-module/parser/context.d.ts +6 -0
  201. package/dist/modules/manager/bazel-module/parser/context.js +42 -2
  202. package/dist/modules/manager/bazel-module/parser/context.js.map +1 -1
  203. package/dist/modules/manager/bazel-module/parser/fragments.d.ts +276 -112
  204. package/dist/modules/manager/bazel-module/parser/fragments.js +70 -32
  205. package/dist/modules/manager/bazel-module/parser/fragments.js.map +1 -1
  206. package/dist/modules/manager/bazel-module/parser/index.js +3 -1
  207. package/dist/modules/manager/bazel-module/parser/index.js.map +1 -1
  208. package/dist/modules/manager/bazel-module/parser/maven.d.ts +27 -27
  209. package/dist/modules/manager/bazel-module/parser/maven.js +7 -7
  210. package/dist/modules/manager/bazel-module/parser/maven.js.map +1 -1
  211. package/dist/modules/manager/bazel-module/parser/oci.d.ts +38 -38
  212. package/dist/modules/manager/bazel-module/parser/oci.js +5 -5
  213. package/dist/modules/manager/bazel-module/parser/oci.js.map +1 -1
  214. package/dist/modules/manager/bazel-module/parser/repo-rules.d.ts +5 -0
  215. package/dist/modules/manager/bazel-module/parser/repo-rules.js +71 -0
  216. package/dist/modules/manager/bazel-module/parser/repo-rules.js.map +1 -0
  217. package/dist/modules/manager/bazel-module/rules-img.d.ts +229 -0
  218. package/dist/modules/manager/bazel-module/rules-img.js +74 -0
  219. package/dist/modules/manager/bazel-module/rules-img.js.map +1 -0
  220. package/dist/modules/manager/bazel-module/rules.d.ts +101 -101
  221. package/dist/modules/manager/bazel-module/rules.js +18 -18
  222. package/dist/modules/manager/bazel-module/rules.js.map +1 -1
  223. package/dist/modules/manager/bitrise/schema.d.ts +1 -1
  224. package/dist/modules/manager/bun/artifacts.js +5 -4
  225. package/dist/modules/manager/bun/artifacts.js.map +1 -1
  226. package/dist/modules/manager/bundler/locked-version.js +44 -23
  227. package/dist/modules/manager/bundler/locked-version.js.map +1 -1
  228. package/dist/modules/manager/cargo/artifacts.js +15 -11
  229. package/dist/modules/manager/cargo/artifacts.js.map +1 -1
  230. package/dist/modules/manager/cargo/extract.js +6 -3
  231. package/dist/modules/manager/cargo/extract.js.map +1 -1
  232. package/dist/modules/manager/cargo/index.d.ts +0 -1
  233. package/dist/modules/manager/cargo/index.js +11 -4
  234. package/dist/modules/manager/cargo/index.js.map +1 -1
  235. package/dist/modules/manager/cargo/locked-version.d.ts +2 -2
  236. package/dist/modules/manager/cargo/locked-version.js +1 -1
  237. package/dist/modules/manager/cargo/locked-version.js.map +1 -1
  238. package/dist/modules/manager/cargo/schema.d.ts +206 -35
  239. package/dist/modules/manager/cargo/schema.js +26 -18
  240. package/dist/modules/manager/cargo/schema.js.map +1 -1
  241. package/dist/modules/manager/cloudbuild/schema.d.ts +1 -1
  242. package/dist/modules/manager/composer/schema.d.ts +98 -98
  243. package/dist/modules/manager/conan/artifacts.js +12 -2
  244. package/dist/modules/manager/conan/artifacts.js.map +1 -1
  245. package/dist/modules/manager/conan/extract.js +1 -1
  246. package/dist/modules/manager/conan/extract.js.map +1 -1
  247. package/dist/modules/manager/conan/index.d.ts +0 -1
  248. package/dist/modules/manager/conan/index.js +0 -1
  249. package/dist/modules/manager/conan/index.js.map +1 -1
  250. package/dist/modules/manager/copier/artifacts.js +5 -5
  251. package/dist/modules/manager/copier/artifacts.js.map +1 -1
  252. package/dist/modules/manager/copier/schema.d.ts +2 -2
  253. package/dist/modules/manager/copier/schema.js +5 -1
  254. package/dist/modules/manager/copier/schema.js.map +1 -1
  255. package/dist/modules/manager/crossplane/extract.js +1 -1
  256. package/dist/modules/manager/crossplane/extract.js.map +1 -1
  257. package/dist/modules/manager/crossplane/schema.d.ts +2 -2
  258. package/dist/modules/manager/crossplane/schema.js +2 -2
  259. package/dist/modules/manager/crossplane/schema.js.map +1 -1
  260. package/dist/modules/manager/crow/extract.d.ts +2 -0
  261. package/dist/modules/manager/crow/extract.js +35 -0
  262. package/dist/modules/manager/crow/extract.js.map +1 -0
  263. package/dist/modules/manager/crow/index.d.ts +8 -0
  264. package/dist/modules/manager/crow/index.js +13 -0
  265. package/dist/modules/manager/crow/index.js.map +1 -0
  266. package/dist/modules/manager/crow/schema.d.ts +66 -0
  267. package/dist/modules/manager/crow/schema.js +15 -0
  268. package/dist/modules/manager/crow/schema.js.map +1 -0
  269. package/dist/modules/manager/custom/jsonata/schema.d.ts +1 -1
  270. package/dist/modules/manager/custom/jsonata/schema.js +4 -4
  271. package/dist/modules/manager/custom/jsonata/schema.js.map +1 -1
  272. package/dist/modules/manager/custom/jsonata/utils.js +3 -3
  273. package/dist/modules/manager/custom/jsonata/utils.js.map +1 -1
  274. package/dist/modules/manager/devbox/extract.js +1 -1
  275. package/dist/modules/manager/devbox/extract.js.map +1 -1
  276. package/dist/modules/manager/devbox/schema.d.ts +1 -1
  277. package/dist/modules/manager/devbox/schema.js +2 -2
  278. package/dist/modules/manager/devbox/schema.js.map +1 -1
  279. package/dist/modules/manager/devcontainer/schema.d.ts +1 -1
  280. package/dist/modules/manager/fingerprint.generated.js +35 -32
  281. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  282. package/dist/modules/manager/fleet/schema.d.ts +16 -16
  283. package/dist/modules/manager/flux/schema.d.ts +24 -24
  284. package/dist/modules/manager/github-actions/community.d.ts +96 -0
  285. package/dist/modules/manager/github-actions/community.js +116 -10
  286. package/dist/modules/manager/github-actions/community.js.map +1 -1
  287. package/dist/modules/manager/github-actions/extract.js +2 -1
  288. package/dist/modules/manager/github-actions/extract.js.map +1 -1
  289. package/dist/modules/manager/github-actions/schema.d.ts +3 -3
  290. package/dist/modules/manager/github-actions/schema.js +7 -7
  291. package/dist/modules/manager/github-actions/schema.js.map +1 -1
  292. package/dist/modules/manager/gitlabci/extract.js +2 -0
  293. package/dist/modules/manager/gitlabci/extract.js.map +1 -1
  294. package/dist/modules/manager/glasskube/schema.d.ts +12 -12
  295. package/dist/modules/manager/gleam/schema.d.ts +4 -4
  296. package/dist/modules/manager/gomod/artifacts.js +8 -4
  297. package/dist/modules/manager/gomod/artifacts.js.map +1 -1
  298. package/dist/modules/manager/gradle/parser/dependencies.js +23 -2
  299. package/dist/modules/manager/gradle/parser/dependencies.js.map +1 -1
  300. package/dist/modules/manager/gradle/parser/objects.js +15 -0
  301. package/dist/modules/manager/gradle/parser/objects.js.map +1 -1
  302. package/dist/modules/manager/gradle/parser.js +1 -1
  303. package/dist/modules/manager/gradle/parser.js.map +1 -1
  304. package/dist/modules/manager/helmfile/extract.js +26 -21
  305. package/dist/modules/manager/helmfile/extract.js.map +1 -1
  306. package/dist/modules/manager/helmfile/index.js +4 -1
  307. package/dist/modules/manager/helmfile/index.js.map +1 -1
  308. package/dist/modules/manager/helmfile/schema.d.ts +4 -4
  309. package/dist/modules/manager/maven-wrapper/artifacts.js +1 -1
  310. package/dist/modules/manager/maven-wrapper/artifacts.js.map +1 -1
  311. package/dist/modules/manager/maven-wrapper/extract.js +4 -4
  312. package/dist/modules/manager/maven-wrapper/extract.js.map +1 -1
  313. package/dist/modules/manager/maven-wrapper/index.d.ts +1 -1
  314. package/dist/modules/manager/maven-wrapper/index.js +5 -2
  315. package/dist/modules/manager/maven-wrapper/index.js.map +1 -1
  316. package/dist/modules/manager/mise/backends.d.ts +2 -2
  317. package/dist/modules/manager/mise/backends.js +1 -1
  318. package/dist/modules/manager/mise/backends.js.map +1 -1
  319. package/dist/modules/manager/mise/extract.js.map +1 -1
  320. package/dist/modules/manager/mise/schema.d.ts +6 -29
  321. package/dist/modules/manager/mise/schema.js +7 -8
  322. package/dist/modules/manager/mise/schema.js.map +1 -1
  323. package/dist/modules/manager/mise/upgradeable-tooling.js +1 -1
  324. package/dist/modules/manager/mise/upgradeable-tooling.js.map +1 -1
  325. package/dist/modules/manager/mise/utils.d.ts +2 -2
  326. package/dist/modules/manager/mise/utils.js +1 -1
  327. package/dist/modules/manager/mise/utils.js.map +1 -1
  328. package/dist/modules/manager/nix/artifacts.js +2 -2
  329. package/dist/modules/manager/nix/artifacts.js.map +1 -1
  330. package/dist/modules/manager/nix/extract.d.ts +2 -2
  331. package/dist/modules/manager/nix/extract.js +79 -67
  332. package/dist/modules/manager/nix/extract.js.map +1 -1
  333. package/dist/modules/manager/nix/index.d.ts +1 -0
  334. package/dist/modules/manager/nix/index.js +3 -1
  335. package/dist/modules/manager/nix/index.js.map +1 -1
  336. package/dist/modules/manager/nix/range.d.ts +3 -0
  337. package/dist/modules/manager/nix/range.js +10 -0
  338. package/dist/modules/manager/nix/range.js.map +1 -0
  339. package/dist/modules/manager/nix/schema.d.ts +42 -28
  340. package/dist/modules/manager/nix/schema.js +4 -1
  341. package/dist/modules/manager/nix/schema.js.map +1 -1
  342. package/dist/modules/manager/npm/extract/common/package-file.d.ts +1 -0
  343. package/dist/modules/manager/npm/extract/common/package-file.js +8 -0
  344. package/dist/modules/manager/npm/extract/common/package-file.js.map +1 -1
  345. package/dist/modules/manager/npm/extract/index.js +24 -7
  346. package/dist/modules/manager/npm/extract/index.js.map +1 -1
  347. package/dist/modules/manager/npm/extract/pnpm.d.ts +4 -3
  348. package/dist/modules/manager/npm/extract/pnpm.js +1 -1
  349. package/dist/modules/manager/npm/extract/pnpm.js.map +1 -1
  350. package/dist/modules/manager/npm/extract/post/locked-versions.js +6 -0
  351. package/dist/modules/manager/npm/extract/post/locked-versions.js.map +1 -1
  352. package/dist/modules/manager/npm/extract/yarn.d.ts +4 -0
  353. package/dist/modules/manager/npm/extract/yarn.js +35 -0
  354. package/dist/modules/manager/npm/extract/yarn.js.map +1 -1
  355. package/dist/modules/manager/npm/extract/yarnrc.d.ts +4 -4
  356. package/dist/modules/manager/npm/extract/yarnrc.js +1 -2
  357. package/dist/modules/manager/npm/extract/yarnrc.js.map +1 -1
  358. package/dist/modules/manager/npm/index.js +1 -0
  359. package/dist/modules/manager/npm/index.js.map +1 -1
  360. package/dist/modules/manager/npm/post-update/index.js +2 -1
  361. package/dist/modules/manager/npm/post-update/index.js.map +1 -1
  362. package/dist/modules/manager/npm/post-update/npm.js +14 -1
  363. package/dist/modules/manager/npm/post-update/npm.js.map +1 -1
  364. package/dist/modules/manager/npm/post-update/pnpm.js +6 -1
  365. package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
  366. package/dist/modules/manager/npm/post-update/types.d.ts +5 -5
  367. package/dist/modules/manager/npm/post-update/types.js.map +1 -1
  368. package/dist/modules/manager/npm/post-update/utils.d.ts +3 -4
  369. package/dist/modules/manager/npm/post-update/utils.js +2 -13
  370. package/dist/modules/manager/npm/post-update/utils.js.map +1 -1
  371. package/dist/modules/manager/npm/schema.d.ts +35 -97
  372. package/dist/modules/manager/npm/schema.js +21 -16
  373. package/dist/modules/manager/npm/schema.js.map +1 -1
  374. package/dist/modules/manager/npm/update/dependency/index.js +4 -0
  375. package/dist/modules/manager/npm/update/dependency/index.js.map +1 -1
  376. package/dist/modules/manager/npm/update/dependency/pnpm.js +1 -1
  377. package/dist/modules/manager/npm/update/dependency/pnpm.js.map +1 -1
  378. package/dist/modules/manager/npm/update/dependency/yarn.d.ts +2 -0
  379. package/dist/modules/manager/npm/update/dependency/yarn.js +102 -0
  380. package/dist/modules/manager/npm/update/dependency/yarn.js.map +1 -0
  381. package/dist/modules/manager/npm/utils.d.ts +2 -0
  382. package/dist/modules/manager/npm/utils.js +10 -0
  383. package/dist/modules/manager/npm/utils.js.map +1 -1
  384. package/dist/modules/manager/nuget/extract.js +5 -0
  385. package/dist/modules/manager/nuget/extract.js.map +1 -1
  386. package/dist/modules/manager/nuget/schema.d.ts +3 -56
  387. package/dist/modules/manager/nuget/schema.js +5 -6
  388. package/dist/modules/manager/nuget/schema.js.map +1 -1
  389. package/dist/modules/manager/nvm/extract.js +8 -1
  390. package/dist/modules/manager/nvm/extract.js.map +1 -1
  391. package/dist/modules/manager/ocb/extract.js +1 -1
  392. package/dist/modules/manager/ocb/extract.js.map +1 -1
  393. package/dist/modules/manager/ocb/schema.d.ts +4 -4
  394. package/dist/modules/manager/ocb/schema.js +9 -9
  395. package/dist/modules/manager/ocb/schema.js.map +1 -1
  396. package/dist/modules/manager/pep621/extract.d.ts +1 -1
  397. package/dist/modules/manager/pep621/extract.js +11 -3
  398. package/dist/modules/manager/pep621/extract.js.map +1 -1
  399. package/dist/modules/manager/pep621/processors/abstract.d.ts +10 -0
  400. package/dist/modules/manager/pep621/processors/abstract.js +25 -0
  401. package/dist/modules/manager/pep621/processors/abstract.js.map +1 -0
  402. package/dist/modules/manager/pep621/processors/hatch.d.ts +2 -2
  403. package/dist/modules/manager/pep621/processors/hatch.js +2 -1
  404. package/dist/modules/manager/pep621/processors/hatch.js.map +1 -1
  405. package/dist/modules/manager/pep621/processors/index.d.ts +2 -4
  406. package/dist/modules/manager/pep621/processors/index.js.map +1 -1
  407. package/dist/modules/manager/pep621/processors/pdm.d.ts +3 -2
  408. package/dist/modules/manager/pep621/processors/pdm.js +5 -4
  409. package/dist/modules/manager/pep621/processors/pdm.js.map +1 -1
  410. package/dist/modules/manager/pep621/processors/types.d.ts +1 -0
  411. package/dist/modules/manager/pep621/processors/types.js.map +1 -1
  412. package/dist/modules/manager/pep621/processors/uv.d.ts +3 -2
  413. package/dist/modules/manager/pep621/processors/uv.js +8 -6
  414. package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
  415. package/dist/modules/manager/pep621/schema.d.ts +35 -257
  416. package/dist/modules/manager/pep621/schema.js +17 -21
  417. package/dist/modules/manager/pep621/schema.js.map +1 -1
  418. package/dist/modules/manager/pep723/extract.js +1 -1
  419. package/dist/modules/manager/pep723/extract.js.map +1 -1
  420. package/dist/modules/manager/pep723/schema.d.ts +1 -1
  421. package/dist/modules/manager/pep723/schema.js +2 -2
  422. package/dist/modules/manager/pep723/schema.js.map +1 -1
  423. package/dist/modules/manager/pip-compile/extract.d.ts +1 -1
  424. package/dist/modules/manager/pip-compile/extract.js +9 -6
  425. package/dist/modules/manager/pip-compile/extract.js.map +1 -1
  426. package/dist/modules/manager/pixi/extract.js +4 -7
  427. package/dist/modules/manager/pixi/extract.js.map +1 -1
  428. package/dist/modules/manager/pixi/schema.d.ts +296 -4
  429. package/dist/modules/manager/pixi/schema.js +11 -4
  430. package/dist/modules/manager/pixi/schema.js.map +1 -1
  431. package/dist/modules/manager/poetry/artifacts.js +2 -2
  432. package/dist/modules/manager/poetry/artifacts.js.map +1 -1
  433. package/dist/modules/manager/poetry/extract.js +1 -1
  434. package/dist/modules/manager/poetry/extract.js.map +1 -1
  435. package/dist/modules/manager/poetry/index.d.ts +1 -0
  436. package/dist/modules/manager/poetry/index.js +2 -1
  437. package/dist/modules/manager/poetry/index.js.map +1 -1
  438. package/dist/modules/manager/poetry/schema.d.ts +45 -138
  439. package/dist/modules/manager/poetry/schema.js +49 -32
  440. package/dist/modules/manager/poetry/schema.js.map +1 -1
  441. package/dist/modules/manager/poetry/update-locked.js +2 -2
  442. package/dist/modules/manager/poetry/update-locked.js.map +1 -1
  443. package/dist/modules/manager/pre-commit/extract.js +2 -1
  444. package/dist/modules/manager/pre-commit/extract.js.map +1 -1
  445. package/dist/modules/manager/pub/extract.js +38 -8
  446. package/dist/modules/manager/pub/extract.js.map +1 -1
  447. package/dist/modules/manager/pub/index.d.ts +0 -1
  448. package/dist/modules/manager/pub/index.js +0 -3
  449. package/dist/modules/manager/pub/index.js.map +1 -1
  450. package/dist/modules/manager/pub/schema.d.ts +25 -79
  451. package/dist/modules/manager/pub/schema.js +17 -10
  452. package/dist/modules/manager/pub/schema.js.map +1 -1
  453. package/dist/modules/manager/pub/utils.d.ts +3 -3
  454. package/dist/modules/manager/pub/utils.js +2 -2
  455. package/dist/modules/manager/pub/utils.js.map +1 -1
  456. package/dist/modules/manager/quadlet/extract.d.ts +2 -0
  457. package/dist/modules/manager/quadlet/extract.js +54 -0
  458. package/dist/modules/manager/quadlet/extract.js.map +1 -0
  459. package/dist/modules/manager/quadlet/index.d.ts +8 -0
  460. package/dist/modules/manager/quadlet/index.js +13 -0
  461. package/dist/modules/manager/quadlet/index.js.map +1 -0
  462. package/dist/modules/manager/quadlet/schema.d.ts +45 -0
  463. package/dist/modules/manager/quadlet/schema.js +23 -0
  464. package/dist/modules/manager/quadlet/schema.js.map +1 -0
  465. package/dist/modules/manager/renovate-config-presets/extract.js +1 -1
  466. package/dist/modules/manager/renovate-config-presets/extract.js.map +1 -1
  467. package/dist/modules/manager/renovate-config-presets/index.js +1 -1
  468. package/dist/modules/manager/renovate-config-presets/index.js.map +1 -1
  469. package/dist/modules/manager/renovate-config-presets/schema.d.ts +1 -1
  470. package/dist/modules/manager/renovate-config-presets/schema.js +2 -2
  471. package/dist/modules/manager/renovate-config-presets/schema.js.map +1 -1
  472. package/dist/modules/manager/swift/extract.js +25 -9
  473. package/dist/modules/manager/swift/extract.js.map +1 -1
  474. package/dist/modules/manager/swift/index.js +7 -1
  475. package/dist/modules/manager/swift/index.js.map +1 -1
  476. package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js +1 -1
  477. package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js.map +1 -1
  478. package/dist/modules/manager/terraform/lockfile/hash.js +1 -1
  479. package/dist/modules/manager/terraform/lockfile/hash.js.map +1 -1
  480. package/dist/modules/manager/terragrunt/util.js +1 -1
  481. package/dist/modules/manager/terragrunt/util.js.map +1 -1
  482. package/dist/modules/manager/types.d.ts +2 -0
  483. package/dist/modules/manager/types.js.map +1 -1
  484. package/dist/modules/manager/typst/extract.d.ts +2 -0
  485. package/dist/modules/manager/typst/extract.js +31 -0
  486. package/dist/modules/manager/typst/extract.js.map +1 -0
  487. package/dist/modules/manager/typst/index.d.ts +7 -0
  488. package/dist/modules/manager/typst/index.js +12 -0
  489. package/dist/modules/manager/typst/index.js.map +1 -0
  490. package/dist/modules/manager/util.js +3 -2
  491. package/dist/modules/manager/util.js.map +1 -1
  492. package/dist/modules/manager/vendir/schema.d.ts +13 -13
  493. package/dist/modules/platform/azure/azure-helper.js +1 -1
  494. package/dist/modules/platform/azure/azure-helper.js.map +1 -1
  495. package/dist/modules/platform/azure/schema.d.ts +3 -3
  496. package/dist/modules/platform/azure/schema.js +4 -4
  497. package/dist/modules/platform/azure/schema.js.map +1 -1
  498. package/dist/modules/platform/bitbucket/index.js +12 -9
  499. package/dist/modules/platform/bitbucket/index.js.map +1 -1
  500. package/dist/modules/platform/bitbucket/schema.d.ts +7 -7
  501. package/dist/modules/platform/bitbucket/schema.js +7 -7
  502. package/dist/modules/platform/bitbucket/schema.js.map +1 -1
  503. package/dist/modules/platform/bitbucket-server/index.js +7 -6
  504. package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
  505. package/dist/modules/platform/bitbucket-server/schema.d.ts +16 -17
  506. package/dist/modules/platform/bitbucket-server/schema.js +6 -8
  507. package/dist/modules/platform/bitbucket-server/schema.js.map +1 -1
  508. package/dist/modules/platform/codecommit/index.d.ts +0 -8
  509. package/dist/modules/platform/codecommit/index.js +16 -16
  510. package/dist/modules/platform/codecommit/index.js.map +1 -1
  511. package/dist/modules/platform/forgejo/index.js +39 -38
  512. package/dist/modules/platform/forgejo/index.js.map +1 -1
  513. package/dist/modules/platform/forgejo/types.d.ts +3 -2
  514. package/dist/modules/platform/forgejo/types.js.map +1 -1
  515. package/dist/modules/platform/forgejo/utils.d.ts +1 -0
  516. package/dist/modules/platform/forgejo/utils.js +17 -0
  517. package/dist/modules/platform/forgejo/utils.js.map +1 -1
  518. package/dist/modules/platform/gerrit/client.d.ts +1 -1
  519. package/dist/modules/platform/gerrit/client.js +32 -33
  520. package/dist/modules/platform/gerrit/client.js.map +1 -1
  521. package/dist/modules/platform/gerrit/index.d.ts +1 -2
  522. package/dist/modules/platform/gerrit/index.js +8 -16
  523. package/dist/modules/platform/gerrit/index.js.map +1 -1
  524. package/dist/modules/platform/gerrit/scm.js +7 -13
  525. package/dist/modules/platform/gerrit/scm.js.map +1 -1
  526. package/dist/modules/platform/gerrit/types.d.ts +27 -1
  527. package/dist/modules/platform/gerrit/types.js.map +1 -1
  528. package/dist/modules/platform/gitea/index.js +34 -37
  529. package/dist/modules/platform/gitea/index.js.map +1 -1
  530. package/dist/modules/platform/gitea/schema.d.ts +3 -3
  531. package/dist/modules/platform/gitea/schema.js +3 -3
  532. package/dist/modules/platform/gitea/schema.js.map +1 -1
  533. package/dist/modules/platform/gitea/types.d.ts +3 -2
  534. package/dist/modules/platform/gitea/types.js.map +1 -1
  535. package/dist/modules/platform/gitea/utils.d.ts +1 -0
  536. package/dist/modules/platform/gitea/utils.js +17 -0
  537. package/dist/modules/platform/gitea/utils.js.map +1 -1
  538. package/dist/modules/platform/github/index.d.ts +1 -1
  539. package/dist/modules/platform/github/index.js +92 -33
  540. package/dist/modules/platform/github/index.js.map +1 -1
  541. package/dist/modules/platform/github/schema.d.ts +32 -2
  542. package/dist/modules/platform/github/schema.js +32 -8
  543. package/dist/modules/platform/github/schema.js.map +1 -1
  544. package/dist/modules/platform/github/types.d.ts +2 -2
  545. package/dist/modules/platform/github/types.js.map +1 -1
  546. package/dist/modules/platform/github/user.d.ts +2 -1
  547. package/dist/modules/platform/github/user.js.map +1 -1
  548. package/dist/modules/platform/gitlab/index.js.map +1 -1
  549. package/dist/modules/platform/gitlab/pr-cache.d.ts +0 -2
  550. package/dist/modules/platform/gitlab/pr-cache.js +28 -37
  551. package/dist/modules/platform/gitlab/pr-cache.js.map +1 -1
  552. package/dist/modules/platform/gitlab/utils.js +1 -0
  553. package/dist/modules/platform/gitlab/utils.js.map +1 -1
  554. package/dist/modules/platform/types.d.ts +1 -1
  555. package/dist/modules/platform/types.js.map +1 -1
  556. package/dist/modules/versioning/api.js +2 -0
  557. package/dist/modules/versioning/api.js.map +1 -1
  558. package/dist/modules/versioning/cargo/index.js +7 -7
  559. package/dist/modules/versioning/cargo/index.js.map +1 -1
  560. package/dist/modules/versioning/composer/index.js +0 -4
  561. package/dist/modules/versioning/composer/index.js.map +1 -1
  562. package/dist/modules/versioning/conan/index.js +1 -1
  563. package/dist/modules/versioning/conan/index.js.map +1 -1
  564. package/dist/modules/versioning/conda/index.d.ts +2 -0
  565. package/dist/modules/versioning/conda/index.js +4 -4
  566. package/dist/modules/versioning/conda/index.js.map +1 -1
  567. package/dist/modules/versioning/debian/index.d.ts +1 -1
  568. package/dist/modules/versioning/debian/index.js +2 -17
  569. package/dist/modules/versioning/debian/index.js.map +1 -1
  570. package/dist/modules/versioning/gradle/index.js +2 -2
  571. package/dist/modules/versioning/gradle/index.js.map +1 -1
  572. package/dist/modules/versioning/hashicorp/index.js +0 -1
  573. package/dist/modules/versioning/hashicorp/index.js.map +1 -1
  574. package/dist/modules/versioning/helm/index.js +0 -1
  575. package/dist/modules/versioning/helm/index.js.map +1 -1
  576. package/dist/modules/versioning/hex/index.js +0 -1
  577. package/dist/modules/versioning/hex/index.js.map +1 -1
  578. package/dist/modules/versioning/ivy/index.js +1 -2
  579. package/dist/modules/versioning/ivy/index.js.map +1 -1
  580. package/dist/modules/versioning/npm/index.js +0 -1
  581. package/dist/modules/versioning/npm/index.js.map +1 -1
  582. package/dist/modules/versioning/npm/range.js +2 -3
  583. package/dist/modules/versioning/npm/range.js.map +1 -1
  584. package/dist/modules/versioning/nuget/index.js +8 -4
  585. package/dist/modules/versioning/nuget/index.js.map +1 -1
  586. package/dist/modules/versioning/pep440/index.js +1 -1
  587. package/dist/modules/versioning/pep440/index.js.map +1 -1
  588. package/dist/modules/versioning/pep440/range.d.ts +1 -0
  589. package/dist/modules/versioning/pep440/range.js +4 -3
  590. package/dist/modules/versioning/pep440/range.js.map +1 -1
  591. package/dist/modules/versioning/poetry/index.js +0 -4
  592. package/dist/modules/versioning/poetry/index.js.map +1 -1
  593. package/dist/modules/versioning/rez/index.js +0 -1
  594. package/dist/modules/versioning/rez/index.js.map +1 -1
  595. package/dist/modules/versioning/ruby/index.js +5 -5
  596. package/dist/modules/versioning/ruby/index.js.map +1 -1
  597. package/dist/modules/versioning/ruby/strategies/index.d.ts +1 -2
  598. package/dist/modules/versioning/ruby/strategies/index.js +1 -3
  599. package/dist/modules/versioning/ruby/strategies/index.js.map +1 -1
  600. package/dist/modules/versioning/semver-partial/index.d.ts +8 -0
  601. package/dist/modules/versioning/semver-partial/index.js +211 -0
  602. package/dist/modules/versioning/semver-partial/index.js.map +1 -0
  603. package/dist/modules/versioning/swift/index.js +0 -1
  604. package/dist/modules/versioning/swift/index.js.map +1 -1
  605. package/dist/modules/versioning/types.d.ts +5 -0
  606. package/dist/modules/versioning/types.js.map +1 -1
  607. package/dist/renovate.js +0 -0
  608. package/dist/util/cache/package/decorator.js +20 -9
  609. package/dist/util/cache/package/decorator.js.map +1 -1
  610. package/dist/util/cache/package/file.d.ts +1 -1
  611. package/dist/util/cache/package/file.js +3 -3
  612. package/dist/util/cache/package/file.js.map +1 -1
  613. package/dist/util/cache/package/index.d.ts +9 -2
  614. package/dist/util/cache/package/index.js +19 -4
  615. package/dist/util/cache/package/index.js.map +1 -1
  616. package/dist/util/cache/package/namespaces.d.ts +1 -1
  617. package/dist/util/cache/package/namespaces.js +3 -0
  618. package/dist/util/cache/package/namespaces.js.map +1 -1
  619. package/dist/util/cache/package/redis.d.ts +1 -1
  620. package/dist/util/cache/package/redis.js +17 -7
  621. package/dist/util/cache/package/redis.js.map +1 -1
  622. package/dist/util/cache/package/sqlite.d.ts +1 -1
  623. package/dist/util/cache/package/sqlite.js +2 -2
  624. package/dist/util/cache/package/sqlite.js.map +1 -1
  625. package/dist/util/cache/package/types.d.ts +1 -1
  626. package/dist/util/cache/package/types.js.map +1 -1
  627. package/dist/util/cache/repository/http-cache.js +1 -1
  628. package/dist/util/cache/repository/http-cache.js.map +1 -1
  629. package/dist/util/cache/repository/schema.d.ts +1 -1
  630. package/dist/util/cache/repository/types.d.ts +1 -0
  631. package/dist/util/cache/repository/types.js.map +1 -1
  632. package/dist/util/emoji.js +2 -2
  633. package/dist/util/emoji.js.map +1 -1
  634. package/dist/util/exec/containerbase.js +5 -0
  635. package/dist/util/exec/containerbase.js.map +1 -1
  636. package/dist/util/git/index.js +6 -3
  637. package/dist/util/git/index.js.map +1 -1
  638. package/dist/util/git/private-key.js +23 -3
  639. package/dist/util/git/private-key.js.map +1 -1
  640. package/dist/util/git/types.d.ts +2 -1
  641. package/dist/util/git/types.js.map +1 -1
  642. package/dist/util/github/graphql/query-adapters/releases-query-adapter.d.ts +6 -6
  643. package/dist/util/http/bitbucket.js +0 -1
  644. package/dist/util/http/bitbucket.js.map +1 -1
  645. package/dist/util/http/cache/abstract-http-cache-provider.d.ts +7 -7
  646. package/dist/util/http/cache/abstract-http-cache-provider.js +11 -11
  647. package/dist/util/http/cache/abstract-http-cache-provider.js.map +1 -1
  648. package/dist/util/http/cache/memory-http-cache-provider.d.ts +3 -3
  649. package/dist/util/http/cache/memory-http-cache-provider.js +8 -8
  650. package/dist/util/http/cache/memory-http-cache-provider.js.map +1 -1
  651. package/dist/util/http/cache/package-http-cache-provider.d.ts +5 -4
  652. package/dist/util/http/cache/package-http-cache-provider.js +17 -11
  653. package/dist/util/http/cache/package-http-cache-provider.js.map +1 -1
  654. package/dist/util/http/cache/repository-http-cache-provider.d.ts +16 -3
  655. package/dist/util/http/cache/repository-http-cache-provider.js +60 -3
  656. package/dist/util/http/cache/repository-http-cache-provider.js.map +1 -1
  657. package/dist/util/http/cache/schema.d.ts +2 -2
  658. package/dist/util/http/cache/schema.js +2 -2
  659. package/dist/util/http/cache/schema.js.map +1 -1
  660. package/dist/util/http/cache/types.d.ts +3 -3
  661. package/dist/util/http/cache/types.js.map +1 -1
  662. package/dist/util/http/gerrit.d.ts +1 -1
  663. package/dist/util/http/gerrit.js +1 -1
  664. package/dist/util/http/gerrit.js.map +1 -1
  665. package/dist/util/http/gitlab.js +0 -1
  666. package/dist/util/http/gitlab.js.map +1 -1
  667. package/dist/util/http/host-rules.js +10 -0
  668. package/dist/util/http/host-rules.js.map +1 -1
  669. package/dist/util/http/http.d.ts +1 -1
  670. package/dist/util/http/http.js +17 -15
  671. package/dist/util/http/http.js.map +1 -1
  672. package/dist/util/http/retry-after.js +1 -1
  673. package/dist/util/http/retry-after.js.map +1 -1
  674. package/dist/util/interpolator.js +2 -0
  675. package/dist/util/interpolator.js.map +1 -1
  676. package/dist/util/markdown.js +3 -3
  677. package/dist/util/markdown.js.map +1 -1
  678. package/dist/util/merge-confidence/index.js +3 -1
  679. package/dist/util/merge-confidence/index.js.map +1 -1
  680. package/dist/util/schema-utils/index.d.ts +8 -4
  681. package/dist/util/schema-utils/index.js +16 -1
  682. package/dist/util/schema-utils/index.js.map +1 -1
  683. package/dist/util/template/index.d.ts +1 -0
  684. package/dist/util/template/index.js +70 -64
  685. package/dist/util/template/index.js.map +1 -1
  686. package/dist/workers/global/config/parse/file.js +6 -0
  687. package/dist/workers/global/config/parse/file.js.map +1 -1
  688. package/dist/workers/global/config/parse/index.js +2 -1
  689. package/dist/workers/global/config/parse/index.js.map +1 -1
  690. package/dist/workers/repository/config-migration/branch/commit-message.js +2 -1
  691. package/dist/workers/repository/config-migration/branch/commit-message.js.map +1 -1
  692. package/dist/workers/repository/config-migration/branch/create.js +1 -0
  693. package/dist/workers/repository/config-migration/branch/create.js.map +1 -1
  694. package/dist/workers/repository/config-migration/branch/rebase.js +1 -0
  695. package/dist/workers/repository/config-migration/branch/rebase.js.map +1 -1
  696. package/dist/workers/repository/dependency-dashboard.js +42 -5
  697. package/dist/workers/repository/dependency-dashboard.js.map +1 -1
  698. package/dist/workers/repository/error-config.js +1 -1
  699. package/dist/workers/repository/error-config.js.map +1 -1
  700. package/dist/workers/repository/error.js +1 -1
  701. package/dist/workers/repository/error.js.map +1 -1
  702. package/dist/workers/repository/extract/supersedes.d.ts +1 -1
  703. package/dist/workers/repository/extract/supersedes.js +31 -17
  704. package/dist/workers/repository/extract/supersedes.js.map +1 -1
  705. package/dist/workers/repository/finalize/index.js +1 -1
  706. package/dist/workers/repository/finalize/index.js.map +1 -1
  707. package/dist/workers/repository/finalize/prune.js +4 -3
  708. package/dist/workers/repository/finalize/prune.js.map +1 -1
  709. package/dist/workers/repository/index.js +49 -20
  710. package/dist/workers/repository/index.js.map +1 -1
  711. package/dist/workers/repository/init/inherited.js +7 -0
  712. package/dist/workers/repository/init/inherited.js.map +1 -1
  713. package/dist/workers/repository/init/merge.js +1 -1
  714. package/dist/workers/repository/init/merge.js.map +1 -1
  715. package/dist/workers/repository/onboarding/branch/check.js +5 -3
  716. package/dist/workers/repository/onboarding/branch/check.js.map +1 -1
  717. package/dist/workers/repository/onboarding/branch/create.js +1 -0
  718. package/dist/workers/repository/onboarding/branch/create.js.map +1 -1
  719. package/dist/workers/repository/onboarding/branch/rebase.js +1 -0
  720. package/dist/workers/repository/onboarding/branch/rebase.js.map +1 -1
  721. package/dist/workers/repository/onboarding/common.js +3 -2
  722. package/dist/workers/repository/onboarding/common.js.map +1 -1
  723. package/dist/workers/repository/process/extract-update.js +2 -2
  724. package/dist/workers/repository/process/extract-update.js.map +1 -1
  725. package/dist/workers/repository/process/fetch.js +4 -3
  726. package/dist/workers/repository/process/fetch.js.map +1 -1
  727. package/dist/workers/repository/process/index.d.ts +1 -0
  728. package/dist/workers/repository/process/index.js +25 -5
  729. package/dist/workers/repository/process/index.js.map +1 -1
  730. package/dist/workers/repository/process/lookup/filter-checks.js +42 -8
  731. package/dist/workers/repository/process/lookup/filter-checks.js.map +1 -1
  732. package/dist/workers/repository/process/lookup/filter.js +5 -7
  733. package/dist/workers/repository/process/lookup/filter.js.map +1 -1
  734. package/dist/workers/repository/process/lookup/index.js +10 -13
  735. package/dist/workers/repository/process/lookup/index.js.map +1 -1
  736. package/dist/workers/repository/process/vulnerabilities.d.ts +1 -1
  737. package/dist/workers/repository/process/vulnerabilities.js +13 -8
  738. package/dist/workers/repository/process/vulnerabilities.js.map +1 -1
  739. package/dist/workers/repository/reconfigure/comment.js +1 -1
  740. package/dist/workers/repository/reconfigure/comment.js.map +1 -1
  741. package/dist/workers/repository/reconfigure/index.js +1 -1
  742. package/dist/workers/repository/reconfigure/index.js.map +1 -1
  743. package/dist/workers/repository/update/branch/commit.js +2 -0
  744. package/dist/workers/repository/update/branch/commit.js.map +1 -1
  745. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js +12 -1
  746. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js.map +1 -1
  747. package/dist/workers/repository/update/branch/index.js +65 -20
  748. package/dist/workers/repository/update/branch/index.js.map +1 -1
  749. package/dist/workers/repository/update/branch/status-checks.js +5 -0
  750. package/dist/workers/repository/update/branch/status-checks.js.map +1 -1
  751. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js +1 -1
  752. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js.map +1 -1
  753. package/dist/workers/repository/update/pr/changelog/forgejo/index.js +3 -3
  754. package/dist/workers/repository/update/pr/changelog/forgejo/index.js.map +1 -1
  755. package/dist/workers/repository/update/pr/changelog/gitea/index.js +3 -3
  756. package/dist/workers/repository/update/pr/changelog/gitea/index.js.map +1 -1
  757. package/dist/workers/repository/update/pr/changelog/release-notes.js +9 -4
  758. package/dist/workers/repository/update/pr/changelog/release-notes.js.map +1 -1
  759. package/dist/workers/repository/update/pr/index.js +28 -11
  760. package/dist/workers/repository/update/pr/index.js.map +1 -1
  761. package/dist/workers/repository/update/pr/pr-reuse.d.ts +1 -1
  762. package/dist/workers/repository/update/pr/pr-reuse.js +2 -2
  763. package/dist/workers/repository/update/pr/pr-reuse.js.map +1 -1
  764. package/dist/workers/repository/updates/generate.js +1 -0
  765. package/dist/workers/repository/updates/generate.js.map +1 -1
  766. package/dist/workers/types.d.ts +1 -0
  767. package/dist/workers/types.js.map +1 -1
  768. package/package.json +136 -153
  769. package/renovate-schema.json +325 -111
  770. package/dist/config/decrypt/kbpgp.d.ts +0 -1
  771. package/dist/config/decrypt/kbpgp.js +0 -58
  772. package/dist/config/decrypt/kbpgp.js.map +0 -1
  773. package/dist/config/decrypt/legacy.d.ts +0 -2
  774. package/dist/config/decrypt/legacy.js +0 -36
  775. package/dist/config/decrypt/legacy.js.map +0 -1
  776. package/dist/modules/versioning/ruby/strategies/pin.d.ts +0 -4
  777. package/dist/modules/versioning/ruby/strategies/pin.js +0 -4
  778. package/dist/modules/versioning/ruby/strategies/pin.js.map +0 -1
@@ -132,4 +132,100 @@ export declare const CommunityActions: z.ZodUnion<[z.ZodEffects<z.ZodObject<{
132
132
  version?: string | undefined;
133
133
  };
134
134
  uses?: any;
135
+ }>, z.ZodEffects<z.ZodObject<{
136
+ uses: z.ZodType<any, z.ZodTypeDef, any>;
137
+ with: z.ZodObject<{
138
+ 'bun-version': z.ZodOptional<z.ZodString>;
139
+ }, "strip", z.ZodTypeAny, {
140
+ 'bun-version'?: string | undefined;
141
+ }, {
142
+ 'bun-version'?: string | undefined;
143
+ }>;
144
+ }, "strip", z.ZodTypeAny, {
145
+ with: {
146
+ 'bun-version'?: string | undefined;
147
+ };
148
+ uses?: any;
149
+ }, {
150
+ with: {
151
+ 'bun-version'?: string | undefined;
152
+ };
153
+ uses?: any;
154
+ }>, PackageDependency<Record<string, any>>, {
155
+ with: {
156
+ 'bun-version'?: string | undefined;
157
+ };
158
+ uses?: any;
159
+ }>, z.ZodEffects<z.ZodObject<{
160
+ uses: z.ZodType<any, z.ZodTypeDef, any>;
161
+ with: z.ZodObject<{
162
+ 'deno-version': z.ZodOptional<z.ZodString>;
163
+ }, "strip", z.ZodTypeAny, {
164
+ 'deno-version'?: string | undefined;
165
+ }, {
166
+ 'deno-version'?: string | undefined;
167
+ }>;
168
+ }, "strip", z.ZodTypeAny, {
169
+ with: {
170
+ 'deno-version'?: string | undefined;
171
+ };
172
+ uses?: any;
173
+ }, {
174
+ with: {
175
+ 'deno-version'?: string | undefined;
176
+ };
177
+ uses?: any;
178
+ }>, PackageDependency<Record<string, any>>, {
179
+ with: {
180
+ 'deno-version'?: string | undefined;
181
+ };
182
+ uses?: any;
183
+ }>, z.ZodEffects<z.ZodObject<{
184
+ uses: z.ZodType<any, z.ZodTypeDef, any>;
185
+ with: z.ZodObject<{
186
+ 'ruby-version': z.ZodOptional<z.ZodString>;
187
+ }, "strip", z.ZodTypeAny, {
188
+ 'ruby-version'?: string | undefined;
189
+ }, {
190
+ 'ruby-version'?: string | undefined;
191
+ }>;
192
+ }, "strip", z.ZodTypeAny, {
193
+ with: {
194
+ 'ruby-version'?: string | undefined;
195
+ };
196
+ uses?: any;
197
+ }, {
198
+ with: {
199
+ 'ruby-version'?: string | undefined;
200
+ };
201
+ uses?: any;
202
+ }>, PackageDependency<Record<string, any>>, {
203
+ with: {
204
+ 'ruby-version'?: string | undefined;
205
+ };
206
+ uses?: any;
207
+ }>, z.ZodEffects<z.ZodObject<{
208
+ uses: z.ZodType<any, z.ZodTypeDef, any>;
209
+ with: z.ZodObject<{
210
+ version: z.ZodOptional<z.ZodString>;
211
+ }, "strip", z.ZodTypeAny, {
212
+ version?: string | undefined;
213
+ }, {
214
+ version?: string | undefined;
215
+ }>;
216
+ }, "strip", z.ZodTypeAny, {
217
+ with: {
218
+ version?: string | undefined;
219
+ };
220
+ uses?: any;
221
+ }, {
222
+ with: {
223
+ version?: string | undefined;
224
+ };
225
+ uses?: any;
226
+ }>, PackageDependency<Record<string, any>>, {
227
+ with: {
228
+ version?: string | undefined;
229
+ };
230
+ uses?: any;
135
231
  }>]>;
@@ -7,15 +7,17 @@ const regex_1 = require("../../../util/regex");
7
7
  const github_releases_1 = require("../../datasource/github-releases");
8
8
  const npm_1 = require("../../datasource/npm");
9
9
  const pypi_1 = require("../../datasource/pypi");
10
+ const ruby_version_1 = require("../../datasource/ruby-version");
10
11
  const condaVersioning = tslib_1.__importStar(require("../../versioning/conda"));
11
12
  const npmVersioning = tslib_1.__importStar(require("../../versioning/npm"));
12
13
  const pep440versioning = tslib_1.__importStar(require("../../versioning/pep440"));
14
+ const rubyVersioning = tslib_1.__importStar(require("../../versioning/ruby"));
13
15
  function matchAction(action) {
14
16
  return zod_1.z
15
17
  .string()
16
18
  .regex((0, regex_1.regEx)(`(?:https?://[^/]+/)?${(0, regex_1.escapeRegExp)(action)}(?:@.+)?$`));
17
19
  }
18
- const SetupUVSchema = zod_1.z
20
+ const SetupUV = zod_1.z
19
21
  .object({
20
22
  // https://github.com/astral-sh/setup-uv
21
23
  uses: matchAction('astral-sh/setup-uv'),
@@ -39,7 +41,7 @@ const SetupUVSchema = zod_1.z
39
41
  depType: 'uses-with',
40
42
  };
41
43
  });
42
- const SetupPnpmSchema = zod_1.z
44
+ const SetupPnpm = zod_1.z
43
45
  .object({
44
46
  uses: matchAction('pnpm/action-setup'),
45
47
  with: zod_1.z.object({
@@ -64,7 +66,82 @@ const SetupPnpmSchema = zod_1.z
64
66
  depType: 'uses-with',
65
67
  };
66
68
  });
67
- const SetupPDMSchema = zod_1.z
69
+ const SetupBun = zod_1.z
70
+ .object({
71
+ uses: matchAction('oven-sh/setup-bun'),
72
+ with: zod_1.z.object({
73
+ 'bun-version': zod_1.z.string().optional(),
74
+ }),
75
+ })
76
+ .transform(({ with: val }) => {
77
+ let skipStage;
78
+ let skipReason;
79
+ if (!val['bun-version']) {
80
+ skipStage = 'extract';
81
+ skipReason = 'unspecified-version';
82
+ }
83
+ return {
84
+ datasource: npm_1.NpmDatasource.id,
85
+ depName: 'bun',
86
+ versioning: npmVersioning.id,
87
+ packageName: 'bun',
88
+ ...(skipStage && { skipStage }),
89
+ ...(skipReason && { skipReason }),
90
+ currentValue: val['bun-version'],
91
+ depType: 'uses-with',
92
+ };
93
+ });
94
+ const SetupDeno = zod_1.z
95
+ .object({
96
+ uses: matchAction('denoland/setup-deno'),
97
+ with: zod_1.z.object({
98
+ 'deno-version': zod_1.z.string().optional(),
99
+ }),
100
+ })
101
+ .transform(({ with: val }) => {
102
+ let skipStage;
103
+ let skipReason;
104
+ if (!val['deno-version']) {
105
+ skipStage = 'extract';
106
+ skipReason = 'unspecified-version';
107
+ }
108
+ return {
109
+ datasource: npm_1.NpmDatasource.id,
110
+ depName: 'deno',
111
+ versioning: npmVersioning.id,
112
+ packageName: 'deno',
113
+ ...(skipStage && { skipStage }),
114
+ ...(skipReason && { skipReason }),
115
+ currentValue: val['deno-version'],
116
+ depType: 'uses-with',
117
+ };
118
+ });
119
+ const SetupRuby = zod_1.z
120
+ .object({
121
+ uses: matchAction('ruby/setup-ruby'),
122
+ with: zod_1.z.object({
123
+ 'ruby-version': zod_1.z.string().optional(),
124
+ }),
125
+ })
126
+ .transform(({ with: val }) => {
127
+ let skipStage;
128
+ let skipReason;
129
+ if (!val['ruby-version']) {
130
+ skipStage = 'extract';
131
+ skipReason = 'unspecified-version';
132
+ }
133
+ return {
134
+ datasource: ruby_version_1.RubyVersionDatasource.id,
135
+ depName: 'ruby',
136
+ versioning: rubyVersioning.id,
137
+ packageName: 'ruby',
138
+ ...(skipStage && { skipStage }),
139
+ ...(skipReason && { skipReason }),
140
+ currentValue: val['ruby-version'],
141
+ depType: 'uses-with',
142
+ };
143
+ });
144
+ const SetupPDM = zod_1.z
68
145
  .object({
69
146
  uses: matchAction('pdm-project/setup-pdm'),
70
147
  with: zod_1.z.object({ version: zod_1.z.string().optional() }),
@@ -87,7 +164,7 @@ const SetupPDMSchema = zod_1.z
87
164
  depType: 'uses-with',
88
165
  };
89
166
  });
90
- const InstallBinarySchema = zod_1.z
167
+ const InstallBinary = zod_1.z
91
168
  .object({
92
169
  uses: zod_1.z.union([
93
170
  matchAction('jaxxstorm/action-install-gh-release'),
@@ -104,7 +181,7 @@ const InstallBinarySchema = zod_1.z
104
181
  depType: 'uses-with',
105
182
  };
106
183
  });
107
- const SetupPixiSchema = zod_1.z
184
+ const SetupPixi = zod_1.z
108
185
  .object({
109
186
  uses: matchAction('prefix-dev/setup-pixi'),
110
187
  with: zod_1.z.object({ 'pixi-version': zod_1.z.string() }),
@@ -119,6 +196,31 @@ const SetupPixiSchema = zod_1.z
119
196
  depType: 'uses-with',
120
197
  };
121
198
  });
199
+ const SetupHatch = zod_1.z
200
+ .object({
201
+ // https://github.com/pypa/hatch/tree/install
202
+ uses: matchAction('pypa/hatch'),
203
+ with: zod_1.z.object({ version: zod_1.z.string().optional() }),
204
+ })
205
+ .transform(({ with: val }) => {
206
+ let skipStage;
207
+ let skipReason;
208
+ if (!val.version) {
209
+ skipStage = 'extract';
210
+ skipReason = 'unspecified-version';
211
+ }
212
+ return {
213
+ datasource: github_releases_1.GithubReleasesDatasource.id,
214
+ depName: 'pypa/hatch',
215
+ packageName: 'pypa/hatch',
216
+ ...(skipStage && { skipStage }),
217
+ ...(skipReason && { skipReason }),
218
+ currentValue: val.version,
219
+ depType: 'uses-with',
220
+ // Strip hatch- prefix from release tags
221
+ extractVersion: '^hatch-(?<version>.+)$',
222
+ };
223
+ });
122
224
  /**
123
225
  * schema here should match the whole step,
124
226
  * there may be some actions use env as arguments version.
@@ -126,10 +228,14 @@ const SetupPixiSchema = zod_1.z
126
228
  * each type should return `PackageDependency | undefined`
127
229
  */
128
230
  exports.CommunityActions = zod_1.z.union([
129
- InstallBinarySchema,
130
- SetupPDMSchema,
131
- SetupPixiSchema,
132
- SetupPnpmSchema,
133
- SetupUVSchema,
231
+ InstallBinary,
232
+ SetupPDM,
233
+ SetupPixi,
234
+ SetupPnpm,
235
+ SetupUV,
236
+ SetupBun,
237
+ SetupDeno,
238
+ SetupRuby,
239
+ SetupHatch,
134
240
  ]);
135
241
  //# sourceMappingURL=community.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"community.js","sourceRoot":"","sources":["../../../../lib/modules/manager/github-actions/community.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\n\nimport type { SkipReason, StageName } from '../../../types';\nimport { escapeRegExp, regEx } from '../../../util/regex';\nimport { GithubReleasesDatasource } from '../../datasource/github-releases';\nimport { NpmDatasource } from '../../datasource/npm';\nimport { PypiDatasource } from '../../datasource/pypi';\nimport * as condaVersioning from '../../versioning/conda';\nimport * as npmVersioning from '../../versioning/npm';\nimport * as pep440versioning from '../../versioning/pep440';\nimport type { PackageDependency } from '../types';\n\nfunction matchAction(action: string): z.Schema {\n return z\n .string()\n .regex(regEx(`(?:https?://[^/]+/)?${escapeRegExp(action)}(?:@.+)?$`));\n}\n\nconst SetupUVSchema = z\n .object({\n // https://github.com/astral-sh/setup-uv\n uses: matchAction('astral-sh/setup-uv'),\n with: z.object({ version: z.string().optional() }),\n })\n .transform(({ with: val }): PackageDependency => {\n let skipStage: StageName | undefined;\n let skipReason: SkipReason | undefined;\n\n if (!val.version) {\n skipStage = 'extract';\n skipReason = 'unspecified-version';\n }\n\n return {\n datasource: GithubReleasesDatasource.id,\n depName: 'astral-sh/uv',\n versioning: npmVersioning.id,\n packageName: 'astral-sh/uv',\n ...(skipStage && { skipStage }),\n ...(skipReason && { skipReason }),\n currentValue: val.version,\n depType: 'uses-with',\n };\n });\n\nconst SetupPnpmSchema = z\n .object({\n uses: matchAction('pnpm/action-setup'),\n with: z.object({\n version: z.string().optional(),\n }),\n })\n .transform(({ with: val }): PackageDependency => {\n let skipStage: StageName | undefined;\n let skipReason: SkipReason | undefined;\n if (!val.version) {\n skipStage = 'extract';\n skipReason = 'unspecified-version';\n }\n\n return {\n datasource: NpmDatasource.id,\n depName: 'pnpm',\n versioning: npmVersioning.id,\n packageName: 'pnpm',\n ...(skipStage && { skipStage }),\n ...(skipReason && { skipReason }),\n currentValue: val.version,\n depType: 'uses-with',\n };\n });\n\nconst SetupPDMSchema = z\n .object({\n uses: matchAction('pdm-project/setup-pdm'),\n with: z.object({ version: z.string().optional() }),\n })\n .transform(({ with: val }): PackageDependency => {\n let skipStage: StageName | undefined;\n let skipReason: SkipReason | undefined;\n if (!val.version) {\n skipStage = 'extract';\n skipReason = 'unspecified-version';\n }\n\n return {\n datasource: PypiDatasource.id,\n depName: 'pdm',\n versioning: pep440versioning.id,\n packageName: 'pdm',\n currentValue: val.version,\n ...(skipStage && { skipStage }),\n ...(skipReason && { skipReason }),\n depType: 'uses-with',\n };\n });\n\nconst InstallBinarySchema = z\n .object({\n uses: z.union([\n matchAction('jaxxstorm/action-install-gh-release'),\n matchAction('sigoden/install-binary'),\n ]),\n with: z.object({ repo: z.string(), tag: z.string() }),\n })\n .transform(({ with: val }): PackageDependency => {\n return {\n datasource: GithubReleasesDatasource.id,\n depName: val.repo,\n packageName: val.repo,\n currentValue: val.tag,\n depType: 'uses-with',\n };\n });\n\nconst SetupPixiSchema = z\n .object({\n uses: matchAction('prefix-dev/setup-pixi'),\n with: z.object({ 'pixi-version': z.string() }),\n })\n .transform(({ with: val }): PackageDependency => {\n return {\n datasource: GithubReleasesDatasource.id,\n versioning: condaVersioning.id,\n depName: 'prefix-dev/pixi',\n packageName: 'prefix-dev/pixi',\n currentValue: val['pixi-version'],\n depType: 'uses-with',\n };\n });\n\n/**\n * schema here should match the whole step,\n * there may be some actions use env as arguments version.\n *\n * each type should return `PackageDependency | undefined`\n */\nexport const CommunityActions = z.union([\n InstallBinarySchema,\n SetupPDMSchema,\n SetupPixiSchema,\n SetupPnpmSchema,\n SetupUVSchema,\n]);\n"]}
1
+ {"version":3,"file":"community.js","sourceRoot":"","sources":["../../../../lib/modules/manager/github-actions/community.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\n\nimport type { SkipReason, StageName } from '../../../types';\nimport { escapeRegExp, regEx } from '../../../util/regex';\nimport { GithubReleasesDatasource } from '../../datasource/github-releases';\nimport { NpmDatasource } from '../../datasource/npm';\nimport { PypiDatasource } from '../../datasource/pypi';\nimport { RubyVersionDatasource } from '../../datasource/ruby-version';\nimport * as condaVersioning from '../../versioning/conda';\nimport * as npmVersioning from '../../versioning/npm';\nimport * as pep440versioning from '../../versioning/pep440';\nimport * as rubyVersioning from '../../versioning/ruby';\nimport type { PackageDependency } from '../types';\n\nfunction matchAction(action: string): z.Schema {\n return z\n .string()\n .regex(regEx(`(?:https?://[^/]+/)?${escapeRegExp(action)}(?:@.+)?$`));\n}\n\nconst SetupUV = z\n .object({\n // https://github.com/astral-sh/setup-uv\n uses: matchAction('astral-sh/setup-uv'),\n with: z.object({ version: z.string().optional() }),\n })\n .transform(({ with: val }): PackageDependency => {\n let skipStage: StageName | undefined;\n let skipReason: SkipReason | undefined;\n\n if (!val.version) {\n skipStage = 'extract';\n skipReason = 'unspecified-version';\n }\n\n return {\n datasource: GithubReleasesDatasource.id,\n depName: 'astral-sh/uv',\n versioning: npmVersioning.id,\n packageName: 'astral-sh/uv',\n ...(skipStage && { skipStage }),\n ...(skipReason && { skipReason }),\n currentValue: val.version,\n depType: 'uses-with',\n };\n });\n\nconst SetupPnpm = z\n .object({\n uses: matchAction('pnpm/action-setup'),\n with: z.object({\n version: z.string().optional(),\n }),\n })\n .transform(({ with: val }): PackageDependency => {\n let skipStage: StageName | undefined;\n let skipReason: SkipReason | undefined;\n if (!val.version) {\n skipStage = 'extract';\n skipReason = 'unspecified-version';\n }\n\n return {\n datasource: NpmDatasource.id,\n depName: 'pnpm',\n versioning: npmVersioning.id,\n packageName: 'pnpm',\n ...(skipStage && { skipStage }),\n ...(skipReason && { skipReason }),\n currentValue: val.version,\n depType: 'uses-with',\n };\n });\n\nconst SetupBun = z\n .object({\n uses: matchAction('oven-sh/setup-bun'),\n with: z.object({\n 'bun-version': z.string().optional(),\n }),\n })\n .transform(({ with: val }): PackageDependency => {\n let skipStage: StageName | undefined;\n let skipReason: SkipReason | undefined;\n if (!val['bun-version']) {\n skipStage = 'extract';\n skipReason = 'unspecified-version';\n }\n\n return {\n datasource: NpmDatasource.id,\n depName: 'bun',\n versioning: npmVersioning.id,\n packageName: 'bun',\n ...(skipStage && { skipStage }),\n ...(skipReason && { skipReason }),\n currentValue: val['bun-version'],\n depType: 'uses-with',\n };\n });\n\nconst SetupDeno = z\n .object({\n uses: matchAction('denoland/setup-deno'),\n with: z.object({\n 'deno-version': z.string().optional(),\n }),\n })\n .transform(({ with: val }): PackageDependency => {\n let skipStage: StageName | undefined;\n let skipReason: SkipReason | undefined;\n if (!val['deno-version']) {\n skipStage = 'extract';\n skipReason = 'unspecified-version';\n }\n\n return {\n datasource: NpmDatasource.id,\n depName: 'deno',\n versioning: npmVersioning.id,\n packageName: 'deno',\n ...(skipStage && { skipStage }),\n ...(skipReason && { skipReason }),\n currentValue: val['deno-version'],\n depType: 'uses-with',\n };\n });\n\nconst SetupRuby = z\n .object({\n uses: matchAction('ruby/setup-ruby'),\n with: z.object({\n 'ruby-version': z.string().optional(),\n }),\n })\n .transform(({ with: val }): PackageDependency => {\n let skipStage: StageName | undefined;\n let skipReason: SkipReason | undefined;\n if (!val['ruby-version']) {\n skipStage = 'extract';\n skipReason = 'unspecified-version';\n }\n\n return {\n datasource: RubyVersionDatasource.id,\n depName: 'ruby',\n versioning: rubyVersioning.id,\n packageName: 'ruby',\n ...(skipStage && { skipStage }),\n ...(skipReason && { skipReason }),\n currentValue: val['ruby-version'],\n depType: 'uses-with',\n };\n });\n\nconst SetupPDM = z\n .object({\n uses: matchAction('pdm-project/setup-pdm'),\n with: z.object({ version: z.string().optional() }),\n })\n .transform(({ with: val }): PackageDependency => {\n let skipStage: StageName | undefined;\n let skipReason: SkipReason | undefined;\n if (!val.version) {\n skipStage = 'extract';\n skipReason = 'unspecified-version';\n }\n\n return {\n datasource: PypiDatasource.id,\n depName: 'pdm',\n versioning: pep440versioning.id,\n packageName: 'pdm',\n currentValue: val.version,\n ...(skipStage && { skipStage }),\n ...(skipReason && { skipReason }),\n depType: 'uses-with',\n };\n });\n\nconst InstallBinary = z\n .object({\n uses: z.union([\n matchAction('jaxxstorm/action-install-gh-release'),\n matchAction('sigoden/install-binary'),\n ]),\n with: z.object({ repo: z.string(), tag: z.string() }),\n })\n .transform(({ with: val }): PackageDependency => {\n return {\n datasource: GithubReleasesDatasource.id,\n depName: val.repo,\n packageName: val.repo,\n currentValue: val.tag,\n depType: 'uses-with',\n };\n });\n\nconst SetupPixi = z\n .object({\n uses: matchAction('prefix-dev/setup-pixi'),\n with: z.object({ 'pixi-version': z.string() }),\n })\n .transform(({ with: val }): PackageDependency => {\n return {\n datasource: GithubReleasesDatasource.id,\n versioning: condaVersioning.id,\n depName: 'prefix-dev/pixi',\n packageName: 'prefix-dev/pixi',\n currentValue: val['pixi-version'],\n depType: 'uses-with',\n };\n });\n\nconst SetupHatch = z\n .object({\n // https://github.com/pypa/hatch/tree/install\n uses: matchAction('pypa/hatch'),\n with: z.object({ version: z.string().optional() }),\n })\n .transform(({ with: val }): PackageDependency => {\n let skipStage: StageName | undefined;\n let skipReason: SkipReason | undefined;\n\n if (!val.version) {\n skipStage = 'extract';\n skipReason = 'unspecified-version';\n }\n\n return {\n datasource: GithubReleasesDatasource.id,\n depName: 'pypa/hatch',\n packageName: 'pypa/hatch',\n ...(skipStage && { skipStage }),\n ...(skipReason && { skipReason }),\n currentValue: val.version,\n depType: 'uses-with',\n // Strip hatch- prefix from release tags\n extractVersion: '^hatch-(?<version>.+)$',\n };\n });\n\n/**\n * schema here should match the whole step,\n * there may be some actions use env as arguments version.\n *\n * each type should return `PackageDependency | undefined`\n */\nexport const CommunityActions = z.union([\n InstallBinary,\n SetupPDM,\n SetupPixi,\n SetupPnpm,\n SetupUV,\n SetupBun,\n SetupDeno,\n SetupRuby,\n SetupHatch,\n]);\n"]}
@@ -136,6 +136,7 @@ function extractRunner(runner) {
136
136
  }
137
137
  return dependency;
138
138
  }
139
+ // For official https://github.com/actions
139
140
  const versionedActions = {
140
141
  go: npmVersioning.id,
141
142
  node: nodeVersioning.id,
@@ -174,7 +175,7 @@ function extractSteps(steps, deps) {
174
175
  function extractWithYAMLParser(content, packageFile, config) {
175
176
  logger_1.logger.trace('github-actions.extractWithYAMLParser()');
176
177
  const deps = [];
177
- const obj = (0, logger_1.withMeta)({ packageFile }, () => schema_1.WorkflowSchema.parse(content));
178
+ const obj = (0, logger_1.withMeta)({ packageFile }, () => schema_1.Workflow.parse(content));
178
179
  if (!obj) {
179
180
  return deps;
180
181
  }
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/github-actions/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import { GlobalConfig } from '../../../config/global';\nimport { logger, withMeta } from '../../../logger';\nimport { detectPlatform } from '../../../util/common';\nimport { newlineRegex, regEx } from '../../../util/regex';\nimport { ForgejoTagsDatasource } from '../../datasource/forgejo-tags';\nimport { GiteaTagsDatasource } from '../../datasource/gitea-tags';\nimport { GithubReleasesDatasource } from '../../datasource/github-releases';\nimport { GithubRunnersDatasource } from '../../datasource/github-runners';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport * as dockerVersioning from '../../versioning/docker';\nimport * as nodeVersioning from '../../versioning/node';\nimport * as npmVersioning from '../../versioning/npm';\nimport { getDep } from '../dockerfile/extract';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types';\nimport { CommunityActions } from './community';\nimport type { Steps } from './schema';\nimport { WorkflowSchema } from './schema';\n\nconst dockerActionRe = regEx(/^\\s+uses\\s*: ['\"]?docker:\\/\\/([^'\"]+)\\s*$/);\nconst actionRe = regEx(\n /^\\s+-?\\s+?uses\\s*: (?<replaceString>['\"]?(?<depName>(?<registryUrl>https:\\/\\/[.\\w-]+\\/)?(?<packageName>[\\w-]+\\/[.\\w-]+))(?<path>\\/.*)?@(?<currentValue>[^\\s'\"]+)['\"]?(?:(?<commentWhiteSpaces>\\s+)#\\s*(((?:renovate\\s*:\\s*)?(?:pin\\s+|tag\\s*=\\s*)?|(?:ratchet:[\\w-]+\\/[.\\w-]+)?)@?(?<tag>([\\w-]*[-/])?v?\\d+(?:\\.\\d+(?:\\.\\d+)?)?)|(?:ratchet:exclude)))?)/,\n);\n\n// SHA1 or SHA256, see https://github.blog/2020-10-19-git-2-29-released/\nconst shaRe = regEx(/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/);\nconst shaShortRe = regEx(/^[a-f0-9]{6,7}$/);\n\n// detects if we run against a Github Enterprise Server and adds the URL to the beginning of the registryURLs for looking up Actions\n// This reflects the behavior of how GitHub looks up Actions\n// First on the Enterprise Server, then on GitHub.com\nfunction detectCustomGitHubRegistryUrlsForActions(): PackageDependency {\n const endpoint = GlobalConfig.get('endpoint');\n const registryUrls = ['https://github.com'];\n if (endpoint && GlobalConfig.get('platform') === 'github') {\n const parsedEndpoint = new URL(endpoint);\n\n if (\n parsedEndpoint.host !== 'github.com' &&\n parsedEndpoint.host !== 'api.github.com'\n ) {\n registryUrls.unshift(\n `${parsedEndpoint.protocol}//${parsedEndpoint.host}`,\n );\n return { registryUrls };\n }\n }\n return {};\n}\n\nfunction extractWithRegex(\n content: string,\n config: ExtractConfig,\n): PackageDependency[] {\n const customRegistryUrlsPackageDependency =\n detectCustomGitHubRegistryUrlsForActions();\n logger.trace('github-actions.extractWithRegex()');\n const deps: PackageDependency[] = [];\n for (const line of content.split(newlineRegex)) {\n if (line.trim().startsWith('#')) {\n continue;\n }\n\n const dockerMatch = dockerActionRe.exec(line);\n if (dockerMatch) {\n const [, currentFrom] = dockerMatch;\n const dep = getDep(currentFrom, true, config.registryAliases);\n dep.depType = 'docker';\n deps.push(dep);\n continue;\n }\n\n const tagMatch = actionRe.exec(line);\n if (tagMatch?.groups) {\n const {\n depName,\n packageName,\n currentValue,\n path = '',\n tag,\n replaceString,\n registryUrl = '',\n commentWhiteSpaces = ' ',\n } = tagMatch.groups;\n let quotes = '';\n if (replaceString.includes(\"'\")) {\n quotes = \"'\";\n }\n if (replaceString.includes('\"')) {\n quotes = '\"';\n }\n const dep: PackageDependency = {\n depName,\n ...(packageName !== depName && { packageName }),\n commitMessageTopic: '{{{depName}}} action',\n datasource: GithubTagsDatasource.id,\n versioning: dockerVersioning.id,\n depType: 'action',\n replaceString,\n autoReplaceStringTemplate: `${quotes}{{depName}}${path}@{{#if newDigest}}{{newDigest}}${quotes}{{#if newValue}}${commentWhiteSpaces}# {{newValue}}{{/if}}{{/if}}{{#unless newDigest}}{{newValue}}${quotes}{{/unless}}`,\n ...(registryUrl\n ? detectDatasource(registryUrl)\n : customRegistryUrlsPackageDependency),\n };\n if (shaRe.test(currentValue)) {\n dep.currentValue = tag;\n dep.currentDigest = currentValue;\n } else if (shaShortRe.test(currentValue)) {\n dep.currentValue = tag;\n dep.currentDigestShort = currentValue;\n } else {\n dep.currentValue = currentValue;\n }\n deps.push(dep);\n }\n }\n return deps;\n}\n\nfunction detectDatasource(registryUrl: string): PackageDependency {\n const platform = detectPlatform(registryUrl);\n\n switch (platform) {\n case 'forgejo':\n return {\n registryUrls: [registryUrl],\n datasource: ForgejoTagsDatasource.id,\n };\n case 'gitea':\n return {\n registryUrls: [registryUrl],\n datasource: GiteaTagsDatasource.id,\n };\n case 'github':\n return { registryUrls: [registryUrl] };\n }\n\n return {\n skipReason: 'unsupported-url',\n };\n}\n\nconst runnerVersionRegex = regEx(\n /^\\s*(?<depName>[a-zA-Z]+)-(?<currentValue>[^\\s]+)/,\n);\n\nfunction extractRunner(runner: string): PackageDependency | null {\n const runnerVersionGroups = runnerVersionRegex.exec(runner)?.groups;\n if (!runnerVersionGroups) {\n return null;\n }\n\n const { depName, currentValue } = runnerVersionGroups;\n\n if (!GithubRunnersDatasource.isValidRunner(depName, currentValue)) {\n return null;\n }\n\n const dependency: PackageDependency = {\n depName,\n currentValue,\n replaceString: `${depName}-${currentValue}`,\n depType: 'github-runner',\n datasource: GithubRunnersDatasource.id,\n autoReplaceStringTemplate: '{{depName}}-{{newValue}}',\n };\n\n if (!dockerVersioning.api.isValid(currentValue)) {\n dependency.skipReason = 'invalid-version';\n }\n\n return dependency;\n}\n\nconst versionedActions: Record<string, string> = {\n go: npmVersioning.id,\n node: nodeVersioning.id,\n python: npmVersioning.id,\n // Not covered yet because they use different datasources/packageNames:\n // - dotnet\n // - java\n};\n\nfunction extractSteps(\n steps: Steps[],\n deps: PackageDependency<Record<string, any>>[],\n): void {\n for (const step of steps) {\n const res = CommunityActions.safeParse(step);\n if (res.success) {\n deps.push(res.data);\n continue;\n }\n\n for (const [action, versioning] of Object.entries(versionedActions)) {\n const actionName = `actions/setup-${action}`;\n if (step.uses === actionName || step.uses?.startsWith(`${actionName}@`)) {\n const fieldName = `${action}-version`;\n const currentValue = step.with?.[fieldName];\n if (currentValue) {\n deps.push({\n datasource: GithubReleasesDatasource.id,\n depName: action,\n packageName: `actions/${action}-versions`,\n versioning,\n extractVersion: '^(?<version>\\\\d+\\\\.\\\\d+\\\\.\\\\d+)(-\\\\d+)?$', // Actions release tags are like 1.24.1-13667719799\n currentValue,\n depType: 'uses-with',\n });\n }\n }\n }\n }\n}\n\nfunction extractWithYAMLParser(\n content: string,\n packageFile: string,\n config: ExtractConfig,\n): PackageDependency[] {\n logger.trace('github-actions.extractWithYAMLParser()');\n const deps: PackageDependency[] = [];\n\n const obj = withMeta({ packageFile }, () => WorkflowSchema.parse(content));\n\n if (!obj) {\n return deps;\n }\n\n // composite action\n if ('runs' in obj && obj.runs.steps) {\n extractSteps(obj.runs.steps, deps);\n } else if ('jobs' in obj) {\n for (const job of Object.values(obj.jobs)) {\n if (job.container) {\n const dep = getDep(job.container, true, config.registryAliases);\n if (dep) {\n dep.depType = 'container';\n deps.push(dep);\n }\n }\n\n for (const service of job.services) {\n const dep = getDep(service, true, config.registryAliases);\n if (dep) {\n dep.depType = 'service';\n deps.push(dep);\n }\n }\n\n for (const runner of job['runs-on']) {\n const dep = extractRunner(runner);\n if (dep) {\n deps.push(dep);\n }\n }\n\n extractSteps(job.steps, deps);\n }\n }\n\n return deps;\n}\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n config: ExtractConfig = {}, // TODO: enforce ExtractConfig\n): PackageFileContent | null {\n logger.trace(`github-actions.extractPackageFile(${packageFile})`);\n const deps = [\n ...extractWithRegex(content, config),\n ...extractWithYAMLParser(content, packageFile, config),\n ];\n if (!deps.length) {\n return null;\n }\n return { deps };\n}\n"]}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/github-actions/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import { GlobalConfig } from '../../../config/global';\nimport { logger, withMeta } from '../../../logger';\nimport { detectPlatform } from '../../../util/common';\nimport { newlineRegex, regEx } from '../../../util/regex';\nimport { ForgejoTagsDatasource } from '../../datasource/forgejo-tags';\nimport { GiteaTagsDatasource } from '../../datasource/gitea-tags';\nimport { GithubReleasesDatasource } from '../../datasource/github-releases';\nimport { GithubRunnersDatasource } from '../../datasource/github-runners';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport * as dockerVersioning from '../../versioning/docker';\nimport * as nodeVersioning from '../../versioning/node';\nimport * as npmVersioning from '../../versioning/npm';\nimport { getDep } from '../dockerfile/extract';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types';\nimport { CommunityActions } from './community';\nimport type { Steps } from './schema';\nimport { Workflow } from './schema';\n\nconst dockerActionRe = regEx(/^\\s+uses\\s*: ['\"]?docker:\\/\\/([^'\"]+)\\s*$/);\nconst actionRe = regEx(\n /^\\s+-?\\s+?uses\\s*: (?<replaceString>['\"]?(?<depName>(?<registryUrl>https:\\/\\/[.\\w-]+\\/)?(?<packageName>[\\w-]+\\/[.\\w-]+))(?<path>\\/.*)?@(?<currentValue>[^\\s'\"]+)['\"]?(?:(?<commentWhiteSpaces>\\s+)#\\s*(((?:renovate\\s*:\\s*)?(?:pin\\s+|tag\\s*=\\s*)?|(?:ratchet:[\\w-]+\\/[.\\w-]+)?)@?(?<tag>([\\w-]*[-/])?v?\\d+(?:\\.\\d+(?:\\.\\d+)?)?)|(?:ratchet:exclude)))?)/,\n);\n\n// SHA1 or SHA256, see https://github.blog/2020-10-19-git-2-29-released/\nconst shaRe = regEx(/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/);\nconst shaShortRe = regEx(/^[a-f0-9]{6,7}$/);\n\n// detects if we run against a Github Enterprise Server and adds the URL to the beginning of the registryURLs for looking up Actions\n// This reflects the behavior of how GitHub looks up Actions\n// First on the Enterprise Server, then on GitHub.com\nfunction detectCustomGitHubRegistryUrlsForActions(): PackageDependency {\n const endpoint = GlobalConfig.get('endpoint');\n const registryUrls = ['https://github.com'];\n if (endpoint && GlobalConfig.get('platform') === 'github') {\n const parsedEndpoint = new URL(endpoint);\n\n if (\n parsedEndpoint.host !== 'github.com' &&\n parsedEndpoint.host !== 'api.github.com'\n ) {\n registryUrls.unshift(\n `${parsedEndpoint.protocol}//${parsedEndpoint.host}`,\n );\n return { registryUrls };\n }\n }\n return {};\n}\n\nfunction extractWithRegex(\n content: string,\n config: ExtractConfig,\n): PackageDependency[] {\n const customRegistryUrlsPackageDependency =\n detectCustomGitHubRegistryUrlsForActions();\n logger.trace('github-actions.extractWithRegex()');\n const deps: PackageDependency[] = [];\n for (const line of content.split(newlineRegex)) {\n if (line.trim().startsWith('#')) {\n continue;\n }\n\n const dockerMatch = dockerActionRe.exec(line);\n if (dockerMatch) {\n const [, currentFrom] = dockerMatch;\n const dep = getDep(currentFrom, true, config.registryAliases);\n dep.depType = 'docker';\n deps.push(dep);\n continue;\n }\n\n const tagMatch = actionRe.exec(line);\n if (tagMatch?.groups) {\n const {\n depName,\n packageName,\n currentValue,\n path = '',\n tag,\n replaceString,\n registryUrl = '',\n commentWhiteSpaces = ' ',\n } = tagMatch.groups;\n let quotes = '';\n if (replaceString.includes(\"'\")) {\n quotes = \"'\";\n }\n if (replaceString.includes('\"')) {\n quotes = '\"';\n }\n const dep: PackageDependency = {\n depName,\n ...(packageName !== depName && { packageName }),\n commitMessageTopic: '{{{depName}}} action',\n datasource: GithubTagsDatasource.id,\n versioning: dockerVersioning.id,\n depType: 'action',\n replaceString,\n autoReplaceStringTemplate: `${quotes}{{depName}}${path}@{{#if newDigest}}{{newDigest}}${quotes}{{#if newValue}}${commentWhiteSpaces}# {{newValue}}{{/if}}{{/if}}{{#unless newDigest}}{{newValue}}${quotes}{{/unless}}`,\n ...(registryUrl\n ? detectDatasource(registryUrl)\n : customRegistryUrlsPackageDependency),\n };\n if (shaRe.test(currentValue)) {\n dep.currentValue = tag;\n dep.currentDigest = currentValue;\n } else if (shaShortRe.test(currentValue)) {\n dep.currentValue = tag;\n dep.currentDigestShort = currentValue;\n } else {\n dep.currentValue = currentValue;\n }\n deps.push(dep);\n }\n }\n return deps;\n}\n\nfunction detectDatasource(registryUrl: string): PackageDependency {\n const platform = detectPlatform(registryUrl);\n\n switch (platform) {\n case 'forgejo':\n return {\n registryUrls: [registryUrl],\n datasource: ForgejoTagsDatasource.id,\n };\n case 'gitea':\n return {\n registryUrls: [registryUrl],\n datasource: GiteaTagsDatasource.id,\n };\n case 'github':\n return { registryUrls: [registryUrl] };\n }\n\n return {\n skipReason: 'unsupported-url',\n };\n}\n\nconst runnerVersionRegex = regEx(\n /^\\s*(?<depName>[a-zA-Z]+)-(?<currentValue>[^\\s]+)/,\n);\n\nfunction extractRunner(runner: string): PackageDependency | null {\n const runnerVersionGroups = runnerVersionRegex.exec(runner)?.groups;\n if (!runnerVersionGroups) {\n return null;\n }\n\n const { depName, currentValue } = runnerVersionGroups;\n\n if (!GithubRunnersDatasource.isValidRunner(depName, currentValue)) {\n return null;\n }\n\n const dependency: PackageDependency = {\n depName,\n currentValue,\n replaceString: `${depName}-${currentValue}`,\n depType: 'github-runner',\n datasource: GithubRunnersDatasource.id,\n autoReplaceStringTemplate: '{{depName}}-{{newValue}}',\n };\n\n if (!dockerVersioning.api.isValid(currentValue)) {\n dependency.skipReason = 'invalid-version';\n }\n\n return dependency;\n}\n\n// For official https://github.com/actions\nconst versionedActions: Record<string, string> = {\n go: npmVersioning.id,\n node: nodeVersioning.id,\n python: npmVersioning.id,\n\n // Not covered yet because they use different datasources/packageNames:\n // - dotnet\n // - java\n};\n\nfunction extractSteps(\n steps: Steps[],\n deps: PackageDependency<Record<string, any>>[],\n): void {\n for (const step of steps) {\n const res = CommunityActions.safeParse(step);\n if (res.success) {\n deps.push(res.data);\n continue;\n }\n\n for (const [action, versioning] of Object.entries(versionedActions)) {\n const actionName = `actions/setup-${action}`;\n if (step.uses === actionName || step.uses?.startsWith(`${actionName}@`)) {\n const fieldName = `${action}-version`;\n const currentValue = step.with?.[fieldName];\n if (currentValue) {\n deps.push({\n datasource: GithubReleasesDatasource.id,\n depName: action,\n packageName: `actions/${action}-versions`,\n versioning,\n extractVersion: '^(?<version>\\\\d+\\\\.\\\\d+\\\\.\\\\d+)(-\\\\d+)?$', // Actions release tags are like 1.24.1-13667719799\n currentValue,\n depType: 'uses-with',\n });\n }\n }\n }\n }\n}\n\nfunction extractWithYAMLParser(\n content: string,\n packageFile: string,\n config: ExtractConfig,\n): PackageDependency[] {\n logger.trace('github-actions.extractWithYAMLParser()');\n const deps: PackageDependency[] = [];\n\n const obj = withMeta({ packageFile }, () => Workflow.parse(content));\n\n if (!obj) {\n return deps;\n }\n\n // composite action\n if ('runs' in obj && obj.runs.steps) {\n extractSteps(obj.runs.steps, deps);\n } else if ('jobs' in obj) {\n for (const job of Object.values(obj.jobs)) {\n if (job.container) {\n const dep = getDep(job.container, true, config.registryAliases);\n if (dep) {\n dep.depType = 'container';\n deps.push(dep);\n }\n }\n\n for (const service of job.services) {\n const dep = getDep(service, true, config.registryAliases);\n if (dep) {\n dep.depType = 'service';\n deps.push(dep);\n }\n }\n\n for (const runner of job['runs-on']) {\n const dep = extractRunner(runner);\n if (dep) {\n deps.push(dep);\n }\n }\n\n extractSteps(job.steps, deps);\n }\n }\n\n return deps;\n}\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n config: ExtractConfig = {}, // TODO: enforce ExtractConfig\n): PackageFileContent | null {\n logger.trace(`github-actions.extractPackageFile(${packageFile})`);\n const deps = [\n ...extractWithRegex(content, config),\n ...extractWithYAMLParser(content, packageFile, config),\n ];\n if (!deps.length) {\n return null;\n }\n return { deps };\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- declare const StepsSchema: z.ZodObject<{
2
+ declare const Steps: z.ZodObject<{
3
3
  uses: z.ZodString;
4
4
  with: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, string>, Record<string, any>>;
5
5
  }, "strip", z.ZodTypeAny, {
@@ -9,8 +9,8 @@ declare const StepsSchema: z.ZodObject<{
9
9
  with: Record<string, any>;
10
10
  uses: string;
11
11
  }>;
12
- export type Steps = z.infer<typeof StepsSchema>;
13
- export declare const WorkflowSchema: z.ZodCatch<z.ZodPipeline<z.ZodEffects<z.ZodString, string | number | boolean | import("type-fest").JsonObject | import("type-fest").JsonValue[] | readonly import("type-fest").JsonValue[] | null, string>, z.ZodUnion<[z.ZodObject<{
12
+ export type Steps = z.infer<typeof Steps>;
13
+ export declare const Workflow: z.ZodCatch<z.ZodPipeline<z.ZodEffects<z.ZodString, string | number | boolean | import("type-fest", { with: { "resolution-mode": "import" } }).JsonObject | import("type-fest", { with: { "resolution-mode": "import" } }).JsonValue[] | readonly import("type-fest", { with: { "resolution-mode": "import" } }).JsonValue[] | null, string>, z.ZodUnion<[z.ZodObject<{
14
14
  jobs: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
15
15
  steps: {
16
16
  with: Record<string, string>;
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WorkflowSchema = void 0;
3
+ exports.Workflow = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const schema_utils_1 = require("../../../util/schema-utils");
6
- const StepsSchema = zod_1.z.object({
6
+ const Steps = zod_1.z.object({
7
7
  uses: zod_1.z.string(),
8
8
  with: (0, schema_utils_1.LooseRecord)(zod_1.z.union([zod_1.z.string(), zod_1.z.number().transform((s) => s.toString())])),
9
9
  });
10
- const WorkFlowJobsSchema = zod_1.z.object({
10
+ const WorkFlowJobs = zod_1.z.object({
11
11
  jobs: (0, schema_utils_1.LooseRecord)(zod_1.z.object({
12
12
  container: zod_1.z
13
13
  .union([
@@ -25,14 +25,14 @@ const WorkFlowJobsSchema = zod_1.z.object({
25
25
  'runs-on': zod_1.z
26
26
  .union([zod_1.z.string().transform((v) => [v]), zod_1.z.array(zod_1.z.string())])
27
27
  .catch([]),
28
- steps: (0, schema_utils_1.LooseArray)(StepsSchema).catch([]),
28
+ steps: (0, schema_utils_1.LooseArray)(Steps).catch([]),
29
29
  })),
30
30
  });
31
- const ActionsSchema = zod_1.z.object({
31
+ const Actions = zod_1.z.object({
32
32
  runs: zod_1.z.object({
33
33
  using: zod_1.z.string(),
34
- steps: (0, schema_utils_1.LooseArray)(StepsSchema).optional().catch([]),
34
+ steps: (0, schema_utils_1.LooseArray)(Steps).optional().catch([]),
35
35
  }),
36
36
  });
37
- exports.WorkflowSchema = schema_utils_1.Yaml.pipe(zod_1.z.union([WorkFlowJobsSchema, ActionsSchema, zod_1.z.null()])).catch((0, schema_utils_1.withDebugMessage)(null, 'Does not match schema'));
37
+ exports.Workflow = schema_utils_1.Yaml.pipe(zod_1.z.union([WorkFlowJobs, Actions, zod_1.z.null()])).catch((0, schema_utils_1.withDebugMessage)(null, 'Does not match schema'));
38
38
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/github-actions/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,6DAKoC;AAEpC,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,IAAA,0BAAW,EACf,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CACjE;CACF,CAAC,CAAC;AAGH,MAAM,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,IAAA,0BAAW,EACf,OAAC,CAAC,MAAM,CAAC;QACP,SAAS,EAAE,OAAC;aACT,KAAK,CAAC;YACL,OAAC,CAAC,MAAM,EAAE;YACV,OAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;SAC1D,CAAC;aACD,QAAQ,EAAE;aACV,KAAK,CAAC,SAAS,CAAC;QACnB,QAAQ,EAAE,IAAA,0BAAW,EACnB,OAAC,CAAC,KAAK,CAAC;YACN,OAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACzD,OAAC,CAAC,MAAM,EAAE;SACX,CAAC,CACH;aACE,KAAK,CAAC,EAAE,CAAC;aACT,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnD,SAAS,EAAE,OAAC;aACT,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aAC9D,KAAK,CAAC,EAAE,CAAC;QACZ,KAAK,EAAE,IAAA,yBAAU,EAAC,WAAW,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;KACzC,CAAC,CACH;CACF,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7B,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC;QACb,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;QACjB,KAAK,EAAE,IAAA,yBAAU,EAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;KACpD,CAAC;CACH,CAAC,CAAC;AACU,QAAA,cAAc,GAAG,mBAAI,CAAC,IAAI,CACrC,OAAC,CAAC,KAAK,CAAC,CAAC,kBAAkB,EAAE,aAAa,EAAE,OAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CACvD,CAAC,KAAK,CAAC,IAAA,+BAAgB,EAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport {\n LooseArray,\n LooseRecord,\n Yaml,\n withDebugMessage,\n} from '../../../util/schema-utils';\n\nconst StepsSchema = z.object({\n uses: z.string(),\n with: LooseRecord(\n z.union([z.string(), z.number().transform((s) => s.toString())]),\n ),\n});\nexport type Steps = z.infer<typeof StepsSchema>;\n\nconst WorkFlowJobsSchema = z.object({\n jobs: LooseRecord(\n z.object({\n container: z\n .union([\n z.string(),\n z.object({ image: z.string() }).transform((v) => v.image),\n ])\n .optional()\n .catch(undefined),\n services: LooseRecord(\n z.union([\n z.object({ image: z.string() }).transform((v) => v.image),\n z.string(),\n ]),\n )\n .catch({})\n .transform((services) => Object.values(services)),\n 'runs-on': z\n .union([z.string().transform((v) => [v]), z.array(z.string())])\n .catch([]),\n steps: LooseArray(StepsSchema).catch([]),\n }),\n ),\n});\n\nconst ActionsSchema = z.object({\n runs: z.object({\n using: z.string(),\n steps: LooseArray(StepsSchema).optional().catch([]),\n }),\n});\nexport const WorkflowSchema = Yaml.pipe(\n z.union([WorkFlowJobsSchema, ActionsSchema, z.null()]),\n).catch(withDebugMessage(null, 'Does not match schema'));\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/github-actions/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,6DAKoC;AAEpC,MAAM,KAAK,GAAG,OAAC,CAAC,MAAM,CAAC;IACrB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,IAAA,0BAAW,EACf,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CACjE;CACF,CAAC,CAAC;AAGH,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5B,IAAI,EAAE,IAAA,0BAAW,EACf,OAAC,CAAC,MAAM,CAAC;QACP,SAAS,EAAE,OAAC;aACT,KAAK,CAAC;YACL,OAAC,CAAC,MAAM,EAAE;YACV,OAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;SAC1D,CAAC;aACD,QAAQ,EAAE;aACV,KAAK,CAAC,SAAS,CAAC;QACnB,QAAQ,EAAE,IAAA,0BAAW,EACnB,OAAC,CAAC,KAAK,CAAC;YACN,OAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACzD,OAAC,CAAC,MAAM,EAAE;SACX,CAAC,CACH;aACE,KAAK,CAAC,EAAE,CAAC;aACT,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnD,SAAS,EAAE,OAAC;aACT,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aAC9D,KAAK,CAAC,EAAE,CAAC;QACZ,KAAK,EAAE,IAAA,yBAAU,EAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;KACnC,CAAC,CACH;CACF,CAAC,CAAC;AAEH,MAAM,OAAO,GAAG,OAAC,CAAC,MAAM,CAAC;IACvB,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC;QACb,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;QACjB,KAAK,EAAE,IAAA,yBAAU,EAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;KAC9C,CAAC;CACH,CAAC,CAAC;AACU,QAAA,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAC/B,OAAC,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE,OAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAC3C,CAAC,KAAK,CAAC,IAAA,+BAAgB,EAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport {\n LooseArray,\n LooseRecord,\n Yaml,\n withDebugMessage,\n} from '../../../util/schema-utils';\n\nconst Steps = z.object({\n uses: z.string(),\n with: LooseRecord(\n z.union([z.string(), z.number().transform((s) => s.toString())]),\n ),\n});\nexport type Steps = z.infer<typeof Steps>;\n\nconst WorkFlowJobs = z.object({\n jobs: LooseRecord(\n z.object({\n container: z\n .union([\n z.string(),\n z.object({ image: z.string() }).transform((v) => v.image),\n ])\n .optional()\n .catch(undefined),\n services: LooseRecord(\n z.union([\n z.object({ image: z.string() }).transform((v) => v.image),\n z.string(),\n ]),\n )\n .catch({})\n .transform((services) => Object.values(services)),\n 'runs-on': z\n .union([z.string().transform((v) => [v]), z.array(z.string())])\n .catch([]),\n steps: LooseArray(Steps).catch([]),\n }),\n ),\n});\n\nconst Actions = z.object({\n runs: z.object({\n using: z.string(),\n steps: LooseArray(Steps).optional().catch([]),\n }),\n});\nexport const Workflow = Yaml.pipe(\n z.union([WorkFlowJobs, Actions, z.null()]),\n).catch(withDebugMessage(null, 'Does not match schema'));\n"]}
@@ -8,6 +8,7 @@ const regex_1 = require("../../../util/regex");
8
8
  const result_1 = require("../../../util/result");
9
9
  const yaml_1 = require("../../../util/yaml");
10
10
  const gitlab_tags_1 = require("../../datasource/gitlab-tags");
11
+ const semver_partial_1 = require("../../versioning/semver-partial");
11
12
  const schema_1 = require("./schema");
12
13
  const utils_1 = require("./utils");
13
14
  // See https://docs.gitlab.com/ee/ci/components/index.html#use-a-component
@@ -36,6 +37,7 @@ function extractDepFromIncludeComponent(component, registryAliases) {
36
37
  depType: 'repository',
37
38
  currentValue: componentReference.specificVersion,
38
39
  registryUrls: [`https://${componentReference.fqdn}`],
40
+ versioning: semver_partial_1.id,
39
41
  };
40
42
  if (dep.currentValue === componentReferenceLatestVersion) {
41
43
  logger_1.logger.debug({ componentVersion: dep.currentValue }, 'Ignoring component version');
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/gitlabci/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import { logger } from '../../../logger';\nimport { readLocalFile } from '../../../util/fs';\nimport { regEx } from '../../../util/regex';\nimport { Result } from '../../../util/result';\nimport { parseYaml } from '../../../util/yaml';\nimport { GitlabTagsDatasource } from '../../datasource/gitlab-tags';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFile,\n PackageFileContent,\n} from '../types';\nimport {\n GitlabDocument,\n Job,\n Jobs,\n MultiDocumentLocalIncludes,\n} from './schema';\nimport { getGitlabDep } from './utils';\n\n// See https://docs.gitlab.com/ee/ci/components/index.html#use-a-component\nconst componentReferenceRegex = regEx(\n /(?<fqdn>[^/]+)\\/(?<projectPath>.+)\\/(?:.+)@(?<specificVersion>.+)/,\n);\nconst componentReferenceLatestVersion = '~latest';\n\nfunction extractDepFromIncludeComponent(\n component: string,\n registryAliases?: Record<string, string>,\n): PackageDependency | null {\n let componentUrl = component;\n if (registryAliases) {\n for (const key in registryAliases) {\n componentUrl = componentUrl.replace(key, registryAliases[key]);\n }\n }\n const componentReference = componentReferenceRegex.exec(componentUrl)?.groups;\n if (!componentReference) {\n logger.debug(\n { componentReference: componentUrl },\n 'Ignoring malformed component reference',\n );\n return null;\n }\n const projectPathParts = componentReference.projectPath.split('/');\n if (projectPathParts.length < 2) {\n logger.debug(\n { componentReference: componentUrl },\n 'Ignoring component reference with incomplete project path',\n );\n return null;\n }\n\n const dep: PackageDependency = {\n datasource: GitlabTagsDatasource.id,\n depName: componentReference.projectPath,\n depType: 'repository',\n currentValue: componentReference.specificVersion,\n registryUrls: [`https://${componentReference.fqdn}`],\n };\n if (dep.currentValue === componentReferenceLatestVersion) {\n logger.debug(\n { componentVersion: dep.currentValue },\n 'Ignoring component version',\n );\n dep.skipReason = 'unsupported-version';\n }\n return dep;\n}\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n config: ExtractConfig,\n): PackageFileContent | null {\n const deps: PackageDependency[] = [];\n try {\n const docs = parseYaml(content, { uniqueKeys: false });\n\n for (const doc of docs) {\n const topLevel = Job.parse(doc);\n const jobs = Jobs.parse(doc);\n\n for (const job of [topLevel, ...jobs]) {\n const { image, services } = job;\n\n if (image) {\n const dep = getGitlabDep(image.value, config.registryAliases);\n dep.depType = image.type;\n deps.push(dep);\n }\n\n for (const service of services) {\n const dep = getGitlabDep(service, config.registryAliases);\n dep.depType = 'service-image';\n deps.push(dep);\n }\n }\n\n const includedComponents = GitlabDocument.parse(doc);\n for (const includedComponent of includedComponents) {\n const dep = extractDepFromIncludeComponent(\n includedComponent,\n config.registryAliases,\n );\n if (dep) {\n deps.push(dep);\n }\n }\n }\n } catch (err) /* istanbul ignore next */ {\n if (err.stack?.startsWith('YAMLException:')) {\n logger.debug(\n { err, packageFile },\n 'YAML exception extracting GitLab CI includes',\n );\n } else {\n logger.debug(\n { err, packageFile },\n 'Error extracting GitLab CI dependencies',\n );\n }\n }\n\n return deps.length ? { deps } : null;\n}\n\nexport async function extractAllPackageFiles(\n config: ExtractConfig,\n packageFiles: string[],\n): Promise<PackageFile[] | null> {\n const filesToExamine = [...packageFiles];\n const seen = new Set<string>(packageFiles);\n const results: PackageFile[] = [];\n\n // extract all includes from the files\n while (filesToExamine.length > 0) {\n const file = filesToExamine.pop()!;\n\n const content = await readLocalFile(file, 'utf8');\n if (!content) {\n logger.debug(\n { packageFile: file },\n `Empty or non existent gitlabci file`,\n );\n continue;\n }\n\n const { val: docs, err } = Result.wrap(() =>\n parseYaml(content, { uniqueKeys: false }),\n ).unwrap();\n\n if (err) {\n logger.debug(\n { err, packageFile: file },\n 'Error extracting GitLab CI dependencies',\n );\n continue;\n }\n\n const localIncludes = MultiDocumentLocalIncludes.parse(docs);\n for (const file of localIncludes) {\n if (!seen.has(file)) {\n seen.add(file);\n filesToExamine.push(file);\n }\n }\n\n const result = extractPackageFile(content, file, config);\n if (result !== null) {\n results.push({\n packageFile: file,\n deps: result.deps,\n });\n }\n }\n\n logger.trace(\n { packageFiles, files: filesToExamine.entries() },\n 'extracted all GitLab CI files',\n );\n\n if (!results.length) {\n return null;\n }\n\n return results;\n}\n"]}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/gitlabci/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import { logger } from '../../../logger';\nimport { readLocalFile } from '../../../util/fs';\nimport { regEx } from '../../../util/regex';\nimport { Result } from '../../../util/result';\nimport { parseYaml } from '../../../util/yaml';\nimport { GitlabTagsDatasource } from '../../datasource/gitlab-tags';\nimport { id as semverPartialId } from '../../versioning/semver-partial';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFile,\n PackageFileContent,\n} from '../types';\nimport {\n GitlabDocument,\n Job,\n Jobs,\n MultiDocumentLocalIncludes,\n} from './schema';\nimport { getGitlabDep } from './utils';\n\n// See https://docs.gitlab.com/ee/ci/components/index.html#use-a-component\nconst componentReferenceRegex = regEx(\n /(?<fqdn>[^/]+)\\/(?<projectPath>.+)\\/(?:.+)@(?<specificVersion>.+)/,\n);\nconst componentReferenceLatestVersion = '~latest';\n\nfunction extractDepFromIncludeComponent(\n component: string,\n registryAliases?: Record<string, string>,\n): PackageDependency | null {\n let componentUrl = component;\n if (registryAliases) {\n for (const key in registryAliases) {\n componentUrl = componentUrl.replace(key, registryAliases[key]);\n }\n }\n const componentReference = componentReferenceRegex.exec(componentUrl)?.groups;\n if (!componentReference) {\n logger.debug(\n { componentReference: componentUrl },\n 'Ignoring malformed component reference',\n );\n return null;\n }\n const projectPathParts = componentReference.projectPath.split('/');\n if (projectPathParts.length < 2) {\n logger.debug(\n { componentReference: componentUrl },\n 'Ignoring component reference with incomplete project path',\n );\n return null;\n }\n\n const dep: PackageDependency = {\n datasource: GitlabTagsDatasource.id,\n depName: componentReference.projectPath,\n depType: 'repository',\n currentValue: componentReference.specificVersion,\n registryUrls: [`https://${componentReference.fqdn}`],\n versioning: semverPartialId,\n };\n if (dep.currentValue === componentReferenceLatestVersion) {\n logger.debug(\n { componentVersion: dep.currentValue },\n 'Ignoring component version',\n );\n dep.skipReason = 'unsupported-version';\n }\n return dep;\n}\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n config: ExtractConfig,\n): PackageFileContent | null {\n const deps: PackageDependency[] = [];\n try {\n const docs = parseYaml(content, { uniqueKeys: false });\n\n for (const doc of docs) {\n const topLevel = Job.parse(doc);\n const jobs = Jobs.parse(doc);\n\n for (const job of [topLevel, ...jobs]) {\n const { image, services } = job;\n\n if (image) {\n const dep = getGitlabDep(image.value, config.registryAliases);\n dep.depType = image.type;\n deps.push(dep);\n }\n\n for (const service of services) {\n const dep = getGitlabDep(service, config.registryAliases);\n dep.depType = 'service-image';\n deps.push(dep);\n }\n }\n\n const includedComponents = GitlabDocument.parse(doc);\n for (const includedComponent of includedComponents) {\n const dep = extractDepFromIncludeComponent(\n includedComponent,\n config.registryAliases,\n );\n if (dep) {\n deps.push(dep);\n }\n }\n }\n } catch (err) /* istanbul ignore next */ {\n if (err.stack?.startsWith('YAMLException:')) {\n logger.debug(\n { err, packageFile },\n 'YAML exception extracting GitLab CI includes',\n );\n } else {\n logger.debug(\n { err, packageFile },\n 'Error extracting GitLab CI dependencies',\n );\n }\n }\n\n return deps.length ? { deps } : null;\n}\n\nexport async function extractAllPackageFiles(\n config: ExtractConfig,\n packageFiles: string[],\n): Promise<PackageFile[] | null> {\n const filesToExamine = [...packageFiles];\n const seen = new Set<string>(packageFiles);\n const results: PackageFile[] = [];\n\n // extract all includes from the files\n while (filesToExamine.length > 0) {\n const file = filesToExamine.pop()!;\n\n const content = await readLocalFile(file, 'utf8');\n if (!content) {\n logger.debug(\n { packageFile: file },\n `Empty or non existent gitlabci file`,\n );\n continue;\n }\n\n const { val: docs, err } = Result.wrap(() =>\n parseYaml(content, { uniqueKeys: false }),\n ).unwrap();\n\n if (err) {\n logger.debug(\n { err, packageFile: file },\n 'Error extracting GitLab CI dependencies',\n );\n continue;\n }\n\n const localIncludes = MultiDocumentLocalIncludes.parse(docs);\n for (const file of localIncludes) {\n if (!seen.has(file)) {\n seen.add(file);\n filesToExamine.push(file);\n }\n }\n\n const result = extractPackageFile(content, file, config);\n if (result !== null) {\n results.push({\n packageFile: file,\n deps: result.deps,\n });\n }\n }\n\n logger.trace(\n { packageFiles, files: filesToExamine.entries() },\n 'extracted all GitLab CI files',\n );\n\n if (!results.length) {\n return null;\n }\n\n return results;\n}\n"]}