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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (810) hide show
  1. package/dist/config/decrypt/legacy.js +0 -1
  2. package/dist/config/decrypt/legacy.js.map +1 -1
  3. package/dist/config/decrypt.d.ts +3 -1
  4. package/dist/config/decrypt.js +56 -13
  5. package/dist/config/decrypt.js.map +1 -1
  6. package/dist/config/migrate-validate.js +3 -2
  7. package/dist/config/migrate-validate.js.map +1 -1
  8. package/dist/config/migration.js +2 -1
  9. package/dist/config/migration.js.map +1 -1
  10. package/dist/config/migrations/custom/rebase-stale-prs-migration.js +1 -1
  11. package/dist/config/migrations/custom/rebase-stale-prs-migration.js.map +1 -1
  12. package/dist/config/options/index.js +17 -3
  13. package/dist/config/options/index.js.map +1 -1
  14. package/dist/config/parse.js +2 -2
  15. package/dist/config/parse.js.map +1 -1
  16. package/dist/config/presets/common.js +1 -0
  17. package/dist/config/presets/common.js.map +1 -1
  18. package/dist/config/presets/gitea/index.js +0 -1
  19. package/dist/config/presets/gitea/index.js.map +1 -1
  20. package/dist/config/presets/github/index.js +0 -1
  21. package/dist/config/presets/github/index.js.map +1 -1
  22. package/dist/config/presets/gitlab/index.js +1 -1
  23. package/dist/config/presets/gitlab/index.js.map +1 -1
  24. package/dist/config/presets/http/index.js +1 -2
  25. package/dist/config/presets/http/index.js.map +1 -1
  26. package/dist/config/presets/index.js +0 -7
  27. package/dist/config/presets/index.js.map +1 -1
  28. package/dist/config/presets/internal/custom-managers.js +18 -4
  29. package/dist/config/presets/internal/custom-managers.js.map +1 -1
  30. package/dist/config/presets/internal/group.js +30 -1
  31. package/dist/config/presets/internal/group.js.map +1 -1
  32. package/dist/config/presets/internal/index.js +1 -3
  33. package/dist/config/presets/internal/index.js.map +1 -1
  34. package/dist/config/presets/internal/workarounds.js +1 -0
  35. package/dist/config/presets/internal/workarounds.js.map +1 -1
  36. package/dist/config/presets/parse.js +2 -1
  37. package/dist/config/presets/parse.js.map +1 -1
  38. package/dist/config/schema.d.ts +2 -2
  39. package/dist/config/types.d.ts +4 -1
  40. package/dist/config/types.js.map +1 -1
  41. package/dist/config/validation.js +3 -5
  42. package/dist/config/validation.js.map +1 -1
  43. package/dist/config-validator.js +0 -1
  44. package/dist/config-validator.js.map +1 -1
  45. package/dist/constants/category.js +0 -1
  46. package/dist/constants/category.js.map +1 -1
  47. package/dist/constants/platforms.js +5 -1
  48. package/dist/constants/platforms.js.map +1 -1
  49. package/dist/data/monorepo.json +8 -2
  50. package/dist/data/source-urls.json +1 -0
  51. package/dist/data-files.generated.js +2 -2
  52. package/dist/data-files.generated.js.map +1 -1
  53. package/dist/instrumentation/index.js +39 -15
  54. package/dist/instrumentation/index.js.map +1 -1
  55. package/dist/instrumentation/utils.js +1 -1
  56. package/dist/instrumentation/utils.js.map +1 -1
  57. package/dist/logger/cmd-serializer.js +0 -1
  58. package/dist/logger/cmd-serializer.js.map +1 -1
  59. package/dist/logger/config-serializer.js +0 -1
  60. package/dist/logger/config-serializer.js.map +1 -1
  61. package/dist/logger/index.js +1 -4
  62. package/dist/logger/index.js.map +1 -1
  63. package/dist/logger/once.js +4 -2
  64. package/dist/logger/once.js.map +1 -1
  65. package/dist/logger/pretty-stdout.js +0 -1
  66. package/dist/logger/pretty-stdout.js.map +1 -1
  67. package/dist/logger/renovate-logger.js +1 -1
  68. package/dist/logger/renovate-logger.js.map +1 -1
  69. package/dist/logger/utils.js +6 -11
  70. package/dist/logger/utils.js.map +1 -1
  71. package/dist/modules/datasource/api.js +4 -0
  72. package/dist/modules/datasource/api.js.map +1 -1
  73. package/dist/modules/datasource/artifactory/index.js +1 -2
  74. package/dist/modules/datasource/artifactory/index.js.map +1 -1
  75. package/dist/modules/datasource/aws-eks-addon/index.d.ts +11 -0
  76. package/dist/modules/datasource/aws-eks-addon/index.js +75 -0
  77. package/dist/modules/datasource/aws-eks-addon/index.js.map +1 -0
  78. package/dist/modules/datasource/aws-eks-addon/schema.d.ts +40 -0
  79. package/dist/modules/datasource/aws-eks-addon/schema.js +31 -0
  80. package/dist/modules/datasource/aws-eks-addon/schema.js.map +1 -0
  81. package/dist/modules/datasource/aws-machine-image/index.js +6 -5
  82. package/dist/modules/datasource/aws-machine-image/index.js.map +1 -1
  83. package/dist/modules/datasource/azure-pipelines-tasks/index.js +15 -1
  84. package/dist/modules/datasource/azure-pipelines-tasks/index.js.map +1 -1
  85. package/dist/modules/datasource/azure-pipelines-tasks/schema.d.ts +24 -0
  86. package/dist/modules/datasource/azure-pipelines-tasks/schema.js +3 -0
  87. package/dist/modules/datasource/azure-pipelines-tasks/schema.js.map +1 -1
  88. package/dist/modules/datasource/bazel/index.js +18 -2
  89. package/dist/modules/datasource/bazel/index.js.map +1 -1
  90. package/dist/modules/datasource/bazel/schema.d.ts +1 -0
  91. package/dist/modules/datasource/bazel/schema.js.map +1 -1
  92. package/dist/modules/datasource/bitbucket-server-tags/index.d.ts +19 -0
  93. package/dist/modules/datasource/bitbucket-server-tags/index.js +133 -0
  94. package/dist/modules/datasource/bitbucket-server-tags/index.js.map +1 -0
  95. package/dist/modules/datasource/bitbucket-server-tags/schema.d.ts +28 -0
  96. package/dist/modules/datasource/bitbucket-server-tags/schema.js +13 -0
  97. package/dist/modules/datasource/bitbucket-server-tags/schema.js.map +1 -0
  98. package/dist/modules/datasource/bitrise/index.js +1 -1
  99. package/dist/modules/datasource/bitrise/index.js.map +1 -1
  100. package/dist/modules/datasource/cdnjs/schema.d.ts +2 -2
  101. package/dist/modules/datasource/conda/index.js +18 -1
  102. package/dist/modules/datasource/conda/index.js.map +1 -1
  103. package/dist/modules/datasource/conda/prefix-dev.d.ts +3 -0
  104. package/dist/modules/datasource/conda/prefix-dev.js +81 -0
  105. package/dist/modules/datasource/conda/prefix-dev.js.map +1 -0
  106. package/dist/modules/datasource/conda/schema/prefix-dev.d.ts +189 -0
  107. package/dist/modules/datasource/conda/schema/prefix-dev.js +31 -0
  108. package/dist/modules/datasource/conda/schema/prefix-dev.js.map +1 -0
  109. package/dist/modules/datasource/conda/types.d.ts +1 -20
  110. package/dist/modules/datasource/conda/types.js.map +1 -1
  111. package/dist/modules/datasource/cpan/index.js +2 -4
  112. package/dist/modules/datasource/cpan/index.js.map +1 -1
  113. package/dist/modules/datasource/crate/index.js +3 -3
  114. package/dist/modules/datasource/crate/index.js.map +1 -1
  115. package/dist/modules/datasource/custom/formats/html.js +1 -1
  116. package/dist/modules/datasource/custom/formats/html.js.map +1 -1
  117. package/dist/modules/datasource/custom/formats/yaml.js +1 -1
  118. package/dist/modules/datasource/custom/formats/yaml.js.map +1 -1
  119. package/dist/modules/datasource/custom/index.js +4 -2
  120. package/dist/modules/datasource/custom/index.js.map +1 -1
  121. package/dist/modules/datasource/custom/schema.d.ts +22 -22
  122. package/dist/modules/datasource/custom/utils.js +1 -0
  123. package/dist/modules/datasource/custom/utils.js.map +1 -1
  124. package/dist/modules/datasource/dart/index.js +1 -1
  125. package/dist/modules/datasource/dart/index.js.map +1 -1
  126. package/dist/modules/datasource/dart-version/index.js +1 -1
  127. package/dist/modules/datasource/dart-version/index.js.map +1 -1
  128. package/dist/modules/datasource/datasource.js +0 -1
  129. package/dist/modules/datasource/datasource.js.map +1 -1
  130. package/dist/modules/datasource/deb/index.d.ts +4 -5
  131. package/dist/modules/datasource/deb/index.js +10 -11
  132. package/dist/modules/datasource/deb/index.js.map +1 -1
  133. package/dist/modules/datasource/deb/url.d.ts +3 -3
  134. package/dist/modules/datasource/deb/url.js +17 -13
  135. package/dist/modules/datasource/deb/url.js.map +1 -1
  136. package/dist/modules/datasource/deno/index.js +1 -1
  137. package/dist/modules/datasource/deno/index.js.map +1 -1
  138. package/dist/modules/datasource/deno/schema.d.ts +1 -1
  139. package/dist/modules/datasource/devbox/index.js +0 -1
  140. package/dist/modules/datasource/devbox/index.js.map +1 -1
  141. package/dist/modules/datasource/docker/common.js +5 -2
  142. package/dist/modules/datasource/docker/common.js.map +1 -1
  143. package/dist/modules/datasource/docker/index.js +10 -8
  144. package/dist/modules/datasource/docker/index.js.map +1 -1
  145. package/dist/modules/datasource/docker/schema.d.ts +77 -101
  146. package/dist/modules/datasource/docker/schema.js +2 -1
  147. package/dist/modules/datasource/docker/schema.js.map +1 -1
  148. package/dist/modules/datasource/flutter-version/index.js +1 -1
  149. package/dist/modules/datasource/flutter-version/index.js.map +1 -1
  150. package/dist/modules/datasource/galaxy/schema.d.ts +1 -1
  151. package/dist/modules/datasource/galaxy-collection/schema.d.ts +8 -8
  152. package/dist/modules/datasource/git-refs/index.js +1 -1
  153. package/dist/modules/datasource/git-refs/index.js.map +1 -1
  154. package/dist/modules/datasource/gitea-releases/schema.d.ts +2 -2
  155. package/dist/modules/datasource/gitea-tags/schema.d.ts +4 -4
  156. package/dist/modules/datasource/github-release-attachments/index.js +2 -2
  157. package/dist/modules/datasource/github-release-attachments/index.js.map +1 -1
  158. package/dist/modules/datasource/github-runners/index.js +2 -2
  159. package/dist/modules/datasource/github-runners/index.js.map +1 -1
  160. package/dist/modules/datasource/gitlab-packages/index.js +1 -1
  161. package/dist/modules/datasource/gitlab-packages/index.js.map +1 -1
  162. package/dist/modules/datasource/gitlab-releases/index.js +1 -3
  163. package/dist/modules/datasource/gitlab-releases/index.js.map +1 -1
  164. package/dist/modules/datasource/go/base.js +1 -1
  165. package/dist/modules/datasource/go/base.js.map +1 -1
  166. package/dist/modules/datasource/go/index.js +1 -1
  167. package/dist/modules/datasource/go/index.js.map +1 -1
  168. package/dist/modules/datasource/go/releases-direct.js +7 -4
  169. package/dist/modules/datasource/go/releases-direct.js.map +1 -1
  170. package/dist/modules/datasource/go/releases-goproxy.js +1 -1
  171. package/dist/modules/datasource/go/releases-goproxy.js.map +1 -1
  172. package/dist/modules/datasource/golang-version/index.js +2 -2
  173. package/dist/modules/datasource/golang-version/index.js.map +1 -1
  174. package/dist/modules/datasource/gradle-version/index.js +1 -1
  175. package/dist/modules/datasource/gradle-version/index.js.map +1 -1
  176. package/dist/modules/datasource/helm/index.js +1 -1
  177. package/dist/modules/datasource/helm/index.js.map +1 -1
  178. package/dist/modules/datasource/hex/index.js +1 -1
  179. package/dist/modules/datasource/hex/index.js.map +1 -1
  180. package/dist/modules/datasource/hex/schema.d.ts +11 -11
  181. package/dist/modules/datasource/hexpm-bob/index.js +1 -1
  182. package/dist/modules/datasource/hexpm-bob/index.js.map +1 -1
  183. package/dist/modules/datasource/index.js +4 -4
  184. package/dist/modules/datasource/index.js.map +1 -1
  185. package/dist/modules/datasource/java-version/index.js +0 -1
  186. package/dist/modules/datasource/java-version/index.js.map +1 -1
  187. package/dist/modules/datasource/jenkins-plugins/index.js +1 -1
  188. package/dist/modules/datasource/jenkins-plugins/index.js.map +1 -1
  189. package/dist/modules/datasource/maven/index.js +35 -27
  190. package/dist/modules/datasource/maven/index.js.map +1 -1
  191. package/dist/modules/datasource/maven/types.d.ts +3 -6
  192. package/dist/modules/datasource/maven/types.js.map +1 -1
  193. package/dist/modules/datasource/maven/util.d.ts +4 -5
  194. package/dist/modules/datasource/maven/util.js +94 -157
  195. package/dist/modules/datasource/maven/util.js.map +1 -1
  196. package/dist/modules/datasource/metadata.js +9 -1
  197. package/dist/modules/datasource/metadata.js.map +1 -1
  198. package/dist/modules/datasource/node-version/index.js +1 -1
  199. package/dist/modules/datasource/node-version/index.js.map +1 -1
  200. package/dist/modules/datasource/npm/get.d.ts +0 -1
  201. package/dist/modules/datasource/npm/get.js +14 -68
  202. package/dist/modules/datasource/npm/get.js.map +1 -1
  203. package/dist/modules/datasource/npm/index.js +1 -1
  204. package/dist/modules/datasource/npm/index.js.map +1 -1
  205. package/dist/modules/datasource/npm/npmrc.js +1 -1
  206. package/dist/modules/datasource/npm/npmrc.js.map +1 -1
  207. package/dist/modules/datasource/npm/types.d.ts +0 -8
  208. package/dist/modules/datasource/npm/types.js.map +1 -1
  209. package/dist/modules/datasource/nuget/index.js +1 -1
  210. package/dist/modules/datasource/nuget/index.js.map +1 -1
  211. package/dist/modules/datasource/nuget/v2.js +1 -1
  212. package/dist/modules/datasource/nuget/v2.js.map +1 -1
  213. package/dist/modules/datasource/nuget/v3.js +6 -6
  214. package/dist/modules/datasource/nuget/v3.js.map +1 -1
  215. package/dist/modules/datasource/orb/index.js +1 -1
  216. package/dist/modules/datasource/orb/index.js.map +1 -1
  217. package/dist/modules/datasource/packagist/index.js +2 -2
  218. package/dist/modules/datasource/packagist/index.js.map +1 -1
  219. package/dist/modules/datasource/packagist/schema.d.ts +32 -32
  220. package/dist/modules/datasource/pod/index.js +2 -2
  221. package/dist/modules/datasource/pod/index.js.map +1 -1
  222. package/dist/modules/datasource/postprocess-release.js +1 -1
  223. package/dist/modules/datasource/postprocess-release.js.map +1 -1
  224. package/dist/modules/datasource/pypi/index.js +1 -1
  225. package/dist/modules/datasource/pypi/index.js.map +1 -1
  226. package/dist/modules/datasource/python-version/index.js +1 -1
  227. package/dist/modules/datasource/python-version/index.js.map +1 -1
  228. package/dist/modules/datasource/repology/index.js +1 -1
  229. package/dist/modules/datasource/repology/index.js.map +1 -1
  230. package/dist/modules/datasource/ruby-version/index.js +1 -1
  231. package/dist/modules/datasource/ruby-version/index.js.map +1 -1
  232. package/dist/modules/datasource/rubygems/index.js +2 -2
  233. package/dist/modules/datasource/rubygems/index.js.map +1 -1
  234. package/dist/modules/datasource/rubygems/versions-endpoint-cache.js +2 -2
  235. package/dist/modules/datasource/rubygems/versions-endpoint-cache.js.map +1 -1
  236. package/dist/modules/datasource/sbt-package/index.js +1 -1
  237. package/dist/modules/datasource/sbt-package/index.js.map +1 -1
  238. package/dist/modules/datasource/sbt-plugin/index.js +1 -1
  239. package/dist/modules/datasource/sbt-plugin/index.js.map +1 -1
  240. package/dist/modules/datasource/schema.d.ts +4 -4
  241. package/dist/modules/datasource/terraform-module/index.js +1 -1
  242. package/dist/modules/datasource/terraform-module/index.js.map +1 -1
  243. package/dist/modules/datasource/terraform-provider/index.js +2 -3
  244. package/dist/modules/datasource/terraform-provider/index.js.map +1 -1
  245. package/dist/modules/datasource/types.d.ts +2 -0
  246. package/dist/modules/datasource/types.js.map +1 -1
  247. package/dist/modules/datasource/unity3d/index.d.ts +4 -1
  248. package/dist/modules/datasource/unity3d/index.js +36 -42
  249. package/dist/modules/datasource/unity3d/index.js.map +1 -1
  250. package/dist/modules/datasource/unity3d/schema.d.ts +47 -0
  251. package/dist/modules/datasource/unity3d/schema.js +17 -0
  252. package/dist/modules/datasource/unity3d/schema.js.map +1 -0
  253. package/dist/modules/manager/api.js +2 -0
  254. package/dist/modules/manager/api.js.map +1 -1
  255. package/dist/modules/manager/argocd/extract.js +1 -1
  256. package/dist/modules/manager/argocd/extract.js.map +1 -1
  257. package/dist/modules/manager/argocd/schema.d.ts +22 -22
  258. package/dist/modules/manager/asdf/upgradeable-tooling.js +94 -0
  259. package/dist/modules/manager/asdf/upgradeable-tooling.js.map +1 -1
  260. package/dist/modules/manager/azure-pipelines/schema.d.ts +32 -32
  261. package/dist/modules/manager/batect/schema.d.ts +4 -4
  262. package/dist/modules/manager/batect-wrapper/artifacts.js +1 -1
  263. package/dist/modules/manager/batect-wrapper/artifacts.js.map +1 -1
  264. package/dist/modules/manager/bazel/rules/docker.d.ts +6 -6
  265. package/dist/modules/manager/bazel/rules/git.d.ts +10 -10
  266. package/dist/modules/manager/bazel/rules/git.js +9 -2
  267. package/dist/modules/manager/bazel/rules/git.js.map +1 -1
  268. package/dist/modules/manager/bazel/rules/go.d.ts +5 -5
  269. package/dist/modules/manager/bazel/rules/maven.d.ts +7 -7
  270. package/dist/modules/manager/bazel/rules/oci.d.ts +6 -6
  271. package/dist/modules/manager/bazel-module/parser/fragments.d.ts +40 -40
  272. package/dist/modules/manager/bazel-module/parser/maven.d.ts +44 -90
  273. package/dist/modules/manager/bazel-module/parser/oci.d.ts +19 -42
  274. package/dist/modules/manager/bazel-module/rules.d.ts +50 -160
  275. package/dist/modules/manager/bun/artifacts.js +0 -1
  276. package/dist/modules/manager/bun/artifacts.js.map +1 -1
  277. package/dist/modules/manager/bun/extract.d.ts +1 -0
  278. package/dist/modules/manager/bun/extract.js +53 -27
  279. package/dist/modules/manager/bun/extract.js.map +1 -1
  280. package/dist/modules/manager/bun/index.js +1 -1
  281. package/dist/modules/manager/bun/index.js.map +1 -1
  282. package/dist/modules/manager/bun/utils.d.ts +2 -0
  283. package/dist/modules/manager/bun/utils.js +22 -0
  284. package/dist/modules/manager/bun/utils.js.map +1 -0
  285. package/dist/modules/manager/bundler/artifacts.js +0 -1
  286. package/dist/modules/manager/bundler/artifacts.js.map +1 -1
  287. package/dist/modules/manager/bundler/extract.js +2 -1
  288. package/dist/modules/manager/bundler/extract.js.map +1 -1
  289. package/dist/modules/manager/cake/index.js +4 -2
  290. package/dist/modules/manager/cake/index.js.map +1 -1
  291. package/dist/modules/manager/cargo/artifacts.js +5 -7
  292. package/dist/modules/manager/cargo/artifacts.js.map +1 -1
  293. package/dist/modules/manager/cargo/schema.d.ts +117 -117
  294. package/dist/modules/manager/circleci/extract.js +21 -30
  295. package/dist/modules/manager/circleci/extract.js.map +1 -1
  296. package/dist/modules/manager/circleci/schema.d.ts +33 -144
  297. package/dist/modules/manager/circleci/schema.js +21 -17
  298. package/dist/modules/manager/circleci/schema.js.map +1 -1
  299. package/dist/modules/manager/cocoapods/artifacts.js +1 -2
  300. package/dist/modules/manager/cocoapods/artifacts.js.map +1 -1
  301. package/dist/modules/manager/composer/artifacts.js +1 -2
  302. package/dist/modules/manager/composer/artifacts.js.map +1 -1
  303. package/dist/modules/manager/composer/schema.d.ts +32 -34
  304. package/dist/modules/manager/composer/schema.js +1 -1
  305. package/dist/modules/manager/composer/schema.js.map +1 -1
  306. package/dist/modules/manager/composer/utils.d.ts +1 -0
  307. package/dist/modules/manager/composer/utils.js +18 -6
  308. package/dist/modules/manager/composer/utils.js.map +1 -1
  309. package/dist/modules/manager/conan/artifacts.d.ts +2 -0
  310. package/dist/modules/manager/conan/artifacts.js +76 -0
  311. package/dist/modules/manager/conan/artifacts.js.map +1 -0
  312. package/dist/modules/manager/conan/index.d.ts +2 -0
  313. package/dist/modules/manager/conan/index.js +4 -1
  314. package/dist/modules/manager/conan/index.js.map +1 -1
  315. package/dist/modules/manager/copier/artifacts.js +0 -1
  316. package/dist/modules/manager/copier/artifacts.js.map +1 -1
  317. package/dist/modules/manager/crossplane/schema.d.ts +2 -2
  318. package/dist/modules/manager/custom/jsonata/index.js +4 -0
  319. package/dist/modules/manager/custom/jsonata/index.js.map +1 -1
  320. package/dist/modules/manager/custom/jsonata/schema.d.ts +21 -21
  321. package/dist/modules/manager/custom/regex/index.js +2 -0
  322. package/dist/modules/manager/custom/regex/index.js.map +1 -1
  323. package/dist/modules/manager/deps-edn/extract.js +2 -1
  324. package/dist/modules/manager/deps-edn/extract.js.map +1 -1
  325. package/dist/modules/manager/devbox/artifacts.d.ts +1 -1
  326. package/dist/modules/manager/devbox/artifacts.js +35 -11
  327. package/dist/modules/manager/devbox/artifacts.js.map +1 -1
  328. package/dist/modules/manager/devbox/schema.js +1 -1
  329. package/dist/modules/manager/devbox/schema.js.map +1 -1
  330. package/dist/modules/manager/devcontainer/extract.js +43 -1
  331. package/dist/modules/manager/devcontainer/extract.js.map +1 -1
  332. package/dist/modules/manager/devcontainer/index.js +11 -1
  333. package/dist/modules/manager/devcontainer/index.js.map +1 -1
  334. package/dist/modules/manager/devcontainer/schema.d.ts +7 -3
  335. package/dist/modules/manager/devcontainer/schema.js +3 -1
  336. package/dist/modules/manager/devcontainer/schema.js.map +1 -1
  337. package/dist/modules/manager/docker-compose/schema.d.ts +6 -6
  338. package/dist/modules/manager/dockerfile/extract.js +2 -6
  339. package/dist/modules/manager/dockerfile/extract.js.map +1 -1
  340. package/dist/modules/manager/fingerprint.generated.js +86 -85
  341. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  342. package/dist/modules/manager/flux/artifacts.js +0 -1
  343. package/dist/modules/manager/flux/artifacts.js.map +1 -1
  344. package/dist/modules/manager/flux/extract.js +27 -24
  345. package/dist/modules/manager/flux/extract.js.map +1 -1
  346. package/dist/modules/manager/flux/schema.d.ts +130 -154
  347. package/dist/modules/manager/github-actions/extract.js +60 -39
  348. package/dist/modules/manager/github-actions/extract.js.map +1 -1
  349. package/dist/modules/manager/github-actions/schema.d.ts +66 -0
  350. package/dist/modules/manager/github-actions/schema.js +38 -0
  351. package/dist/modules/manager/github-actions/schema.js.map +1 -0
  352. package/dist/modules/manager/gitlabci/extract.d.ts +1 -5
  353. package/dist/modules/manager/gitlabci/extract.js +27 -126
  354. package/dist/modules/manager/gitlabci/extract.js.map +1 -1
  355. package/dist/modules/manager/gitlabci/schema.d.ts +55 -0
  356. package/dist/modules/manager/gitlabci/schema.js +63 -0
  357. package/dist/modules/manager/gitlabci/schema.js.map +1 -0
  358. package/dist/modules/manager/gitlabci-include/extract.js +6 -54
  359. package/dist/modules/manager/gitlabci-include/extract.js.map +1 -1
  360. package/dist/modules/manager/gitlabci-include/schema.d.ts +13 -0
  361. package/dist/modules/manager/gitlabci-include/schema.js +46 -0
  362. package/dist/modules/manager/gitlabci-include/schema.js.map +1 -0
  363. package/dist/modules/manager/glasskube/schema.d.ts +8 -8
  364. package/dist/modules/manager/gomod/artifacts-extra.js +12 -4
  365. package/dist/modules/manager/gomod/artifacts-extra.js.map +1 -1
  366. package/dist/modules/manager/gomod/artifacts.js +24 -10
  367. package/dist/modules/manager/gomod/artifacts.js.map +1 -1
  368. package/dist/modules/manager/gomod/extract.js +23 -0
  369. package/dist/modules/manager/gomod/extract.js.map +1 -1
  370. package/dist/modules/manager/gomod/line-parser.js +16 -0
  371. package/dist/modules/manager/gomod/line-parser.js.map +1 -1
  372. package/dist/modules/manager/gomod/update.js +5 -3
  373. package/dist/modules/manager/gomod/update.js.map +1 -1
  374. package/dist/modules/manager/gradle/artifacts.js +0 -1
  375. package/dist/modules/manager/gradle/artifacts.js.map +1 -1
  376. package/dist/modules/manager/gradle/extract/catalog.js +1 -1
  377. package/dist/modules/manager/gradle/extract/catalog.js.map +1 -1
  378. package/dist/modules/manager/gradle/extract.js +8 -13
  379. package/dist/modules/manager/gradle/extract.js.map +1 -1
  380. package/dist/modules/manager/gradle/parser/assignments.js +2 -2
  381. package/dist/modules/manager/gradle/parser/assignments.js.map +1 -1
  382. package/dist/modules/manager/gradle/parser/handlers.d.ts +1 -2
  383. package/dist/modules/manager/gradle/parser/handlers.js +17 -24
  384. package/dist/modules/manager/gradle/parser/handlers.js.map +1 -1
  385. package/dist/modules/manager/gradle/parser/registry-urls.js +46 -12
  386. package/dist/modules/manager/gradle/parser/registry-urls.js.map +1 -1
  387. package/dist/modules/manager/gradle/types.d.ts +1 -0
  388. package/dist/modules/manager/gradle/types.js.map +1 -1
  389. package/dist/modules/manager/gradle-wrapper/artifacts.js +1 -2
  390. package/dist/modules/manager/gradle-wrapper/artifacts.js.map +1 -1
  391. package/dist/modules/manager/helmfile/artifacts.js +0 -1
  392. package/dist/modules/manager/helmfile/artifacts.js.map +1 -1
  393. package/dist/modules/manager/helmfile/extract.js +4 -0
  394. package/dist/modules/manager/helmfile/extract.js.map +1 -1
  395. package/dist/modules/manager/helmfile/schema.d.ts +9 -9
  396. package/dist/modules/manager/helmv3/artifacts.js +0 -1
  397. package/dist/modules/manager/helmv3/artifacts.js.map +1 -1
  398. package/dist/modules/manager/helmv3/utils.js +3 -1
  399. package/dist/modules/manager/helmv3/utils.js.map +1 -1
  400. package/dist/modules/manager/hermit/artifacts.js +0 -1
  401. package/dist/modules/manager/hermit/artifacts.js.map +1 -1
  402. package/dist/modules/manager/homebrew/extract.js +0 -1
  403. package/dist/modules/manager/homebrew/extract.js.map +1 -1
  404. package/dist/modules/manager/jsonnet-bundler/artifacts.js +0 -1
  405. package/dist/modules/manager/jsonnet-bundler/artifacts.js.map +1 -1
  406. package/dist/modules/manager/kustomize/artifacts.d.ts +2 -0
  407. package/dist/modules/manager/kustomize/artifacts.js +154 -0
  408. package/dist/modules/manager/kustomize/artifacts.js.map +1 -0
  409. package/dist/modules/manager/kustomize/common.d.ts +3 -0
  410. package/dist/modules/manager/kustomize/common.js +22 -0
  411. package/dist/modules/manager/kustomize/common.js.map +1 -0
  412. package/dist/modules/manager/kustomize/index.d.ts +1 -0
  413. package/dist/modules/manager/kustomize/index.js +3 -1
  414. package/dist/modules/manager/kustomize/index.js.map +1 -1
  415. package/dist/modules/manager/kustomize/types.d.ts +4 -0
  416. package/dist/modules/manager/kustomize/types.js.map +1 -1
  417. package/dist/modules/manager/maven/extract.js +4 -4
  418. package/dist/modules/manager/maven/extract.js.map +1 -1
  419. package/dist/modules/manager/maven-wrapper/artifacts.js +0 -1
  420. package/dist/modules/manager/maven-wrapper/artifacts.js.map +1 -1
  421. package/dist/modules/manager/mise/extract.js +1 -1
  422. package/dist/modules/manager/mise/extract.js.map +1 -1
  423. package/dist/modules/manager/mix/artifacts.js +64 -14
  424. package/dist/modules/manager/mix/artifacts.js.map +1 -1
  425. package/dist/modules/manager/mix/index.d.ts +1 -0
  426. package/dist/modules/manager/mix/index.js +2 -1
  427. package/dist/modules/manager/mix/index.js.map +1 -1
  428. package/dist/modules/manager/nix/artifacts.js +0 -1
  429. package/dist/modules/manager/nix/artifacts.js.map +1 -1
  430. package/dist/modules/manager/nix/extract.js +1 -1
  431. package/dist/modules/manager/nix/extract.js.map +1 -1
  432. package/dist/modules/manager/nix/schema.d.ts +20 -20
  433. package/dist/modules/manager/nix/schema.js +1 -0
  434. package/dist/modules/manager/nix/schema.js.map +1 -1
  435. package/dist/modules/manager/npm/artifacts.js +0 -1
  436. package/dist/modules/manager/npm/artifacts.js.map +1 -1
  437. package/dist/modules/manager/npm/extract/common/package-file.js +1 -0
  438. package/dist/modules/manager/npm/extract/common/package-file.js.map +1 -1
  439. package/dist/modules/manager/npm/extract/yarn.js +2 -2
  440. package/dist/modules/manager/npm/extract/yarn.js.map +1 -1
  441. package/dist/modules/manager/npm/post-update/npm.js +0 -1
  442. package/dist/modules/manager/npm/post-update/npm.js.map +1 -1
  443. package/dist/modules/manager/npm/post-update/pnpm.js +13 -2
  444. package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
  445. package/dist/modules/manager/npm/post-update/rules.js +11 -1
  446. package/dist/modules/manager/npm/post-update/rules.js.map +1 -1
  447. package/dist/modules/manager/npm/post-update/yarn.js +0 -1
  448. package/dist/modules/manager/npm/post-update/yarn.js.map +1 -1
  449. package/dist/modules/manager/npm/schema.d.ts +13 -13
  450. package/dist/modules/manager/npm/update/dependency/index.js +1 -1
  451. package/dist/modules/manager/npm/update/dependency/index.js.map +1 -1
  452. package/dist/modules/manager/nuget/artifacts.js +1 -2
  453. package/dist/modules/manager/nuget/artifacts.js.map +1 -1
  454. package/dist/modules/manager/nuget/extract.js +21 -18
  455. package/dist/modules/manager/nuget/extract.js.map +1 -1
  456. package/dist/modules/manager/nuget/package-tree.js +4 -0
  457. package/dist/modules/manager/nuget/package-tree.js.map +1 -1
  458. package/dist/modules/manager/nuget/schema.d.ts +8 -8
  459. package/dist/modules/manager/nuget/util.js +4 -1
  460. package/dist/modules/manager/nuget/util.js.map +1 -1
  461. package/dist/modules/manager/ocb/schema.d.ts +6 -6
  462. package/dist/modules/manager/pep621/processors/pdm.js +0 -1
  463. package/dist/modules/manager/pep621/processors/pdm.js.map +1 -1
  464. package/dist/modules/manager/pep621/processors/uv.js +0 -1
  465. package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
  466. package/dist/modules/manager/pep621/schema.d.ts +346 -54
  467. package/dist/modules/manager/pep621/schema.js +2 -0
  468. package/dist/modules/manager/pep621/schema.js.map +1 -1
  469. package/dist/modules/manager/pep621/utils.js +1 -1
  470. package/dist/modules/manager/pep621/utils.js.map +1 -1
  471. package/dist/modules/manager/pip-compile/common.js +0 -1
  472. package/dist/modules/manager/pip-compile/common.js.map +1 -1
  473. package/dist/modules/manager/pip_requirements/artifacts.js +0 -1
  474. package/dist/modules/manager/pip_requirements/artifacts.js.map +1 -1
  475. package/dist/modules/manager/pip_requirements/common.js +2 -6
  476. package/dist/modules/manager/pip_requirements/common.js.map +1 -1
  477. package/dist/modules/manager/pipenv/artifacts.js +0 -1
  478. package/dist/modules/manager/pipenv/artifacts.js.map +1 -1
  479. package/dist/modules/manager/pixi/artifacts.d.ts +3 -0
  480. package/dist/modules/manager/pixi/artifacts.js +78 -0
  481. package/dist/modules/manager/pixi/artifacts.js.map +1 -0
  482. package/dist/modules/manager/pixi/extract.d.ts +4 -0
  483. package/dist/modules/manager/pixi/extract.js +131 -0
  484. package/dist/modules/manager/pixi/extract.js.map +1 -0
  485. package/dist/modules/manager/pixi/index.d.ts +10 -0
  486. package/dist/modules/manager/pixi/index.js +20 -0
  487. package/dist/modules/manager/pixi/index.js.map +1 -0
  488. package/dist/modules/manager/pixi/schema.d.ts +405 -0
  489. package/dist/modules/manager/pixi/schema.js +147 -0
  490. package/dist/modules/manager/pixi/schema.js.map +1 -0
  491. package/dist/modules/manager/poetry/artifacts.js +3 -4
  492. package/dist/modules/manager/poetry/artifacts.js.map +1 -1
  493. package/dist/modules/manager/poetry/extract.js +2 -1
  494. package/dist/modules/manager/poetry/extract.js.map +1 -1
  495. package/dist/modules/manager/poetry/schema.d.ts +48 -48
  496. package/dist/modules/manager/pub/artifacts.js +0 -1
  497. package/dist/modules/manager/pub/artifacts.js.map +1 -1
  498. package/dist/modules/manager/pub/schema.d.ts +8 -8
  499. package/dist/modules/manager/scalafmt/extract.js +1 -1
  500. package/dist/modules/manager/scalafmt/extract.js.map +1 -1
  501. package/dist/modules/manager/sveltos/schema.d.ts +30 -42
  502. package/dist/modules/manager/terraform/lockfile/hash.d.ts +1 -1
  503. package/dist/modules/manager/terraform/util.js +1 -3
  504. package/dist/modules/manager/terraform/util.js.map +1 -1
  505. package/dist/modules/manager/types.d.ts +6 -2
  506. package/dist/modules/manager/types.js.map +1 -1
  507. package/dist/modules/manager/vendir/schema.d.ts +7 -7
  508. package/dist/modules/platform/api.d.ts +1 -1
  509. package/dist/modules/platform/azure/azure-helper.js +2 -2
  510. package/dist/modules/platform/azure/azure-helper.js.map +1 -1
  511. package/dist/modules/platform/azure/index.js +14 -14
  512. package/dist/modules/platform/azure/index.js.map +1 -1
  513. package/dist/modules/platform/bitbucket/comments.js +4 -4
  514. package/dist/modules/platform/bitbucket/comments.js.map +1 -1
  515. package/dist/modules/platform/bitbucket/index.d.ts +1 -0
  516. package/dist/modules/platform/bitbucket/index.js +54 -44
  517. package/dist/modules/platform/bitbucket/index.js.map +1 -1
  518. package/dist/modules/platform/bitbucket/schema.d.ts +14 -14
  519. package/dist/modules/platform/bitbucket/utils.js +3 -3
  520. package/dist/modules/platform/bitbucket/utils.js.map +1 -1
  521. package/dist/modules/platform/bitbucket-server/index.d.ts +3 -3
  522. package/dist/modules/platform/bitbucket-server/index.js +81 -81
  523. package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
  524. package/dist/modules/platform/bitbucket-server/pr-cache.d.ts +23 -0
  525. package/dist/modules/platform/bitbucket-server/pr-cache.js +125 -0
  526. package/dist/modules/platform/bitbucket-server/pr-cache.js.map +1 -0
  527. package/dist/modules/platform/bitbucket-server/schema.d.ts +76 -0
  528. package/dist/modules/platform/bitbucket-server/schema.js +15 -1
  529. package/dist/modules/platform/bitbucket-server/schema.js.map +1 -1
  530. package/dist/modules/platform/bitbucket-server/types.d.ts +8 -2
  531. package/dist/modules/platform/bitbucket-server/types.js.map +1 -1
  532. package/dist/modules/platform/bitbucket-server/utils.d.ts +0 -2
  533. package/dist/modules/platform/bitbucket-server/utils.js +6 -52
  534. package/dist/modules/platform/bitbucket-server/utils.js.map +1 -1
  535. package/dist/modules/platform/codecommit/codecommit-client.js +6 -6
  536. package/dist/modules/platform/codecommit/codecommit-client.js.map +1 -1
  537. package/dist/modules/platform/codecommit/index.js +24 -24
  538. package/dist/modules/platform/codecommit/index.js.map +1 -1
  539. package/dist/modules/platform/gerrit/client.d.ts +0 -3
  540. package/dist/modules/platform/gerrit/client.js +20 -29
  541. package/dist/modules/platform/gerrit/client.js.map +1 -1
  542. package/dist/modules/platform/gerrit/index.js +0 -6
  543. package/dist/modules/platform/gerrit/index.js.map +1 -1
  544. package/dist/modules/platform/gerrit/scm.js +5 -6
  545. package/dist/modules/platform/gerrit/scm.js.map +1 -1
  546. package/dist/modules/platform/gerrit/types.d.ts +1 -4
  547. package/dist/modules/platform/gerrit/types.js.map +1 -1
  548. package/dist/modules/platform/gerrit/utils.d.ts +3 -2
  549. package/dist/modules/platform/gerrit/utils.js +4 -8
  550. package/dist/modules/platform/gerrit/utils.js.map +1 -1
  551. package/dist/modules/platform/gitea/gitea-helper.d.ts +1 -0
  552. package/dist/modules/platform/gitea/gitea-helper.js +16 -0
  553. package/dist/modules/platform/gitea/gitea-helper.js.map +1 -1
  554. package/dist/modules/platform/gitea/index.d.ts +1 -0
  555. package/dist/modules/platform/gitea/index.js +33 -16
  556. package/dist/modules/platform/gitea/index.js.map +1 -1
  557. package/dist/modules/platform/gitea/schema.d.ts +8 -8
  558. package/dist/modules/platform/gitea/types.d.ts +1 -1
  559. package/dist/modules/platform/gitea/types.js.map +1 -1
  560. package/dist/modules/platform/github/common.d.ts +2 -0
  561. package/dist/modules/platform/github/common.js +16 -0
  562. package/dist/modules/platform/github/common.js.map +1 -1
  563. package/dist/modules/platform/github/index.d.ts +1 -1
  564. package/dist/modules/platform/github/index.js +87 -82
  565. package/dist/modules/platform/github/index.js.map +1 -1
  566. package/dist/modules/platform/github/issue.d.ts +18 -18
  567. package/dist/modules/platform/github/massage-markdown-links.js +2 -2
  568. package/dist/modules/platform/github/massage-markdown-links.js.map +1 -1
  569. package/dist/modules/platform/github/pr.js +3 -3
  570. package/dist/modules/platform/github/pr.js.map +1 -1
  571. package/dist/modules/platform/github/schema.d.ts +128 -128
  572. package/dist/modules/platform/github/schema.js +3 -1
  573. package/dist/modules/platform/github/schema.js.map +1 -1
  574. package/dist/modules/platform/gitlab/index.d.ts +1 -0
  575. package/dist/modules/platform/gitlab/index.js +72 -49
  576. package/dist/modules/platform/gitlab/index.js.map +1 -1
  577. package/dist/modules/platform/index.js +0 -1
  578. package/dist/modules/platform/index.js.map +1 -1
  579. package/dist/modules/platform/scm.d.ts +1 -1
  580. package/dist/modules/versioning/api.js +2 -0
  581. package/dist/modules/versioning/api.js.map +1 -1
  582. package/dist/modules/versioning/composer/index.js +10 -0
  583. package/dist/modules/versioning/composer/index.js.map +1 -1
  584. package/dist/modules/versioning/conda/index.d.ts +41 -0
  585. package/dist/modules/versioning/conda/index.js +178 -0
  586. package/dist/modules/versioning/conda/index.js.map +1 -0
  587. package/dist/modules/versioning/distro.js +1 -3
  588. package/dist/modules/versioning/distro.js.map +1 -1
  589. package/dist/modules/versioning/hashicorp/convertor.d.ts +2 -1
  590. package/dist/modules/versioning/hashicorp/convertor.js +13 -8
  591. package/dist/modules/versioning/hashicorp/convertor.js.map +1 -1
  592. package/dist/modules/versioning/hex/index.js +3 -3
  593. package/dist/modules/versioning/hex/index.js.map +1 -1
  594. package/dist/modules/versioning/npm/index.js +2 -1
  595. package/dist/modules/versioning/npm/index.js.map +1 -1
  596. package/dist/modules/versioning/schema.js +1 -1
  597. package/dist/modules/versioning/schema.js.map +1 -1
  598. package/dist/modules/versioning/types.d.ts +4 -0
  599. package/dist/modules/versioning/types.js.map +1 -1
  600. package/dist/proxy.js +2 -1
  601. package/dist/proxy.js.map +1 -1
  602. package/dist/renovate.js +2 -2
  603. package/dist/renovate.js.map +1 -1
  604. package/dist/util/cache/package/decorator.js +2 -2
  605. package/dist/util/cache/package/decorator.js.map +1 -1
  606. package/dist/util/cache/package/redis.js +0 -1
  607. package/dist/util/cache/package/redis.js.map +1 -1
  608. package/dist/util/cache/package/types.d.ts +1 -1
  609. package/dist/util/cache/package/types.js.map +1 -1
  610. package/dist/util/cache/repository/impl/base.d.ts +1 -1
  611. package/dist/util/cache/repository/impl/base.js +4 -0
  612. package/dist/util/cache/repository/impl/base.js.map +1 -1
  613. package/dist/util/cache/repository/schema.d.ts +4 -4
  614. package/dist/util/cache/repository/types.d.ts +3 -0
  615. package/dist/util/cache/repository/types.js.map +1 -1
  616. package/dist/util/common.d.ts +4 -2
  617. package/dist/util/common.js +17 -3
  618. package/dist/util/common.js.map +1 -1
  619. package/dist/util/env.d.ts +4 -0
  620. package/dist/util/env.js +22 -0
  621. package/dist/util/env.js.map +1 -0
  622. package/dist/util/exec/containerbase.js +19 -14
  623. package/dist/util/exec/containerbase.js.map +1 -1
  624. package/dist/util/exec/index.js +5 -2
  625. package/dist/util/exec/index.js.map +1 -1
  626. package/dist/util/exec/types.d.ts +0 -2
  627. package/dist/util/exec/types.js.map +1 -1
  628. package/dist/util/exec/utils.d.ts +1 -1
  629. package/dist/util/exec/utils.js +6 -5
  630. package/dist/util/exec/utils.js.map +1 -1
  631. package/dist/util/git/auth.js +8 -5
  632. package/dist/util/git/auth.js.map +1 -1
  633. package/dist/util/git/author.js +1 -1
  634. package/dist/util/git/author.js.map +1 -1
  635. package/dist/util/git/config.js +0 -1
  636. package/dist/util/git/config.js.map +1 -1
  637. package/dist/util/git/error.js +4 -2
  638. package/dist/util/git/error.js.map +1 -1
  639. package/dist/util/git/index.js +75 -52
  640. package/dist/util/git/index.js.map +1 -1
  641. package/dist/util/git/private-key.js +2 -4
  642. package/dist/util/git/private-key.js.map +1 -1
  643. package/dist/util/git/types.d.ts +2 -0
  644. package/dist/util/git/types.js.map +1 -1
  645. package/dist/util/git/url.js +1 -1
  646. package/dist/util/git/url.js.map +1 -1
  647. package/dist/util/github/graphql/datasource-fetcher.js +3 -5
  648. package/dist/util/github/graphql/datasource-fetcher.js.map +1 -1
  649. package/dist/util/github/graphql/query-adapters/releases-query-adapter.d.ts +2 -2
  650. package/dist/util/github/graphql/query-adapters/tags-query-adapter.d.ts +2 -2
  651. package/dist/util/http/auth.js +0 -1
  652. package/dist/util/http/auth.js.map +1 -1
  653. package/dist/util/http/bitbucket-server.d.ts +7 -5
  654. package/dist/util/http/bitbucket-server.js +26 -23
  655. package/dist/util/http/bitbucket-server.js.map +1 -1
  656. package/dist/util/http/bitbucket.d.ts +6 -5
  657. package/dist/util/http/bitbucket.js +34 -31
  658. package/dist/util/http/bitbucket.js.map +1 -1
  659. package/dist/util/http/cache/abstract-http-cache-provider.js +2 -2
  660. package/dist/util/http/cache/abstract-http-cache-provider.js.map +1 -1
  661. package/dist/util/http/cache/memory-http-cache-provider.d.ts +10 -0
  662. package/dist/util/http/cache/memory-http-cache-provider.js +29 -0
  663. package/dist/util/http/cache/memory-http-cache-provider.js.map +1 -0
  664. package/dist/util/http/cache/package-http-cache-provider.d.ts +23 -0
  665. package/dist/util/http/cache/package-http-cache-provider.js +80 -0
  666. package/dist/util/http/cache/package-http-cache-provider.js.map +1 -0
  667. package/dist/util/http/cache/schema.d.ts +2 -2
  668. package/dist/util/http/errors.d.ts +2 -0
  669. package/dist/util/http/errors.js +8 -0
  670. package/dist/util/http/errors.js.map +1 -0
  671. package/dist/util/http/gerrit.d.ts +6 -4
  672. package/dist/util/http/gerrit.js +11 -12
  673. package/dist/util/http/gerrit.js.map +1 -1
  674. package/dist/util/http/gitea.d.ts +5 -4
  675. package/dist/util/http/gitea.js +14 -13
  676. package/dist/util/http/gitea.js.map +1 -1
  677. package/dist/util/http/github.d.ts +14 -8
  678. package/dist/util/http/github.js +65 -60
  679. package/dist/util/http/github.js.map +1 -1
  680. package/dist/util/http/gitlab.d.ts +7 -5
  681. package/dist/util/http/gitlab.js +58 -46
  682. package/dist/util/http/gitlab.js.map +1 -1
  683. package/dist/util/http/got.d.ts +9 -0
  684. package/dist/util/http/got.js +54 -0
  685. package/dist/util/http/got.js.map +1 -0
  686. package/dist/util/http/host-rules.d.ts +2 -1
  687. package/dist/util/http/host-rules.js +17 -4
  688. package/dist/util/http/host-rules.js.map +1 -1
  689. package/dist/util/http/http.d.ts +93 -0
  690. package/dist/util/http/http.js +346 -0
  691. package/dist/util/http/http.js.map +1 -0
  692. package/dist/util/http/index.d.ts +6 -74
  693. package/dist/util/http/index.js +5 -359
  694. package/dist/util/http/index.js.map +1 -1
  695. package/dist/util/http/legacy.js +4 -1
  696. package/dist/util/http/legacy.js.map +1 -1
  697. package/dist/util/http/types.d.ts +9 -16
  698. package/dist/util/http/types.js.map +1 -1
  699. package/dist/util/schema-utils.d.ts +1 -0
  700. package/dist/util/schema-utils.js +43 -8
  701. package/dist/util/schema-utils.js.map +1 -1
  702. package/dist/util/stats.d.ts +10 -0
  703. package/dist/util/stats.js +45 -1
  704. package/dist/util/stats.js.map +1 -1
  705. package/dist/util/string.d.ts +16 -0
  706. package/dist/util/string.js +79 -0
  707. package/dist/util/string.js.map +1 -1
  708. package/dist/util/toml.d.ts +1 -0
  709. package/dist/util/toml.js +6 -0
  710. package/dist/util/toml.js.map +1 -1
  711. package/dist/util/url.js +3 -8
  712. package/dist/util/url.js.map +1 -1
  713. package/dist/util/yaml.js +3 -8
  714. package/dist/util/yaml.js.map +1 -1
  715. package/dist/workers/global/config/parse/env.js +3 -2
  716. package/dist/workers/global/config/parse/env.js.map +1 -1
  717. package/dist/workers/global/config/parse/file.js +19 -9
  718. package/dist/workers/global/config/parse/file.js.map +1 -1
  719. package/dist/workers/global/config/parse/host-rules-from-env.js +6 -2
  720. package/dist/workers/global/config/parse/host-rules-from-env.js.map +1 -1
  721. package/dist/workers/global/config/parse/index.js +15 -0
  722. package/dist/workers/global/config/parse/index.js.map +1 -1
  723. package/dist/workers/global/index.js +4 -2
  724. package/dist/workers/global/index.js.map +1 -1
  725. package/dist/workers/repository/cache.js +1 -2
  726. package/dist/workers/repository/cache.js.map +1 -1
  727. package/dist/workers/repository/config-migration/branch/migrated-data.js +2 -0
  728. package/dist/workers/repository/config-migration/branch/migrated-data.js.map +1 -1
  729. package/dist/workers/repository/index.js +1 -0
  730. package/dist/workers/repository/index.js.map +1 -1
  731. package/dist/workers/repository/init/merge.js +6 -3
  732. package/dist/workers/repository/init/merge.js.map +1 -1
  733. package/dist/workers/repository/onboarding/pr/config-description.js +3 -1
  734. package/dist/workers/repository/onboarding/pr/config-description.js.map +1 -1
  735. package/dist/workers/repository/process/extract-update.js +0 -1
  736. package/dist/workers/repository/process/extract-update.js.map +1 -1
  737. package/dist/workers/repository/process/fingerprint-fields.js +0 -1
  738. package/dist/workers/repository/process/fingerprint-fields.js.map +1 -1
  739. package/dist/workers/repository/process/libyear.js +2 -2
  740. package/dist/workers/repository/process/libyear.js.map +1 -1
  741. package/dist/workers/repository/process/lookup/index.js +15 -4
  742. package/dist/workers/repository/process/lookup/index.js.map +1 -1
  743. package/dist/workers/repository/process/lookup/timestamps.d.ts +18 -0
  744. package/dist/workers/repository/process/lookup/timestamps.js +69 -0
  745. package/dist/workers/repository/process/lookup/timestamps.js.map +1 -0
  746. package/dist/workers/repository/process/lookup/types.d.ts +1 -0
  747. package/dist/workers/repository/process/lookup/types.js.map +1 -1
  748. package/dist/workers/repository/process/lookup/utils.js +20 -9
  749. package/dist/workers/repository/process/lookup/utils.js.map +1 -1
  750. package/dist/workers/repository/process/sort.js +1 -1
  751. package/dist/workers/repository/process/sort.js.map +1 -1
  752. package/dist/workers/repository/process/vulnerabilities.js +1 -1
  753. package/dist/workers/repository/process/vulnerabilities.js.map +1 -1
  754. package/dist/workers/repository/process/write.js +1 -8
  755. package/dist/workers/repository/process/write.js.map +1 -1
  756. package/dist/workers/repository/reconfigure/utils.d.ts +2 -0
  757. package/dist/workers/repository/reconfigure/utils.js +16 -0
  758. package/dist/workers/repository/reconfigure/utils.js.map +1 -1
  759. package/dist/workers/repository/reconfigure/validate.js +6 -17
  760. package/dist/workers/repository/reconfigure/validate.js.map +1 -1
  761. package/dist/workers/repository/update/branch/auto-replace.js +25 -5
  762. package/dist/workers/repository/update/branch/auto-replace.js.map +1 -1
  763. package/dist/workers/repository/update/branch/commit.js +2 -0
  764. package/dist/workers/repository/update/branch/commit.js.map +1 -1
  765. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js +10 -1
  766. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js.map +1 -1
  767. package/dist/workers/repository/update/pr/body/config-description.js +26 -1
  768. package/dist/workers/repository/update/pr/body/config-description.js.map +1 -1
  769. package/dist/workers/repository/update/pr/body/index.js +21 -14
  770. package/dist/workers/repository/update/pr/body/index.js.map +1 -1
  771. package/dist/workers/repository/update/pr/changelog/api.js +8 -6
  772. package/dist/workers/repository/update/pr/changelog/api.js.map +1 -1
  773. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js +1 -1
  774. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js.map +1 -1
  775. package/dist/workers/repository/update/pr/changelog/bitbucket-server/index.d.ts +3 -0
  776. package/dist/workers/repository/update/pr/changelog/bitbucket-server/index.js +39 -0
  777. package/dist/workers/repository/update/pr/changelog/bitbucket-server/index.js.map +1 -0
  778. package/dist/workers/repository/update/pr/changelog/bitbucket-server/source.d.ts +8 -0
  779. package/dist/workers/repository/update/pr/changelog/bitbucket-server/source.js +31 -0
  780. package/dist/workers/repository/update/pr/changelog/bitbucket-server/source.js.map +1 -0
  781. package/dist/workers/repository/update/pr/changelog/github/index.js +6 -3
  782. package/dist/workers/repository/update/pr/changelog/github/index.js.map +1 -1
  783. package/dist/workers/repository/update/pr/changelog/gitlab/index.js +1 -1
  784. package/dist/workers/repository/update/pr/changelog/gitlab/index.js.map +1 -1
  785. package/dist/workers/repository/update/pr/changelog/release-notes.js +12 -8
  786. package/dist/workers/repository/update/pr/changelog/release-notes.js.map +1 -1
  787. package/dist/workers/repository/update/pr/changelog/source.d.ts +1 -1
  788. package/dist/workers/repository/update/pr/changelog/source.js +1 -0
  789. package/dist/workers/repository/update/pr/changelog/source.js.map +1 -1
  790. package/dist/workers/repository/update/pr/changelog/types.d.ts +1 -1
  791. package/dist/workers/repository/update/pr/changelog/types.js.map +1 -1
  792. package/dist/workers/repository/update/pr/index.js +2 -4
  793. package/dist/workers/repository/update/pr/index.js.map +1 -1
  794. package/dist/workers/repository/updates/flatten.js +8 -4
  795. package/dist/workers/repository/updates/flatten.js.map +1 -1
  796. package/dist/workers/repository/updates/generate.js +3 -2
  797. package/dist/workers/repository/updates/generate.js.map +1 -1
  798. package/dist/workers/types.d.ts +1 -4
  799. package/dist/workers/types.js.map +1 -1
  800. package/package.json +85 -85
  801. package/renovate-schema.json +24 -3
  802. package/dist/modules/manager/github-actions/types.d.ts +0 -30
  803. package/dist/modules/manager/github-actions/types.js +0 -3
  804. package/dist/modules/manager/github-actions/types.js.map +0 -1
  805. package/dist/modules/manager/gitlabci/common.d.ts +0 -6
  806. package/dist/modules/manager/gitlabci/common.js +0 -30
  807. package/dist/modules/manager/gitlabci/common.js.map +0 -1
  808. package/dist/modules/manager/gitlabci/types.d.ts +0 -35
  809. package/dist/modules/manager/gitlabci/types.js +0 -3
  810. package/dist/modules/manager/gitlabci/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/nuget/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import { quote } from 'shlex';\nimport { join } from 'upath';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport {\n ensureDir,\n getLocalFiles,\n getSiblingFileName,\n outputCacheFile,\n privateCacheDir,\n writeLocalFile,\n} from '../../../util/fs';\nimport { getFiles } from '../../../util/git';\nimport { regEx } from '../../../util/regex';\nimport type {\n UpdateArtifact,\n UpdateArtifactsConfig,\n UpdateArtifactsResult,\n} from '../types';\nimport { createNuGetConfigXml } from './config-formatter';\nimport {\n MSBUILD_CENTRAL_FILE,\n NUGET_CENTRAL_FILE,\n getDependentPackageFiles,\n} from './package-tree';\nimport {\n findGlobalJson,\n getConfiguredRegistries,\n getDefaultRegistries,\n} from './util';\n\nasync function createCachedNuGetConfigFile(\n nugetCacheDir: string,\n packageFileName: string,\n): Promise<string> {\n const registries =\n (await getConfiguredRegistries(packageFileName)) ?? getDefaultRegistries();\n\n const contents = createNuGetConfigXml(registries);\n\n const cachedNugetConfigFile = join(nugetCacheDir, `nuget.config`);\n await ensureDir(nugetCacheDir);\n await outputCacheFile(cachedNugetConfigFile, contents);\n\n return cachedNugetConfigFile;\n}\n\nasync function runDotnetRestore(\n packageFileName: string,\n dependentPackageFileNames: string[],\n config: UpdateArtifactsConfig,\n): Promise<void> {\n const nugetCacheDir = join(privateCacheDir(), 'nuget');\n\n const nugetConfigFile = await createCachedNuGetConfigFile(\n nugetCacheDir,\n packageFileName,\n );\n\n const dotnetVersion =\n config.constraints?.dotnet ??\n (await findGlobalJson(packageFileName))?.sdk?.version;\n const execOptions: ExecOptions = {\n docker: {},\n userConfiguredEnv: config.env,\n extraEnv: {\n NUGET_PACKAGES: join(nugetCacheDir, 'packages'),\n MSBUILDDISABLENODEREUSE: '1',\n },\n toolConstraints: [{ toolName: 'dotnet', constraint: dotnetVersion }],\n };\n\n const cmds = [\n ...dependentPackageFileNames.map(\n (fileName) =>\n `dotnet restore ${quote(\n fileName,\n )} --force-evaluate --configfile ${quote(nugetConfigFile)}`,\n ),\n ];\n await exec(cmds, execOptions);\n}\n\nexport async function updateArtifacts({\n packageFileName,\n newPackageFileContent,\n config,\n updatedDeps,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`nuget.updateArtifacts(${packageFileName})`);\n\n // https://github.com/NuGet/Home/wiki/Centrally-managing-NuGet-package-versions\n // https://github.com/microsoft/MSBuildSdks/tree/main/src/CentralPackageVersions\n const isCentralManagement =\n packageFileName === NUGET_CENTRAL_FILE ||\n packageFileName === MSBUILD_CENTRAL_FILE ||\n packageFileName.endsWith(`/${NUGET_CENTRAL_FILE}`) ||\n packageFileName.endsWith(`/${MSBUILD_CENTRAL_FILE}`);\n\n if (\n !isCentralManagement &&\n !regEx(/(?:cs|vb|fs)proj$/i).test(packageFileName)\n ) {\n // This could be implemented in the future if necessary.\n // It's not that easy though because the questions which\n // project file to restore how to determine which lock files\n // have been changed in such cases.\n logger.debug(\n { packageFileName },\n 'Not updating lock file for non project files',\n );\n return null;\n }\n\n const deps = await getDependentPackageFiles(\n packageFileName,\n isCentralManagement,\n );\n const packageFiles = deps.filter((d) => d.isLeaf).map((d) => d.name);\n\n logger.trace(\n { packageFiles },\n `Found ${packageFiles.length} dependent package files`,\n );\n\n const lockFileNames = deps.map((f) =>\n getSiblingFileName(f.name, 'packages.lock.json'),\n );\n\n const existingLockFileContentMap = await getFiles(lockFileNames);\n\n const hasLockFileContent = Object.values(existingLockFileContentMap).some(\n (val) => !!val,\n );\n if (!hasLockFileContent) {\n logger.debug(\n { packageFileName },\n 'No lock file found for package or dependents',\n );\n return null;\n }\n\n try {\n if (updatedDeps.length === 0 && config.isLockFileMaintenance !== true) {\n logger.debug(\n `Not updating lock file because no deps changed and no lock file maintenance.`,\n );\n return null;\n }\n\n await writeLocalFile(packageFileName, newPackageFileContent);\n\n await runDotnetRestore(packageFileName, packageFiles, config);\n\n const newLockFileContentMap = await getLocalFiles(lockFileNames);\n\n const retArray: UpdateArtifactsResult[] = [];\n for (const lockFileName of lockFileNames) {\n if (\n existingLockFileContentMap[lockFileName] ===\n newLockFileContentMap[lockFileName]\n ) {\n logger.trace(`Lock file ${lockFileName} is unchanged`);\n } else if (newLockFileContentMap[lockFileName]) {\n retArray.push({\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newLockFileContentMap[lockFileName],\n },\n });\n }\n // TODO: else should we return an artifact error if new content is missing?\n }\n\n return retArray.length > 0 ? retArray : null;\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, 'Failed to generate lock file');\n return [\n {\n artifactError: {\n lockFile: lockFileNames.join(', '),\n // error is written to stdout\n stderr: err.stdout || err.message,\n },\n },\n ];\n }\n}\n"]}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/nuget/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import { quote } from 'shlex';\nimport { join } from 'upath';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport {\n ensureDir,\n getLocalFiles,\n getSiblingFileName,\n outputCacheFile,\n privateCacheDir,\n writeLocalFile,\n} from '../../../util/fs';\nimport { getFiles } from '../../../util/git';\nimport { regEx } from '../../../util/regex';\nimport type {\n UpdateArtifact,\n UpdateArtifactsConfig,\n UpdateArtifactsResult,\n} from '../types';\nimport { createNuGetConfigXml } from './config-formatter';\nimport {\n MSBUILD_CENTRAL_FILE,\n NUGET_CENTRAL_FILE,\n getDependentPackageFiles,\n} from './package-tree';\nimport {\n findGlobalJson,\n getConfiguredRegistries,\n getDefaultRegistries,\n} from './util';\n\nasync function createCachedNuGetConfigFile(\n nugetCacheDir: string,\n packageFileName: string,\n): Promise<string> {\n const registries =\n (await getConfiguredRegistries(packageFileName)) ?? getDefaultRegistries();\n\n const contents = createNuGetConfigXml(registries);\n\n const cachedNugetConfigFile = join(nugetCacheDir, `nuget.config`);\n await ensureDir(nugetCacheDir);\n await outputCacheFile(cachedNugetConfigFile, contents);\n\n return cachedNugetConfigFile;\n}\n\nasync function runDotnetRestore(\n packageFileName: string,\n dependentPackageFileNames: string[],\n config: UpdateArtifactsConfig,\n): Promise<void> {\n const nugetCacheDir = join(privateCacheDir(), 'nuget');\n\n const nugetConfigFile = await createCachedNuGetConfigFile(\n nugetCacheDir,\n packageFileName,\n );\n\n const dotnetVersion =\n config.constraints?.dotnet ??\n (await findGlobalJson(packageFileName))?.sdk?.version;\n const execOptions: ExecOptions = {\n docker: {},\n extraEnv: {\n NUGET_PACKAGES: join(nugetCacheDir, 'packages'),\n MSBUILDDISABLENODEREUSE: '1',\n },\n toolConstraints: [{ toolName: 'dotnet', constraint: dotnetVersion }],\n };\n\n const cmds = [\n ...dependentPackageFileNames.map(\n (fileName) =>\n `dotnet restore ${quote(\n fileName,\n )} --force-evaluate --configfile ${quote(nugetConfigFile)}`,\n ),\n ];\n await exec(cmds, execOptions);\n}\n\nexport async function updateArtifacts({\n packageFileName,\n newPackageFileContent,\n config,\n updatedDeps,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`nuget.updateArtifacts(${packageFileName})`);\n\n // https://github.com/NuGet/Home/wiki/Centrally-managing-NuGet-package-versions\n // https://github.com/microsoft/MSBuildSdks/tree/main/src/CentralPackageVersions\n const isCentralManagement =\n packageFileName === NUGET_CENTRAL_FILE ||\n packageFileName === MSBUILD_CENTRAL_FILE ||\n packageFileName.endsWith(`/${NUGET_CENTRAL_FILE}`) ||\n packageFileName.endsWith(`/${MSBUILD_CENTRAL_FILE}`);\n\n if (\n !isCentralManagement &&\n !regEx(/(?:cs|vb|fs)proj$/i).test(packageFileName)\n ) {\n // This could be implemented in the future if necessary.\n // It's not that easy though because the questions which\n // project file to restore how to determine which lock files\n // have been changed in such cases.\n logger.debug(\n { packageFileName },\n 'Not updating lock file for non project files',\n );\n return null;\n }\n\n const deps = await getDependentPackageFiles(\n packageFileName,\n isCentralManagement,\n );\n const packageFiles = deps.filter((d) => d.isLeaf).map((d) => d.name);\n\n logger.trace(\n { packageFiles },\n `Found ${packageFiles.length} dependent package files`,\n );\n\n const lockFileNames = deps.map((f) =>\n getSiblingFileName(f.name, 'packages.lock.json'),\n );\n\n const existingLockFileContentMap = await getFiles(lockFileNames);\n\n const hasLockFileContent = Object.values(existingLockFileContentMap).some(\n (val) => !!val,\n );\n if (!hasLockFileContent) {\n logger.debug(\n { packageFileName },\n 'No lock file found for package or dependents',\n );\n return null;\n }\n\n try {\n if (updatedDeps.length === 0 && config.isLockFileMaintenance !== true) {\n logger.debug(\n `Not updating lock file because no deps changed and no lock file maintenance.`,\n );\n return null;\n }\n\n await writeLocalFile(packageFileName, newPackageFileContent);\n\n await runDotnetRestore(packageFileName, packageFiles, config);\n\n const newLockFileContentMap = await getLocalFiles(lockFileNames);\n\n const retArray: UpdateArtifactsResult[] = [];\n for (const lockFileName of lockFileNames) {\n if (\n existingLockFileContentMap[lockFileName] ===\n newLockFileContentMap[lockFileName]\n ) {\n logger.trace(`Lock file ${lockFileName} is unchanged`);\n } else if (newLockFileContentMap[lockFileName]) {\n retArray.push({\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newLockFileContentMap[lockFileName],\n },\n });\n }\n // TODO: else should we return an artifact error if new content is missing?\n }\n\n return retArray.length > 0 ? retArray : null;\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, 'Failed to generate lock file');\n return [\n {\n artifactError: {\n lockFile: lockFileNames.join(', '),\n // error is written to stdout\n stderr: err.stdout ?? err.message,\n },\n },\n ];\n }\n}\n"]}
@@ -6,7 +6,6 @@ const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
6
6
  const xmldoc_1 = require("xmldoc");
7
7
  const logger_1 = require("../../../logger");
8
8
  const fs_1 = require("../../../util/fs");
9
- const regex_1 = require("../../../util/regex");
10
9
  const nuget_1 = require("../../datasource/nuget");
11
10
  const extract_1 = require("../dockerfile/extract");
12
11
  const global_manifest_1 = require("./extract/global-manifest");
@@ -16,13 +15,7 @@ const util_1 = require("./util");
16
15
  * This article mentions that Nuget 3.x and later tries to restore the lowest possible version
17
16
  * regarding to given version range.
18
17
  * 1.3.4 equals [1.3.4,)
19
- * Due to guarantee that an update of package version will result in its usage by the next restore + build operation,
20
- * only following constrained versions make sense
21
- * 1.3.4, [1.3.4], [1.3.4, ], [1.3.4, )
22
- * The update of the right boundary does not make sense regarding to the lowest version restore rule,
23
- * so we don't include it in the extracting regexp
24
18
  */
25
- const checkVersion = (0, regex_1.regEx)(/^\s*(?:[[])?(?:(?<currentValue>[^"(,[\]]+)\s*(?:,\s*[)\]]|])?)\s*$/);
26
19
  const elemNames = new Set([
27
20
  'PackageReference',
28
21
  'PackageVersion',
@@ -67,25 +60,23 @@ function extractDepsFromXml(xmlNode) {
67
60
  currentValue = currentValue
68
61
  ?.trim()
69
62
  ?.replace(/^\$\((\w+)\)$/, (match, key) => {
63
+ sharedVariableName = key;
70
64
  const val = vars.get(key);
71
65
  if (val) {
72
- sharedVariableName = key;
73
66
  return val;
74
67
  }
75
68
  return match;
76
69
  });
77
70
  if (sharedVariableName) {
78
- dep.sharedVariableName = sharedVariableName;
79
- }
80
- currentValue = checkVersion
81
- .exec(currentValue)
82
- ?.groups?.currentValue?.trim();
83
- if (currentValue) {
84
- dep.currentValue = currentValue;
85
- }
86
- else {
87
- dep.skipReason = 'invalid-version';
71
+ if (currentValue === `$(${sharedVariableName})`) {
72
+ // this means that be failed to find/replace the variable
73
+ dep.skipReason = 'contains-variable';
74
+ }
75
+ else {
76
+ dep.sharedVariableName = sharedVariableName;
77
+ }
88
78
  }
79
+ dep.currentValue = currentValue;
89
80
  results.push(dep);
90
81
  }
91
82
  else if (name === 'Sdk') {
@@ -101,6 +92,18 @@ function extractDepsFromXml(xmlNode) {
101
92
  });
102
93
  }
103
94
  }
95
+ else if (name === 'Import') {
96
+ const depName = attr?.Sdk;
97
+ const version = attr?.Version;
98
+ if (depName && version) {
99
+ results.push({
100
+ depName,
101
+ currentValue: version,
102
+ depType: 'msbuild-sdk',
103
+ datasource: nuget_1.NugetDatasource.id,
104
+ });
105
+ }
106
+ }
104
107
  else {
105
108
  if (name === 'Project') {
106
109
  if (attr?.Sdk) {
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/nuget/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport type { XmlNode } from 'xmldoc';\nimport { XmlDocument, XmlElement } from 'xmldoc';\nimport { logger } from '../../../logger';\nimport { getSiblingFileName, localPathExists } from '../../../util/fs';\nimport { regEx } from '../../../util/regex';\nimport { NugetDatasource } from '../../datasource/nuget';\nimport { getDep } from '../dockerfile/extract';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types';\nimport { extractMsbuildGlobalManifest } from './extract/global-manifest';\nimport type { DotnetToolsManifest, NugetPackageDependency } from './types';\nimport { applyRegistries, findVersion, getConfiguredRegistries } from './util';\n\n/**\n * https://docs.microsoft.com/en-us/nuget/concepts/package-versioning\n * This article mentions that Nuget 3.x and later tries to restore the lowest possible version\n * regarding to given version range.\n * 1.3.4 equals [1.3.4,)\n * Due to guarantee that an update of package version will result in its usage by the next restore + build operation,\n * only following constrained versions make sense\n * 1.3.4, [1.3.4], [1.3.4, ], [1.3.4, )\n * The update of the right boundary does not make sense regarding to the lowest version restore rule,\n * so we don't include it in the extracting regexp\n */\nconst checkVersion = regEx(\n /^\\s*(?:[[])?(?:(?<currentValue>[^\"(,[\\]]+)\\s*(?:,\\s*[)\\]]|])?)\\s*$/,\n);\nconst elemNames = new Set([\n 'PackageReference',\n 'PackageVersion',\n 'DotNetCliToolReference',\n 'GlobalPackageReference',\n]);\n\nfunction isXmlElem(node: XmlNode): node is XmlElement {\n return node instanceof XmlElement;\n}\n\nfunction extractDepsFromXml(xmlNode: XmlDocument): NugetPackageDependency[] {\n const results: NugetPackageDependency[] = [];\n const vars = new Map<string, string>();\n const todo: XmlElement[] = [xmlNode];\n while (todo.length) {\n const child = todo.pop()!;\n const { name, attr } = child;\n\n if (name === 'ContainerBaseImage') {\n const { depName, ...dep } = getDep(child.val, true);\n\n if (is.nonEmptyStringAndNotWhitespace(depName)) {\n results.push({ ...dep, depName, depType: 'docker' });\n }\n } else if (elemNames.has(name)) {\n const depName = attr?.Include || attr?.Update;\n\n if (!depName) {\n continue;\n }\n\n const dep: NugetPackageDependency = {\n datasource: NugetDatasource.id,\n depType: 'nuget',\n depName,\n };\n\n let currentValue: string | undefined =\n attr?.Version ??\n attr?.version ??\n child.valueWithPath('Version') ??\n attr?.VersionOverride ??\n child.valueWithPath('VersionOverride');\n\n if (!is.nonEmptyStringAndNotWhitespace(currentValue)) {\n dep.skipReason = 'invalid-version';\n }\n\n let sharedVariableName: string | undefined;\n\n currentValue = currentValue\n ?.trim()\n ?.replace(/^\\$\\((\\w+)\\)$/, (match, key) => {\n const val = vars.get(key);\n if (val) {\n sharedVariableName = key;\n return val;\n }\n return match;\n });\n\n if (sharedVariableName) {\n dep.sharedVariableName = sharedVariableName;\n }\n\n currentValue = checkVersion\n .exec(currentValue)\n ?.groups?.currentValue?.trim();\n\n if (currentValue) {\n dep.currentValue = currentValue;\n } else {\n dep.skipReason = 'invalid-version';\n }\n\n results.push(dep);\n } else if (name === 'Sdk') {\n const depName = attr?.Name;\n const version = attr?.Version;\n // if sdk element is present it will always have the Name field but the Version is an optional field\n if (depName && version) {\n results.push({\n depName,\n currentValue: version,\n depType: 'msbuild-sdk',\n datasource: NugetDatasource.id,\n });\n }\n } else {\n if (name === 'Project') {\n if (attr?.Sdk) {\n const str = attr?.Sdk;\n const [name, version] = str.split('/');\n if (name && version) {\n results.push({\n depName: name,\n depType: 'msbuild-sdk',\n currentValue: version,\n datasource: NugetDatasource.id,\n });\n }\n }\n\n const propertyGroup = child.childNamed('PropertyGroup');\n if (propertyGroup) {\n for (const propChild of propertyGroup.children) {\n if (isXmlElem(propChild)) {\n const { name, val } = propChild;\n if (!['Version', 'TargetFramework'].includes(name)) {\n vars.set(name, val);\n }\n }\n }\n }\n }\n\n todo.push(...child.children.filter(isXmlElem));\n }\n }\n return results;\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n _config: ExtractConfig,\n): Promise<PackageFileContent | null> {\n logger.trace(`nuget.extractPackageFile(${packageFile})`);\n\n const registries = await getConfiguredRegistries(packageFile);\n\n if (packageFile.endsWith('dotnet-tools.json')) {\n const deps: PackageDependency[] = [];\n let manifest: DotnetToolsManifest;\n\n try {\n manifest = JSON.parse(content);\n } catch {\n logger.debug({ packageFile }, `Invalid JSON`);\n return null;\n }\n\n if (manifest.version !== 1) {\n logger.debug({ packageFile }, 'Unsupported dotnet tools version');\n return null;\n }\n\n for (const depName of Object.keys(manifest.tools ?? {})) {\n const tool = manifest.tools[depName];\n const currentValue = tool.version;\n const dep: NugetPackageDependency = {\n depType: 'nuget',\n depName,\n currentValue,\n datasource: NugetDatasource.id,\n };\n\n applyRegistries(dep, registries);\n\n deps.push(dep);\n }\n\n return deps.length ? { deps } : null;\n }\n\n if (packageFile.endsWith('global.json')) {\n return extractMsbuildGlobalManifest(content, packageFile, registries);\n }\n\n let deps: PackageDependency[] = [];\n let packageFileVersion: string | undefined;\n try {\n const parsedXml = new XmlDocument(content);\n deps = extractDepsFromXml(parsedXml).map((dep) =>\n applyRegistries(dep, registries),\n );\n packageFileVersion = findVersion(parsedXml)?.val;\n } catch (err) {\n logger.debug({ err, packageFile }, `Failed to parse XML`);\n }\n\n if (!deps.length) {\n return null;\n }\n\n const res: PackageFileContent = { deps, packageFileVersion };\n const lockFileName = getSiblingFileName(packageFile, 'packages.lock.json');\n // istanbul ignore if\n if (await localPathExists(lockFileName)) {\n res.lockFiles = [lockFileName];\n }\n return res;\n}\n"]}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/nuget/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport type { XmlNode } from 'xmldoc';\nimport { XmlDocument, XmlElement } from 'xmldoc';\nimport { logger } from '../../../logger';\nimport { getSiblingFileName, localPathExists } from '../../../util/fs';\nimport { NugetDatasource } from '../../datasource/nuget';\nimport { getDep } from '../dockerfile/extract';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFileContent,\n} from '../types';\nimport { extractMsbuildGlobalManifest } from './extract/global-manifest';\nimport type { DotnetToolsManifest, NugetPackageDependency } from './types';\nimport { applyRegistries, findVersion, getConfiguredRegistries } from './util';\n\n/**\n * https://docs.microsoft.com/en-us/nuget/concepts/package-versioning\n * This article mentions that Nuget 3.x and later tries to restore the lowest possible version\n * regarding to given version range.\n * 1.3.4 equals [1.3.4,)\n */\nconst elemNames = new Set([\n 'PackageReference',\n 'PackageVersion',\n 'DotNetCliToolReference',\n 'GlobalPackageReference',\n]);\n\nfunction isXmlElem(node: XmlNode): node is XmlElement {\n return node instanceof XmlElement;\n}\n\nfunction extractDepsFromXml(xmlNode: XmlDocument): NugetPackageDependency[] {\n const results: NugetPackageDependency[] = [];\n const vars = new Map<string, string>();\n const todo: XmlElement[] = [xmlNode];\n while (todo.length) {\n const child = todo.pop()!;\n const { name, attr } = child;\n\n if (name === 'ContainerBaseImage') {\n const { depName, ...dep } = getDep(child.val, true);\n\n if (is.nonEmptyStringAndNotWhitespace(depName)) {\n results.push({ ...dep, depName, depType: 'docker' });\n }\n } else if (elemNames.has(name)) {\n const depName = attr?.Include || attr?.Update;\n\n if (!depName) {\n continue;\n }\n\n const dep: NugetPackageDependency = {\n datasource: NugetDatasource.id,\n depType: 'nuget',\n depName,\n };\n\n let currentValue: string | undefined =\n attr?.Version ??\n attr?.version ??\n child.valueWithPath('Version') ??\n attr?.VersionOverride ??\n child.valueWithPath('VersionOverride');\n\n if (!is.nonEmptyStringAndNotWhitespace(currentValue)) {\n dep.skipReason = 'invalid-version';\n }\n\n let sharedVariableName: string | undefined;\n\n currentValue = currentValue\n ?.trim()\n ?.replace(/^\\$\\((\\w+)\\)$/, (match, key) => {\n sharedVariableName = key;\n const val = vars.get(key);\n if (val) {\n return val;\n }\n return match;\n });\n\n if (sharedVariableName) {\n if (currentValue === `$(${sharedVariableName})`) {\n // this means that be failed to find/replace the variable\n dep.skipReason = 'contains-variable';\n } else {\n dep.sharedVariableName = sharedVariableName;\n }\n }\n\n dep.currentValue = currentValue;\n results.push(dep);\n } else if (name === 'Sdk') {\n const depName = attr?.Name;\n const version = attr?.Version;\n // if sdk element is present it will always have the Name field but the Version is an optional field\n if (depName && version) {\n results.push({\n depName,\n currentValue: version,\n depType: 'msbuild-sdk',\n datasource: NugetDatasource.id,\n });\n }\n } else if (name === 'Import') {\n const depName = attr?.Sdk;\n const version = attr?.Version;\n if (depName && version) {\n results.push({\n depName,\n currentValue: version,\n depType: 'msbuild-sdk',\n datasource: NugetDatasource.id,\n });\n }\n } else {\n if (name === 'Project') {\n if (attr?.Sdk) {\n const str = attr?.Sdk;\n const [name, version] = str.split('/');\n if (name && version) {\n results.push({\n depName: name,\n depType: 'msbuild-sdk',\n currentValue: version,\n datasource: NugetDatasource.id,\n });\n }\n }\n\n const propertyGroup = child.childNamed('PropertyGroup');\n if (propertyGroup) {\n for (const propChild of propertyGroup.children) {\n if (isXmlElem(propChild)) {\n const { name, val } = propChild;\n if (!['Version', 'TargetFramework'].includes(name)) {\n vars.set(name, val);\n }\n }\n }\n }\n }\n\n todo.push(...child.children.filter(isXmlElem));\n }\n }\n return results;\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n _config: ExtractConfig,\n): Promise<PackageFileContent | null> {\n logger.trace(`nuget.extractPackageFile(${packageFile})`);\n\n const registries = await getConfiguredRegistries(packageFile);\n\n if (packageFile.endsWith('dotnet-tools.json')) {\n const deps: PackageDependency[] = [];\n let manifest: DotnetToolsManifest;\n\n try {\n manifest = JSON.parse(content);\n } catch {\n logger.debug({ packageFile }, `Invalid JSON`);\n return null;\n }\n\n if (manifest.version !== 1) {\n logger.debug({ packageFile }, 'Unsupported dotnet tools version');\n return null;\n }\n\n for (const depName of Object.keys(manifest.tools ?? {})) {\n const tool = manifest.tools[depName];\n const currentValue = tool.version;\n const dep: NugetPackageDependency = {\n depType: 'nuget',\n depName,\n currentValue,\n datasource: NugetDatasource.id,\n };\n\n applyRegistries(dep, registries);\n\n deps.push(dep);\n }\n\n return deps.length ? { deps } : null;\n }\n\n if (packageFile.endsWith('global.json')) {\n return extractMsbuildGlobalManifest(content, packageFile, registries);\n }\n\n let deps: PackageDependency[] = [];\n let packageFileVersion: string | undefined;\n try {\n const parsedXml = new XmlDocument(content);\n deps = extractDepsFromXml(parsedXml).map((dep) =>\n applyRegistries(dep, registries),\n );\n packageFileVersion = findVersion(parsedXml)?.val;\n } catch (err) {\n logger.debug({ err, packageFile }, `Failed to parse XML`);\n }\n\n if (!deps.length) {\n return null;\n }\n\n const res: PackageFileContent = { deps, packageFileVersion };\n const lockFileName = getSiblingFileName(packageFile, 'packages.lock.json');\n // istanbul ignore if\n if (await localPathExists(lockFileName)) {\n res.lockFiles = [lockFileName];\n }\n return res;\n}\n"]}
@@ -64,6 +64,10 @@ async function getDependentPackageFiles(packageFileName, isCentralManagement = f
64
64
  * Traverse graph and find dependent package files at any level of ancestry
65
65
  */
66
66
  function recursivelyGetDependentPackageFiles(packageFileName, graph, deps) {
67
+ if (deps.has(packageFileName)) {
68
+ // we have already visited this package file
69
+ return;
70
+ }
67
71
  const dependents = graph.adjacent(packageFileName);
68
72
  if (!dependents || dependents.size === 0) {
69
73
  deps.set(packageFileName, true);
@@ -1 +1 @@
1
- {"version":3,"file":"package-tree.js","sourceRoot":"","sources":["../../../../lib/modules/manager/nuget/package-tree.ts"],"names":[],"mappings":";;;AAeA,4DAgEC;;AA/ED,kEAAkC;AAClC,+DAAuD;AACvD,0DAA0B;AAC1B,4CAAyC;AACzC,uDAA0D;AAC1D,4CAAyC;AAEzC,iCAA+C;AAElC,QAAA,kBAAkB,GAAG,0BAA0B,CAAC;AAChD,QAAA,oBAAoB,GAAG,gBAAgB,CAAC;AAErD;;GAEG;AACI,KAAK,UAAU,wBAAwB,CAC5C,eAAuB,EACvB,mBAAmB,GAAG,KAAK;IAE3B,MAAM,YAAY,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,4BAAK,EAAE,CAAC;IAE1B,IAAI,mBAAmB,EAAE,CAAC;QACxB,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,SAAS,GACb,eAAe,KAAK,0BAAkB;QACtC,eAAe,KAAK,4BAAoB;QACtC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,eAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAErC,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEjB,IAAI,mBAAmB,IAAI,eAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAClE,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,IAAA,4BAAqB,EAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,SAAS;QACX,CAAC;QAED,MAAM,0BAA0B,GAAG,GAAG;aACnC,aAAa,CAAC,WAAW,CAAC;aAC1B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;aACjD,IAAI,EAAE;aACN,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;aAC5B,MAAM,CAAC,YAAE,CAAC,cAAc,CAAC,CAAC;QAE7B,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7D,eAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CACnB,CAAC;QACF,MAAM,mCAAmC,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACtE,+BAA+B,CAAC,CAAC,EAAE,CAAC,CAAC,CACtC,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,mCAAmC,EAAE,CAAC;YACtD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACxB,CAAC;QAED,IAAI,IAAA,+BAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAmB,CAAC;IACxC,mCAAmC,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAElE,IAAI,mBAAmB,EAAE,CAAC;QACxB,yCAAyC;QACzC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC;IAED,cAAc;IACd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,SAAS,mCAAmC,CAC1C,eAAuB,EACvB,KAAY,EACZ,IAA0B;IAE1B,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAEnD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAEjC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,mCAAmC,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,+BAA+B,CACtC,4BAAoC,EACpC,gBAAwB;IAExB,MAAM,eAAe,GAAG,GAAG,CAAC;IAC5B,MAAM,4BAA4B,GAAG,eAAK,CAAC,OAAO,CAChD,eAAe,EACf,4BAA4B,CAC7B,CAAC;IACF,MAAM,4BAA4B,GAAG,eAAK,CAAC,OAAO,CAChD,eAAK,CAAC,OAAO,CAAC,4BAA4B,CAAC,EAC3C,gBAAgB,CACjB,CAAC;IACF,MAAM,4BAA4B,GAAG,eAAK,CAAC,QAAQ,CACjD,eAAe,EACf,4BAA4B,CAC7B,CAAC;IAEF,OAAO,4BAA4B,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB;IAC/B,MAAM,QAAQ,GAAG,MAAM,SAAG,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,oBAAoB,GAAG,QAAQ,CAAC,MAAM,CAC1C,IAAA,2BAAe,EAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CACvE,CAAC;IAEF,eAAM,CAAC,KAAK,CAAC,EAAE,oBAAoB,EAAE,EAAE,qBAAqB,CAAC,CAAC;IAE9D,OAAO,oBAAoB,CAAC;AAC9B,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { Graph, hasCycle } from 'graph-data-structure';\nimport upath from 'upath';\nimport { logger } from '../../../logger';\nimport { minimatchFilter } from '../../../util/minimatch';\nimport { scm } from '../../platform/scm';\nimport type { ProjectFile } from './types';\nimport { readFileAsXmlDocument } from './util';\n\nexport const NUGET_CENTRAL_FILE = 'Directory.Packages.props';\nexport const MSBUILD_CENTRAL_FILE = 'Packages.props';\n\n/**\n * Get all leaf package files of ancestry that depend on packageFileName.\n */\nexport async function getDependentPackageFiles(\n packageFileName: string,\n isCentralManagement = false,\n): Promise<ProjectFile[]> {\n const packageFiles = await getAllPackageFiles();\n const graph = new Graph();\n\n if (isCentralManagement) {\n graph.addNode(packageFileName);\n }\n\n const parentDir =\n packageFileName === NUGET_CENTRAL_FILE ||\n packageFileName === MSBUILD_CENTRAL_FILE\n ? ''\n : upath.dirname(packageFileName);\n\n for (const f of packageFiles) {\n graph.addNode(f);\n\n if (isCentralManagement && upath.dirname(f).startsWith(parentDir)) {\n graph.addEdge(packageFileName, f);\n }\n }\n\n for (const f of packageFiles) {\n const doc = await readFileAsXmlDocument(f);\n if (!doc) {\n continue;\n }\n\n const projectReferenceAttributes = doc\n .childrenNamed('ItemGroup')\n .map((ig) => ig.childrenNamed('ProjectReference'))\n .flat()\n .map((pf) => pf.attr.Include)\n .filter(is.nonEmptyString);\n\n const projectReferences = projectReferenceAttributes.map((a) =>\n upath.normalize(a),\n );\n const normalizedRelativeProjectReferences = projectReferences.map((r) =>\n reframeRelativePathToRootOfRepo(f, r),\n );\n\n for (const ref of normalizedRelativeProjectReferences) {\n graph.addEdge(ref, f);\n }\n\n if (hasCycle(graph)) {\n throw new Error('Circular reference detected in NuGet package files');\n }\n }\n\n const deps = new Map<string, boolean>();\n recursivelyGetDependentPackageFiles(packageFileName, graph, deps);\n\n if (isCentralManagement) {\n // remove props file, as we don't need it\n deps.delete(packageFileName);\n }\n\n // deduplicate\n return Array.from(deps).map(([name, isLeaf]) => ({ name, isLeaf }));\n}\n\n/**\n * Traverse graph and find dependent package files at any level of ancestry\n */\nfunction recursivelyGetDependentPackageFiles(\n packageFileName: string,\n graph: Graph,\n deps: Map<string, boolean>,\n): void {\n const dependents = graph.adjacent(packageFileName);\n\n if (!dependents || dependents.size === 0) {\n deps.set(packageFileName, true);\n return;\n }\n\n deps.set(packageFileName, false);\n\n for (const dep of dependents) {\n recursivelyGetDependentPackageFiles(dep, graph, deps);\n }\n}\n\n/**\n * Take the path relative from a project file, and make it relative from the root of the repo\n */\nfunction reframeRelativePathToRootOfRepo(\n dependentProjectRelativePath: string,\n projectReference: string,\n): string {\n const virtualRepoRoot = '/';\n const absoluteDependentProjectPath = upath.resolve(\n virtualRepoRoot,\n dependentProjectRelativePath,\n );\n const absoluteProjectReferencePath = upath.resolve(\n upath.dirname(absoluteDependentProjectPath),\n projectReference,\n );\n const relativeProjectReferencePath = upath.relative(\n virtualRepoRoot,\n absoluteProjectReferencePath,\n );\n\n return relativeProjectReferencePath;\n}\n\n/**\n * Get a list of package files in localDir\n */\nasync function getAllPackageFiles(): Promise<string[]> {\n const allFiles = await scm.getFileList();\n const filteredPackageFiles = allFiles.filter(\n minimatchFilter('*.{cs,vb,fs}proj', { matchBase: true, nocase: true }),\n );\n\n logger.trace({ filteredPackageFiles }, 'Found package files');\n\n return filteredPackageFiles;\n}\n"]}
1
+ {"version":3,"file":"package-tree.js","sourceRoot":"","sources":["../../../../lib/modules/manager/nuget/package-tree.ts"],"names":[],"mappings":";;;AAeA,4DAgEC;;AA/ED,kEAAkC;AAClC,+DAAuD;AACvD,0DAA0B;AAC1B,4CAAyC;AACzC,uDAA0D;AAC1D,4CAAyC;AAEzC,iCAA+C;AAElC,QAAA,kBAAkB,GAAG,0BAA0B,CAAC;AAChD,QAAA,oBAAoB,GAAG,gBAAgB,CAAC;AAErD;;GAEG;AACI,KAAK,UAAU,wBAAwB,CAC5C,eAAuB,EACvB,mBAAmB,GAAG,KAAK;IAE3B,MAAM,YAAY,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,4BAAK,EAAE,CAAC;IAE1B,IAAI,mBAAmB,EAAE,CAAC;QACxB,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,SAAS,GACb,eAAe,KAAK,0BAAkB;QACtC,eAAe,KAAK,4BAAoB;QACtC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,eAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAErC,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEjB,IAAI,mBAAmB,IAAI,eAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAClE,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,IAAA,4BAAqB,EAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,SAAS;QACX,CAAC;QAED,MAAM,0BAA0B,GAAG,GAAG;aACnC,aAAa,CAAC,WAAW,CAAC;aAC1B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;aACjD,IAAI,EAAE;aACN,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;aAC5B,MAAM,CAAC,YAAE,CAAC,cAAc,CAAC,CAAC;QAE7B,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7D,eAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CACnB,CAAC;QACF,MAAM,mCAAmC,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACtE,+BAA+B,CAAC,CAAC,EAAE,CAAC,CAAC,CACtC,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,mCAAmC,EAAE,CAAC;YACtD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACxB,CAAC;QAED,IAAI,IAAA,+BAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAmB,CAAC;IACxC,mCAAmC,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAElE,IAAI,mBAAmB,EAAE,CAAC;QACxB,yCAAyC;QACzC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC;IAED,cAAc;IACd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,SAAS,mCAAmC,CAC1C,eAAuB,EACvB,KAAY,EACZ,IAA0B;IAE1B,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QAC9B,4CAA4C;QAC5C,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAEnD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAEjC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,mCAAmC,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,+BAA+B,CACtC,4BAAoC,EACpC,gBAAwB;IAExB,MAAM,eAAe,GAAG,GAAG,CAAC;IAC5B,MAAM,4BAA4B,GAAG,eAAK,CAAC,OAAO,CAChD,eAAe,EACf,4BAA4B,CAC7B,CAAC;IACF,MAAM,4BAA4B,GAAG,eAAK,CAAC,OAAO,CAChD,eAAK,CAAC,OAAO,CAAC,4BAA4B,CAAC,EAC3C,gBAAgB,CACjB,CAAC;IACF,MAAM,4BAA4B,GAAG,eAAK,CAAC,QAAQ,CACjD,eAAe,EACf,4BAA4B,CAC7B,CAAC;IAEF,OAAO,4BAA4B,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB;IAC/B,MAAM,QAAQ,GAAG,MAAM,SAAG,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,oBAAoB,GAAG,QAAQ,CAAC,MAAM,CAC1C,IAAA,2BAAe,EAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CACvE,CAAC;IAEF,eAAM,CAAC,KAAK,CAAC,EAAE,oBAAoB,EAAE,EAAE,qBAAqB,CAAC,CAAC;IAE9D,OAAO,oBAAoB,CAAC;AAC9B,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { Graph, hasCycle } from 'graph-data-structure';\nimport upath from 'upath';\nimport { logger } from '../../../logger';\nimport { minimatchFilter } from '../../../util/minimatch';\nimport { scm } from '../../platform/scm';\nimport type { ProjectFile } from './types';\nimport { readFileAsXmlDocument } from './util';\n\nexport const NUGET_CENTRAL_FILE = 'Directory.Packages.props';\nexport const MSBUILD_CENTRAL_FILE = 'Packages.props';\n\n/**\n * Get all leaf package files of ancestry that depend on packageFileName.\n */\nexport async function getDependentPackageFiles(\n packageFileName: string,\n isCentralManagement = false,\n): Promise<ProjectFile[]> {\n const packageFiles = await getAllPackageFiles();\n const graph = new Graph();\n\n if (isCentralManagement) {\n graph.addNode(packageFileName);\n }\n\n const parentDir =\n packageFileName === NUGET_CENTRAL_FILE ||\n packageFileName === MSBUILD_CENTRAL_FILE\n ? ''\n : upath.dirname(packageFileName);\n\n for (const f of packageFiles) {\n graph.addNode(f);\n\n if (isCentralManagement && upath.dirname(f).startsWith(parentDir)) {\n graph.addEdge(packageFileName, f);\n }\n }\n\n for (const f of packageFiles) {\n const doc = await readFileAsXmlDocument(f);\n if (!doc) {\n continue;\n }\n\n const projectReferenceAttributes = doc\n .childrenNamed('ItemGroup')\n .map((ig) => ig.childrenNamed('ProjectReference'))\n .flat()\n .map((pf) => pf.attr.Include)\n .filter(is.nonEmptyString);\n\n const projectReferences = projectReferenceAttributes.map((a) =>\n upath.normalize(a),\n );\n const normalizedRelativeProjectReferences = projectReferences.map((r) =>\n reframeRelativePathToRootOfRepo(f, r),\n );\n\n for (const ref of normalizedRelativeProjectReferences) {\n graph.addEdge(ref, f);\n }\n\n if (hasCycle(graph)) {\n throw new Error('Circular reference detected in NuGet package files');\n }\n }\n\n const deps = new Map<string, boolean>();\n recursivelyGetDependentPackageFiles(packageFileName, graph, deps);\n\n if (isCentralManagement) {\n // remove props file, as we don't need it\n deps.delete(packageFileName);\n }\n\n // deduplicate\n return Array.from(deps).map(([name, isLeaf]) => ({ name, isLeaf }));\n}\n\n/**\n * Traverse graph and find dependent package files at any level of ancestry\n */\nfunction recursivelyGetDependentPackageFiles(\n packageFileName: string,\n graph: Graph,\n deps: Map<string, boolean>,\n): void {\n if (deps.has(packageFileName)) {\n // we have already visited this package file\n return;\n }\n\n const dependents = graph.adjacent(packageFileName);\n\n if (!dependents || dependents.size === 0) {\n deps.set(packageFileName, true);\n return;\n }\n\n deps.set(packageFileName, false);\n\n for (const dep of dependents) {\n recursivelyGetDependentPackageFiles(dep, graph, deps);\n }\n}\n\n/**\n * Take the path relative from a project file, and make it relative from the root of the repo\n */\nfunction reframeRelativePathToRootOfRepo(\n dependentProjectRelativePath: string,\n projectReference: string,\n): string {\n const virtualRepoRoot = '/';\n const absoluteDependentProjectPath = upath.resolve(\n virtualRepoRoot,\n dependentProjectRelativePath,\n );\n const absoluteProjectReferencePath = upath.resolve(\n upath.dirname(absoluteDependentProjectPath),\n projectReference,\n );\n const relativeProjectReferencePath = upath.relative(\n virtualRepoRoot,\n absoluteProjectReferencePath,\n );\n\n return relativeProjectReferencePath;\n}\n\n/**\n * Get a list of package files in localDir\n */\nasync function getAllPackageFiles(): Promise<string[]> {\n const allFiles = await scm.getFileList();\n const filteredPackageFiles = allFiles.filter(\n minimatchFilter('*.{cs,vb,fs}proj', { matchBase: true, nocase: true }),\n );\n\n logger.trace({ filteredPackageFiles }, 'Found package files');\n\n return filteredPackageFiles;\n}\n"]}
@@ -36,11 +36,11 @@ export declare const GlobalJsonSchema: z.ZodObject<{
36
36
  allowPrerelease: z.ZodOptional<z.ZodBoolean>;
37
37
  }, "strip", z.ZodTypeAny, {
38
38
  version?: string | undefined;
39
- rollForward?: "major" | "minor" | "patch" | "disable" | "feature" | "latestPatch" | "latestFeature" | "latestMinor" | "latestMajor" | undefined;
39
+ rollForward?: "major" | "minor" | "patch" | "feature" | "latestPatch" | "latestFeature" | "latestMinor" | "latestMajor" | "disable" | undefined;
40
40
  allowPrerelease?: boolean | undefined;
41
41
  }, {
42
42
  version?: string | undefined;
43
- rollForward?: "major" | "minor" | "patch" | "disable" | "feature" | "latestPatch" | "latestFeature" | "latestMinor" | "latestMajor" | undefined;
43
+ rollForward?: "major" | "minor" | "patch" | "feature" | "latestPatch" | "latestFeature" | "latestMinor" | "latestMajor" | "disable" | undefined;
44
44
  allowPrerelease?: boolean | undefined;
45
45
  }>>;
46
46
  /**
@@ -52,14 +52,14 @@ export declare const GlobalJsonSchema: z.ZodObject<{
52
52
  }, "strip", z.ZodTypeAny, {
53
53
  sdk?: {
54
54
  version?: string | undefined;
55
- rollForward?: "major" | "minor" | "patch" | "disable" | "feature" | "latestPatch" | "latestFeature" | "latestMinor" | "latestMajor" | undefined;
55
+ rollForward?: "major" | "minor" | "patch" | "feature" | "latestPatch" | "latestFeature" | "latestMinor" | "latestMajor" | "disable" | undefined;
56
56
  allowPrerelease?: boolean | undefined;
57
57
  } | undefined;
58
58
  'msbuild-sdks'?: Record<string, string> | undefined;
59
59
  }, {
60
60
  sdk?: {
61
61
  version?: string | undefined;
62
- rollForward?: "major" | "minor" | "patch" | "disable" | "feature" | "latestPatch" | "latestFeature" | "latestMinor" | "latestMajor" | undefined;
62
+ rollForward?: "major" | "minor" | "patch" | "feature" | "latestPatch" | "latestFeature" | "latestMinor" | "latestMajor" | "disable" | undefined;
63
63
  allowPrerelease?: boolean | undefined;
64
64
  } | undefined;
65
65
  'msbuild-sdks'?: Record<string, string> | undefined;
@@ -89,11 +89,11 @@ export declare const GlobalJson: z.ZodPipeline<z.ZodEffects<z.ZodString, string
89
89
  allowPrerelease: z.ZodOptional<z.ZodBoolean>;
90
90
  }, "strip", z.ZodTypeAny, {
91
91
  version?: string | undefined;
92
- rollForward?: "major" | "minor" | "patch" | "disable" | "feature" | "latestPatch" | "latestFeature" | "latestMinor" | "latestMajor" | undefined;
92
+ rollForward?: "major" | "minor" | "patch" | "feature" | "latestPatch" | "latestFeature" | "latestMinor" | "latestMajor" | "disable" | undefined;
93
93
  allowPrerelease?: boolean | undefined;
94
94
  }, {
95
95
  version?: string | undefined;
96
- rollForward?: "major" | "minor" | "patch" | "disable" | "feature" | "latestPatch" | "latestFeature" | "latestMinor" | "latestMajor" | undefined;
96
+ rollForward?: "major" | "minor" | "patch" | "feature" | "latestPatch" | "latestFeature" | "latestMinor" | "latestMajor" | "disable" | undefined;
97
97
  allowPrerelease?: boolean | undefined;
98
98
  }>>;
99
99
  /**
@@ -105,14 +105,14 @@ export declare const GlobalJson: z.ZodPipeline<z.ZodEffects<z.ZodString, string
105
105
  }, "strip", z.ZodTypeAny, {
106
106
  sdk?: {
107
107
  version?: string | undefined;
108
- rollForward?: "major" | "minor" | "patch" | "disable" | "feature" | "latestPatch" | "latestFeature" | "latestMinor" | "latestMajor" | undefined;
108
+ rollForward?: "major" | "minor" | "patch" | "feature" | "latestPatch" | "latestFeature" | "latestMinor" | "latestMajor" | "disable" | undefined;
109
109
  allowPrerelease?: boolean | undefined;
110
110
  } | undefined;
111
111
  'msbuild-sdks'?: Record<string, string> | undefined;
112
112
  }, {
113
113
  sdk?: {
114
114
  version?: string | undefined;
115
- rollForward?: "major" | "minor" | "patch" | "disable" | "feature" | "latestPatch" | "latestFeature" | "latestMinor" | "latestMajor" | undefined;
115
+ rollForward?: "major" | "minor" | "patch" | "feature" | "latestPatch" | "latestFeature" | "latestMinor" | "latestMajor" | "disable" | undefined;
116
116
  allowPrerelease?: boolean | undefined;
117
117
  } | undefined;
118
118
  'msbuild-sdks'?: Record<string, string> | undefined;
@@ -156,6 +156,7 @@ function applyRegistries(dep, registries) {
156
156
  * Sorts patterns by specificity:
157
157
  * 1. Exact match patterns
158
158
  * 2. Wildcard match patterns
159
+ * The longest pattern has precedence.
159
160
  */
160
161
  function sortPatterns(a, b) {
161
162
  if (a[0].endsWith('*') && !b[0].endsWith('*')) {
@@ -164,7 +165,9 @@ function sortPatterns(a, b) {
164
165
  if (!a[0].endsWith('*') && b[0].endsWith('*')) {
165
166
  return -1;
166
167
  }
167
- return a[0].localeCompare(b[0]) * -1;
168
+ const aTrim = a[0].slice(0, -1);
169
+ const bTrim = b[0].slice(0, -1);
170
+ return aTrim.localeCompare(bTrim) * -1;
168
171
  }
169
172
  async function findGlobalJson(packageFile) {
170
173
  const globalJsonPath = await (0, fs_1.findLocalSiblingOrParent)(packageFile, 'global.json');
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../lib/modules/manager/nuget/util.ts"],"names":[],"mappings":"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","sourcesContent":["import upath from 'upath';\nimport type { XmlElement } from 'xmldoc';\nimport { XmlDocument } from 'xmldoc';\nimport { logger } from '../../../logger';\nimport {\n findLocalSiblingOrParent,\n findUpLocal,\n readLocalFile,\n} from '../../../util/fs';\nimport { minimatch } from '../../../util/minimatch';\nimport { regEx } from '../../../util/regex';\nimport { nugetOrg } from '../../datasource/nuget';\nimport { GlobalJson } from './schema';\nimport type { NugetPackageDependency, Registry } from './types';\n\nexport async function readFileAsXmlDocument(\n file: string,\n): Promise<XmlDocument | undefined> {\n try {\n // TODO #22198\n const doc = new XmlDocument((await readLocalFile(file, 'utf8'))!);\n // don't return empty documents\n return doc?.firstChild ? doc : undefined;\n } catch (err) {\n logger.debug({ err, file }, `failed to parse file as XML document`);\n return undefined;\n }\n}\n\n/**\n * The default `nuget.org` named registry.\n * @returns the default registry for NuGet\n */\nexport function getDefaultRegistries(): Registry[] {\n return [{ url: nugetOrg, name: 'nuget.org' }];\n}\n\nexport async function getConfiguredRegistries(\n packageFile: string,\n): Promise<Registry[] | undefined> {\n // Valid file names taken from https://github.com/NuGet/NuGet.Client/blob/f64621487c0b454eda4b98af853bf4a528bef72a/src/NuGet.Core/NuGet.Configuration/Settings/Settings.cs#L34\n const nuGetConfigFileNames = ['nuget.config', 'NuGet.config', 'NuGet.Config'];\n // normalize paths, otherwise startsWith can fail because of path delimitter mismatch\n const nuGetConfigPath = await findUpLocal(\n nuGetConfigFileNames,\n upath.dirname(packageFile),\n );\n if (!nuGetConfigPath) {\n return undefined;\n }\n\n logger.debug(`Found NuGet.config at ${nuGetConfigPath}`);\n const nuGetConfig = await readFileAsXmlDocument(nuGetConfigPath);\n\n if (!nuGetConfig) {\n return undefined;\n }\n\n const packageSources = nuGetConfig.childNamed('packageSources');\n\n if (!packageSources) {\n // If there are no packageSources, don't even look for any\n // disabledPackageSources\n // Even if NuGet default source (nuget.org) was among the\n // disabledPackageSources, Renovate will default to the default source\n // (nuget.org) anyway\n return undefined;\n }\n\n const packageSourceMapping = nuGetConfig.childNamed('packageSourceMapping');\n\n let registries = getDefaultRegistries();\n\n // Map optional source mapped package patterns to default registries\n for (const registry of registries) {\n const sourceMappedPackagePatterns = packageSourceMapping\n ?.childWithAttribute('key', registry.name)\n ?.childrenNamed('package')\n .map((packagePattern) => packagePattern.attr.pattern);\n\n registry.sourceMappedPackagePatterns = sourceMappedPackagePatterns;\n }\n\n for (const child of packageSources.children) {\n if (child.type === 'element') {\n if (child.name === 'clear') {\n logger.debug(`clearing registry URLs`);\n registries.length = 0;\n } else if (child.name === 'add') {\n const isHttpUrl = regEx(/^https?:\\/\\//i).test(child.attr.value);\n if (isHttpUrl) {\n let registryUrl = child.attr.value;\n if (child.attr.protocolVersion) {\n registryUrl += `#protocolVersion=${child.attr.protocolVersion}`;\n }\n const sourceMappedPackagePatterns = packageSourceMapping\n ?.childWithAttribute('key', child.attr.key)\n ?.childrenNamed('package')\n .map((packagePattern) => packagePattern.attr.pattern);\n\n logger.debug(\n {\n name: child.attr.key,\n registryUrl,\n sourceMappedPackagePatterns,\n },\n `Adding registry URL ${registryUrl}`,\n );\n\n registries.push({\n name: child.attr.key,\n url: registryUrl,\n sourceMappedPackagePatterns,\n });\n } else {\n logger.debug(\n { registryUrl: child.attr.value },\n 'ignoring local registry URL',\n );\n }\n }\n // child.name === 'remove' not supported\n }\n }\n\n const disabledPackageSources = nuGetConfig.childNamed(\n 'disabledPackageSources',\n );\n\n if (disabledPackageSources) {\n for (const child of disabledPackageSources.children) {\n if (\n child.type === 'element' &&\n child.name === 'add' &&\n child.attr.value === 'true'\n ) {\n const disabledRegistryKey = child.attr.key;\n registries = registries.filter((o) => o.name !== disabledRegistryKey);\n logger.debug(`Disabled registry with key: ${disabledRegistryKey}`);\n }\n }\n }\n\n return registries;\n}\n\nexport function findVersion(parsedXml: XmlDocument): XmlElement | null {\n for (const tag of ['Version', 'VersionPrefix']) {\n for (const l1Elem of parsedXml.childrenNamed('PropertyGroup')) {\n for (const l2Elem of l1Elem.childrenNamed(tag)) {\n return l2Elem;\n }\n }\n }\n return null;\n}\n\nexport function applyRegistries(\n dep: NugetPackageDependency,\n registries: Registry[] | undefined,\n): NugetPackageDependency {\n if (registries) {\n if (!registries.some((reg) => reg.sourceMappedPackagePatterns)) {\n dep.registryUrls = registries.map((reg) => reg.url);\n return dep;\n }\n\n const regs = registries.filter((r) => r.sourceMappedPackagePatterns);\n const map = new Map<string, Registry[]>(\n regs.flatMap((r) => r.sourceMappedPackagePatterns!.map((p) => [p, []])),\n );\n const depName = dep.depName;\n\n for (const reg of regs) {\n for (const pattern of reg.sourceMappedPackagePatterns!) {\n map.get(pattern)!.push(reg);\n }\n }\n\n const urls: string[] = [];\n\n for (const [pattern, regs] of [...map].sort(sortPatterns)) {\n if (minimatch(pattern, { nocase: true }).match(depName)) {\n urls.push(...regs.map((r) => r.url));\n break;\n }\n }\n\n if (urls.length) {\n dep.registryUrls = urls;\n }\n }\n return dep;\n}\n\n/*\n * Sorts patterns by specificity:\n * 1. Exact match patterns\n * 2. Wildcard match patterns\n */\nfunction sortPatterns(\n a: [string, Registry[]],\n b: [string, Registry[]],\n): number {\n if (a[0].endsWith('*') && !b[0].endsWith('*')) {\n return 1;\n }\n\n if (!a[0].endsWith('*') && b[0].endsWith('*')) {\n return -1;\n }\n\n return a[0].localeCompare(b[0]) * -1;\n}\n\nexport async function findGlobalJson(\n packageFile: string,\n): Promise<GlobalJson | null> {\n const globalJsonPath = await findLocalSiblingOrParent(\n packageFile,\n 'global.json',\n );\n if (!globalJsonPath) {\n return null;\n }\n\n const content = await readLocalFile(globalJsonPath, 'utf8');\n if (!content) {\n logger.debug({ packageFile, globalJsonPath }, 'Failed to read global.json');\n return null;\n }\n\n const result = await GlobalJson.safeParseAsync(content);\n if (!result.success) {\n logger.debug(\n { packageFile, globalJsonPath, err: result.error },\n 'Failed to parse global.json',\n );\n return null;\n }\n return result.data;\n}\n"]}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../lib/modules/manager/nuget/util.ts"],"names":[],"mappings":"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","sourcesContent":["import upath from 'upath';\nimport type { XmlElement } from 'xmldoc';\nimport { XmlDocument } from 'xmldoc';\nimport { logger } from '../../../logger';\nimport {\n findLocalSiblingOrParent,\n findUpLocal,\n readLocalFile,\n} from '../../../util/fs';\nimport { minimatch } from '../../../util/minimatch';\nimport { regEx } from '../../../util/regex';\nimport { nugetOrg } from '../../datasource/nuget';\nimport { GlobalJson } from './schema';\nimport type { NugetPackageDependency, Registry } from './types';\n\nexport async function readFileAsXmlDocument(\n file: string,\n): Promise<XmlDocument | undefined> {\n try {\n // TODO #22198\n const doc = new XmlDocument((await readLocalFile(file, 'utf8'))!);\n // don't return empty documents\n return doc?.firstChild ? doc : undefined;\n } catch (err) {\n logger.debug({ err, file }, `failed to parse file as XML document`);\n return undefined;\n }\n}\n\n/**\n * The default `nuget.org` named registry.\n * @returns the default registry for NuGet\n */\nexport function getDefaultRegistries(): Registry[] {\n return [{ url: nugetOrg, name: 'nuget.org' }];\n}\n\nexport async function getConfiguredRegistries(\n packageFile: string,\n): Promise<Registry[] | undefined> {\n // Valid file names taken from https://github.com/NuGet/NuGet.Client/blob/f64621487c0b454eda4b98af853bf4a528bef72a/src/NuGet.Core/NuGet.Configuration/Settings/Settings.cs#L34\n const nuGetConfigFileNames = ['nuget.config', 'NuGet.config', 'NuGet.Config'];\n // normalize paths, otherwise startsWith can fail because of path delimitter mismatch\n const nuGetConfigPath = await findUpLocal(\n nuGetConfigFileNames,\n upath.dirname(packageFile),\n );\n if (!nuGetConfigPath) {\n return undefined;\n }\n\n logger.debug(`Found NuGet.config at ${nuGetConfigPath}`);\n const nuGetConfig = await readFileAsXmlDocument(nuGetConfigPath);\n\n if (!nuGetConfig) {\n return undefined;\n }\n\n const packageSources = nuGetConfig.childNamed('packageSources');\n\n if (!packageSources) {\n // If there are no packageSources, don't even look for any\n // disabledPackageSources\n // Even if NuGet default source (nuget.org) was among the\n // disabledPackageSources, Renovate will default to the default source\n // (nuget.org) anyway\n return undefined;\n }\n\n const packageSourceMapping = nuGetConfig.childNamed('packageSourceMapping');\n\n let registries = getDefaultRegistries();\n\n // Map optional source mapped package patterns to default registries\n for (const registry of registries) {\n const sourceMappedPackagePatterns = packageSourceMapping\n ?.childWithAttribute('key', registry.name)\n ?.childrenNamed('package')\n .map((packagePattern) => packagePattern.attr.pattern);\n\n registry.sourceMappedPackagePatterns = sourceMappedPackagePatterns;\n }\n\n for (const child of packageSources.children) {\n if (child.type === 'element') {\n if (child.name === 'clear') {\n logger.debug(`clearing registry URLs`);\n registries.length = 0;\n } else if (child.name === 'add') {\n const isHttpUrl = regEx(/^https?:\\/\\//i).test(child.attr.value);\n if (isHttpUrl) {\n let registryUrl = child.attr.value;\n if (child.attr.protocolVersion) {\n registryUrl += `#protocolVersion=${child.attr.protocolVersion}`;\n }\n const sourceMappedPackagePatterns = packageSourceMapping\n ?.childWithAttribute('key', child.attr.key)\n ?.childrenNamed('package')\n .map((packagePattern) => packagePattern.attr.pattern);\n\n logger.debug(\n {\n name: child.attr.key,\n registryUrl,\n sourceMappedPackagePatterns,\n },\n `Adding registry URL ${registryUrl}`,\n );\n\n registries.push({\n name: child.attr.key,\n url: registryUrl,\n sourceMappedPackagePatterns,\n });\n } else {\n logger.debug(\n { registryUrl: child.attr.value },\n 'ignoring local registry URL',\n );\n }\n }\n // child.name === 'remove' not supported\n }\n }\n\n const disabledPackageSources = nuGetConfig.childNamed(\n 'disabledPackageSources',\n );\n\n if (disabledPackageSources) {\n for (const child of disabledPackageSources.children) {\n if (\n child.type === 'element' &&\n child.name === 'add' &&\n child.attr.value === 'true'\n ) {\n const disabledRegistryKey = child.attr.key;\n registries = registries.filter((o) => o.name !== disabledRegistryKey);\n logger.debug(`Disabled registry with key: ${disabledRegistryKey}`);\n }\n }\n }\n\n return registries;\n}\n\nexport function findVersion(parsedXml: XmlDocument): XmlElement | null {\n for (const tag of ['Version', 'VersionPrefix']) {\n for (const l1Elem of parsedXml.childrenNamed('PropertyGroup')) {\n for (const l2Elem of l1Elem.childrenNamed(tag)) {\n return l2Elem;\n }\n }\n }\n return null;\n}\n\nexport function applyRegistries(\n dep: NugetPackageDependency,\n registries: Registry[] | undefined,\n): NugetPackageDependency {\n if (registries) {\n if (!registries.some((reg) => reg.sourceMappedPackagePatterns)) {\n dep.registryUrls = registries.map((reg) => reg.url);\n return dep;\n }\n\n const regs = registries.filter((r) => r.sourceMappedPackagePatterns);\n const map = new Map<string, Registry[]>(\n regs.flatMap((r) => r.sourceMappedPackagePatterns!.map((p) => [p, []])),\n );\n const depName = dep.depName;\n\n for (const reg of regs) {\n for (const pattern of reg.sourceMappedPackagePatterns!) {\n map.get(pattern)!.push(reg);\n }\n }\n\n const urls: string[] = [];\n\n for (const [pattern, regs] of [...map].sort(sortPatterns)) {\n if (minimatch(pattern, { nocase: true }).match(depName)) {\n urls.push(...regs.map((r) => r.url));\n break;\n }\n }\n\n if (urls.length) {\n dep.registryUrls = urls;\n }\n }\n return dep;\n}\n\n/*\n * Sorts patterns by specificity:\n * 1. Exact match patterns\n * 2. Wildcard match patterns\n * The longest pattern has precedence.\n */\nfunction sortPatterns(\n a: [string, Registry[]],\n b: [string, Registry[]],\n): number {\n if (a[0].endsWith('*') && !b[0].endsWith('*')) {\n return 1;\n }\n\n if (!a[0].endsWith('*') && b[0].endsWith('*')) {\n return -1;\n }\n\n const aTrim = a[0].slice(0, -1);\n const bTrim = b[0].slice(0, -1);\n\n return aTrim.localeCompare(bTrim) * -1;\n}\n\nexport async function findGlobalJson(\n packageFile: string,\n): Promise<GlobalJson | null> {\n const globalJsonPath = await findLocalSiblingOrParent(\n packageFile,\n 'global.json',\n );\n if (!globalJsonPath) {\n return null;\n }\n\n const content = await readLocalFile(globalJsonPath, 'utf8');\n if (!content) {\n logger.debug({ packageFile, globalJsonPath }, 'Failed to read global.json');\n return null;\n }\n\n const result = await GlobalJson.safeParseAsync(content);\n if (!result.success) {\n logger.debug(\n { packageFile, globalJsonPath, err: result.error },\n 'Failed to parse global.json',\n );\n return null;\n }\n return result.data;\n}\n"]}
@@ -65,15 +65,15 @@ export declare const OCBConfigSchema: z.ZodObject<{
65
65
  extensions?: {
66
66
  gomod: string;
67
67
  }[] | undefined;
68
- processors?: {
69
- gomod: string;
70
- }[] | undefined;
71
68
  exporters?: {
72
69
  gomod: string;
73
70
  }[] | undefined;
74
71
  receivers?: {
75
72
  gomod: string;
76
73
  }[] | undefined;
74
+ processors?: {
75
+ gomod: string;
76
+ }[] | undefined;
77
77
  connectors?: {
78
78
  gomod: string;
79
79
  }[] | undefined;
@@ -86,15 +86,15 @@ export declare const OCBConfigSchema: z.ZodObject<{
86
86
  extensions?: {
87
87
  gomod: string;
88
88
  }[] | undefined;
89
- processors?: {
90
- gomod: string;
91
- }[] | undefined;
92
89
  exporters?: {
93
90
  gomod: string;
94
91
  }[] | undefined;
95
92
  receivers?: {
96
93
  gomod: string;
97
94
  }[] | undefined;
95
+ processors?: {
96
+ gomod: string;
97
+ }[] | undefined;
98
98
  connectors?: {
99
99
  gomod: string;
100
100
  }[] | undefined;
@@ -83,7 +83,6 @@ class PdmProcessor {
83
83
  cwdFile: packageFileName,
84
84
  extraEnv,
85
85
  docker: {},
86
- userConfiguredEnv: config.env,
87
86
  toolConstraints: [pythonConstraint, pdmConstraint],
88
87
  };
89
88
  // on lockFileMaintenance do not specify any packages and update the complete lock file
@@ -1 +1 @@
1
- {"version":3,"file":"pdm.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/pep621/processors/pdm.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport { TEMPORARY_ERROR } from '../../../../constants/error-messages';\nimport { logger } from '../../../../logger';\nimport { exec } from '../../../../util/exec';\nimport type { ExecOptions, ToolConstraint } from '../../../../util/exec/types';\nimport { getSiblingFileName, readLocalFile } from '../../../../util/fs';\nimport { getGitEnvironmentVariables } from '../../../../util/git/auth';\nimport { Result } from '../../../../util/result';\nimport { PypiDatasource } from '../../../datasource/pypi';\nimport type {\n PackageDependency,\n UpdateArtifact,\n UpdateArtifactsResult,\n Upgrade,\n} from '../../types';\nimport { PdmLockfileSchema, type PyProject } from '../schema';\nimport type { Pep621ManagerData } from '../types';\nimport { depTypes, parseDependencyGroupRecord } from '../utils';\nimport type { PyProjectProcessor } from './types';\n\nconst pdmUpdateCMD = 'pdm update --no-sync --update-eager';\n\nexport class PdmProcessor implements PyProjectProcessor {\n process(\n project: PyProject,\n deps: PackageDependency[],\n ): PackageDependency<Pep621ManagerData>[] {\n const pdm = project.tool?.pdm;\n if (is.nullOrUndefined(pdm)) {\n return deps;\n }\n\n deps.push(\n ...parseDependencyGroupRecord(\n depTypes.pdmDevDependencies,\n pdm['dev-dependencies'],\n ),\n );\n\n const pdmSource = pdm.source;\n if (is.nullOrUndefined(pdmSource)) {\n return deps;\n }\n\n // add pypi default url, if there is no source declared with the name `pypi`. https://daobook.github.io/pdm/pyproject/tool-pdm/#specify-other-sources-for-finding-packages\n const containsPyPiUrl = pdmSource.some((value) => value.name === 'pypi');\n const registryUrls: string[] = [];\n if (!containsPyPiUrl) {\n registryUrls.push(PypiDatasource.defaultURL);\n }\n for (const source of pdmSource) {\n registryUrls.push(source.url);\n }\n for (const dep of deps) {\n dep.registryUrls = [...registryUrls];\n }\n\n return deps;\n }\n\n async extractLockedVersions(\n project: PyProject,\n deps: PackageDependency[],\n packageFile: string,\n ): Promise<PackageDependency[]> {\n if (\n is.nullOrUndefined(project.tool?.pdm) &&\n project['build-system']?.['build-backend'] !== 'pdm.backend'\n ) {\n return Promise.resolve(deps);\n }\n\n const lockFileName = getSiblingFileName(packageFile, 'pdm.lock');\n const lockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (lockFileContent) {\n const lockFileMapping = Result.parse(\n lockFileContent,\n PdmLockfileSchema.transform(({ lock }) => lock),\n ).unwrapOr({});\n\n for (const dep of deps) {\n const packageName = dep.packageName;\n if (packageName && packageName in lockFileMapping) {\n dep.lockedVersion = lockFileMapping[packageName];\n }\n }\n }\n\n return Promise.resolve(deps);\n }\n\n async updateArtifacts(\n updateArtifact: UpdateArtifact,\n project: PyProject,\n ): Promise<UpdateArtifactsResult[] | null> {\n const { config, updatedDeps, packageFileName } = updateArtifact;\n\n const { isLockFileMaintenance } = config;\n\n // abort if no lockfile is defined\n const lockFileName = getSiblingFileName(packageFileName, 'pdm.lock');\n try {\n const existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (is.nullOrUndefined(existingLockFileContent)) {\n logger.debug('No pdm.lock found');\n return null;\n }\n\n const pythonConstraint: ToolConstraint = {\n toolName: 'python',\n constraint:\n config.constraints?.python ?? project.project?.['requires-python'],\n };\n const pdmConstraint: ToolConstraint = {\n toolName: 'pdm',\n constraint: config.constraints?.pdm,\n };\n\n const extraEnv = {\n ...getGitEnvironmentVariables(['pep621']),\n };\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n extraEnv,\n docker: {},\n userConfiguredEnv: config.env,\n toolConstraints: [pythonConstraint, pdmConstraint],\n };\n\n // on lockFileMaintenance do not specify any packages and update the complete lock file\n // else only update specific packages\n const cmds: string[] = [];\n if (isLockFileMaintenance) {\n cmds.push(pdmUpdateCMD);\n } else {\n cmds.push(...generateCMDs(updatedDeps));\n }\n await exec(cmds, execOptions);\n\n // check for changes\n const fileChanges: UpdateArtifactsResult[] = [];\n const newLockContent = await readLocalFile(lockFileName, 'utf8');\n const isLockFileChanged = existingLockFileContent !== newLockContent;\n if (isLockFileChanged) {\n fileChanges.push({\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newLockContent,\n },\n });\n } else {\n logger.debug('pdm.lock is unchanged');\n }\n\n return fileChanges.length ? fileChanges : null;\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, 'Failed to update PDM lock file');\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n }\n}\n\nfunction generateCMDs(updatedDeps: Upgrade<Pep621ManagerData>[]): string[] {\n const cmds: string[] = [];\n const packagesByCMD: Record<string, string[]> = {};\n for (const dep of updatedDeps) {\n switch (dep.depType) {\n case depTypes.optionalDependencies: {\n if (is.nullOrUndefined(dep.managerData?.depGroup)) {\n logger.once.warn(\n { dep: dep.depName },\n 'Unexpected optional dependency without group',\n );\n continue;\n }\n addPackageToCMDRecord(\n packagesByCMD,\n `${pdmUpdateCMD} -G ${quote(dep.managerData.depGroup)}`,\n dep.packageName!,\n );\n break;\n }\n case depTypes.dependencyGroups:\n case depTypes.pdmDevDependencies: {\n if (is.nullOrUndefined(dep.managerData?.depGroup)) {\n logger.once.warn(\n { dep: dep.depName },\n 'Unexpected dev dependency without group',\n );\n continue;\n }\n addPackageToCMDRecord(\n packagesByCMD,\n `${pdmUpdateCMD} -dG ${quote(dep.managerData.depGroup)}`,\n dep.packageName!,\n );\n break;\n }\n case depTypes.buildSystemRequires:\n // build requirements are not locked in the lock files, no need to update.\n // Reference: https://github.com/pdm-project/pdm/discussions/2869\n break;\n default: {\n addPackageToCMDRecord(packagesByCMD, pdmUpdateCMD, dep.packageName!);\n }\n }\n }\n\n for (const commandPrefix in packagesByCMD) {\n const packageList = packagesByCMD[commandPrefix].map(quote).join(' ');\n const cmd = `${commandPrefix} ${packageList}`;\n cmds.push(cmd);\n }\n\n return cmds;\n}\n\nfunction addPackageToCMDRecord(\n packagesByCMD: Record<string, string[]>,\n commandPrefix: string,\n packageName: string,\n): void {\n if (is.nullOrUndefined(packagesByCMD[commandPrefix])) {\n packagesByCMD[commandPrefix] = [];\n }\n packagesByCMD[commandPrefix].push(packageName);\n}\n"]}
1
+ {"version":3,"file":"pdm.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/pep621/processors/pdm.ts"],"names":[],"mappings":";;;;AAAA,kEAAkC;AAClC,iCAA8B;AAC9B,yEAAuE;AACvE,+CAA4C;AAC5C,gDAA6C;AAE7C,4CAAwE;AACxE,oDAAuE;AACvE,oDAAiD;AACjD,mDAA0D;AAO1D,sCAA8D;AAE9D,oCAAgE;AAGhE,MAAM,YAAY,GAAG,qCAAqC,CAAC;AAE3D,MAAa,YAAY;IACvB,OAAO,CACL,OAAkB,EAClB,IAAyB;QAEzB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;QAC9B,IAAI,YAAE,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,IAAI,CACP,GAAG,IAAA,kCAA0B,EAC3B,gBAAQ,CAAC,kBAAkB,EAC3B,GAAG,CAAC,kBAAkB,CAAC,CACxB,CACF,CAAC;QAEF,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;QAC7B,IAAI,YAAE,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,0KAA0K;QAC1K,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACzE,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,YAAY,CAAC,IAAI,CAAC,qBAAc,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;YAC/B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,GAAG,CAAC,YAAY,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,OAAkB,EAClB,IAAyB,EACzB,WAAmB;QAEnB,IACE,YAAE,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;YACrC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,eAAe,CAAC,KAAK,aAAa,EAC5D,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,YAAY,GAAG,IAAA,uBAAkB,EAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACjE,MAAM,eAAe,GAAG,MAAM,IAAA,kBAAa,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAClE,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,eAAe,GAAG,eAAM,CAAC,KAAK,CAClC,eAAe,EACf,0BAAiB,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAChD,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAEf,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;gBACpC,IAAI,WAAW,IAAI,WAAW,IAAI,eAAe,EAAE,CAAC;oBAClD,GAAG,CAAC,aAAa,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,cAA8B,EAC9B,OAAkB;QAElB,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC;QAEhE,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAAC;QAEzC,kCAAkC;QAClC,MAAM,YAAY,GAAG,IAAA,uBAAkB,EAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QACrE,IAAI,CAAC;YACH,MAAM,uBAAuB,GAAG,MAAM,IAAA,kBAAa,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAC1E,IAAI,YAAE,CAAC,eAAe,CAAC,uBAAuB,CAAC,EAAE,CAAC;gBAChD,eAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBAClC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,gBAAgB,GAAmB;gBACvC,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EACR,MAAM,CAAC,WAAW,EAAE,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,iBAAiB,CAAC;aACrE,CAAC;YACF,MAAM,aAAa,GAAmB;gBACpC,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,GAAG;aACpC,CAAC;YAEF,MAAM,QAAQ,GAAG;gBACf,GAAG,IAAA,iCAA0B,EAAC,CAAC,QAAQ,CAAC,CAAC;aAC1C,CAAC;YACF,MAAM,WAAW,GAAgB;gBAC/B,OAAO,EAAE,eAAe;gBACxB,QAAQ;gBACR,MAAM,EAAE,EAAE;gBACV,eAAe,EAAE,CAAC,gBAAgB,EAAE,aAAa,CAAC;aACnD,CAAC;YAEF,uFAAuF;YACvF,qCAAqC;YACrC,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;YAC1C,CAAC;YACD,MAAM,IAAA,WAAI,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAE9B,oBAAoB;YACpB,MAAM,WAAW,GAA4B,EAAE,CAAC;YAChD,MAAM,cAAc,GAAG,MAAM,IAAA,kBAAa,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACjE,MAAM,iBAAiB,GAAG,uBAAuB,KAAK,cAAc,CAAC;YACrE,IAAI,iBAAiB,EAAE,CAAC;gBACtB,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE;wBACJ,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,YAAY;wBAClB,QAAQ,EAAE,cAAc;qBACzB;iBACF,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,eAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACxC,CAAC;YAED,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,qBAAqB;YACrB,IAAI,GAAG,CAAC,OAAO,KAAK,gCAAe,EAAE,CAAC;gBACpC,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,gCAAgC,CAAC,CAAC;YACxD,OAAO;gBACL;oBACE,aAAa,EAAE;wBACb,QAAQ,EAAE,YAAY;wBACtB,MAAM,EAAE,GAAG,CAAC,OAAO;qBACpB;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AArJD,oCAqJC;AAED,SAAS,YAAY,CAAC,WAAyC;IAC7D,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,aAAa,GAA6B,EAAE,CAAC;IACnD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,QAAQ,GAAG,CAAC,OAAO,EAAE,CAAC;YACpB,KAAK,gBAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBACnC,IAAI,YAAE,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC;oBAClD,eAAM,CAAC,IAAI,CAAC,IAAI,CACd,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,EACpB,8CAA8C,CAC/C,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,qBAAqB,CACnB,aAAa,EACb,GAAG,YAAY,OAAO,IAAA,aAAK,EAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,EACvD,GAAG,CAAC,WAAY,CACjB,CAAC;gBACF,MAAM;YACR,CAAC;YACD,KAAK,gBAAQ,CAAC,gBAAgB,CAAC;YAC/B,KAAK,gBAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBACjC,IAAI,YAAE,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC;oBAClD,eAAM,CAAC,IAAI,CAAC,IAAI,CACd,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,EACpB,yCAAyC,CAC1C,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,qBAAqB,CACnB,aAAa,EACb,GAAG,YAAY,QAAQ,IAAA,aAAK,EAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,EACxD,GAAG,CAAC,WAAY,CACjB,CAAC;gBACF,MAAM;YACR,CAAC;YACD,KAAK,gBAAQ,CAAC,mBAAmB;gBAC/B,0EAA0E;gBAC1E,iEAAiE;gBACjE,MAAM;YACR,OAAO,CAAC,CAAC,CAAC;gBACR,qBAAqB,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,CAAC,WAAY,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,aAAa,IAAI,aAAa,EAAE,CAAC;QAC1C,MAAM,WAAW,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,aAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtE,MAAM,GAAG,GAAG,GAAG,aAAa,IAAI,WAAW,EAAE,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAC5B,aAAuC,EACvC,aAAqB,EACrB,WAAmB;IAEnB,IAAI,YAAE,CAAC,eAAe,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QACrD,aAAa,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;IACpC,CAAC;IACD,aAAa,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACjD,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport { TEMPORARY_ERROR } from '../../../../constants/error-messages';\nimport { logger } from '../../../../logger';\nimport { exec } from '../../../../util/exec';\nimport type { ExecOptions, ToolConstraint } from '../../../../util/exec/types';\nimport { getSiblingFileName, readLocalFile } from '../../../../util/fs';\nimport { getGitEnvironmentVariables } from '../../../../util/git/auth';\nimport { Result } from '../../../../util/result';\nimport { PypiDatasource } from '../../../datasource/pypi';\nimport type {\n PackageDependency,\n UpdateArtifact,\n UpdateArtifactsResult,\n Upgrade,\n} from '../../types';\nimport { PdmLockfileSchema, type PyProject } from '../schema';\nimport type { Pep621ManagerData } from '../types';\nimport { depTypes, parseDependencyGroupRecord } from '../utils';\nimport type { PyProjectProcessor } from './types';\n\nconst pdmUpdateCMD = 'pdm update --no-sync --update-eager';\n\nexport class PdmProcessor implements PyProjectProcessor {\n process(\n project: PyProject,\n deps: PackageDependency[],\n ): PackageDependency<Pep621ManagerData>[] {\n const pdm = project.tool?.pdm;\n if (is.nullOrUndefined(pdm)) {\n return deps;\n }\n\n deps.push(\n ...parseDependencyGroupRecord(\n depTypes.pdmDevDependencies,\n pdm['dev-dependencies'],\n ),\n );\n\n const pdmSource = pdm.source;\n if (is.nullOrUndefined(pdmSource)) {\n return deps;\n }\n\n // add pypi default url, if there is no source declared with the name `pypi`. https://daobook.github.io/pdm/pyproject/tool-pdm/#specify-other-sources-for-finding-packages\n const containsPyPiUrl = pdmSource.some((value) => value.name === 'pypi');\n const registryUrls: string[] = [];\n if (!containsPyPiUrl) {\n registryUrls.push(PypiDatasource.defaultURL);\n }\n for (const source of pdmSource) {\n registryUrls.push(source.url);\n }\n for (const dep of deps) {\n dep.registryUrls = [...registryUrls];\n }\n\n return deps;\n }\n\n async extractLockedVersions(\n project: PyProject,\n deps: PackageDependency[],\n packageFile: string,\n ): Promise<PackageDependency[]> {\n if (\n is.nullOrUndefined(project.tool?.pdm) &&\n project['build-system']?.['build-backend'] !== 'pdm.backend'\n ) {\n return Promise.resolve(deps);\n }\n\n const lockFileName = getSiblingFileName(packageFile, 'pdm.lock');\n const lockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (lockFileContent) {\n const lockFileMapping = Result.parse(\n lockFileContent,\n PdmLockfileSchema.transform(({ lock }) => lock),\n ).unwrapOr({});\n\n for (const dep of deps) {\n const packageName = dep.packageName;\n if (packageName && packageName in lockFileMapping) {\n dep.lockedVersion = lockFileMapping[packageName];\n }\n }\n }\n\n return Promise.resolve(deps);\n }\n\n async updateArtifacts(\n updateArtifact: UpdateArtifact,\n project: PyProject,\n ): Promise<UpdateArtifactsResult[] | null> {\n const { config, updatedDeps, packageFileName } = updateArtifact;\n\n const { isLockFileMaintenance } = config;\n\n // abort if no lockfile is defined\n const lockFileName = getSiblingFileName(packageFileName, 'pdm.lock');\n try {\n const existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (is.nullOrUndefined(existingLockFileContent)) {\n logger.debug('No pdm.lock found');\n return null;\n }\n\n const pythonConstraint: ToolConstraint = {\n toolName: 'python',\n constraint:\n config.constraints?.python ?? project.project?.['requires-python'],\n };\n const pdmConstraint: ToolConstraint = {\n toolName: 'pdm',\n constraint: config.constraints?.pdm,\n };\n\n const extraEnv = {\n ...getGitEnvironmentVariables(['pep621']),\n };\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n extraEnv,\n docker: {},\n toolConstraints: [pythonConstraint, pdmConstraint],\n };\n\n // on lockFileMaintenance do not specify any packages and update the complete lock file\n // else only update specific packages\n const cmds: string[] = [];\n if (isLockFileMaintenance) {\n cmds.push(pdmUpdateCMD);\n } else {\n cmds.push(...generateCMDs(updatedDeps));\n }\n await exec(cmds, execOptions);\n\n // check for changes\n const fileChanges: UpdateArtifactsResult[] = [];\n const newLockContent = await readLocalFile(lockFileName, 'utf8');\n const isLockFileChanged = existingLockFileContent !== newLockContent;\n if (isLockFileChanged) {\n fileChanges.push({\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newLockContent,\n },\n });\n } else {\n logger.debug('pdm.lock is unchanged');\n }\n\n return fileChanges.length ? fileChanges : null;\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, 'Failed to update PDM lock file');\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n }\n}\n\nfunction generateCMDs(updatedDeps: Upgrade<Pep621ManagerData>[]): string[] {\n const cmds: string[] = [];\n const packagesByCMD: Record<string, string[]> = {};\n for (const dep of updatedDeps) {\n switch (dep.depType) {\n case depTypes.optionalDependencies: {\n if (is.nullOrUndefined(dep.managerData?.depGroup)) {\n logger.once.warn(\n { dep: dep.depName },\n 'Unexpected optional dependency without group',\n );\n continue;\n }\n addPackageToCMDRecord(\n packagesByCMD,\n `${pdmUpdateCMD} -G ${quote(dep.managerData.depGroup)}`,\n dep.packageName!,\n );\n break;\n }\n case depTypes.dependencyGroups:\n case depTypes.pdmDevDependencies: {\n if (is.nullOrUndefined(dep.managerData?.depGroup)) {\n logger.once.warn(\n { dep: dep.depName },\n 'Unexpected dev dependency without group',\n );\n continue;\n }\n addPackageToCMDRecord(\n packagesByCMD,\n `${pdmUpdateCMD} -dG ${quote(dep.managerData.depGroup)}`,\n dep.packageName!,\n );\n break;\n }\n case depTypes.buildSystemRequires:\n // build requirements are not locked in the lock files, no need to update.\n // Reference: https://github.com/pdm-project/pdm/discussions/2869\n break;\n default: {\n addPackageToCMDRecord(packagesByCMD, pdmUpdateCMD, dep.packageName!);\n }\n }\n }\n\n for (const commandPrefix in packagesByCMD) {\n const packageList = packagesByCMD[commandPrefix].map(quote).join(' ');\n const cmd = `${commandPrefix} ${packageList}`;\n cmds.push(cmd);\n }\n\n return cmds;\n}\n\nfunction addPackageToCMDRecord(\n packagesByCMD: Record<string, string[]>,\n commandPrefix: string,\n packageName: string,\n): void {\n if (is.nullOrUndefined(packagesByCMD[commandPrefix])) {\n packagesByCMD[commandPrefix] = [];\n }\n packagesByCMD[commandPrefix].push(packageName);\n}\n"]}
@@ -134,7 +134,6 @@ class UvProcessor {
134
134
  cwdFile: packageFileName,
135
135
  extraEnv,
136
136
  docker: {},
137
- userConfiguredEnv: config.env,
138
137
  toolConstraints: [pythonConstraint, uvConstraint],
139
138
  };
140
139
  // on lockFileMaintenance do not specify any packages and update the complete lock file