renovate 40.0.0-next.25 → 40.0.0-next.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (520) hide show
  1. package/dist/config/decrypt.js +1 -1
  2. package/dist/config/decrypt.js.map +1 -1
  3. package/dist/config/migrate-validate.js +2 -2
  4. package/dist/config/migrate-validate.js.map +1 -1
  5. package/dist/config/migration.js +1 -1
  6. package/dist/config/migration.js.map +1 -1
  7. package/dist/config/options/index.js +2 -1
  8. package/dist/config/options/index.js.map +1 -1
  9. package/dist/config/presets/internal/group.js +30 -1
  10. package/dist/config/presets/internal/group.js.map +1 -1
  11. package/dist/config/presets/internal/workarounds.js +1 -0
  12. package/dist/config/presets/internal/workarounds.js.map +1 -1
  13. package/dist/config/presets/parse.js +2 -1
  14. package/dist/config/presets/parse.js.map +1 -1
  15. package/dist/config/types.d.ts +4 -1
  16. package/dist/config/types.js.map +1 -1
  17. package/dist/config/validation.js +2 -2
  18. package/dist/config/validation.js.map +1 -1
  19. package/dist/data/monorepo.json +3 -0
  20. package/dist/data/source-urls.json +1 -0
  21. package/dist/instrumentation/index.js +14 -12
  22. package/dist/instrumentation/index.js.map +1 -1
  23. package/dist/logger/index.js +1 -1
  24. package/dist/logger/index.js.map +1 -1
  25. package/dist/logger/once.js +2 -2
  26. package/dist/logger/once.js.map +1 -1
  27. package/dist/logger/renovate-logger.js +1 -1
  28. package/dist/logger/renovate-logger.js.map +1 -1
  29. package/dist/logger/utils.js +1 -1
  30. package/dist/logger/utils.js.map +1 -1
  31. package/dist/modules/datasource/api.js +2 -0
  32. package/dist/modules/datasource/api.js.map +1 -1
  33. package/dist/modules/datasource/artifactory/index.js +0 -1
  34. package/dist/modules/datasource/artifactory/index.js.map +1 -1
  35. package/dist/modules/datasource/aws-eks-addon/index.d.ts +11 -0
  36. package/dist/modules/datasource/aws-eks-addon/index.js +75 -0
  37. package/dist/modules/datasource/aws-eks-addon/index.js.map +1 -0
  38. package/dist/modules/datasource/aws-eks-addon/schema.d.ts +40 -0
  39. package/dist/modules/datasource/aws-eks-addon/schema.js +31 -0
  40. package/dist/modules/datasource/aws-eks-addon/schema.js.map +1 -0
  41. package/dist/modules/datasource/aws-machine-image/index.js +6 -5
  42. package/dist/modules/datasource/aws-machine-image/index.js.map +1 -1
  43. package/dist/modules/datasource/bazel/index.js +0 -1
  44. package/dist/modules/datasource/bazel/index.js.map +1 -1
  45. package/dist/modules/datasource/bitrise/index.js +1 -1
  46. package/dist/modules/datasource/bitrise/index.js.map +1 -1
  47. package/dist/modules/datasource/cdnjs/schema.d.ts +2 -2
  48. package/dist/modules/datasource/conda/index.js +18 -1
  49. package/dist/modules/datasource/conda/index.js.map +1 -1
  50. package/dist/modules/datasource/conda/prefix-dev.d.ts +3 -0
  51. package/dist/modules/datasource/conda/prefix-dev.js +83 -0
  52. package/dist/modules/datasource/conda/prefix-dev.js.map +1 -0
  53. package/dist/modules/datasource/conda/schema/prefix-dev.d.ts +189 -0
  54. package/dist/modules/datasource/conda/schema/prefix-dev.js +31 -0
  55. package/dist/modules/datasource/conda/schema/prefix-dev.js.map +1 -0
  56. package/dist/modules/datasource/conda/types.d.ts +1 -20
  57. package/dist/modules/datasource/conda/types.js.map +1 -1
  58. package/dist/modules/datasource/cpan/index.js +1 -1
  59. package/dist/modules/datasource/cpan/index.js.map +1 -1
  60. package/dist/modules/datasource/crate/index.js +2 -2
  61. package/dist/modules/datasource/crate/index.js.map +1 -1
  62. package/dist/modules/datasource/custom/index.js +4 -2
  63. package/dist/modules/datasource/custom/index.js.map +1 -1
  64. package/dist/modules/datasource/custom/schema.d.ts +27 -27
  65. package/dist/modules/datasource/custom/utils.js +1 -0
  66. package/dist/modules/datasource/custom/utils.js.map +1 -1
  67. package/dist/modules/datasource/dart/index.js +1 -1
  68. package/dist/modules/datasource/dart/index.js.map +1 -1
  69. package/dist/modules/datasource/dart-version/index.js +1 -1
  70. package/dist/modules/datasource/dart-version/index.js.map +1 -1
  71. package/dist/modules/datasource/datasource.js +0 -1
  72. package/dist/modules/datasource/datasource.js.map +1 -1
  73. package/dist/modules/datasource/deb/index.js +1 -1
  74. package/dist/modules/datasource/deb/index.js.map +1 -1
  75. package/dist/modules/datasource/deno/index.js +1 -1
  76. package/dist/modules/datasource/deno/index.js.map +1 -1
  77. package/dist/modules/datasource/deno/schema.d.ts +7 -7
  78. package/dist/modules/datasource/devbox/index.js +0 -1
  79. package/dist/modules/datasource/devbox/index.js.map +1 -1
  80. package/dist/modules/datasource/docker/common.js +4 -1
  81. package/dist/modules/datasource/docker/common.js.map +1 -1
  82. package/dist/modules/datasource/docker/index.js +5 -5
  83. package/dist/modules/datasource/docker/index.js.map +1 -1
  84. package/dist/modules/datasource/docker/schema.d.ts +27 -27
  85. package/dist/modules/datasource/docker/schema.js +2 -1
  86. package/dist/modules/datasource/docker/schema.js.map +1 -1
  87. package/dist/modules/datasource/flutter-version/index.js +1 -1
  88. package/dist/modules/datasource/flutter-version/index.js.map +1 -1
  89. package/dist/modules/datasource/galaxy-collection/schema.d.ts +5 -5
  90. package/dist/modules/datasource/git-refs/index.js +1 -1
  91. package/dist/modules/datasource/git-refs/index.js.map +1 -1
  92. package/dist/modules/datasource/gitea-releases/schema.d.ts +6 -6
  93. package/dist/modules/datasource/gitlab-packages/index.js +1 -1
  94. package/dist/modules/datasource/gitlab-packages/index.js.map +1 -1
  95. package/dist/modules/datasource/gitlab-releases/index.js +1 -3
  96. package/dist/modules/datasource/gitlab-releases/index.js.map +1 -1
  97. package/dist/modules/datasource/go/index.js +1 -1
  98. package/dist/modules/datasource/go/index.js.map +1 -1
  99. package/dist/modules/datasource/go/releases-direct.js +7 -4
  100. package/dist/modules/datasource/go/releases-direct.js.map +1 -1
  101. package/dist/modules/datasource/golang-version/index.js +1 -1
  102. package/dist/modules/datasource/golang-version/index.js.map +1 -1
  103. package/dist/modules/datasource/gradle-version/index.js +1 -1
  104. package/dist/modules/datasource/gradle-version/index.js.map +1 -1
  105. package/dist/modules/datasource/helm/index.js +1 -1
  106. package/dist/modules/datasource/helm/index.js.map +1 -1
  107. package/dist/modules/datasource/hex/index.js +1 -1
  108. package/dist/modules/datasource/hex/index.js.map +1 -1
  109. package/dist/modules/datasource/index.js +2 -2
  110. package/dist/modules/datasource/index.js.map +1 -1
  111. package/dist/modules/datasource/java-version/index.js +0 -1
  112. package/dist/modules/datasource/java-version/index.js.map +1 -1
  113. package/dist/modules/datasource/jenkins-plugins/index.js +1 -1
  114. package/dist/modules/datasource/jenkins-plugins/index.js.map +1 -1
  115. package/dist/modules/datasource/maven/index.js +35 -27
  116. package/dist/modules/datasource/maven/index.js.map +1 -1
  117. package/dist/modules/datasource/maven/types.d.ts +3 -6
  118. package/dist/modules/datasource/maven/types.js.map +1 -1
  119. package/dist/modules/datasource/maven/util.d.ts +4 -5
  120. package/dist/modules/datasource/maven/util.js +93 -156
  121. package/dist/modules/datasource/maven/util.js.map +1 -1
  122. package/dist/modules/datasource/node-version/index.js +1 -1
  123. package/dist/modules/datasource/node-version/index.js.map +1 -1
  124. package/dist/modules/datasource/npm/index.js +1 -1
  125. package/dist/modules/datasource/npm/index.js.map +1 -1
  126. package/dist/modules/datasource/npm/npmrc.js +1 -1
  127. package/dist/modules/datasource/npm/npmrc.js.map +1 -1
  128. package/dist/modules/datasource/nuget/index.js +1 -1
  129. package/dist/modules/datasource/nuget/index.js.map +1 -1
  130. package/dist/modules/datasource/nuget/v3.js +5 -5
  131. package/dist/modules/datasource/nuget/v3.js.map +1 -1
  132. package/dist/modules/datasource/orb/index.js +1 -1
  133. package/dist/modules/datasource/orb/index.js.map +1 -1
  134. package/dist/modules/datasource/packagist/index.js +2 -2
  135. package/dist/modules/datasource/packagist/index.js.map +1 -1
  136. package/dist/modules/datasource/packagist/schema.d.ts +18 -18
  137. package/dist/modules/datasource/pod/index.js +1 -1
  138. package/dist/modules/datasource/pod/index.js.map +1 -1
  139. package/dist/modules/datasource/postprocess-release.js +1 -1
  140. package/dist/modules/datasource/postprocess-release.js.map +1 -1
  141. package/dist/modules/datasource/python-version/index.js +1 -1
  142. package/dist/modules/datasource/python-version/index.js.map +1 -1
  143. package/dist/modules/datasource/repology/index.js +1 -1
  144. package/dist/modules/datasource/repology/index.js.map +1 -1
  145. package/dist/modules/datasource/rubygems/index.js +1 -1
  146. package/dist/modules/datasource/rubygems/index.js.map +1 -1
  147. package/dist/modules/datasource/sbt-package/index.js +1 -1
  148. package/dist/modules/datasource/sbt-package/index.js.map +1 -1
  149. package/dist/modules/datasource/sbt-plugin/index.js +1 -1
  150. package/dist/modules/datasource/sbt-plugin/index.js.map +1 -1
  151. package/dist/modules/datasource/schema.d.ts +4 -4
  152. package/dist/modules/datasource/terraform-module/index.js +1 -1
  153. package/dist/modules/datasource/terraform-module/index.js.map +1 -1
  154. package/dist/modules/datasource/terraform-provider/index.js +1 -2
  155. package/dist/modules/datasource/terraform-provider/index.js.map +1 -1
  156. package/dist/modules/datasource/types.d.ts +1 -0
  157. package/dist/modules/datasource/types.js.map +1 -1
  158. package/dist/modules/manager/api.js +2 -0
  159. package/dist/modules/manager/api.js.map +1 -1
  160. package/dist/modules/manager/argocd/extract.js +1 -1
  161. package/dist/modules/manager/argocd/extract.js.map +1 -1
  162. package/dist/modules/manager/asdf/upgradeable-tooling.js +94 -0
  163. package/dist/modules/manager/asdf/upgradeable-tooling.js.map +1 -1
  164. package/dist/modules/manager/azure-pipelines/schema.d.ts +24 -24
  165. package/dist/modules/manager/batect/schema.d.ts +2 -2
  166. package/dist/modules/manager/bazel/rules/docker.d.ts +3 -3
  167. package/dist/modules/manager/bazel/rules/git.js +2 -1
  168. package/dist/modules/manager/bazel/rules/git.js.map +1 -1
  169. package/dist/modules/manager/bazel/rules/maven.d.ts +7 -7
  170. package/dist/modules/manager/bazel/rules/oci.d.ts +3 -3
  171. package/dist/modules/manager/bazel-module/parser/maven.d.ts +13 -13
  172. package/dist/modules/manager/bun/artifacts.js +0 -1
  173. package/dist/modules/manager/bun/artifacts.js.map +1 -1
  174. package/dist/modules/manager/bundler/artifacts.js +0 -1
  175. package/dist/modules/manager/bundler/artifacts.js.map +1 -1
  176. package/dist/modules/manager/bundler/extract.js +2 -1
  177. package/dist/modules/manager/bundler/extract.js.map +1 -1
  178. package/dist/modules/manager/cake/index.js +4 -2
  179. package/dist/modules/manager/cake/index.js.map +1 -1
  180. package/dist/modules/manager/cargo/artifacts.js +5 -7
  181. package/dist/modules/manager/cargo/artifacts.js.map +1 -1
  182. package/dist/modules/manager/cargo/schema.d.ts +164 -164
  183. package/dist/modules/manager/circleci/schema.d.ts +6 -6
  184. package/dist/modules/manager/cocoapods/artifacts.js +1 -2
  185. package/dist/modules/manager/cocoapods/artifacts.js.map +1 -1
  186. package/dist/modules/manager/composer/artifacts.js +1 -2
  187. package/dist/modules/manager/composer/artifacts.js.map +1 -1
  188. package/dist/modules/manager/composer/schema.d.ts +36 -36
  189. package/dist/modules/manager/composer/schema.js +1 -1
  190. package/dist/modules/manager/composer/schema.js.map +1 -1
  191. package/dist/modules/manager/composer/utils.d.ts +1 -0
  192. package/dist/modules/manager/composer/utils.js +9 -0
  193. package/dist/modules/manager/composer/utils.js.map +1 -1
  194. package/dist/modules/manager/copier/artifacts.js +0 -1
  195. package/dist/modules/manager/copier/artifacts.js.map +1 -1
  196. package/dist/modules/manager/custom/jsonata/schema.d.ts +28 -28
  197. package/dist/modules/manager/custom/regex/index.js +2 -0
  198. package/dist/modules/manager/custom/regex/index.js.map +1 -1
  199. package/dist/modules/manager/deps-edn/extract.js +2 -1
  200. package/dist/modules/manager/deps-edn/extract.js.map +1 -1
  201. package/dist/modules/manager/devbox/artifacts.d.ts +1 -1
  202. package/dist/modules/manager/devbox/artifacts.js +1 -2
  203. package/dist/modules/manager/devbox/artifacts.js.map +1 -1
  204. package/dist/modules/manager/devbox/schema.js +1 -1
  205. package/dist/modules/manager/devbox/schema.js.map +1 -1
  206. package/dist/modules/manager/devcontainer/extract.js +43 -1
  207. package/dist/modules/manager/devcontainer/extract.js.map +1 -1
  208. package/dist/modules/manager/devcontainer/index.js +11 -1
  209. package/dist/modules/manager/devcontainer/index.js.map +1 -1
  210. package/dist/modules/manager/devcontainer/schema.d.ts +7 -3
  211. package/dist/modules/manager/devcontainer/schema.js +3 -1
  212. package/dist/modules/manager/devcontainer/schema.js.map +1 -1
  213. package/dist/modules/manager/docker-compose/schema.d.ts +6 -6
  214. package/dist/modules/manager/fingerprint.generated.js +83 -82
  215. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  216. package/dist/modules/manager/fleet/schema.d.ts +12 -12
  217. package/dist/modules/manager/flux/artifacts.js +0 -1
  218. package/dist/modules/manager/flux/artifacts.js.map +1 -1
  219. package/dist/modules/manager/flux/extract.js +27 -24
  220. package/dist/modules/manager/flux/extract.js.map +1 -1
  221. package/dist/modules/manager/flux/schema.d.ts +44 -44
  222. package/dist/modules/manager/github-actions/extract.js +60 -39
  223. package/dist/modules/manager/github-actions/extract.js.map +1 -1
  224. package/dist/modules/manager/github-actions/schema.d.ts +66 -0
  225. package/dist/modules/manager/github-actions/schema.js +38 -0
  226. package/dist/modules/manager/github-actions/schema.js.map +1 -0
  227. package/dist/modules/manager/gitlabci/extract.d.ts +1 -5
  228. package/dist/modules/manager/gitlabci/extract.js +27 -126
  229. package/dist/modules/manager/gitlabci/extract.js.map +1 -1
  230. package/dist/modules/manager/gitlabci/schema.d.ts +55 -0
  231. package/dist/modules/manager/gitlabci/schema.js +63 -0
  232. package/dist/modules/manager/gitlabci/schema.js.map +1 -0
  233. package/dist/modules/manager/gitlabci-include/extract.js +6 -54
  234. package/dist/modules/manager/gitlabci-include/extract.js.map +1 -1
  235. package/dist/modules/manager/gitlabci-include/schema.d.ts +13 -0
  236. package/dist/modules/manager/gitlabci-include/schema.js +46 -0
  237. package/dist/modules/manager/gitlabci-include/schema.js.map +1 -0
  238. package/dist/modules/manager/gomod/artifacts.js +24 -10
  239. package/dist/modules/manager/gomod/artifacts.js.map +1 -1
  240. package/dist/modules/manager/gomod/extract.js +23 -0
  241. package/dist/modules/manager/gomod/extract.js.map +1 -1
  242. package/dist/modules/manager/gomod/line-parser.js +16 -0
  243. package/dist/modules/manager/gomod/line-parser.js.map +1 -1
  244. package/dist/modules/manager/gomod/update.js +2 -2
  245. package/dist/modules/manager/gomod/update.js.map +1 -1
  246. package/dist/modules/manager/gradle/artifacts.js +0 -1
  247. package/dist/modules/manager/gradle/artifacts.js.map +1 -1
  248. package/dist/modules/manager/gradle/extract/catalog.js +1 -1
  249. package/dist/modules/manager/gradle/extract/catalog.js.map +1 -1
  250. package/dist/modules/manager/gradle/parser/assignments.js +2 -2
  251. package/dist/modules/manager/gradle/parser/assignments.js.map +1 -1
  252. package/dist/modules/manager/gradle/parser/handlers.d.ts +1 -2
  253. package/dist/modules/manager/gradle/parser/handlers.js +10 -25
  254. package/dist/modules/manager/gradle/parser/handlers.js.map +1 -1
  255. package/dist/modules/manager/gradle/parser/registry-urls.js +11 -3
  256. package/dist/modules/manager/gradle/parser/registry-urls.js.map +1 -1
  257. package/dist/modules/manager/gradle-wrapper/artifacts.js +0 -1
  258. package/dist/modules/manager/gradle-wrapper/artifacts.js.map +1 -1
  259. package/dist/modules/manager/helmfile/artifacts.js +0 -1
  260. package/dist/modules/manager/helmfile/artifacts.js.map +1 -1
  261. package/dist/modules/manager/helmfile/extract.js +4 -0
  262. package/dist/modules/manager/helmfile/extract.js.map +1 -1
  263. package/dist/modules/manager/helmfile/schema.d.ts +9 -9
  264. package/dist/modules/manager/helmv3/artifacts.js +0 -1
  265. package/dist/modules/manager/helmv3/artifacts.js.map +1 -1
  266. package/dist/modules/manager/helmv3/utils.js +3 -1
  267. package/dist/modules/manager/helmv3/utils.js.map +1 -1
  268. package/dist/modules/manager/hermit/artifacts.js +0 -1
  269. package/dist/modules/manager/hermit/artifacts.js.map +1 -1
  270. package/dist/modules/manager/homebrew/extract.js +0 -1
  271. package/dist/modules/manager/homebrew/extract.js.map +1 -1
  272. package/dist/modules/manager/jsonnet-bundler/artifacts.js +0 -1
  273. package/dist/modules/manager/jsonnet-bundler/artifacts.js.map +1 -1
  274. package/dist/modules/manager/kustomize/artifacts.d.ts +2 -0
  275. package/dist/modules/manager/kustomize/artifacts.js +154 -0
  276. package/dist/modules/manager/kustomize/artifacts.js.map +1 -0
  277. package/dist/modules/manager/kustomize/common.d.ts +3 -0
  278. package/dist/modules/manager/kustomize/common.js +22 -0
  279. package/dist/modules/manager/kustomize/common.js.map +1 -0
  280. package/dist/modules/manager/kustomize/index.d.ts +1 -0
  281. package/dist/modules/manager/kustomize/index.js +3 -1
  282. package/dist/modules/manager/kustomize/index.js.map +1 -1
  283. package/dist/modules/manager/kustomize/types.d.ts +4 -0
  284. package/dist/modules/manager/kustomize/types.js.map +1 -1
  285. package/dist/modules/manager/maven-wrapper/artifacts.js +0 -1
  286. package/dist/modules/manager/maven-wrapper/artifacts.js.map +1 -1
  287. package/dist/modules/manager/mix/artifacts.js +64 -14
  288. package/dist/modules/manager/mix/artifacts.js.map +1 -1
  289. package/dist/modules/manager/mix/index.d.ts +1 -0
  290. package/dist/modules/manager/mix/index.js +2 -1
  291. package/dist/modules/manager/mix/index.js.map +1 -1
  292. package/dist/modules/manager/nix/artifacts.js +0 -1
  293. package/dist/modules/manager/nix/artifacts.js.map +1 -1
  294. package/dist/modules/manager/nix/extract.js +1 -1
  295. package/dist/modules/manager/nix/extract.js.map +1 -1
  296. package/dist/modules/manager/nix/schema.d.ts +6 -6
  297. package/dist/modules/manager/npm/artifacts.js +0 -1
  298. package/dist/modules/manager/npm/artifacts.js.map +1 -1
  299. package/dist/modules/manager/npm/extract/yarn.js +2 -2
  300. package/dist/modules/manager/npm/extract/yarn.js.map +1 -1
  301. package/dist/modules/manager/npm/post-update/npm.js +0 -1
  302. package/dist/modules/manager/npm/post-update/npm.js.map +1 -1
  303. package/dist/modules/manager/npm/post-update/pnpm.js +13 -2
  304. package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
  305. package/dist/modules/manager/npm/post-update/rules.js +11 -1
  306. package/dist/modules/manager/npm/post-update/rules.js.map +1 -1
  307. package/dist/modules/manager/npm/post-update/yarn.js +0 -1
  308. package/dist/modules/manager/npm/post-update/yarn.js.map +1 -1
  309. package/dist/modules/manager/npm/update/dependency/index.js +1 -1
  310. package/dist/modules/manager/npm/update/dependency/index.js.map +1 -1
  311. package/dist/modules/manager/nuget/artifacts.js +1 -2
  312. package/dist/modules/manager/nuget/artifacts.js.map +1 -1
  313. package/dist/modules/manager/nuget/package-tree.js +4 -0
  314. package/dist/modules/manager/nuget/package-tree.js.map +1 -1
  315. package/dist/modules/manager/nuget/util.js +4 -1
  316. package/dist/modules/manager/nuget/util.js.map +1 -1
  317. package/dist/modules/manager/pep621/processors/pdm.js +0 -1
  318. package/dist/modules/manager/pep621/processors/pdm.js.map +1 -1
  319. package/dist/modules/manager/pep621/processors/uv.js +0 -1
  320. package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
  321. package/dist/modules/manager/pep621/schema.d.ts +35 -30
  322. package/dist/modules/manager/pep621/schema.js +2 -0
  323. package/dist/modules/manager/pep621/schema.js.map +1 -1
  324. package/dist/modules/manager/pip-compile/common.js +0 -1
  325. package/dist/modules/manager/pip-compile/common.js.map +1 -1
  326. package/dist/modules/manager/pip_requirements/artifacts.js +0 -1
  327. package/dist/modules/manager/pip_requirements/artifacts.js.map +1 -1
  328. package/dist/modules/manager/pipenv/artifacts.js +0 -1
  329. package/dist/modules/manager/pipenv/artifacts.js.map +1 -1
  330. package/dist/modules/manager/pixi/artifacts.d.ts +3 -0
  331. package/dist/modules/manager/pixi/artifacts.js +84 -0
  332. package/dist/modules/manager/pixi/artifacts.js.map +1 -0
  333. package/dist/modules/manager/pixi/extract.d.ts +2 -0
  334. package/dist/modules/manager/pixi/extract.js +53 -0
  335. package/dist/modules/manager/pixi/extract.js.map +1 -0
  336. package/dist/modules/manager/pixi/index.d.ts +11 -0
  337. package/dist/modules/manager/pixi/index.js +22 -0
  338. package/dist/modules/manager/pixi/index.js.map +1 -0
  339. package/dist/modules/manager/pixi/lockfile.d.ts +6 -0
  340. package/dist/modules/manager/pixi/lockfile.js +25 -0
  341. package/dist/modules/manager/pixi/lockfile.js.map +1 -0
  342. package/dist/modules/manager/pixi/schema.d.ts +14 -0
  343. package/dist/modules/manager/pixi/schema.js +14 -0
  344. package/dist/modules/manager/pixi/schema.js.map +1 -0
  345. package/dist/modules/manager/poetry/artifacts.js +0 -1
  346. package/dist/modules/manager/poetry/artifacts.js.map +1 -1
  347. package/dist/modules/manager/poetry/schema.d.ts +31 -31
  348. package/dist/modules/manager/pub/artifacts.js +0 -1
  349. package/dist/modules/manager/pub/artifacts.js.map +1 -1
  350. package/dist/modules/manager/pub/schema.d.ts +8 -8
  351. package/dist/modules/manager/scalafmt/extract.js +1 -1
  352. package/dist/modules/manager/scalafmt/extract.js.map +1 -1
  353. package/dist/modules/manager/types.d.ts +6 -2
  354. package/dist/modules/manager/types.js.map +1 -1
  355. package/dist/modules/manager/vendir/schema.d.ts +23 -23
  356. package/dist/modules/platform/azure/azure-helper.js +2 -2
  357. package/dist/modules/platform/azure/azure-helper.js.map +1 -1
  358. package/dist/modules/platform/azure/index.js +14 -14
  359. package/dist/modules/platform/azure/index.js.map +1 -1
  360. package/dist/modules/platform/bitbucket/comments.js +4 -4
  361. package/dist/modules/platform/bitbucket/comments.js.map +1 -1
  362. package/dist/modules/platform/bitbucket/index.js +48 -43
  363. package/dist/modules/platform/bitbucket/index.js.map +1 -1
  364. package/dist/modules/platform/bitbucket/schema.d.ts +13 -13
  365. package/dist/modules/platform/bitbucket/utils.js +3 -3
  366. package/dist/modules/platform/bitbucket/utils.js.map +1 -1
  367. package/dist/modules/platform/bitbucket-server/index.d.ts +2 -2
  368. package/dist/modules/platform/bitbucket-server/index.js +70 -72
  369. package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
  370. package/dist/modules/platform/bitbucket-server/pr-cache.d.ts +23 -0
  371. package/dist/modules/platform/bitbucket-server/pr-cache.js +125 -0
  372. package/dist/modules/platform/bitbucket-server/pr-cache.js.map +1 -0
  373. package/dist/modules/platform/bitbucket-server/types.d.ts +6 -1
  374. package/dist/modules/platform/bitbucket-server/types.js.map +1 -1
  375. package/dist/modules/platform/bitbucket-server/utils.js +5 -1
  376. package/dist/modules/platform/bitbucket-server/utils.js.map +1 -1
  377. package/dist/modules/platform/codecommit/codecommit-client.js +6 -6
  378. package/dist/modules/platform/codecommit/codecommit-client.js.map +1 -1
  379. package/dist/modules/platform/codecommit/index.js +24 -24
  380. package/dist/modules/platform/codecommit/index.js.map +1 -1
  381. package/dist/modules/platform/gerrit/client.js +12 -1
  382. package/dist/modules/platform/gerrit/client.js.map +1 -1
  383. package/dist/modules/platform/gerrit/utils.js +1 -1
  384. package/dist/modules/platform/gerrit/utils.js.map +1 -1
  385. package/dist/modules/platform/gitea/gitea-helper.d.ts +1 -0
  386. package/dist/modules/platform/gitea/gitea-helper.js +16 -0
  387. package/dist/modules/platform/gitea/gitea-helper.js.map +1 -1
  388. package/dist/modules/platform/gitea/index.js +15 -7
  389. package/dist/modules/platform/gitea/index.js.map +1 -1
  390. package/dist/modules/platform/gitea/schema.d.ts +4 -4
  391. package/dist/modules/platform/gitea/types.d.ts +1 -1
  392. package/dist/modules/platform/gitea/types.js.map +1 -1
  393. package/dist/modules/platform/github/index.js +81 -78
  394. package/dist/modules/platform/github/index.js.map +1 -1
  395. package/dist/modules/platform/github/issue.d.ts +3 -3
  396. package/dist/modules/platform/github/massage-markdown-links.js +2 -2
  397. package/dist/modules/platform/github/massage-markdown-links.js.map +1 -1
  398. package/dist/modules/platform/github/pr.js +3 -3
  399. package/dist/modules/platform/github/pr.js.map +1 -1
  400. package/dist/modules/platform/github/schema.d.ts +11 -11
  401. package/dist/modules/platform/github/schema.js +3 -1
  402. package/dist/modules/platform/github/schema.js.map +1 -1
  403. package/dist/modules/platform/gitlab/index.js +61 -43
  404. package/dist/modules/platform/gitlab/index.js.map +1 -1
  405. package/dist/modules/platform/index.js +0 -1
  406. package/dist/modules/platform/index.js.map +1 -1
  407. package/dist/modules/versioning/api.js +2 -0
  408. package/dist/modules/versioning/api.js.map +1 -1
  409. package/dist/modules/versioning/conda/index.d.ts +41 -0
  410. package/dist/modules/versioning/conda/index.js +178 -0
  411. package/dist/modules/versioning/conda/index.js.map +1 -0
  412. package/dist/modules/versioning/hashicorp/convertor.d.ts +2 -1
  413. package/dist/modules/versioning/hashicorp/convertor.js +13 -8
  414. package/dist/modules/versioning/hashicorp/convertor.js.map +1 -1
  415. package/dist/modules/versioning/hex/index.js +3 -3
  416. package/dist/modules/versioning/hex/index.js.map +1 -1
  417. package/dist/proxy.js +1 -1
  418. package/dist/proxy.js.map +1 -1
  419. package/dist/renovate.js +2 -2
  420. package/dist/renovate.js.map +1 -1
  421. package/dist/util/cache/package/types.d.ts +1 -1
  422. package/dist/util/cache/package/types.js.map +1 -1
  423. package/dist/util/cache/repository/schema.d.ts +4 -4
  424. package/dist/util/cache/repository/types.d.ts +3 -0
  425. package/dist/util/cache/repository/types.js.map +1 -1
  426. package/dist/util/env.d.ts +4 -0
  427. package/dist/util/env.js +22 -0
  428. package/dist/util/env.js.map +1 -0
  429. package/dist/util/exec/containerbase.js +6 -0
  430. package/dist/util/exec/containerbase.js.map +1 -1
  431. package/dist/util/exec/index.js +5 -2
  432. package/dist/util/exec/index.js.map +1 -1
  433. package/dist/util/exec/types.d.ts +0 -2
  434. package/dist/util/exec/types.js.map +1 -1
  435. package/dist/util/exec/utils.d.ts +1 -1
  436. package/dist/util/exec/utils.js +6 -5
  437. package/dist/util/exec/utils.js.map +1 -1
  438. package/dist/util/git/author.js +1 -1
  439. package/dist/util/git/author.js.map +1 -1
  440. package/dist/util/git/config.js +0 -1
  441. package/dist/util/git/config.js.map +1 -1
  442. package/dist/util/git/error.js +4 -2
  443. package/dist/util/git/error.js.map +1 -1
  444. package/dist/util/git/index.js +73 -46
  445. package/dist/util/git/index.js.map +1 -1
  446. package/dist/util/git/private-key.js +1 -1
  447. package/dist/util/git/private-key.js.map +1 -1
  448. package/dist/util/github/graphql/query-adapters/releases-query-adapter.d.ts +5 -5
  449. package/dist/util/github/graphql/query-adapters/tags-query-adapter.d.ts +2 -2
  450. package/dist/util/http/bitbucket-server.js +4 -0
  451. package/dist/util/http/bitbucket-server.js.map +1 -1
  452. package/dist/util/http/bitbucket.js +5 -1
  453. package/dist/util/http/bitbucket.js.map +1 -1
  454. package/dist/util/http/cache/abstract-http-cache-provider.js +2 -2
  455. package/dist/util/http/cache/abstract-http-cache-provider.js.map +1 -1
  456. package/dist/util/http/cache/memory-http-cache-provider.d.ts +10 -0
  457. package/dist/util/http/cache/memory-http-cache-provider.js +29 -0
  458. package/dist/util/http/cache/memory-http-cache-provider.js.map +1 -0
  459. package/dist/util/http/gitea.js +2 -0
  460. package/dist/util/http/gitea.js.map +1 -1
  461. package/dist/util/http/github.js +1 -0
  462. package/dist/util/http/github.js.map +1 -1
  463. package/dist/util/http/gitlab.js +2 -0
  464. package/dist/util/http/gitlab.js.map +1 -1
  465. package/dist/util/http/host-rules.js +5 -4
  466. package/dist/util/http/host-rules.js.map +1 -1
  467. package/dist/util/http/http.js +12 -5
  468. package/dist/util/http/http.js.map +1 -1
  469. package/dist/util/stats.d.ts +10 -0
  470. package/dist/util/stats.js +45 -1
  471. package/dist/util/stats.js.map +1 -1
  472. package/dist/workers/global/config/parse/file.js +2 -2
  473. package/dist/workers/global/config/parse/file.js.map +1 -1
  474. package/dist/workers/global/config/parse/index.js +5 -0
  475. package/dist/workers/global/config/parse/index.js.map +1 -1
  476. package/dist/workers/repository/cache.js +1 -1
  477. package/dist/workers/repository/cache.js.map +1 -1
  478. package/dist/workers/repository/config-migration/branch/migrated-data.js +2 -0
  479. package/dist/workers/repository/config-migration/branch/migrated-data.js.map +1 -1
  480. package/dist/workers/repository/index.js +1 -0
  481. package/dist/workers/repository/index.js.map +1 -1
  482. package/dist/workers/repository/init/merge.js +6 -3
  483. package/dist/workers/repository/init/merge.js.map +1 -1
  484. package/dist/workers/repository/process/extract-update.js +0 -1
  485. package/dist/workers/repository/process/extract-update.js.map +1 -1
  486. package/dist/workers/repository/process/fingerprint-fields.js +0 -1
  487. package/dist/workers/repository/process/fingerprint-fields.js.map +1 -1
  488. package/dist/workers/repository/process/libyear.js +2 -2
  489. package/dist/workers/repository/process/libyear.js.map +1 -1
  490. package/dist/workers/repository/process/lookup/index.js +13 -4
  491. package/dist/workers/repository/process/lookup/index.js.map +1 -1
  492. package/dist/workers/repository/process/vulnerabilities.js +1 -1
  493. package/dist/workers/repository/process/vulnerabilities.js.map +1 -1
  494. package/dist/workers/repository/process/write.js +1 -8
  495. package/dist/workers/repository/process/write.js.map +1 -1
  496. package/dist/workers/repository/reconfigure/validate.js +1 -0
  497. package/dist/workers/repository/reconfigure/validate.js.map +1 -1
  498. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js +10 -1
  499. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js.map +1 -1
  500. package/dist/workers/repository/update/pr/changelog/github/index.js +6 -3
  501. package/dist/workers/repository/update/pr/changelog/github/index.js.map +1 -1
  502. package/dist/workers/repository/update/pr/changelog/source.js +1 -0
  503. package/dist/workers/repository/update/pr/changelog/source.js.map +1 -1
  504. package/dist/workers/repository/updates/flatten.js +8 -4
  505. package/dist/workers/repository/updates/flatten.js.map +1 -1
  506. package/dist/workers/repository/updates/generate.js +1 -2
  507. package/dist/workers/repository/updates/generate.js.map +1 -1
  508. package/dist/workers/types.d.ts +1 -4
  509. package/dist/workers/types.js.map +1 -1
  510. package/package.json +45 -43
  511. package/renovate-schema.json +14 -1
  512. package/dist/modules/manager/github-actions/types.d.ts +0 -30
  513. package/dist/modules/manager/github-actions/types.js +0 -3
  514. package/dist/modules/manager/github-actions/types.js.map +0 -1
  515. package/dist/modules/manager/gitlabci/common.d.ts +0 -6
  516. package/dist/modules/manager/gitlabci/common.js +0 -30
  517. package/dist/modules/manager/gitlabci/common.js.map +0 -1
  518. package/dist/modules/manager/gitlabci/types.d.ts +0 -35
  519. package/dist/modules/manager/gitlabci/types.js +0 -3
  520. package/dist/modules/manager/gitlabci/types.js.map +0 -1
@@ -11,27 +11,27 @@ export declare const QueryResultZodSchema: z.ZodEffects<z.ZodUnion<[z.ZodArray<z
11
11
  extractVersion: z.ZodOptional<z.ZodString>;
12
12
  indentation: z.ZodOptional<z.ZodString>;
13
13
  }, "strip", z.ZodTypeAny, {
14
+ datasource?: string | undefined;
15
+ registryUrl?: string | undefined;
16
+ packageName?: string | undefined;
14
17
  currentValue?: string | undefined;
15
18
  depName?: string | undefined;
16
- depType?: string | undefined;
17
- datasource?: string | undefined;
18
19
  currentDigest?: string | undefined;
19
- packageName?: string | undefined;
20
+ depType?: string | undefined;
20
21
  versioning?: string | undefined;
21
22
  extractVersion?: string | undefined;
22
23
  indentation?: string | undefined;
23
- registryUrl?: string | undefined;
24
24
  }, {
25
+ datasource?: string | undefined;
26
+ registryUrl?: string | undefined;
27
+ packageName?: string | undefined;
25
28
  currentValue?: string | undefined;
26
29
  depName?: string | undefined;
27
- depType?: string | undefined;
28
- datasource?: string | undefined;
29
30
  currentDigest?: string | undefined;
30
- packageName?: string | undefined;
31
+ depType?: string | undefined;
31
32
  versioning?: string | undefined;
32
33
  extractVersion?: string | undefined;
33
34
  indentation?: string | undefined;
34
- registryUrl?: string | undefined;
35
35
  }>, "many">, z.ZodObject<{
36
36
  currentValue: z.ZodOptional<z.ZodString>;
37
37
  datasource: z.ZodOptional<z.ZodString>;
@@ -44,58 +44,58 @@ export declare const QueryResultZodSchema: z.ZodEffects<z.ZodUnion<[z.ZodArray<z
44
44
  extractVersion: z.ZodOptional<z.ZodString>;
45
45
  indentation: z.ZodOptional<z.ZodString>;
46
46
  }, "strip", z.ZodTypeAny, {
47
+ datasource?: string | undefined;
48
+ registryUrl?: string | undefined;
49
+ packageName?: string | undefined;
47
50
  currentValue?: string | undefined;
48
51
  depName?: string | undefined;
49
- depType?: string | undefined;
50
- datasource?: string | undefined;
51
52
  currentDigest?: string | undefined;
52
- packageName?: string | undefined;
53
+ depType?: string | undefined;
53
54
  versioning?: string | undefined;
54
55
  extractVersion?: string | undefined;
55
56
  indentation?: string | undefined;
56
- registryUrl?: string | undefined;
57
57
  }, {
58
+ datasource?: string | undefined;
59
+ registryUrl?: string | undefined;
60
+ packageName?: string | undefined;
58
61
  currentValue?: string | undefined;
59
62
  depName?: string | undefined;
60
- depType?: string | undefined;
61
- datasource?: string | undefined;
62
63
  currentDigest?: string | undefined;
63
- packageName?: string | undefined;
64
+ depType?: string | undefined;
64
65
  versioning?: string | undefined;
65
66
  extractVersion?: string | undefined;
66
67
  indentation?: string | undefined;
67
- registryUrl?: string | undefined;
68
68
  }>]>, {
69
+ datasource?: string | undefined;
70
+ registryUrl?: string | undefined;
71
+ packageName?: string | undefined;
69
72
  currentValue?: string | undefined;
70
73
  depName?: string | undefined;
71
- depType?: string | undefined;
72
- datasource?: string | undefined;
73
74
  currentDigest?: string | undefined;
74
- packageName?: string | undefined;
75
+ depType?: string | undefined;
75
76
  versioning?: string | undefined;
76
77
  extractVersion?: string | undefined;
77
78
  indentation?: string | undefined;
78
- registryUrl?: string | undefined;
79
79
  }[], {
80
+ datasource?: string | undefined;
81
+ registryUrl?: string | undefined;
82
+ packageName?: string | undefined;
80
83
  currentValue?: string | undefined;
81
84
  depName?: string | undefined;
82
- depType?: string | undefined;
83
- datasource?: string | undefined;
84
85
  currentDigest?: string | undefined;
85
- packageName?: string | undefined;
86
+ depType?: string | undefined;
86
87
  versioning?: string | undefined;
87
88
  extractVersion?: string | undefined;
88
89
  indentation?: string | undefined;
89
- registryUrl?: string | undefined;
90
90
  } | {
91
+ datasource?: string | undefined;
92
+ registryUrl?: string | undefined;
93
+ packageName?: string | undefined;
91
94
  currentValue?: string | undefined;
92
95
  depName?: string | undefined;
93
- depType?: string | undefined;
94
- datasource?: string | undefined;
95
96
  currentDigest?: string | undefined;
96
- packageName?: string | undefined;
97
+ depType?: string | undefined;
97
98
  versioning?: string | undefined;
98
99
  extractVersion?: string | undefined;
99
100
  indentation?: string | undefined;
100
- registryUrl?: string | undefined;
101
101
  }[]>;
@@ -4,6 +4,7 @@ exports.displayName = exports.supportedDatasources = exports.defaultConfig = exp
4
4
  exports.extractPackageFile = extractPackageFile;
5
5
  const tslib_1 = require("tslib");
6
6
  const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
7
+ const logger_1 = require("../../../../logger");
7
8
  const utils_1 = require("../utils");
8
9
  const strategies_1 = require("./strategies");
9
10
  exports.categories = ['custom'];
@@ -47,6 +48,7 @@ function extractPackageFile(content, packageFile, config) {
47
48
  }
48
49
  return res;
49
50
  }
51
+ logger_1.logger.debug({ packageFile }, 'No dependencies found in file for custom regex manager');
50
52
  return null;
51
53
  }
52
54
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/custom/regex/index.ts"],"names":[],"mappings":";;;AAoBA,gDAoDC;;AAxED,kEAAkC;AAQlC,oCAA4C;AAC5C,6CAA6E;AAGhE,QAAA,UAAU,GAAe,CAAC,QAAQ,CAAC,CAAC;AAEpC,QAAA,aAAa,GAAG;IAC3B,UAAU,EAAE,KAAK;CAClB,CAAC;AACW,QAAA,oBAAoB,GAAG,CAAC,GAAG,CAAC,CAAC;AAC7B,QAAA,WAAW,GAAG,OAAO,CAAC;AAEnC,SAAgB,kBAAkB,CAChC,OAAe,EACf,WAAmB,EACnB,MAAqB;IAErB,IAAI,IAAyB,CAAC;IAC9B,QAAQ,MAAM,CAAC,oBAAoB,EAAE,CAAC;QACpC,QAAQ;QACR,KAAK,KAAK;YACR,IAAI,GAAG,IAAA,sBAAS,EAAC,OAAO,EAAE,WAAW,EAAE,MAA4B,CAAC,CAAC;YACrE,MAAM;QACR,KAAK,aAAa;YAChB,IAAI,GAAG,IAAA,8BAAiB,EACtB,OAAO,EACP,WAAW,EACX,MAA4B,CAC7B,CAAC;YACF,MAAM;QACR,KAAK,WAAW;YACd,IAAI,GAAG,IAAA,4BAAe,EACpB,OAAO,EACP,WAAW,EACX,MAA4B,CAC7B,CAAC;YACF,MAAM;IACV,CAAC;IAED,yBAAyB;IACzB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,YAAE,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,GAAG,GAA+C;YACtD,IAAI;YACJ,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC;QACF,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAChC,GAAG,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC;QACzD,CAAC;QACD,sCAAsC;QACtC,KAAK,MAAM,KAAK,IAAI,wBAAgB,CAAC,GAAG,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAyC,CACrD,EAAE,CAAC;YACF,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClB,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACrC,GAAG,CAAC,yBAAyB,GAAG,MAAM,CAAC,yBAAyB,CAAC;QACnE,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport type { Category } from '../../../../constants';\nimport type {\n ExtractConfig,\n MaybePromise,\n PackageDependency,\n PackageFileContent,\n} from '../../types';\nimport { validMatchFields } from '../utils';\nimport { handleAny, handleCombination, handleRecursive } from './strategies';\nimport type { RegexManagerConfig, RegexManagerTemplates } from './types';\n\nexport const categories: Category[] = ['custom'];\n\nexport const defaultConfig = {\n pinDigests: false,\n};\nexport const supportedDatasources = ['*'];\nexport const displayName = 'Regex';\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n config: ExtractConfig,\n): MaybePromise<PackageFileContent | null> {\n let deps: PackageDependency[];\n switch (config.matchStringsStrategy) {\n default:\n case 'any':\n deps = handleAny(content, packageFile, config as RegexManagerConfig);\n break;\n case 'combination':\n deps = handleCombination(\n content,\n packageFile,\n config as RegexManagerConfig,\n );\n break;\n case 'recursive':\n deps = handleRecursive(\n content,\n packageFile,\n config as RegexManagerConfig,\n );\n break;\n }\n\n // filter all null values\n deps = deps.filter(is.truthy);\n if (deps.length) {\n const res: PackageFileContent & RegexManagerTemplates = {\n deps,\n matchStrings: config.matchStrings,\n };\n if (config.matchStringsStrategy) {\n res.matchStringsStrategy = config.matchStringsStrategy;\n }\n // copy over templates for autoreplace\n for (const field of validMatchFields.map(\n (f) => `${f}Template` as keyof RegexManagerTemplates,\n )) {\n if (config[field]) {\n res[field] = config[field];\n }\n }\n if (config.autoReplaceStringTemplate) {\n res.autoReplaceStringTemplate = config.autoReplaceStringTemplate;\n }\n return res;\n }\n\n return null;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/custom/regex/index.ts"],"names":[],"mappings":";;;AAqBA,gDAwDC;;AA7ED,kEAAkC;AAElC,+CAA4C;AAO5C,oCAA4C;AAC5C,6CAA6E;AAGhE,QAAA,UAAU,GAAe,CAAC,QAAQ,CAAC,CAAC;AAEpC,QAAA,aAAa,GAAG;IAC3B,UAAU,EAAE,KAAK;CAClB,CAAC;AACW,QAAA,oBAAoB,GAAG,CAAC,GAAG,CAAC,CAAC;AAC7B,QAAA,WAAW,GAAG,OAAO,CAAC;AAEnC,SAAgB,kBAAkB,CAChC,OAAe,EACf,WAAmB,EACnB,MAAqB;IAErB,IAAI,IAAyB,CAAC;IAC9B,QAAQ,MAAM,CAAC,oBAAoB,EAAE,CAAC;QACpC,QAAQ;QACR,KAAK,KAAK;YACR,IAAI,GAAG,IAAA,sBAAS,EAAC,OAAO,EAAE,WAAW,EAAE,MAA4B,CAAC,CAAC;YACrE,MAAM;QACR,KAAK,aAAa;YAChB,IAAI,GAAG,IAAA,8BAAiB,EACtB,OAAO,EACP,WAAW,EACX,MAA4B,CAC7B,CAAC;YACF,MAAM;QACR,KAAK,WAAW;YACd,IAAI,GAAG,IAAA,4BAAe,EACpB,OAAO,EACP,WAAW,EACX,MAA4B,CAC7B,CAAC;YACF,MAAM;IACV,CAAC;IAED,yBAAyB;IACzB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,YAAE,CAAC,MAAM,CAAC,CAAC;IAC9B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,GAAG,GAA+C;YACtD,IAAI;YACJ,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC;QACF,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAChC,GAAG,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC;QACzD,CAAC;QACD,sCAAsC;QACtC,KAAK,MAAM,KAAK,IAAI,wBAAgB,CAAC,GAAG,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAyC,CACrD,EAAE,CAAC;YACF,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClB,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACrC,GAAG,CAAC,yBAAyB,GAAG,MAAM,CAAC,yBAAyB,CAAC;QACnE,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,eAAM,CAAC,KAAK,CACV,EAAE,WAAW,EAAE,EACf,wDAAwD,CACzD,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport type { Category } from '../../../../constants';\nimport { logger } from '../../../../logger';\nimport type {\n ExtractConfig,\n MaybePromise,\n PackageDependency,\n PackageFileContent,\n} from '../../types';\nimport { validMatchFields } from '../utils';\nimport { handleAny, handleCombination, handleRecursive } from './strategies';\nimport type { RegexManagerConfig, RegexManagerTemplates } from './types';\n\nexport const categories: Category[] = ['custom'];\n\nexport const defaultConfig = {\n pinDigests: false,\n};\nexport const supportedDatasources = ['*'];\nexport const displayName = 'Regex';\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n config: ExtractConfig,\n): MaybePromise<PackageFileContent | null> {\n let deps: PackageDependency[];\n switch (config.matchStringsStrategy) {\n default:\n case 'any':\n deps = handleAny(content, packageFile, config as RegexManagerConfig);\n break;\n case 'combination':\n deps = handleCombination(\n content,\n packageFile,\n config as RegexManagerConfig,\n );\n break;\n case 'recursive':\n deps = handleRecursive(\n content,\n packageFile,\n config as RegexManagerConfig,\n );\n break;\n }\n\n // filter all null values\n deps = deps.filter(is.truthy);\n if (deps.length) {\n const res: PackageFileContent & RegexManagerTemplates = {\n deps,\n matchStrings: config.matchStrings,\n };\n if (config.matchStringsStrategy) {\n res.matchStringsStrategy = config.matchStringsStrategy;\n }\n // copy over templates for autoreplace\n for (const field of validMatchFields.map(\n (f) => `${f}Template` as keyof RegexManagerTemplates,\n )) {\n if (config[field]) {\n res[field] = config[field];\n }\n }\n if (config.autoReplaceStringTemplate) {\n res.autoReplaceStringTemplate = config.autoReplaceStringTemplate;\n }\n return res;\n }\n logger.debug(\n { packageFile },\n 'No dependencies found in file for custom regex manager',\n );\n\n return null;\n}\n"]}
@@ -4,6 +4,7 @@ exports.extractPackageFile = extractPackageFile;
4
4
  const tslib_1 = require("tslib");
5
5
  const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
6
6
  const regex_1 = require("../../../util/regex");
7
+ const url_1 = require("../../../util/url");
7
8
  const bitbucket_tags_1 = require("../../datasource/bitbucket-tags");
8
9
  const clojure_1 = require("../../datasource/clojure");
9
10
  const common_1 = require("../../datasource/clojure/common");
@@ -81,7 +82,7 @@ function resolveGitPackageFromEdnVal(dep, val) {
81
82
  }
82
83
  dep.datasource = git_refs_1.GitRefsDatasource.id;
83
84
  dep.packageName = gitUrl;
84
- if (gitUrl.startsWith('https://')) {
85
+ if ((0, url_1.isHttpUrl)(gitUrl)) {
85
86
  dep.sourceUrl = gitUrl.replace(/\.git$/, '');
86
87
  }
87
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/deps-edn/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { regEx } from '../../../util/regex';\nimport { BitbucketTagsDatasource } from '../../datasource/bitbucket-tags';\nimport { ClojureDatasource } from '../../datasource/clojure';\nimport { CLOJARS_REPO } from '../../datasource/clojure/common';\nimport { GitRefsDatasource } from '../../datasource/git-refs';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport { GitlabTagsDatasource } from '../../datasource/gitlab-tags';\nimport { MAVEN_REPO } from '../../datasource/maven/common';\nimport type { PackageDependency, PackageFileContent } from '../types';\nimport { parseDepsEdnFile } from './parser';\nimport type {\n ParsedEdnData,\n ParsedEdnMetadata,\n ParsedEdnRecord,\n} from './types';\n\nconst dependencyRegex = regEx(\n /^(?<groupId>[a-zA-Z][-_a-zA-Z0-9]*(?:\\.[a-zA-Z0-9][-_a-zA-Z0-9]*)*)(?:\\/(?<artifactId>[a-zA-Z][-_a-zA-Z0-9]*(?:\\.[a-zA-Z0-9][-_a-zA-Z0-9]*)*))?$/,\n);\n\nfunction getPackageName(depName: string): string | null {\n const matchGroups = dependencyRegex.exec(depName)?.groups;\n if (matchGroups) {\n const groupId = matchGroups.groupId;\n const artifactId = matchGroups.artifactId\n ? matchGroups.artifactId\n : groupId;\n return `${groupId}:${artifactId}`;\n }\n\n return null;\n}\n\nconst githubDependencyRegex = regEx(\n /^(?:com|io)\\.github\\.(?<packageName>[^/]+\\/[^/]+)$/,\n);\nconst gitlabDependencyRegex = regEx(\n /^(?:com|io)\\.gitlab\\.(?<packageName>[^/]+\\/[^/]+)$/,\n);\nconst bitbucketDependencyRegex = regEx(\n /^(?:org|io)\\.bitbucket\\.(?<packageName>[^/]+\\/[^/]+)$/,\n);\n\nfunction resolveGitPackageFromEdnKey(\n dep: PackageDependency,\n key: string,\n): void {\n if (dep.datasource) {\n return;\n }\n\n const githubDependencyGroups = githubDependencyRegex.exec(key)?.groups;\n if (githubDependencyGroups?.packageName) {\n dep.datasource = GithubTagsDatasource.id;\n dep.packageName = githubDependencyGroups.packageName;\n return;\n }\n\n const gitlabDependencyGroups = gitlabDependencyRegex.exec(key)?.groups;\n if (gitlabDependencyGroups?.packageName) {\n dep.datasource = GitlabTagsDatasource.id;\n dep.packageName = gitlabDependencyGroups.packageName;\n return;\n }\n\n const bitbucketDependencyGroups = bitbucketDependencyRegex.exec(key)?.groups;\n if (bitbucketDependencyGroups?.packageName) {\n dep.datasource = BitbucketTagsDatasource.id;\n dep.packageName = bitbucketDependencyGroups.packageName;\n return;\n }\n}\n\nconst githubUrlRegex = regEx(\n /^(?:https:\\/\\/|git@)github\\.com[/:](?<packageName>[^/]+\\/[^/]+?)(?:\\.git)?$/,\n);\nconst gitlabUrlRegex = regEx(\n /^(?:https:\\/\\/|git@)gitlab\\.com[/:](?<packageName>[^/]+\\/[^/]+?)(?:\\.git)?$/,\n);\nconst bitbucketUrlRegex = regEx(\n /^(?:https:\\/\\/|git@)bitbucket\\.org[/:](?<packageName>[^/]+\\/[^/]+?)(?:\\.git)?$/,\n);\n\nfunction resolveGitPackageFromEdnVal(\n dep: PackageDependency,\n val: ParsedEdnRecord,\n): void {\n const gitUrl = val['git/url'];\n if (!is.string(gitUrl)) {\n return;\n }\n\n const githubMatchGroups = githubUrlRegex.exec(gitUrl)?.groups;\n if (githubMatchGroups) {\n dep.datasource = GithubTagsDatasource.id;\n dep.packageName = githubMatchGroups.packageName;\n dep.sourceUrl = `https://github.com/${dep.packageName}`;\n return;\n }\n\n const gitlabMatchGroups = gitlabUrlRegex.exec(gitUrl)?.groups;\n const bitbucketMatchGroups = bitbucketUrlRegex.exec(gitUrl)?.groups;\n\n if (gitlabMatchGroups) {\n dep.datasource = GitlabTagsDatasource.id;\n dep.packageName = gitlabMatchGroups.packageName;\n dep.sourceUrl = `https://gitlab.com/${dep.packageName}`;\n return;\n }\n\n if (bitbucketMatchGroups) {\n dep.datasource = GitlabTagsDatasource.id;\n dep.packageName = bitbucketMatchGroups.packageName;\n dep.sourceUrl = `https://bitbucket.org/${dep.packageName}`;\n return;\n }\n\n dep.datasource = GitRefsDatasource.id;\n dep.packageName = gitUrl;\n if (gitUrl.startsWith('https://')) {\n dep.sourceUrl = gitUrl.replace(/\\.git$/, '');\n }\n}\n\nfunction extractDependency(\n key: string,\n val: ParsedEdnData,\n metadata: ParsedEdnMetadata,\n mavenRegistries: string[],\n depType?: string,\n): PackageDependency | null {\n if (!is.plainObject(val)) {\n return null;\n }\n\n const packageName = getPackageName(key);\n if (!packageName) {\n return null;\n }\n const depName = key;\n\n const dep: PackageDependency = {\n depName,\n packageName,\n currentValue: null,\n ...metadata.get(val),\n };\n\n if (depType) {\n dep.depType = depType;\n }\n\n const mvnVersion = val['mvn/version'];\n if (is.string(mvnVersion)) {\n dep.datasource = ClojureDatasource.id;\n dep.currentValue = mvnVersion;\n dep.packageName = packageName.replace('/', ':');\n dep.registryUrls = [...mavenRegistries];\n return dep;\n }\n\n resolveGitPackageFromEdnVal(dep, val);\n resolveGitPackageFromEdnKey(dep, key);\n\n if (dep.datasource) {\n const gitTag = val['git/tag'];\n if (is.string(gitTag)) {\n dep.currentValue = gitTag;\n }\n\n const gitSha = val['git/sha'] ?? val.sha;\n if (is.string(gitSha)) {\n dep.currentDigest = gitSha;\n dep.currentDigestShort = gitSha.slice(0, 7);\n }\n\n return dep;\n }\n\n return null;\n}\n\nfunction extractSection(\n section: ParsedEdnData,\n metadata: ParsedEdnMetadata,\n mavenRegistries: string[],\n depType?: string,\n): PackageDependency[] {\n const deps: PackageDependency[] = [];\n if (is.plainObject(section)) {\n for (const [key, val] of Object.entries(section)) {\n const dep = extractDependency(\n key,\n val,\n metadata,\n mavenRegistries,\n depType,\n );\n if (dep) {\n deps.push(dep);\n }\n }\n }\n return deps;\n}\n\nexport function extractPackageFile(content: string): PackageFileContent | null {\n const parsed = parseDepsEdnFile(content);\n if (!parsed) {\n return null;\n }\n const { data, metadata } = parsed;\n\n const deps: PackageDependency[] = [];\n\n // See: https://clojure.org/reference/deps_and_cli#_modifying_the_default_repositories\n const registryMap: Record<string, string> = {\n clojars: CLOJARS_REPO,\n central: MAVEN_REPO,\n };\n const mavenRepos = data['mvn/repos'];\n if (is.plainObject(mavenRepos)) {\n for (const [repoName, repoSpec] of Object.entries(mavenRepos)) {\n if (is.string(repoName)) {\n if (is.plainObject(repoSpec) && is.string(repoSpec.url)) {\n registryMap[repoName] = repoSpec.url;\n } else if (is.string(repoSpec) && repoSpec === 'nil') {\n delete registryMap[repoName];\n }\n }\n }\n }\n const mavenRegistries: string[] = [...Object.values(registryMap)];\n\n deps.push(...extractSection(data.deps, metadata, mavenRegistries));\n\n const aliases = data.aliases;\n if (is.plainObject(aliases)) {\n for (const [depType, aliasSection] of Object.entries(aliases)) {\n if (is.plainObject(aliasSection)) {\n deps.push(\n ...extractSection(\n aliasSection['extra-deps'],\n metadata,\n mavenRegistries,\n depType,\n ),\n );\n deps.push(\n ...extractSection(\n aliasSection['override-deps'],\n metadata,\n mavenRegistries,\n depType,\n ),\n );\n }\n }\n }\n\n return { deps };\n}\n"]}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/deps-edn/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { regEx } from '../../../util/regex';\nimport { isHttpUrl } from '../../../util/url';\nimport { BitbucketTagsDatasource } from '../../datasource/bitbucket-tags';\nimport { ClojureDatasource } from '../../datasource/clojure';\nimport { CLOJARS_REPO } from '../../datasource/clojure/common';\nimport { GitRefsDatasource } from '../../datasource/git-refs';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport { GitlabTagsDatasource } from '../../datasource/gitlab-tags';\nimport { MAVEN_REPO } from '../../datasource/maven/common';\nimport type { PackageDependency, PackageFileContent } from '../types';\nimport { parseDepsEdnFile } from './parser';\nimport type {\n ParsedEdnData,\n ParsedEdnMetadata,\n ParsedEdnRecord,\n} from './types';\n\nconst dependencyRegex = regEx(\n /^(?<groupId>[a-zA-Z][-_a-zA-Z0-9]*(?:\\.[a-zA-Z0-9][-_a-zA-Z0-9]*)*)(?:\\/(?<artifactId>[a-zA-Z][-_a-zA-Z0-9]*(?:\\.[a-zA-Z0-9][-_a-zA-Z0-9]*)*))?$/,\n);\n\nfunction getPackageName(depName: string): string | null {\n const matchGroups = dependencyRegex.exec(depName)?.groups;\n if (matchGroups) {\n const groupId = matchGroups.groupId;\n const artifactId = matchGroups.artifactId\n ? matchGroups.artifactId\n : groupId;\n return `${groupId}:${artifactId}`;\n }\n\n return null;\n}\n\nconst githubDependencyRegex = regEx(\n /^(?:com|io)\\.github\\.(?<packageName>[^/]+\\/[^/]+)$/,\n);\nconst gitlabDependencyRegex = regEx(\n /^(?:com|io)\\.gitlab\\.(?<packageName>[^/]+\\/[^/]+)$/,\n);\nconst bitbucketDependencyRegex = regEx(\n /^(?:org|io)\\.bitbucket\\.(?<packageName>[^/]+\\/[^/]+)$/,\n);\n\nfunction resolveGitPackageFromEdnKey(\n dep: PackageDependency,\n key: string,\n): void {\n if (dep.datasource) {\n return;\n }\n\n const githubDependencyGroups = githubDependencyRegex.exec(key)?.groups;\n if (githubDependencyGroups?.packageName) {\n dep.datasource = GithubTagsDatasource.id;\n dep.packageName = githubDependencyGroups.packageName;\n return;\n }\n\n const gitlabDependencyGroups = gitlabDependencyRegex.exec(key)?.groups;\n if (gitlabDependencyGroups?.packageName) {\n dep.datasource = GitlabTagsDatasource.id;\n dep.packageName = gitlabDependencyGroups.packageName;\n return;\n }\n\n const bitbucketDependencyGroups = bitbucketDependencyRegex.exec(key)?.groups;\n if (bitbucketDependencyGroups?.packageName) {\n dep.datasource = BitbucketTagsDatasource.id;\n dep.packageName = bitbucketDependencyGroups.packageName;\n return;\n }\n}\n\nconst githubUrlRegex = regEx(\n /^(?:https:\\/\\/|git@)github\\.com[/:](?<packageName>[^/]+\\/[^/]+?)(?:\\.git)?$/,\n);\nconst gitlabUrlRegex = regEx(\n /^(?:https:\\/\\/|git@)gitlab\\.com[/:](?<packageName>[^/]+\\/[^/]+?)(?:\\.git)?$/,\n);\nconst bitbucketUrlRegex = regEx(\n /^(?:https:\\/\\/|git@)bitbucket\\.org[/:](?<packageName>[^/]+\\/[^/]+?)(?:\\.git)?$/,\n);\n\nfunction resolveGitPackageFromEdnVal(\n dep: PackageDependency,\n val: ParsedEdnRecord,\n): void {\n const gitUrl = val['git/url'];\n if (!is.string(gitUrl)) {\n return;\n }\n\n const githubMatchGroups = githubUrlRegex.exec(gitUrl)?.groups;\n if (githubMatchGroups) {\n dep.datasource = GithubTagsDatasource.id;\n dep.packageName = githubMatchGroups.packageName;\n dep.sourceUrl = `https://github.com/${dep.packageName}`;\n return;\n }\n\n const gitlabMatchGroups = gitlabUrlRegex.exec(gitUrl)?.groups;\n const bitbucketMatchGroups = bitbucketUrlRegex.exec(gitUrl)?.groups;\n\n if (gitlabMatchGroups) {\n dep.datasource = GitlabTagsDatasource.id;\n dep.packageName = gitlabMatchGroups.packageName;\n dep.sourceUrl = `https://gitlab.com/${dep.packageName}`;\n return;\n }\n\n if (bitbucketMatchGroups) {\n dep.datasource = GitlabTagsDatasource.id;\n dep.packageName = bitbucketMatchGroups.packageName;\n dep.sourceUrl = `https://bitbucket.org/${dep.packageName}`;\n return;\n }\n\n dep.datasource = GitRefsDatasource.id;\n dep.packageName = gitUrl;\n if (isHttpUrl(gitUrl)) {\n dep.sourceUrl = gitUrl.replace(/\\.git$/, '');\n }\n}\n\nfunction extractDependency(\n key: string,\n val: ParsedEdnData,\n metadata: ParsedEdnMetadata,\n mavenRegistries: string[],\n depType?: string,\n): PackageDependency | null {\n if (!is.plainObject(val)) {\n return null;\n }\n\n const packageName = getPackageName(key);\n if (!packageName) {\n return null;\n }\n const depName = key;\n\n const dep: PackageDependency = {\n depName,\n packageName,\n currentValue: null,\n ...metadata.get(val),\n };\n\n if (depType) {\n dep.depType = depType;\n }\n\n const mvnVersion = val['mvn/version'];\n if (is.string(mvnVersion)) {\n dep.datasource = ClojureDatasource.id;\n dep.currentValue = mvnVersion;\n dep.packageName = packageName.replace('/', ':');\n dep.registryUrls = [...mavenRegistries];\n return dep;\n }\n\n resolveGitPackageFromEdnVal(dep, val);\n resolveGitPackageFromEdnKey(dep, key);\n\n if (dep.datasource) {\n const gitTag = val['git/tag'];\n if (is.string(gitTag)) {\n dep.currentValue = gitTag;\n }\n\n const gitSha = val['git/sha'] ?? val.sha;\n if (is.string(gitSha)) {\n dep.currentDigest = gitSha;\n dep.currentDigestShort = gitSha.slice(0, 7);\n }\n\n return dep;\n }\n\n return null;\n}\n\nfunction extractSection(\n section: ParsedEdnData,\n metadata: ParsedEdnMetadata,\n mavenRegistries: string[],\n depType?: string,\n): PackageDependency[] {\n const deps: PackageDependency[] = [];\n if (is.plainObject(section)) {\n for (const [key, val] of Object.entries(section)) {\n const dep = extractDependency(\n key,\n val,\n metadata,\n mavenRegistries,\n depType,\n );\n if (dep) {\n deps.push(dep);\n }\n }\n }\n return deps;\n}\n\nexport function extractPackageFile(content: string): PackageFileContent | null {\n const parsed = parseDepsEdnFile(content);\n if (!parsed) {\n return null;\n }\n const { data, metadata } = parsed;\n\n const deps: PackageDependency[] = [];\n\n // See: https://clojure.org/reference/deps_and_cli#_modifying_the_default_repositories\n const registryMap: Record<string, string> = {\n clojars: CLOJARS_REPO,\n central: MAVEN_REPO,\n };\n const mavenRepos = data['mvn/repos'];\n if (is.plainObject(mavenRepos)) {\n for (const [repoName, repoSpec] of Object.entries(mavenRepos)) {\n if (is.string(repoName)) {\n if (is.plainObject(repoSpec) && is.string(repoSpec.url)) {\n registryMap[repoName] = repoSpec.url;\n } else if (is.string(repoSpec) && repoSpec === 'nil') {\n delete registryMap[repoName];\n }\n }\n }\n }\n const mavenRegistries: string[] = [...Object.values(registryMap)];\n\n deps.push(...extractSection(data.deps, metadata, mavenRegistries));\n\n const aliases = data.aliases;\n if (is.plainObject(aliases)) {\n for (const [depType, aliasSection] of Object.entries(aliases)) {\n if (is.plainObject(aliasSection)) {\n deps.push(\n ...extractSection(\n aliasSection['extra-deps'],\n metadata,\n mavenRegistries,\n depType,\n ),\n );\n deps.push(\n ...extractSection(\n aliasSection['override-deps'],\n metadata,\n mavenRegistries,\n depType,\n ),\n );\n }\n }\n }\n\n return { deps };\n}\n"]}
@@ -1,2 +1,2 @@
1
1
  import type { UpdateArtifact, UpdateArtifactsResult } from '../types';
2
- export declare function updateArtifacts({ config: { constraints, env, isLockFileMaintenance, updateType }, packageFileName, updatedDeps, }: UpdateArtifact): Promise<UpdateArtifactsResult[] | null>;
2
+ export declare function updateArtifacts({ config: { constraints, isLockFileMaintenance, updateType }, packageFileName, updatedDeps, }: UpdateArtifact): Promise<UpdateArtifactsResult[] | null>;
@@ -8,7 +8,7 @@ const shlex_1 = require("shlex");
8
8
  const logger_1 = require("../../../logger");
9
9
  const exec_1 = require("../../../util/exec");
10
10
  const fs_1 = require("../../../util/fs");
11
- async function updateArtifacts({ config: { constraints, env, isLockFileMaintenance, updateType }, packageFileName, updatedDeps, }) {
11
+ async function updateArtifacts({ config: { constraints, isLockFileMaintenance, updateType }, packageFileName, updatedDeps, }) {
12
12
  const lockFileName = (0, fs_1.getSiblingFileName)(packageFileName, 'devbox.lock');
13
13
  const existingLockFileContent = await (0, fs_1.readLocalFile)(lockFileName, 'utf8');
14
14
  if (!existingLockFileContent) {
@@ -27,7 +27,6 @@ async function updateArtifacts({ config: { constraints, env, isLockFileMaintenan
27
27
  },
28
28
  ],
29
29
  docker: {},
30
- userConfiguredEnv: env,
31
30
  };
32
31
  const cmd = [];
33
32
  if (isLockFileMaintenance) {
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/devbox/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport semver from 'semver';\nimport { quote } from 'shlex';\nimport { logger } from '../../../logger';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport { getSiblingFileName, readLocalFile } from '../../../util/fs';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\n\nexport async function updateArtifacts({\n config: { constraints, env, isLockFileMaintenance, updateType },\n packageFileName,\n updatedDeps,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n const lockFileName = getSiblingFileName(packageFileName, 'devbox.lock');\n const existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n logger.debug('No devbox.lock found');\n return null;\n }\n\n const supportsNoInstall = constraints?.devbox\n ? semver.intersects(constraints.devbox, '>=0.14.0')\n : true;\n\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n toolConstraints: [\n {\n toolName: 'devbox',\n constraint: constraints?.devbox,\n },\n ],\n docker: {},\n userConfiguredEnv: env,\n };\n\n const cmd = [];\n if (isLockFileMaintenance) {\n cmd.push(\n supportsNoInstall ? 'devbox update --no-install' : 'devbox update',\n );\n } else if (is.nonEmptyArray(updatedDeps)) {\n if (supportsNoInstall) {\n const updateCommands: string[] = updatedDeps\n .map(\n (dep) =>\n dep.depName && `devbox update ${quote(dep.depName)} --no-install`,\n )\n .filter((dep): dep is string => Boolean(dep));\n if (updateCommands.length) {\n cmd.push(...updateCommands);\n } else {\n logger.trace('No updated devbox packages - returning null');\n return null;\n }\n } else {\n cmd.push('devbox install');\n }\n } else {\n logger.trace('No updated devbox packages - returning null');\n return null;\n }\n\n const oldLockFileContent = await readLocalFile(lockFileName);\n if (!oldLockFileContent) {\n logger.trace(`No ${lockFileName} found`);\n return null;\n }\n\n try {\n await exec(cmd, execOptions);\n const newLockFileContent = await readLocalFile(lockFileName);\n\n if (\n !newLockFileContent ||\n Buffer.compare(oldLockFileContent, newLockFileContent) === 0\n ) {\n return null;\n }\n logger.trace('Returning updated devbox.lock');\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newLockFileContent,\n },\n },\n ];\n } catch (err) {\n logger.warn({ err }, 'Error updating devbox.lock');\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/devbox/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport semver from 'semver';\nimport { quote } from 'shlex';\nimport { logger } from '../../../logger';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport { getSiblingFileName, readLocalFile } from '../../../util/fs';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\n\nexport async function updateArtifacts({\n config: { constraints, isLockFileMaintenance, updateType },\n packageFileName,\n updatedDeps,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n const lockFileName = getSiblingFileName(packageFileName, 'devbox.lock');\n const existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n logger.debug('No devbox.lock found');\n return null;\n }\n\n const supportsNoInstall = constraints?.devbox\n ? semver.intersects(constraints.devbox, '>=0.14.0')\n : true;\n\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n toolConstraints: [\n {\n toolName: 'devbox',\n constraint: constraints?.devbox,\n },\n ],\n docker: {},\n };\n\n const cmd = [];\n if (isLockFileMaintenance) {\n cmd.push(\n supportsNoInstall ? 'devbox update --no-install' : 'devbox update',\n );\n } else if (is.nonEmptyArray(updatedDeps)) {\n if (supportsNoInstall) {\n const updateCommands: string[] = updatedDeps\n .map(\n (dep) =>\n dep.depName && `devbox update ${quote(dep.depName)} --no-install`,\n )\n .filter((dep): dep is string => Boolean(dep));\n if (updateCommands.length) {\n cmd.push(...updateCommands);\n } else {\n logger.trace('No updated devbox packages - returning null');\n return null;\n }\n } else {\n cmd.push('devbox install');\n }\n } else {\n logger.trace('No updated devbox packages - returning null');\n return null;\n }\n\n const oldLockFileContent = await readLocalFile(lockFileName);\n if (!oldLockFileContent) {\n logger.trace(`No ${lockFileName} found`);\n return null;\n }\n\n try {\n await exec(cmd, execOptions);\n const newLockFileContent = await readLocalFile(lockFileName);\n\n if (\n !newLockFileContent ||\n Buffer.compare(oldLockFileContent, newLockFileContent) === 0\n ) {\n return null;\n }\n logger.trace('Returning updated devbox.lock');\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newLockFileContent,\n },\n },\n ];\n } catch (err) {\n logger.warn({ err }, 'Error updating devbox.lock');\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
@@ -41,5 +41,5 @@ exports.DevboxSchema = schema_utils_1.Jsonc.pipe(zod_1.z.object({
41
41
  .pipe((0, schema_utils_1.LooseArray)(DevboxEntry)),
42
42
  }))
43
43
  .transform(({ packages }) => packages)
44
- .catch((0, schema_utils_1.withDebugMessage)([], 'Devbox: error parsing file'));
44
+ .catch((0, schema_utils_1.withDebugMessage)([], 'Devbox: does not match schema'));
45
45
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/devbox/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,4CAAyC;AACzC,6DAKoC;AACpC,oDAA2D;AAC3D,oDAAkE;AAGlE,MAAM,WAAW,GAAG,OAAC;KAClB,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;KACjB,GAAG,CAAC,CAAC,CAAC;KACN,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE;IACrC,MAAM,GAAG,GAAsB;QAC7B,UAAU,EAAE,yBAAgB,CAAC,EAAE;QAC/B,OAAO;KACR,CAAC;IAEF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CACV,EAAE,OAAO,EAAE,EACX,iEAAiE,CAClE,CAAC;QACF,GAAG,CAAC,UAAU,GAAG,eAAe,CAAC;QACjC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;IAEhC,IAAI,CAAC,YAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5C,eAAM,CAAC,KAAK,CACV,EAAE,OAAO,EAAE,EACX,iEAAiE,CAClE,CAAC;QACF,GAAG,CAAC,UAAU,GAAG,iBAAiB,CAAC;QACnC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC,CAAC;AAEQ,QAAA,YAAY,GAAG,oBAAK,CAAC,IAAI,CACpC,OAAC,CAAC,MAAM,CAAC;IACP,QAAQ,EAAE,OAAC;SACR,KAAK,CAAC;QACL,IAAA,yBAAU,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACzD,IAAA,0BAAW,EACT,OAAC,CAAC,KAAK,CAAC;YACN,OAAC,CAAC,MAAM,EAAE;YACV,OAAC;iBACE,MAAM,CAAC,EAAE,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC;iBAC/B,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC;SACvC,CAAC,CACH,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KAC1C,CAAC;SACD,IAAI,CAAC,IAAA,yBAAU,EAAC,WAAW,CAAC,CAAC;CACjC,CAAC,CACH;KACE,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC;KACrC,KAAK,CAAC,IAAA,+BAAgB,EAAC,EAAE,EAAE,4BAA4B,CAAC,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { logger } from '../../../logger';\nimport {\n Jsonc,\n LooseArray,\n LooseRecord,\n withDebugMessage,\n} from '../../../util/schema-utils';\nimport { DevboxDatasource } from '../../datasource/devbox';\nimport { api as devboxVersioning } from '../../versioning/devbox';\nimport type { PackageDependency } from '../types';\n\nconst DevboxEntry = z\n .array(z.string())\n .min(1)\n .transform(([depName, currentValue]) => {\n const dep: PackageDependency = {\n datasource: DevboxDatasource.id,\n depName,\n };\n\n if (!currentValue) {\n logger.trace(\n { depName },\n 'Devbox: skipping invalid devbox dependency in devbox JSON file.',\n );\n dep.skipReason = 'not-a-version';\n return dep;\n }\n\n dep.currentValue = currentValue;\n\n if (!devboxVersioning.isValid(currentValue)) {\n logger.debug(\n { depName },\n 'Devbox: skipping invalid devbox dependency in devbox JSON file.',\n );\n dep.skipReason = 'invalid-version';\n return dep;\n }\n\n return dep;\n });\n\nexport const DevboxSchema = Jsonc.pipe(\n z.object({\n packages: z\n .union([\n LooseArray(z.string().transform((pkg) => pkg.split('@'))),\n LooseRecord(\n z.union([\n z.string(),\n z\n .object({ version: z.string() })\n .transform(({ version }) => version),\n ]),\n ).transform((obj) => Object.entries(obj)),\n ])\n .pipe(LooseArray(DevboxEntry)),\n }),\n)\n .transform(({ packages }) => packages)\n .catch(withDebugMessage([], 'Devbox: error parsing file'));\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/devbox/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,4CAAyC;AACzC,6DAKoC;AACpC,oDAA2D;AAC3D,oDAAkE;AAGlE,MAAM,WAAW,GAAG,OAAC;KAClB,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;KACjB,GAAG,CAAC,CAAC,CAAC;KACN,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE;IACrC,MAAM,GAAG,GAAsB;QAC7B,UAAU,EAAE,yBAAgB,CAAC,EAAE;QAC/B,OAAO;KACR,CAAC;IAEF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,eAAM,CAAC,KAAK,CACV,EAAE,OAAO,EAAE,EACX,iEAAiE,CAClE,CAAC;QACF,GAAG,CAAC,UAAU,GAAG,eAAe,CAAC;QACjC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;IAEhC,IAAI,CAAC,YAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5C,eAAM,CAAC,KAAK,CACV,EAAE,OAAO,EAAE,EACX,iEAAiE,CAClE,CAAC;QACF,GAAG,CAAC,UAAU,GAAG,iBAAiB,CAAC;QACnC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC,CAAC;AAEQ,QAAA,YAAY,GAAG,oBAAK,CAAC,IAAI,CACpC,OAAC,CAAC,MAAM,CAAC;IACP,QAAQ,EAAE,OAAC;SACR,KAAK,CAAC;QACL,IAAA,yBAAU,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACzD,IAAA,0BAAW,EACT,OAAC,CAAC,KAAK,CAAC;YACN,OAAC,CAAC,MAAM,EAAE;YACV,OAAC;iBACE,MAAM,CAAC,EAAE,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC;iBAC/B,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC;SACvC,CAAC,CACH,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KAC1C,CAAC;SACD,IAAI,CAAC,IAAA,yBAAU,EAAC,WAAW,CAAC,CAAC;CACjC,CAAC,CACH;KACE,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC;KACrC,KAAK,CAAC,IAAA,+BAAgB,EAAC,EAAE,EAAE,+BAA+B,CAAC,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport { logger } from '../../../logger';\nimport {\n Jsonc,\n LooseArray,\n LooseRecord,\n withDebugMessage,\n} from '../../../util/schema-utils';\nimport { DevboxDatasource } from '../../datasource/devbox';\nimport { api as devboxVersioning } from '../../versioning/devbox';\nimport type { PackageDependency } from '../types';\n\nconst DevboxEntry = z\n .array(z.string())\n .min(1)\n .transform(([depName, currentValue]) => {\n const dep: PackageDependency = {\n datasource: DevboxDatasource.id,\n depName,\n };\n\n if (!currentValue) {\n logger.trace(\n { depName },\n 'Devbox: skipping invalid devbox dependency in devbox JSON file.',\n );\n dep.skipReason = 'not-a-version';\n return dep;\n }\n\n dep.currentValue = currentValue;\n\n if (!devboxVersioning.isValid(currentValue)) {\n logger.debug(\n { depName },\n 'Devbox: skipping invalid devbox dependency in devbox JSON file.',\n );\n dep.skipReason = 'invalid-version';\n return dep;\n }\n\n return dep;\n });\n\nexport const DevboxSchema = Jsonc.pipe(\n z.object({\n packages: z\n .union([\n LooseArray(z.string().transform((pkg) => pkg.split('@'))),\n LooseRecord(\n z.union([\n z.string(),\n z\n .object({ version: z.string() })\n .transform(({ version }) => version),\n ]),\n ).transform((obj) => Object.entries(obj)),\n ])\n .pipe(LooseArray(DevboxEntry)),\n }),\n)\n .transform(({ packages }) => packages)\n .catch(withDebugMessage([], 'Devbox: does not match schema'));\n"]}
@@ -2,6 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.extractPackageFile = extractPackageFile;
4
4
  const logger_1 = require("../../../logger");
5
+ const golang_version_1 = require("../../datasource/golang-version");
6
+ const node_version_1 = require("../../datasource/node-version");
7
+ const python_version_1 = require("../../datasource/python-version");
8
+ const ruby_version_1 = require("../../datasource/ruby-version");
5
9
  const utils_1 = require("../custom/utils");
6
10
  const extract_1 = require("../dockerfile/extract");
7
11
  const schema_1 = require("./schema");
@@ -20,12 +24,50 @@ function extractPackageFile(content, packageFile, extractConfig) {
20
24
  }
21
25
  const features = file.features;
22
26
  if (features) {
23
- for (const feature of Object.keys(features)) {
27
+ for (const [feature, value] of Object.entries(features)) {
24
28
  const featureDep = getDep(feature, packageFile, extractConfig.registryAliases);
25
29
  if (featureDep) {
26
30
  featureDep.depType = 'feature';
27
31
  featureDep.pinDigests = false;
28
32
  deps.push(featureDep);
33
+ let dep;
34
+ switch (featureDep.depName) {
35
+ case 'ghcr.io/devcontainers/features/node':
36
+ dep = {
37
+ depName: 'node',
38
+ datasource: node_version_1.NodeVersionDatasource.id,
39
+ currentValue: value.version,
40
+ };
41
+ break;
42
+ case 'ghcr.io/devcontainers/features/go':
43
+ dep = {
44
+ depName: 'go',
45
+ datasource: golang_version_1.GolangVersionDatasource.id,
46
+ currentValue: value.version,
47
+ };
48
+ break;
49
+ case 'ghcr.io/devcontainers/features/python':
50
+ dep = {
51
+ depName: 'python',
52
+ datasource: python_version_1.PythonVersionDatasource.id,
53
+ currentValue: value.version,
54
+ };
55
+ break;
56
+ case 'ghcr.io/devcontainers/features/ruby':
57
+ dep = {
58
+ depName: 'ruby',
59
+ datasource: ruby_version_1.RubyVersionDatasource.id,
60
+ currentValue: value.version,
61
+ };
62
+ break;
63
+ default:
64
+ // skip additional checks if not a known feature
65
+ continue;
66
+ }
67
+ if (!value.version) {
68
+ dep.skipReason = 'unspecified-version';
69
+ }
70
+ deps.push(dep);
29
71
  continue;
30
72
  }
31
73
  logger_1.logger.trace({ feature, packageFile }, 'Skipping invalid dependency in dev container JSON file.');
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/devcontainer/extract.ts"],"names":[],"mappings":";;AAUA,gDA4DC;AAtED,4CAAyC;AACzC,2CAAoD;AACpD,mDAA+D;AAM/D,qCAA4C;AAE5C,SAAgB,kBAAkB,CAChC,OAAe,EACf,WAAmB,EACnB,aAA4B;IAE5B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,yBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAwB,EAAE,CAAC;QAErC,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;QAE3E,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,eAAM,CAAC,KAAK,CACV,EAAE,WAAW,EAAE,EACf,8CAA8C,CAC/C,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE/B,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5C,MAAM,UAAU,GAAG,MAAM,CACvB,OAAO,EACP,WAAW,EACX,aAAa,CAAC,eAAe,CAC9B,CAAC;gBACF,IAAI,UAAU,EAAE,CAAC;oBACf,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;oBAC/B,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC;oBAC9B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACtB,SAAS;gBACX,CAAC;gBACD,eAAM,CAAC,KAAK,CACV,EAAE,OAAO,EAAE,WAAW,EAAE,EACxB,yDAAyD,CAC1D,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,eAAM,CAAC,KAAK,CACV,EAAE,WAAW,EAAE,EACf,yDAAyD,CAC1D,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAM,CAAC,KAAK,CACV,EAAE,GAAG,EAAE,WAAW,EAAE,EACpB,2CAA2C,CAC5C,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CACb,OAAsB,EACtB,WAAmB,EACnB,eAAwC;IAExC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAG,IAAA,gBAAY,EAAC,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;IACzD,IAAI,CAAC,IAAA,yBAAiB,EAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,eAAM,CAAC,KAAK,CACV,EAAE,OAAO,EAAE,WAAW,EAAE,EACxB,gEAAgE,CACjE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC","sourcesContent":["import { logger } from '../../../logger';\nimport { isValidDependency } from '../custom/utils';\nimport { getDep as getDockerDep } from '../dockerfile/extract';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types';\nimport { DevContainerFile } from './schema';\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n extractConfig: ExtractConfig,\n): PackageFileContent | null {\n try {\n const file = DevContainerFile.parse(content);\n const deps: PackageDependency[] = [];\n\n const image = file?.image ?? null;\n const imageDep = getDep(image, packageFile, extractConfig.registryAliases);\n\n if (imageDep) {\n imageDep.depType = 'image';\n deps.push(imageDep);\n } else {\n logger.trace(\n { packageFile },\n 'No image defined in dev container JSON file.',\n );\n }\n\n const features = file.features;\n\n if (features) {\n for (const feature of Object.keys(features)) {\n const featureDep = getDep(\n feature,\n packageFile,\n extractConfig.registryAliases,\n );\n if (featureDep) {\n featureDep.depType = 'feature';\n featureDep.pinDigests = false;\n deps.push(featureDep);\n continue;\n }\n logger.trace(\n { feature, packageFile },\n 'Skipping invalid dependency in dev container JSON file.',\n );\n }\n }\n\n if (deps.length < 1) {\n logger.trace(\n { packageFile },\n 'No dependencies to process for dev container JSON file.',\n );\n return null;\n }\n\n return { deps };\n } catch (err) {\n logger.debug(\n { err, packageFile },\n 'Error extracting dev container JSON file.',\n );\n return null;\n }\n}\n\nfunction getDep(\n subject: string | null,\n packageFile: string,\n registryAliases?: Record<string, string>,\n): PackageDependency | null {\n if (!subject) {\n return null;\n }\n const dep = getDockerDep(subject, true, registryAliases);\n if (!isValidDependency(dep)) {\n logger.trace(\n { subject, packageFile },\n 'Skipping invalid docker dependency in dev container JSON file.',\n );\n return null;\n }\n return dep;\n}\n"]}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/devcontainer/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import { logger } from '../../../logger';\nimport { GolangVersionDatasource } from '../../datasource/golang-version';\nimport { NodeVersionDatasource } from '../../datasource/node-version';\nimport { PythonVersionDatasource } from '../../datasource/python-version';\nimport { RubyVersionDatasource } from '../../datasource/ruby-version';\nimport { isValidDependency } from '../custom/utils';\nimport { getDep as getDockerDep } from '../dockerfile/extract';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types';\nimport { DevContainerFile } from './schema';\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n extractConfig: ExtractConfig,\n): PackageFileContent | null {\n try {\n const file = DevContainerFile.parse(content);\n const deps: PackageDependency[] = [];\n\n const image = file?.image ?? null;\n const imageDep = getDep(image, packageFile, extractConfig.registryAliases);\n\n if (imageDep) {\n imageDep.depType = 'image';\n deps.push(imageDep);\n } else {\n logger.trace(\n { packageFile },\n 'No image defined in dev container JSON file.',\n );\n }\n\n const features = file.features;\n\n if (features) {\n for (const [feature, value] of Object.entries(features)) {\n const featureDep = getDep(\n feature,\n packageFile,\n extractConfig.registryAliases,\n );\n if (featureDep) {\n featureDep.depType = 'feature';\n featureDep.pinDigests = false;\n deps.push(featureDep);\n\n let dep: PackageDependency;\n switch (featureDep.depName) {\n case 'ghcr.io/devcontainers/features/node':\n dep = {\n depName: 'node',\n datasource: NodeVersionDatasource.id,\n currentValue: value.version,\n };\n break;\n case 'ghcr.io/devcontainers/features/go':\n dep = {\n depName: 'go',\n datasource: GolangVersionDatasource.id,\n currentValue: value.version,\n };\n break;\n case 'ghcr.io/devcontainers/features/python':\n dep = {\n depName: 'python',\n datasource: PythonVersionDatasource.id,\n currentValue: value.version,\n };\n break;\n case 'ghcr.io/devcontainers/features/ruby':\n dep = {\n depName: 'ruby',\n datasource: RubyVersionDatasource.id,\n currentValue: value.version,\n };\n break;\n default:\n // skip additional checks if not a known feature\n continue;\n }\n if (!value.version) {\n dep.skipReason = 'unspecified-version';\n }\n deps.push(dep);\n continue;\n }\n logger.trace(\n { feature, packageFile },\n 'Skipping invalid dependency in dev container JSON file.',\n );\n }\n }\n\n if (deps.length < 1) {\n logger.trace(\n { packageFile },\n 'No dependencies to process for dev container JSON file.',\n );\n return null;\n }\n\n return { deps };\n } catch (err) {\n logger.debug(\n { err, packageFile },\n 'Error extracting dev container JSON file.',\n );\n return null;\n }\n}\n\nfunction getDep(\n subject: string | null,\n packageFile: string,\n registryAliases?: Record<string, string>,\n): PackageDependency | null {\n if (!subject) {\n return null;\n }\n const dep = getDockerDep(subject, true, registryAliases);\n if (!isValidDependency(dep)) {\n logger.trace(\n { subject, packageFile },\n 'Skipping invalid docker dependency in dev container JSON file.',\n );\n return null;\n }\n return dep;\n}\n"]}
@@ -2,6 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.supportedDatasources = exports.defaultConfig = exports.categories = exports.url = exports.name = exports.extractPackageFile = void 0;
4
4
  const docker_1 = require("../../datasource/docker");
5
+ const golang_version_1 = require("../../datasource/golang-version");
6
+ const node_version_1 = require("../../datasource/node-version");
7
+ const python_version_1 = require("../../datasource/python-version");
8
+ const ruby_version_1 = require("../../datasource/ruby-version");
5
9
  var extract_1 = require("./extract");
6
10
  Object.defineProperty(exports, "extractPackageFile", { enumerable: true, get: function () { return extract_1.extractPackageFile; } });
7
11
  exports.name = 'Dev Container';
@@ -10,5 +14,11 @@ exports.categories = ['docker'];
10
14
  exports.defaultConfig = {
11
15
  fileMatch: ['^.devcontainer/devcontainer.json$', '^.devcontainer.json$'],
12
16
  };
13
- exports.supportedDatasources = [docker_1.DockerDatasource.id];
17
+ exports.supportedDatasources = [
18
+ docker_1.DockerDatasource.id,
19
+ golang_version_1.GolangVersionDatasource.id,
20
+ node_version_1.NodeVersionDatasource.id,
21
+ python_version_1.PythonVersionDatasource.id,
22
+ ruby_version_1.RubyVersionDatasource.id,
23
+ ];
14
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/manager/devcontainer/index.ts"],"names":[],"mappings":";;;AACA,oDAA2D;AAC3D,qCAA+C;AAAtC,6GAAA,kBAAkB,OAAA;AAEd,QAAA,IAAI,GAAG,eAAe,CAAC;AACvB,QAAA,GAAG,GACd,6DAA6D,CAAC;AACnD,QAAA,UAAU,GAAe,CAAC,QAAQ,CAAC,CAAC;AAEpC,QAAA,aAAa,GAAG;IAC3B,SAAS,EAAE,CAAC,mCAAmC,EAAE,sBAAsB,CAAC;CACzE,CAAC;AAEW,QAAA,oBAAoB,GAAG,CAAC,yBAAgB,CAAC,EAAE,CAAC,CAAC","sourcesContent":["import type { Category } from '../../../constants';\nimport { DockerDatasource } from '../../datasource/docker';\nexport { extractPackageFile } from './extract';\n\nexport const name = 'Dev Container';\nexport const url =\n 'https://code.visualstudio.com/docs/devcontainers/containers';\nexport const categories: Category[] = ['docker'];\n\nexport const defaultConfig = {\n fileMatch: ['^.devcontainer/devcontainer.json$', '^.devcontainer.json$'],\n};\n\nexport const supportedDatasources = [DockerDatasource.id];\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/manager/devcontainer/index.ts"],"names":[],"mappings":";;;AACA,oDAA2D;AAC3D,oEAA0E;AAC1E,gEAAsE;AACtE,oEAA0E;AAC1E,gEAAsE;AACtE,qCAA+C;AAAtC,6GAAA,kBAAkB,OAAA;AAEd,QAAA,IAAI,GAAG,eAAe,CAAC;AACvB,QAAA,GAAG,GACd,6DAA6D,CAAC;AACnD,QAAA,UAAU,GAAe,CAAC,QAAQ,CAAC,CAAC;AAEpC,QAAA,aAAa,GAAG;IAC3B,SAAS,EAAE,CAAC,mCAAmC,EAAE,sBAAsB,CAAC;CACzE,CAAC;AAEW,QAAA,oBAAoB,GAAG;IAClC,yBAAgB,CAAC,EAAE;IACnB,wCAAuB,CAAC,EAAE;IAC1B,oCAAqB,CAAC,EAAE;IACxB,wCAAuB,CAAC,EAAE;IAC1B,oCAAqB,CAAC,EAAE;CACzB,CAAC","sourcesContent":["import type { Category } from '../../../constants';\nimport { DockerDatasource } from '../../datasource/docker';\nimport { GolangVersionDatasource } from '../../datasource/golang-version';\nimport { NodeVersionDatasource } from '../../datasource/node-version';\nimport { PythonVersionDatasource } from '../../datasource/python-version';\nimport { RubyVersionDatasource } from '../../datasource/ruby-version';\nexport { extractPackageFile } from './extract';\n\nexport const name = 'Dev Container';\nexport const url =\n 'https://code.visualstudio.com/docs/devcontainers/containers';\nexport const categories: Category[] = ['docker'];\n\nexport const defaultConfig = {\n fileMatch: ['^.devcontainer/devcontainer.json$', '^.devcontainer.json$'],\n};\n\nexport const supportedDatasources = [\n DockerDatasource.id,\n GolangVersionDatasource.id,\n NodeVersionDatasource.id,\n PythonVersionDatasource.id,\n RubyVersionDatasource.id,\n];\n"]}
@@ -1,12 +1,16 @@
1
1
  import { z } from 'zod';
2
2
  export declare const DevContainerFile: 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.ZodObject<{
3
3
  image: z.ZodOptional<z.ZodString>;
4
- features: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
4
+ features: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
5
+ version?: string | undefined;
6
+ }>, Record<string, any>>>;
5
7
  }, "strip", z.ZodTypeAny, {
6
8
  image?: string | undefined;
7
- features?: Record<string, unknown> | undefined;
9
+ features?: Record<string, {
10
+ version?: string | undefined;
11
+ }> | undefined;
8
12
  }, {
9
13
  image?: string | undefined;
10
- features?: Record<string, unknown> | undefined;
14
+ features?: Record<string, any> | undefined;
11
15
  }>>;
12
16
  export type DevContainerFile = z.infer<typeof DevContainerFile>;
@@ -5,6 +5,8 @@ const zod_1 = require("zod");
5
5
  const schema_utils_1 = require("../../../util/schema-utils");
6
6
  exports.DevContainerFile = schema_utils_1.Jsonc.pipe(zod_1.z.object({
7
7
  image: zod_1.z.string().optional(),
8
- features: zod_1.z.record(zod_1.z.unknown()).optional(),
8
+ features: (0, schema_utils_1.LooseRecord)(zod_1.z.object({
9
+ version: zod_1.z.string().optional(),
10
+ })).optional(),
9
11
  }));
10
12
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/devcontainer/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,6DAAmD;AAEtC,QAAA,gBAAgB,GAAG,oBAAK,CAAC,IAAI,CACxC,OAAC,CAAC,MAAM,CAAC;IACP,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC3C,CAAC,CACH,CAAC","sourcesContent":["import { z } from 'zod';\nimport { Jsonc } from '../../../util/schema-utils';\n\nexport const DevContainerFile = Jsonc.pipe(\n z.object({\n image: z.string().optional(),\n features: z.record(z.unknown()).optional(),\n }),\n);\n\nexport type DevContainerFile = z.infer<typeof DevContainerFile>;\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/manager/devcontainer/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,6DAAgE;AAEnD,QAAA,gBAAgB,GAAG,oBAAK,CAAC,IAAI,CACxC,OAAC,CAAC,MAAM,CAAC;IACP,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,QAAQ,EAAE,IAAA,0BAAW,EACnB,OAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC,CACH,CAAC,QAAQ,EAAE;CACb,CAAC,CACH,CAAC","sourcesContent":["import { z } from 'zod';\nimport { Jsonc, LooseRecord } from '../../../util/schema-utils';\n\nexport const DevContainerFile = Jsonc.pipe(\n z.object({\n image: z.string().optional(),\n features: LooseRecord(\n z.object({\n version: z.string().optional(),\n }),\n ).optional(),\n }),\n);\n\nexport type DevContainerFile = z.infer<typeof DevContainerFile>;\n"]}
@@ -14,34 +14,34 @@ export declare const DockerComposeFile: z.ZodUnion<[z.ZodObject<{
14
14
  dockerfile?: string | undefined;
15
15
  }>]>>;
16
16
  }, "strip", z.ZodTypeAny, {
17
- image?: string | undefined;
18
17
  build?: string | {
19
18
  context?: string | undefined;
20
19
  dockerfile?: string | undefined;
21
20
  } | undefined;
22
- }, {
23
21
  image?: string | undefined;
22
+ }, {
24
23
  build?: string | {
25
24
  context?: string | undefined;
26
25
  dockerfile?: string | undefined;
27
26
  } | undefined;
27
+ image?: string | undefined;
28
28
  }>>;
29
29
  }, "strip", z.ZodTypeAny, {
30
30
  services: Record<string, {
31
- image?: string | undefined;
32
31
  build?: string | {
33
32
  context?: string | undefined;
34
33
  dockerfile?: string | undefined;
35
34
  } | undefined;
35
+ image?: string | undefined;
36
36
  }>;
37
37
  version?: string | undefined;
38
38
  }, {
39
39
  services: Record<string, {
40
- image?: string | undefined;
41
40
  build?: string | {
42
41
  context?: string | undefined;
43
42
  dockerfile?: string | undefined;
44
43
  } | undefined;
44
+ image?: string | undefined;
45
45
  }>;
46
46
  version?: string | undefined;
47
47
  }>, z.ZodRecord<z.ZodString, z.ZodObject<{
@@ -57,16 +57,16 @@ export declare const DockerComposeFile: z.ZodUnion<[z.ZodObject<{
57
57
  dockerfile?: string | undefined;
58
58
  }>]>>;
59
59
  }, "strip", z.ZodTypeAny, {
60
- image?: string | undefined;
61
60
  build?: string | {
62
61
  context?: string | undefined;
63
62
  dockerfile?: string | undefined;
64
63
  } | undefined;
65
- }, {
66
64
  image?: string | undefined;
65
+ }, {
67
66
  build?: string | {
68
67
  context?: string | undefined;
69
68
  dockerfile?: string | undefined;
70
69
  } | undefined;
70
+ image?: string | undefined;
71
71
  }>>]>;
72
72
  export type DockerComposeFile = z.infer<typeof DockerComposeFile>;