renovate 42.4.0 → 42.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (702) hide show
  1. package/dist/config/decrypt.js +13 -14
  2. package/dist/config/decrypt.js.map +1 -1
  3. package/dist/config/massage.js +6 -7
  4. package/dist/config/massage.js.map +1 -1
  5. package/dist/config/migrate-validate.js +3 -3
  6. package/dist/config/migrate-validate.js.map +1 -1
  7. package/dist/config/migration.js +19 -20
  8. package/dist/config/migration.js.map +1 -1
  9. package/dist/config/migrations/base/abstract-migration.js +5 -6
  10. package/dist/config/migrations/base/abstract-migration.js.map +1 -1
  11. package/dist/config/migrations/custom/automerge-major-migration.js +2 -3
  12. package/dist/config/migrations/custom/automerge-major-migration.js.map +1 -1
  13. package/dist/config/migrations/custom/automerge-migration.js +4 -5
  14. package/dist/config/migrations/custom/automerge-migration.js.map +1 -1
  15. package/dist/config/migrations/custom/automerge-minor-migration.js +2 -3
  16. package/dist/config/migrations/custom/automerge-minor-migration.js.map +1 -1
  17. package/dist/config/migrations/custom/automerge-patch-migration.js +2 -3
  18. package/dist/config/migrations/custom/automerge-patch-migration.js.map +1 -1
  19. package/dist/config/migrations/custom/automerge-type-migration.js +2 -3
  20. package/dist/config/migrations/custom/automerge-type-migration.js.map +1 -1
  21. package/dist/config/migrations/custom/base-branch-migration.js +3 -4
  22. package/dist/config/migrations/custom/base-branch-migration.js.map +1 -1
  23. package/dist/config/migrations/custom/branch-name-migration.js +2 -3
  24. package/dist/config/migrations/custom/branch-name-migration.js.map +1 -1
  25. package/dist/config/migrations/custom/branch-prefix-migration.js +2 -3
  26. package/dist/config/migrations/custom/branch-prefix-migration.js.map +1 -1
  27. package/dist/config/migrations/custom/compatibility-migration.js +2 -3
  28. package/dist/config/migrations/custom/compatibility-migration.js.map +1 -1
  29. package/dist/config/migrations/custom/composer-ignore-platform-reqs-migration.js +2 -3
  30. package/dist/config/migrations/custom/composer-ignore-platform-reqs-migration.js.map +1 -1
  31. package/dist/config/migrations/custom/custom-managers-migration.js +2 -3
  32. package/dist/config/migrations/custom/custom-managers-migration.js.map +1 -1
  33. package/dist/config/migrations/custom/datasource-migration.js +2 -3
  34. package/dist/config/migrations/custom/datasource-migration.js.map +1 -1
  35. package/dist/config/migrations/custom/dep-types-migration.js +4 -5
  36. package/dist/config/migrations/custom/dep-types-migration.js.map +1 -1
  37. package/dist/config/migrations/custom/enabled-managers-migration.js +2 -3
  38. package/dist/config/migrations/custom/enabled-managers-migration.js.map +1 -1
  39. package/dist/config/migrations/custom/extends-migration.js +4 -5
  40. package/dist/config/migrations/custom/extends-migration.js.map +1 -1
  41. package/dist/config/migrations/custom/fetch-release-notes-migration.js +2 -3
  42. package/dist/config/migrations/custom/fetch-release-notes-migration.js.map +1 -1
  43. package/dist/config/migrations/custom/file-match-migration.js +3 -4
  44. package/dist/config/migrations/custom/file-match-migration.js.map +1 -1
  45. package/dist/config/migrations/custom/host-rules-migration.js +6 -7
  46. package/dist/config/migrations/custom/host-rules-migration.js.map +1 -1
  47. package/dist/config/migrations/custom/ignore-npmrc-file-migration.js +2 -3
  48. package/dist/config/migrations/custom/ignore-npmrc-file-migration.js.map +1 -1
  49. package/dist/config/migrations/custom/include-forks-migration.js +2 -3
  50. package/dist/config/migrations/custom/include-forks-migration.js.map +1 -1
  51. package/dist/config/migrations/custom/match-datasources-migration.js +2 -3
  52. package/dist/config/migrations/custom/match-datasources-migration.js.map +1 -1
  53. package/dist/config/migrations/custom/match-managers-migration.js +2 -3
  54. package/dist/config/migrations/custom/match-managers-migration.js.map +1 -1
  55. package/dist/config/migrations/custom/match-strings-migration.js +2 -3
  56. package/dist/config/migrations/custom/match-strings-migration.js.map +1 -1
  57. package/dist/config/migrations/custom/package-files-migration.js +6 -7
  58. package/dist/config/migrations/custom/package-files-migration.js.map +1 -1
  59. package/dist/config/migrations/custom/package-rules-migration.js +15 -16
  60. package/dist/config/migrations/custom/package-rules-migration.js.map +1 -1
  61. package/dist/config/migrations/custom/packages-migration.js +3 -4
  62. package/dist/config/migrations/custom/packages-migration.js.map +1 -1
  63. package/dist/config/migrations/custom/path-rules-migration.js +3 -4
  64. package/dist/config/migrations/custom/path-rules-migration.js.map +1 -1
  65. package/dist/config/migrations/custom/pin-versions-migration.js +2 -3
  66. package/dist/config/migrations/custom/pin-versions-migration.js.map +1 -1
  67. package/dist/config/migrations/custom/platform-commit-migration.js +2 -3
  68. package/dist/config/migrations/custom/platform-commit-migration.js.map +1 -1
  69. package/dist/config/migrations/custom/post-update-options-migration.js +2 -3
  70. package/dist/config/migrations/custom/post-update-options-migration.js.map +1 -1
  71. package/dist/config/migrations/custom/rebase-stale-prs-migration.js +2 -3
  72. package/dist/config/migrations/custom/rebase-stale-prs-migration.js.map +1 -1
  73. package/dist/config/migrations/custom/recreate-closed-migration.js +2 -3
  74. package/dist/config/migrations/custom/recreate-closed-migration.js.map +1 -1
  75. package/dist/config/migrations/custom/renovate-fork-migration.js +2 -3
  76. package/dist/config/migrations/custom/renovate-fork-migration.js.map +1 -1
  77. package/dist/config/migrations/custom/schedule-migration.js +4 -4
  78. package/dist/config/migrations/custom/schedule-migration.js.map +1 -1
  79. package/dist/config/migrations/custom/semantic-commits-migration.js +2 -3
  80. package/dist/config/migrations/custom/semantic-commits-migration.js.map +1 -1
  81. package/dist/config/migrations/custom/semantic-prefix-migration.js +2 -3
  82. package/dist/config/migrations/custom/semantic-prefix-migration.js.map +1 -1
  83. package/dist/config/migrations/custom/stability-days-migration.js +2 -3
  84. package/dist/config/migrations/custom/stability-days-migration.js.map +1 -1
  85. package/dist/config/migrations/custom/suppress-notifications-migration.js +2 -3
  86. package/dist/config/migrations/custom/suppress-notifications-migration.js.map +1 -1
  87. package/dist/config/migrations/custom/unpublish-safe-migration.js +2 -3
  88. package/dist/config/migrations/custom/unpublish-safe-migration.js.map +1 -1
  89. package/dist/config/migrations/migrations-service.js +2 -3
  90. package/dist/config/migrations/migrations-service.js.map +1 -1
  91. package/dist/config/presets/github/index.js +2 -3
  92. package/dist/config/presets/github/index.js.map +1 -1
  93. package/dist/config/presets/gitlab/index.js +2 -3
  94. package/dist/config/presets/gitlab/index.js.map +1 -1
  95. package/dist/config/presets/index.js +8 -8
  96. package/dist/config/presets/index.js.map +1 -1
  97. package/dist/config/presets/parse.js +2 -3
  98. package/dist/config/presets/parse.js.map +1 -1
  99. package/dist/config/secrets.js +3 -4
  100. package/dist/config/secrets.js.map +1 -1
  101. package/dist/config/validation-helpers/match-base-branches.js +2 -3
  102. package/dist/config/validation-helpers/match-base-branches.js.map +1 -1
  103. package/dist/config/validation-helpers/regex-glob-matchers.js +2 -3
  104. package/dist/config/validation-helpers/regex-glob-matchers.js.map +1 -1
  105. package/dist/config/validation-helpers/utils.js +6 -6
  106. package/dist/config/validation-helpers/utils.js.map +1 -1
  107. package/dist/config/validation.js +29 -29
  108. package/dist/config/validation.js.map +1 -1
  109. package/dist/instrumentation/reporting.js +7 -8
  110. package/dist/instrumentation/reporting.js.map +1 -1
  111. package/dist/instrumentation/utils.js +2 -3
  112. package/dist/instrumentation/utils.js.map +1 -1
  113. package/dist/logger/err-serializer.js +2 -2
  114. package/dist/logger/err-serializer.js.map +1 -1
  115. package/dist/logger/index.js +3 -3
  116. package/dist/logger/index.js.map +1 -1
  117. package/dist/logger/renovate-logger.js +4 -5
  118. package/dist/logger/renovate-logger.js.map +1 -1
  119. package/dist/logger/utils.js +19 -19
  120. package/dist/logger/utils.js.map +1 -1
  121. package/dist/modules/datasource/aws-eks-addon/index.js +2 -2
  122. package/dist/modules/datasource/aws-eks-addon/index.js.map +1 -1
  123. package/dist/modules/datasource/bazel/index.js +2 -2
  124. package/dist/modules/datasource/bazel/index.js.map +1 -1
  125. package/dist/modules/datasource/bitrise/index.js +2 -2
  126. package/dist/modules/datasource/bitrise/index.js.map +1 -1
  127. package/dist/modules/datasource/common.js +4 -4
  128. package/dist/modules/datasource/common.js.map +1 -1
  129. package/dist/modules/datasource/conan/index.js +3 -3
  130. package/dist/modules/datasource/conan/index.js.map +1 -1
  131. package/dist/modules/datasource/custom/formats/html.js +2 -5
  132. package/dist/modules/datasource/custom/formats/html.js.map +1 -1
  133. package/dist/modules/datasource/custom/index.js +2 -3
  134. package/dist/modules/datasource/custom/index.js.map +1 -1
  135. package/dist/modules/datasource/custom/utils.js +4 -4
  136. package/dist/modules/datasource/custom/utils.js.map +1 -1
  137. package/dist/modules/datasource/dart-version/index.js +2 -3
  138. package/dist/modules/datasource/dart-version/index.js.map +1 -1
  139. package/dist/modules/datasource/deno/index.js +2 -2
  140. package/dist/modules/datasource/deno/index.js.map +1 -1
  141. package/dist/modules/datasource/docker/common.js +5 -5
  142. package/dist/modules/datasource/docker/common.js.map +1 -1
  143. package/dist/modules/datasource/docker/index.js +6 -6
  144. package/dist/modules/datasource/docker/index.js.map +1 -1
  145. package/dist/modules/datasource/endoflife-date/index.js +2 -2
  146. package/dist/modules/datasource/endoflife-date/index.js.map +1 -1
  147. package/dist/modules/datasource/galaxy/index.js +2 -2
  148. package/dist/modules/datasource/galaxy/index.js.map +1 -1
  149. package/dist/modules/datasource/galaxy-collection/index.js +2 -2
  150. package/dist/modules/datasource/galaxy-collection/index.js.map +1 -1
  151. package/dist/modules/datasource/git-refs/base.js +2 -2
  152. package/dist/modules/datasource/git-refs/base.js.map +1 -1
  153. package/dist/modules/datasource/github-release-attachments/index.js +2 -2
  154. package/dist/modules/datasource/github-release-attachments/index.js.map +1 -1
  155. package/dist/modules/datasource/github-releases/index.js +2 -3
  156. package/dist/modules/datasource/github-releases/index.js.map +1 -1
  157. package/dist/modules/datasource/github-tags/index.js +2 -3
  158. package/dist/modules/datasource/github-tags/index.js.map +1 -1
  159. package/dist/modules/datasource/go/goproxy-parser.js +3 -3
  160. package/dist/modules/datasource/go/goproxy-parser.js.map +1 -1
  161. package/dist/modules/datasource/go/index.js +2 -2
  162. package/dist/modules/datasource/go/index.js.map +1 -1
  163. package/dist/modules/datasource/go/releases-goproxy.js +3 -3
  164. package/dist/modules/datasource/go/releases-goproxy.js.map +1 -1
  165. package/dist/modules/datasource/hackage/index.js +2 -2
  166. package/dist/modules/datasource/hackage/index.js.map +1 -1
  167. package/dist/modules/datasource/hex/schema.js +2 -3
  168. package/dist/modules/datasource/hex/schema.js.map +1 -1
  169. package/dist/modules/datasource/hexpm-bob/index.js +2 -2
  170. package/dist/modules/datasource/hexpm-bob/index.js.map +1 -1
  171. package/dist/modules/datasource/index.js +14 -14
  172. package/dist/modules/datasource/index.js.map +1 -1
  173. package/dist/modules/datasource/jsr/index.js +2 -2
  174. package/dist/modules/datasource/jsr/index.js.map +1 -1
  175. package/dist/modules/datasource/jsr/util.js +3 -4
  176. package/dist/modules/datasource/jsr/util.js.map +1 -1
  177. package/dist/modules/datasource/metadata.js +5 -5
  178. package/dist/modules/datasource/metadata.js.map +1 -1
  179. package/dist/modules/datasource/npm/get.js +2 -2
  180. package/dist/modules/datasource/npm/get.js.map +1 -1
  181. package/dist/modules/datasource/npm/npmrc.js +7 -7
  182. package/dist/modules/datasource/npm/npmrc.js.map +1 -1
  183. package/dist/modules/datasource/nuget/v3.js +2 -2
  184. package/dist/modules/datasource/nuget/v3.js.map +1 -1
  185. package/dist/modules/datasource/packagist/index.js +2 -2
  186. package/dist/modules/datasource/packagist/index.js.map +1 -1
  187. package/dist/modules/datasource/packagist/schema.js +3 -4
  188. package/dist/modules/datasource/packagist/schema.js.map +1 -1
  189. package/dist/modules/datasource/pypi/index.js +2 -2
  190. package/dist/modules/datasource/pypi/index.js.map +1 -1
  191. package/dist/modules/datasource/repology/index.js +3 -3
  192. package/dist/modules/datasource/repology/index.js.map +1 -1
  193. package/dist/modules/datasource/rubygems/schema.js +5 -6
  194. package/dist/modules/datasource/rubygems/schema.js.map +1 -1
  195. package/dist/modules/datasource/util.js +2 -3
  196. package/dist/modules/datasource/util.js.map +1 -1
  197. package/dist/modules/manager/argocd/extract.js +3 -4
  198. package/dist/modules/manager/argocd/extract.js.map +1 -1
  199. package/dist/modules/manager/asdf/extract.js +2 -3
  200. package/dist/modules/manager/asdf/extract.js.map +1 -1
  201. package/dist/modules/manager/bazel/artifacts.js +2 -2
  202. package/dist/modules/manager/bazel/artifacts.js.map +1 -1
  203. package/dist/modules/manager/bazel/common.js +4 -5
  204. package/dist/modules/manager/bazel/common.js.map +1 -1
  205. package/dist/modules/manager/bazel/rules/http.js +3 -4
  206. package/dist/modules/manager/bazel/rules/http.js.map +1 -1
  207. package/dist/modules/manager/bazel/rules/maven.js +2 -3
  208. package/dist/modules/manager/bazel/rules/maven.js.map +1 -1
  209. package/dist/modules/manager/bazel-module/parser/starlark.js +2 -3
  210. package/dist/modules/manager/bazel-module/parser/starlark.js.map +1 -1
  211. package/dist/modules/manager/bazel-module/rules.js +3 -3
  212. package/dist/modules/manager/bazel-module/rules.js.map +1 -1
  213. package/dist/modules/manager/bitrise/utils.js +3 -4
  214. package/dist/modules/manager/bitrise/utils.js.map +1 -1
  215. package/dist/modules/manager/buildpacks/extract.js +2 -3
  216. package/dist/modules/manager/buildpacks/extract.js.map +1 -1
  217. package/dist/modules/manager/bun/artifacts.js +2 -2
  218. package/dist/modules/manager/bun/artifacts.js.map +1 -1
  219. package/dist/modules/manager/bun/extract.js +2 -3
  220. package/dist/modules/manager/bun/extract.js.map +1 -1
  221. package/dist/modules/manager/bundler/artifacts.js +3 -3
  222. package/dist/modules/manager/bundler/artifacts.js.map +1 -1
  223. package/dist/modules/manager/bundler/extract.js +5 -6
  224. package/dist/modules/manager/bundler/extract.js.map +1 -1
  225. package/dist/modules/manager/cargo/extract.js +3 -4
  226. package/dist/modules/manager/cargo/extract.js.map +1 -1
  227. package/dist/modules/manager/composer/artifacts.js +3 -3
  228. package/dist/modules/manager/composer/artifacts.js.map +1 -1
  229. package/dist/modules/manager/composer/utils.js +3 -4
  230. package/dist/modules/manager/composer/utils.js.map +1 -1
  231. package/dist/modules/manager/conan/extract.js +2 -3
  232. package/dist/modules/manager/conan/extract.js.map +1 -1
  233. package/dist/modules/manager/copier/utils.js +3 -4
  234. package/dist/modules/manager/copier/utils.js.map +1 -1
  235. package/dist/modules/manager/crow/extract.js +2 -3
  236. package/dist/modules/manager/crow/extract.js.map +1 -1
  237. package/dist/modules/manager/custom/jsonata/index.js +2 -3
  238. package/dist/modules/manager/custom/jsonata/index.js.map +1 -1
  239. package/dist/modules/manager/custom/jsonata/utils.js +3 -3
  240. package/dist/modules/manager/custom/jsonata/utils.js.map +1 -1
  241. package/dist/modules/manager/custom/regex/index.js +2 -3
  242. package/dist/modules/manager/custom/regex/index.js.map +1 -1
  243. package/dist/modules/manager/custom/regex/strategies.js +4 -5
  244. package/dist/modules/manager/custom/regex/strategies.js.map +1 -1
  245. package/dist/modules/manager/custom/regex/utils.js +2 -2
  246. package/dist/modules/manager/custom/regex/utils.js.map +1 -1
  247. package/dist/modules/manager/custom/utils.js +6 -7
  248. package/dist/modules/manager/custom/utils.js.map +1 -1
  249. package/dist/modules/manager/deps-edn/extract.js +13 -14
  250. package/dist/modules/manager/deps-edn/extract.js.map +1 -1
  251. package/dist/modules/manager/deps-edn/parser.js +2 -2
  252. package/dist/modules/manager/deps-edn/parser.js.map +1 -1
  253. package/dist/modules/manager/devbox/artifacts.js +2 -2
  254. package/dist/modules/manager/devbox/artifacts.js.map +1 -1
  255. package/dist/modules/manager/docker-compose/extract.js +3 -4
  256. package/dist/modules/manager/docker-compose/extract.js.map +1 -1
  257. package/dist/modules/manager/docker-compose/schema.js +2 -3
  258. package/dist/modules/manager/docker-compose/schema.js.map +1 -1
  259. package/dist/modules/manager/dockerfile/extract.js +5 -5
  260. package/dist/modules/manager/dockerfile/extract.js.map +1 -1
  261. package/dist/modules/manager/fingerprint.generated.js +5 -5
  262. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  263. package/dist/modules/manager/fleet/extract.js +2 -3
  264. package/dist/modules/manager/fleet/extract.js.map +1 -1
  265. package/dist/modules/manager/flux/extract.js +2 -3
  266. package/dist/modules/manager/flux/extract.js.map +1 -1
  267. package/dist/modules/manager/glasskube/extract.js +2 -3
  268. package/dist/modules/manager/glasskube/extract.js.map +1 -1
  269. package/dist/modules/manager/gleam/artifacts.js +3 -4
  270. package/dist/modules/manager/gleam/artifacts.js.map +1 -1
  271. package/dist/modules/manager/gomod/artifacts.js +2 -2
  272. package/dist/modules/manager/gomod/artifacts.js.map +1 -1
  273. package/dist/modules/manager/gradle/artifacts.js +2 -2
  274. package/dist/modules/manager/gradle/artifacts.js.map +1 -1
  275. package/dist/modules/manager/gradle/extract/catalog.js +5 -5
  276. package/dist/modules/manager/gradle/extract/catalog.js.map +1 -1
  277. package/dist/modules/manager/gradle-wrapper/artifacts.js +2 -2
  278. package/dist/modules/manager/gradle-wrapper/artifacts.js.map +1 -1
  279. package/dist/modules/manager/helm-requirements/extract.js +2 -3
  280. package/dist/modules/manager/helm-requirements/extract.js.map +1 -1
  281. package/dist/modules/manager/helmfile/artifacts.js +2 -3
  282. package/dist/modules/manager/helmfile/artifacts.js.map +1 -1
  283. package/dist/modules/manager/helmfile/extract.js +4 -5
  284. package/dist/modules/manager/helmfile/extract.js.map +1 -1
  285. package/dist/modules/manager/helmsman/extract.js +4 -5
  286. package/dist/modules/manager/helmsman/extract.js.map +1 -1
  287. package/dist/modules/manager/helmv3/artifacts.js +4 -4
  288. package/dist/modules/manager/helmv3/artifacts.js.map +1 -1
  289. package/dist/modules/manager/helmv3/extract.js +4 -5
  290. package/dist/modules/manager/helmv3/extract.js.map +1 -1
  291. package/dist/modules/manager/helmv3/oci.js +3 -4
  292. package/dist/modules/manager/helmv3/oci.js.map +1 -1
  293. package/dist/modules/manager/jenkins/extract.js +3 -3
  294. package/dist/modules/manager/jenkins/extract.js.map +1 -1
  295. package/dist/modules/manager/kotlin-script/extract.js +3 -4
  296. package/dist/modules/manager/kotlin-script/extract.js.map +1 -1
  297. package/dist/modules/manager/kubernetes/extract.js +4 -4
  298. package/dist/modules/manager/kubernetes/extract.js.map +1 -1
  299. package/dist/modules/manager/kustomize/artifacts.js +8 -8
  300. package/dist/modules/manager/kustomize/artifacts.js.map +1 -1
  301. package/dist/modules/manager/kustomize/extract.js +8 -8
  302. package/dist/modules/manager/kustomize/extract.js.map +1 -1
  303. package/dist/modules/manager/maven/extract.js +4 -4
  304. package/dist/modules/manager/maven/extract.js.map +1 -1
  305. package/dist/modules/manager/maven/update.js +2 -2
  306. package/dist/modules/manager/maven/update.js.map +1 -1
  307. package/dist/modules/manager/maven-wrapper/artifacts.js +2 -2
  308. package/dist/modules/manager/maven-wrapper/artifacts.js.map +1 -1
  309. package/dist/modules/manager/mise/backends.js +9 -10
  310. package/dist/modules/manager/mise/backends.js.map +1 -1
  311. package/dist/modules/manager/mise/extract.js +7 -8
  312. package/dist/modules/manager/mise/extract.js.map +1 -1
  313. package/dist/modules/manager/mix/artifacts.js +3 -3
  314. package/dist/modules/manager/mix/artifacts.js.map +1 -1
  315. package/dist/modules/manager/nix/artifacts.js +2 -2
  316. package/dist/modules/manager/nix/artifacts.js.map +1 -1
  317. package/dist/modules/manager/npm/detect.js +2 -2
  318. package/dist/modules/manager/npm/detect.js.map +1 -1
  319. package/dist/modules/manager/npm/extract/common/dependency.js +2 -2
  320. package/dist/modules/manager/npm/extract/common/dependency.js.map +1 -1
  321. package/dist/modules/manager/npm/extract/common/overrides.js +3 -4
  322. package/dist/modules/manager/npm/extract/common/overrides.js.map +1 -1
  323. package/dist/modules/manager/npm/extract/common/package-file.js +8 -9
  324. package/dist/modules/manager/npm/extract/common/package-file.js.map +1 -1
  325. package/dist/modules/manager/npm/extract/index.js +10 -10
  326. package/dist/modules/manager/npm/extract/index.js.map +1 -1
  327. package/dist/modules/manager/npm/extract/pnpm.js +7 -7
  328. package/dist/modules/manager/npm/extract/pnpm.js.map +1 -1
  329. package/dist/modules/manager/npm/extract/post/locked-versions.js +3 -3
  330. package/dist/modules/manager/npm/extract/post/locked-versions.js.map +1 -1
  331. package/dist/modules/manager/npm/extract/post/monorepo.js +3 -4
  332. package/dist/modules/manager/npm/extract/post/monorepo.js.map +1 -1
  333. package/dist/modules/manager/npm/extract/yarn.js +2 -3
  334. package/dist/modules/manager/npm/extract/yarn.js.map +1 -1
  335. package/dist/modules/manager/npm/extract/yarnrc.js +2 -3
  336. package/dist/modules/manager/npm/extract/yarnrc.js.map +1 -1
  337. package/dist/modules/manager/npm/post-update/index.js +6 -6
  338. package/dist/modules/manager/npm/post-update/index.js.map +1 -1
  339. package/dist/modules/manager/npm/post-update/npm.js +4 -4
  340. package/dist/modules/manager/npm/post-update/npm.js.map +1 -1
  341. package/dist/modules/manager/npm/post-update/pnpm.js +3 -3
  342. package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
  343. package/dist/modules/manager/npm/post-update/rules.js +2 -2
  344. package/dist/modules/manager/npm/post-update/rules.js.map +1 -1
  345. package/dist/modules/manager/npm/post-update/utils.js +2 -2
  346. package/dist/modules/manager/npm/post-update/utils.js.map +1 -1
  347. package/dist/modules/manager/npm/post-update/yarn.js +3 -3
  348. package/dist/modules/manager/npm/post-update/yarn.js.map +1 -1
  349. package/dist/modules/manager/npm/update/dependency/index.js +2 -3
  350. package/dist/modules/manager/npm/update/dependency/index.js.map +1 -1
  351. package/dist/modules/manager/npm/update/dependency/pnpm.js +2 -3
  352. package/dist/modules/manager/npm/update/dependency/pnpm.js.map +1 -1
  353. package/dist/modules/manager/npm/update/dependency/yarn.js +3 -4
  354. package/dist/modules/manager/npm/update/dependency/yarn.js.map +1 -1
  355. package/dist/modules/manager/nuget/config-formatter.js +2 -2
  356. package/dist/modules/manager/nuget/config-formatter.js.map +1 -1
  357. package/dist/modules/manager/nuget/extract.js +4 -4
  358. package/dist/modules/manager/nuget/extract.js.map +1 -1
  359. package/dist/modules/manager/nuget/package-tree.js +2 -2
  360. package/dist/modules/manager/nuget/package-tree.js.map +1 -1
  361. package/dist/modules/manager/ocb/extract.js +2 -3
  362. package/dist/modules/manager/ocb/extract.js.map +1 -1
  363. package/dist/modules/manager/osgi/extract.js +4 -4
  364. package/dist/modules/manager/osgi/extract.js.map +1 -1
  365. package/dist/modules/manager/pep621/artifacts.js +3 -4
  366. package/dist/modules/manager/pep621/artifacts.js.map +1 -1
  367. package/dist/modules/manager/pep621/processors/uv.js +2 -3
  368. package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
  369. package/dist/modules/manager/pep621/utils.js +8 -10
  370. package/dist/modules/manager/pep621/utils.js.map +1 -1
  371. package/dist/modules/manager/pep723/schema.js +2 -3
  372. package/dist/modules/manager/pep723/schema.js.map +1 -1
  373. package/dist/modules/manager/pip-compile/common.js +3 -3
  374. package/dist/modules/manager/pip-compile/common.js.map +1 -1
  375. package/dist/modules/manager/pip_requirements/artifacts.js +2 -3
  376. package/dist/modules/manager/pip_requirements/artifacts.js.map +1 -1
  377. package/dist/modules/manager/pip_requirements/extract.js +2 -3
  378. package/dist/modules/manager/pip_requirements/extract.js.map +1 -1
  379. package/dist/modules/manager/pipenv/artifacts.js +3 -4
  380. package/dist/modules/manager/pipenv/artifacts.js.map +1 -1
  381. package/dist/modules/manager/pipenv/extract.js +6 -7
  382. package/dist/modules/manager/pipenv/extract.js.map +1 -1
  383. package/dist/modules/manager/pixi/artifacts.js +2 -3
  384. package/dist/modules/manager/pixi/artifacts.js.map +1 -1
  385. package/dist/modules/manager/pixi/extract.js +2 -3
  386. package/dist/modules/manager/pixi/extract.js.map +1 -1
  387. package/dist/modules/manager/poetry/artifacts.js +4 -5
  388. package/dist/modules/manager/poetry/artifacts.js.map +1 -1
  389. package/dist/modules/manager/poetry/extract.js +2 -3
  390. package/dist/modules/manager/poetry/extract.js.map +1 -1
  391. package/dist/modules/manager/pre-commit/extract.js +4 -5
  392. package/dist/modules/manager/pre-commit/extract.js.map +1 -1
  393. package/dist/modules/manager/pub/artifacts.js +3 -4
  394. package/dist/modules/manager/pub/artifacts.js.map +1 -1
  395. package/dist/modules/manager/pub/extract.js +8 -11
  396. package/dist/modules/manager/pub/extract.js.map +1 -1
  397. package/dist/modules/manager/renovate-config-presets/extract.js +4 -5
  398. package/dist/modules/manager/renovate-config-presets/extract.js.map +1 -1
  399. package/dist/modules/manager/tekton/extract.js +9 -10
  400. package/dist/modules/manager/tekton/extract.js.map +1 -1
  401. package/dist/modules/manager/terraform/base.js +2 -3
  402. package/dist/modules/manager/terraform/base.js.map +1 -1
  403. package/dist/modules/manager/terraform/extract.js +2 -2
  404. package/dist/modules/manager/terraform/extract.js.map +1 -1
  405. package/dist/modules/manager/terraform/extractors/others/modules.js +3 -4
  406. package/dist/modules/manager/terraform/extractors/others/modules.js.map +1 -1
  407. package/dist/modules/manager/terraform/extractors/others/providers.js +3 -4
  408. package/dist/modules/manager/terraform/extractors/others/providers.js.map +1 -1
  409. package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js +7 -8
  410. package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js.map +1 -1
  411. package/dist/modules/manager/terraform/extractors/resources/helm-release.js +5 -6
  412. package/dist/modules/manager/terraform/extractors/resources/helm-release.js.map +1 -1
  413. package/dist/modules/manager/terraform/extractors/resources/terraform-workspace.js +3 -4
  414. package/dist/modules/manager/terraform/extractors/resources/terraform-workspace.js.map +1 -1
  415. package/dist/modules/manager/terraform/extractors/terraform-block/required-provider.js +4 -5
  416. package/dist/modules/manager/terraform/extractors/terraform-block/required-provider.js.map +1 -1
  417. package/dist/modules/manager/terraform/extractors/terraform-block/terraform-version.js +3 -3
  418. package/dist/modules/manager/terraform/extractors/terraform-block/terraform-version.js.map +1 -1
  419. package/dist/modules/manager/terraform/lockfile/index.js +2 -2
  420. package/dist/modules/manager/terraform/lockfile/index.js.map +1 -1
  421. package/dist/modules/manager/terraform/lockfile/util.js +2 -3
  422. package/dist/modules/manager/terraform/lockfile/util.js.map +1 -1
  423. package/dist/modules/manager/terraform/util.js +2 -3
  424. package/dist/modules/manager/terraform/util.js.map +1 -1
  425. package/dist/modules/manager/tflint-plugin/plugins.js +2 -3
  426. package/dist/modules/manager/tflint-plugin/plugins.js.map +1 -1
  427. package/dist/modules/manager/travis/extract.js +5 -6
  428. package/dist/modules/manager/travis/extract.js.map +1 -1
  429. package/dist/modules/manager/woodpecker/extract.js +2 -3
  430. package/dist/modules/manager/woodpecker/extract.js.map +1 -1
  431. package/dist/modules/platform/azure/index.js +2 -2
  432. package/dist/modules/platform/azure/index.js.map +1 -1
  433. package/dist/modules/platform/bitbucket/index.js +5 -5
  434. package/dist/modules/platform/bitbucket/index.js.map +1 -1
  435. package/dist/modules/platform/bitbucket-server/pr-cache.js +2 -2
  436. package/dist/modules/platform/bitbucket-server/pr-cache.js.map +1 -1
  437. package/dist/modules/platform/bitbucket-server/utils.js +2 -2
  438. package/dist/modules/platform/bitbucket-server/utils.js.map +1 -1
  439. package/dist/modules/platform/codecommit/codecommit-client.js +2 -2
  440. package/dist/modules/platform/codecommit/codecommit-client.js.map +1 -1
  441. package/dist/modules/platform/forgejo/index.js +5 -5
  442. package/dist/modules/platform/forgejo/index.js.map +1 -1
  443. package/dist/modules/platform/forgejo/utils.js +2 -2
  444. package/dist/modules/platform/forgejo/utils.js.map +1 -1
  445. package/dist/modules/platform/gitea/index.js +5 -5
  446. package/dist/modules/platform/gitea/index.js.map +1 -1
  447. package/dist/modules/platform/gitea/utils.js +2 -2
  448. package/dist/modules/platform/gitea/utils.js.map +1 -1
  449. package/dist/modules/platform/github/common.js +4 -5
  450. package/dist/modules/platform/github/common.js.map +1 -1
  451. package/dist/modules/platform/github/index.js +5 -5
  452. package/dist/modules/platform/github/index.js.map +1 -1
  453. package/dist/modules/platform/github/pr.js +2 -3
  454. package/dist/modules/platform/github/pr.js.map +1 -1
  455. package/dist/modules/platform/gitlab/http.js +2 -3
  456. package/dist/modules/platform/gitlab/http.js.map +1 -1
  457. package/dist/modules/platform/gitlab/index.js +3 -3
  458. package/dist/modules/platform/gitlab/index.js.map +1 -1
  459. package/dist/modules/platform/gitlab/utils.js +3 -3
  460. package/dist/modules/platform/gitlab/utils.js.map +1 -1
  461. package/dist/modules/platform/pr-body.js +2 -3
  462. package/dist/modules/platform/pr-body.js.map +1 -1
  463. package/dist/modules/versioning/composer/index.js +2 -3
  464. package/dist/modules/versioning/composer/index.js.map +1 -1
  465. package/dist/modules/versioning/generic.js +5 -6
  466. package/dist/modules/versioning/generic.js.map +1 -1
  467. package/dist/modules/versioning/gradle/compare.js +3 -4
  468. package/dist/modules/versioning/gradle/compare.js.map +1 -1
  469. package/dist/modules/versioning/nixpkgs/index.js +6 -7
  470. package/dist/modules/versioning/nixpkgs/index.js.map +1 -1
  471. package/dist/modules/versioning/npm/range.js +2 -2
  472. package/dist/modules/versioning/npm/range.js.map +1 -1
  473. package/dist/modules/versioning/rpm/index.js +4 -5
  474. package/dist/modules/versioning/rpm/index.js.map +1 -1
  475. package/dist/modules/versioning/schema.js +2 -2
  476. package/dist/modules/versioning/schema.js.map +1 -1
  477. package/dist/modules/versioning/semver-coerced/index.js +3 -3
  478. package/dist/modules/versioning/semver-coerced/index.js.map +1 -1
  479. package/dist/modules/versioning/semver-partial/index.js +4 -4
  480. package/dist/modules/versioning/semver-partial/index.js.map +1 -1
  481. package/dist/proxy.js +3 -4
  482. package/dist/proxy.js.map +1 -1
  483. package/dist/util/array.js +4 -5
  484. package/dist/util/array.js.map +1 -1
  485. package/dist/util/assign-keys.js +2 -3
  486. package/dist/util/assign-keys.js.map +1 -1
  487. package/dist/util/cache/package/decorator.js +6 -6
  488. package/dist/util/cache/package/decorator.js.map +1 -1
  489. package/dist/util/cache/package/ttl.js +4 -5
  490. package/dist/util/cache/package/ttl.js.map +1 -1
  491. package/dist/util/cache/repository/impl/base.js +3 -4
  492. package/dist/util/cache/repository/impl/base.js.map +1 -1
  493. package/dist/util/cache/repository/impl/s3.js +2 -3
  494. package/dist/util/cache/repository/impl/s3.js.map +1 -1
  495. package/dist/util/exec/common.js +2 -3
  496. package/dist/util/exec/common.js.map +1 -1
  497. package/dist/util/exec/containerbase.js +2 -2
  498. package/dist/util/exec/containerbase.js.map +1 -1
  499. package/dist/util/exec/docker/index.js +5 -5
  500. package/dist/util/exec/docker/index.js.map +1 -1
  501. package/dist/util/exec/index.js +2 -2
  502. package/dist/util/exec/index.js.map +1 -1
  503. package/dist/util/exec/utils.js +3 -4
  504. package/dist/util/exec/utils.js.map +1 -1
  505. package/dist/util/filter-map.js +2 -3
  506. package/dist/util/filter-map.js.map +1 -1
  507. package/dist/util/fs/index.js +3 -3
  508. package/dist/util/fs/index.js.map +1 -1
  509. package/dist/util/git/auth.js +2 -3
  510. package/dist/util/git/auth.js.map +1 -1
  511. package/dist/util/git/config.js +3 -4
  512. package/dist/util/git/config.js.map +1 -1
  513. package/dist/util/git/index.js +4 -4
  514. package/dist/util/git/index.js.map +1 -1
  515. package/dist/util/git/private-key.js +2 -2
  516. package/dist/util/git/private-key.js.map +1 -1
  517. package/dist/util/host-rules.js +6 -6
  518. package/dist/util/host-rules.js.map +1 -1
  519. package/dist/util/http/auth.js +3 -4
  520. package/dist/util/http/auth.js.map +1 -1
  521. package/dist/util/http/bitbucket-server.js +2 -3
  522. package/dist/util/http/bitbucket-server.js.map +1 -1
  523. package/dist/util/http/bitbucket.js +3 -4
  524. package/dist/util/http/bitbucket.js.map +1 -1
  525. package/dist/util/http/cache/package-http-cache-provider.js +2 -2
  526. package/dist/util/http/cache/package-http-cache-provider.js.map +1 -1
  527. package/dist/util/http/forgejo.js +3 -4
  528. package/dist/util/http/forgejo.js.map +1 -1
  529. package/dist/util/http/gitea.js +3 -4
  530. package/dist/util/http/gitea.js.map +1 -1
  531. package/dist/util/http/github.js +10 -10
  532. package/dist/util/http/github.js.map +1 -1
  533. package/dist/util/http/gitlab.js +4 -5
  534. package/dist/util/http/gitlab.js.map +1 -1
  535. package/dist/util/http/host-rules.js +10 -10
  536. package/dist/util/http/host-rules.js.map +1 -1
  537. package/dist/util/http/http.js +5 -5
  538. package/dist/util/http/http.js.map +1 -1
  539. package/dist/util/http/rate-limits.js +3 -3
  540. package/dist/util/http/rate-limits.js.map +1 -1
  541. package/dist/util/interpolator.js +8 -9
  542. package/dist/util/interpolator.js.map +1 -1
  543. package/dist/util/merge-confidence/index.js +5 -5
  544. package/dist/util/merge-confidence/index.js.map +1 -1
  545. package/dist/util/number.js +2 -3
  546. package/dist/util/number.js.map +1 -1
  547. package/dist/util/package-rules/base-branches.js +3 -4
  548. package/dist/util/package-rules/base-branches.js.map +1 -1
  549. package/dist/util/package-rules/categories.js +3 -4
  550. package/dist/util/package-rules/categories.js.map +1 -1
  551. package/dist/util/package-rules/current-age.js +3 -4
  552. package/dist/util/package-rules/current-age.js.map +1 -1
  553. package/dist/util/package-rules/current-value.js +2 -3
  554. package/dist/util/package-rules/current-value.js.map +1 -1
  555. package/dist/util/package-rules/current-version.js +5 -5
  556. package/dist/util/package-rules/current-version.js.map +1 -1
  557. package/dist/util/package-rules/datasources.js +3 -4
  558. package/dist/util/package-rules/datasources.js.map +1 -1
  559. package/dist/util/package-rules/dep-names.js +3 -4
  560. package/dist/util/package-rules/dep-names.js.map +1 -1
  561. package/dist/util/package-rules/dep-types.js +2 -3
  562. package/dist/util/package-rules/dep-types.js.map +1 -1
  563. package/dist/util/package-rules/files.js +4 -5
  564. package/dist/util/package-rules/files.js.map +1 -1
  565. package/dist/util/package-rules/index.js +6 -6
  566. package/dist/util/package-rules/index.js.map +1 -1
  567. package/dist/util/package-rules/managers.js +3 -4
  568. package/dist/util/package-rules/managers.js.map +1 -1
  569. package/dist/util/package-rules/merge-confidence.js +5 -6
  570. package/dist/util/package-rules/merge-confidence.js.map +1 -1
  571. package/dist/util/package-rules/new-value.js +2 -3
  572. package/dist/util/package-rules/new-value.js.map +1 -1
  573. package/dist/util/package-rules/package-names.js +2 -3
  574. package/dist/util/package-rules/package-names.js.map +1 -1
  575. package/dist/util/package-rules/repositories.js +3 -4
  576. package/dist/util/package-rules/repositories.js.map +1 -1
  577. package/dist/util/package-rules/sourceurls.js +2 -3
  578. package/dist/util/package-rules/sourceurls.js.map +1 -1
  579. package/dist/util/package-rules/update-types.js +2 -3
  580. package/dist/util/package-rules/update-types.js.map +1 -1
  581. package/dist/util/pretty-time.js +4 -4
  582. package/dist/util/pretty-time.js.map +1 -1
  583. package/dist/util/regex.js +2 -3
  584. package/dist/util/regex.js.map +1 -1
  585. package/dist/util/s3.js +2 -3
  586. package/dist/util/s3.js.map +1 -1
  587. package/dist/util/sanitize.js +2 -3
  588. package/dist/util/sanitize.js.map +1 -1
  589. package/dist/util/string-match.js +2 -3
  590. package/dist/util/string-match.js.map +1 -1
  591. package/dist/util/template/index.js +6 -6
  592. package/dist/util/template/index.js.map +1 -1
  593. package/dist/util/url.js +5 -5
  594. package/dist/util/url.js.map +1 -1
  595. package/dist/workers/global/autodiscover.js +3 -4
  596. package/dist/workers/global/autodiscover.js.map +1 -1
  597. package/dist/workers/global/config/parse/additional-config-file.js +4 -4
  598. package/dist/workers/global/config/parse/additional-config-file.js.map +1 -1
  599. package/dist/workers/global/config/parse/coersions.js +2 -2
  600. package/dist/workers/global/config/parse/coersions.js.map +1 -1
  601. package/dist/workers/global/config/parse/env.js +2 -2
  602. package/dist/workers/global/config/parse/env.js.map +1 -1
  603. package/dist/workers/global/config/parse/file.js +5 -5
  604. package/dist/workers/global/config/parse/file.js.map +1 -1
  605. package/dist/workers/global/config/parse/index.js +6 -7
  606. package/dist/workers/global/config/parse/index.js.map +1 -1
  607. package/dist/workers/global/config/parse/util.js +2 -2
  608. package/dist/workers/global/config/parse/util.js.map +1 -1
  609. package/dist/workers/global/index.js +5 -5
  610. package/dist/workers/global/index.js.map +1 -1
  611. package/dist/workers/global/limits.js +6 -7
  612. package/dist/workers/global/limits.js.map +1 -1
  613. package/dist/workers/repository/config-migration/branch/index.js +2 -3
  614. package/dist/workers/repository/config-migration/branch/index.js.map +1 -1
  615. package/dist/workers/repository/config-migration/branch/migrated-data.js +2 -2
  616. package/dist/workers/repository/config-migration/branch/migrated-data.js.map +1 -1
  617. package/dist/workers/repository/config-migration/pr/index.js +3 -3
  618. package/dist/workers/repository/config-migration/pr/index.js.map +1 -1
  619. package/dist/workers/repository/dependency-dashboard.js +10 -10
  620. package/dist/workers/repository/dependency-dashboard.js.map +1 -1
  621. package/dist/workers/repository/extract/index.js +2 -3
  622. package/dist/workers/repository/extract/index.js.map +1 -1
  623. package/dist/workers/repository/extract/manager-files.js +2 -3
  624. package/dist/workers/repository/extract/manager-files.js.map +1 -1
  625. package/dist/workers/repository/extract/supersedes.js +4 -5
  626. package/dist/workers/repository/extract/supersedes.js.map +1 -1
  627. package/dist/workers/repository/finalize/prune.js +2 -3
  628. package/dist/workers/repository/finalize/prune.js.map +1 -1
  629. package/dist/workers/repository/init/inherited.js +5 -5
  630. package/dist/workers/repository/init/inherited.js.map +1 -1
  631. package/dist/workers/repository/init/merge.js +13 -13
  632. package/dist/workers/repository/init/merge.js.map +1 -1
  633. package/dist/workers/repository/model/commit-message.js +2 -3
  634. package/dist/workers/repository/model/commit-message.js.map +1 -1
  635. package/dist/workers/repository/onboarding/branch/index.js +2 -3
  636. package/dist/workers/repository/onboarding/branch/index.js.map +1 -1
  637. package/dist/workers/repository/onboarding/branch/onboarding-branch-cache.js +5 -6
  638. package/dist/workers/repository/onboarding/branch/onboarding-branch-cache.js.map +1 -1
  639. package/dist/workers/repository/onboarding/pr/config-description.js +2 -5
  640. package/dist/workers/repository/onboarding/pr/config-description.js.map +1 -1
  641. package/dist/workers/repository/onboarding/pr/index.js +3 -3
  642. package/dist/workers/repository/onboarding/pr/index.js.map +1 -1
  643. package/dist/workers/repository/package-files.js +8 -9
  644. package/dist/workers/repository/package-files.js.map +1 -1
  645. package/dist/workers/repository/process/extract-update.js +2 -2
  646. package/dist/workers/repository/process/extract-update.js.map +1 -1
  647. package/dist/workers/repository/process/fetch.js +3 -3
  648. package/dist/workers/repository/process/fetch.js.map +1 -1
  649. package/dist/workers/repository/process/lookup/current.js +2 -3
  650. package/dist/workers/repository/process/lookup/current.js.map +1 -1
  651. package/dist/workers/repository/process/lookup/filter-checks.js +4 -5
  652. package/dist/workers/repository/process/lookup/filter-checks.js.map +1 -1
  653. package/dist/workers/repository/process/lookup/generate.js +2 -3
  654. package/dist/workers/repository/process/lookup/generate.js.map +1 -1
  655. package/dist/workers/repository/process/lookup/index.js +15 -16
  656. package/dist/workers/repository/process/lookup/index.js.map +1 -1
  657. package/dist/workers/repository/process/lookup/utils.js +7 -7
  658. package/dist/workers/repository/process/lookup/utils.js.map +1 -1
  659. package/dist/workers/repository/process/vulnerabilities.js +11 -11
  660. package/dist/workers/repository/process/vulnerabilities.js.map +1 -1
  661. package/dist/workers/repository/process/write.js +2 -3
  662. package/dist/workers/repository/process/write.js.map +1 -1
  663. package/dist/workers/repository/reconfigure/comment.js +2 -5
  664. package/dist/workers/repository/reconfigure/comment.js.map +1 -1
  665. package/dist/workers/repository/reconfigure/utils.js +2 -3
  666. package/dist/workers/repository/reconfigure/utils.js.map +1 -1
  667. package/dist/workers/repository/reconfigure/validate.js +2 -3
  668. package/dist/workers/repository/reconfigure/validate.js.map +1 -1
  669. package/dist/workers/repository/update/branch/auto-replace.js +4 -5
  670. package/dist/workers/repository/update/branch/auto-replace.js.map +1 -1
  671. package/dist/workers/repository/update/branch/commit.js +3 -4
  672. package/dist/workers/repository/update/branch/commit.js.map +1 -1
  673. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js +12 -5
  674. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js.map +1 -1
  675. package/dist/workers/repository/update/branch/get-updated.js +8 -9
  676. package/dist/workers/repository/update/branch/get-updated.js.map +1 -1
  677. package/dist/workers/repository/update/branch/index.js +3 -3
  678. package/dist/workers/repository/update/branch/index.js.map +1 -1
  679. package/dist/workers/repository/update/branch/schedule.js +2 -2
  680. package/dist/workers/repository/update/branch/schedule.js.map +1 -1
  681. package/dist/workers/repository/update/pr/body/notes.js +2 -2
  682. package/dist/workers/repository/update/pr/body/notes.js.map +1 -1
  683. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js +2 -2
  684. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js.map +1 -1
  685. package/dist/workers/repository/update/pr/changelog/index.js +3 -3
  686. package/dist/workers/repository/update/pr/changelog/index.js.map +1 -1
  687. package/dist/workers/repository/update/pr/changelog/release-notes.js +4 -4
  688. package/dist/workers/repository/update/pr/changelog/release-notes.js.map +1 -1
  689. package/dist/workers/repository/update/pr/changelog/source.js +8 -8
  690. package/dist/workers/repository/update/pr/changelog/source.js.map +1 -1
  691. package/dist/workers/repository/update/pr/code-owners.js +2 -2
  692. package/dist/workers/repository/update/pr/code-owners.js.map +1 -1
  693. package/dist/workers/repository/update/pr/index.js +7 -8
  694. package/dist/workers/repository/update/pr/index.js.map +1 -1
  695. package/dist/workers/repository/update/pr/labels.js +4 -4
  696. package/dist/workers/repository/update/pr/labels.js.map +1 -1
  697. package/dist/workers/repository/update/pr/participants.js +4 -5
  698. package/dist/workers/repository/update/pr/participants.js.map +1 -1
  699. package/dist/workers/repository/updates/generate.js +4 -4
  700. package/dist/workers/repository/updates/generate.js.map +1 -1
  701. package/package.json +1 -1
  702. package/renovate-schema.json +2 -2
@@ -2,10 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.dependencyPattern = exports.extrasPattern = exports.packagePattern = void 0;
4
4
  exports.extractPackageFile = extractPackageFile;
5
- const tslib_1 = require("tslib");
6
5
  // based on https://www.python.org/dev/peps/pep-0508/#names
7
6
  const pep440_1 = require("@renovatebot/pep440");
8
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
7
+ const is_1 = require("@sindresorhus/is");
9
8
  const logger_1 = require("../../../logger");
10
9
  const ignore_1 = require("../../../util/ignore");
11
10
  const regex_1 = require("../../../util/regex");
@@ -81,7 +80,7 @@ function extractPackageFile(content) {
81
80
  }
82
81
  return dep;
83
82
  })
84
- .filter(is_1.default.truthy);
83
+ .filter(is_1.isTruthy);
85
84
  const res = (0, common_2.extractPackageFileFlags)(content);
86
85
  res.deps = deps;
87
86
  if (!res.deps.length &&
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/pip_requirements/extract.ts"],"names":[],"mappings":"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","sourcesContent":["// based on https://www.python.org/dev/peps/pep-0508/#names\nimport { RANGE_PATTERN } from '@renovatebot/pep440';\nimport is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { isSkipComment } from '../../../util/ignore';\nimport { newlineRegex, regEx } from '../../../util/regex';\nimport { GitTagsDatasource } from '../../datasource/git-tags';\nimport { PypiDatasource } from '../../datasource/pypi';\nimport { normalizePythonDepName } from '../../datasource/pypi/common';\nimport type { PackageDependency, PackageFileContent } from '../types';\nimport { extractPackageFileFlags } from './common';\nimport type { PipRequirementsManagerData } from './types';\n\nexport const packagePattern =\n '[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9._-]*[a-zA-Z0-9]';\nexport const extrasPattern = '(?:\\\\s*\\\\[[^\\\\]]+\\\\])?';\nconst packageGitRegex = regEx(\n /(?<source>(?:git\\+)(?<protocol>git|ssh|https):\\/\\/(?<gitUrl>(?:(?<user>[^@]+)@)?(?<hostname>[\\w.-]+)(?<delimiter>\\/)(?<scmPath>.*\\/(?<depName>[\\w/-]+))(\\.git)?(?:@(?<version>.*))))/,\n);\n\nconst rangePattern: string = RANGE_PATTERN;\nconst specifierPartPattern = `\\\\s*${rangePattern.replace(\n regEx(/\\?<\\w+>/g),\n '?:',\n)}`;\nconst specifierPattern = `${specifierPartPattern}(?:\\\\s*,${specifierPartPattern})*`;\nexport const dependencyPattern = `(${packagePattern})(${extrasPattern})(${specifierPattern})`;\n\nexport function extractPackageFile(\n content: string,\n): PackageFileContent<PipRequirementsManagerData> | null {\n logger.trace('pip_requirements.extractPackageFile()');\n\n const pkgRegex = regEx(`^(${packagePattern})$`);\n const pkgValRegex = regEx(`^${dependencyPattern}$`);\n const deps = content\n .split(newlineRegex)\n .map((rawline) => {\n let dep: PackageDependency = {};\n const [line, comment] = rawline.split('#').map((part) => part.trim());\n if (isSkipComment(comment)) {\n dep.skipReason = 'ignored';\n }\n const [lineNoEnvMarkers] = line.split(';').map((part) => part.trim());\n const lineNoHashes = lineNoEnvMarkers.split(' \\\\')[0];\n const packageMatches =\n pkgValRegex.exec(lineNoHashes) ?? pkgRegex.exec(lineNoHashes);\n const gitPackageMatches = packageGitRegex.exec(lineNoHashes);\n if (!packageMatches && !gitPackageMatches) {\n return null;\n }\n if (gitPackageMatches?.groups) {\n const currentVersion = gitPackageMatches.groups.version;\n const depName = gitPackageMatches.groups.depName;\n let packageName: string;\n if (gitPackageMatches.groups.protocol === 'https') {\n packageName = 'https://'\n .concat(gitPackageMatches.groups.gitUrl)\n .replace(`@${currentVersion}`, '');\n } else {\n // we need to replace the / with a :\n const scmPath = gitPackageMatches.groups.scmPath;\n const delimiter = gitPackageMatches.groups.delimiter;\n packageName = gitPackageMatches.groups.gitUrl\n .replace(`${delimiter}${scmPath}`, `:${scmPath}`)\n .replace(`@${currentVersion}`, '');\n }\n dep = {\n ...dep,\n depName,\n currentValue: currentVersion,\n currentVersion,\n packageName,\n datasource: GitTagsDatasource.id,\n };\n return dep;\n }\n\n // validated above\n const [, depName, , currVal] = packageMatches!;\n const currentValue = currVal?.trim();\n dep = {\n ...dep,\n depName,\n packageName: normalizePythonDepName(depName),\n currentValue,\n datasource: PypiDatasource.id,\n };\n if (currentValue?.startsWith('==')) {\n dep.currentVersion = currentValue.replace(/^==\\s*/, '');\n }\n return dep;\n })\n .filter(is.truthy);\n\n const res = extractPackageFileFlags(content);\n res.deps = deps;\n\n if (\n !res.deps.length &&\n !res.registryUrls?.length &&\n !res.additionalRegistryUrls?.length &&\n !res.managerData?.requirementsFiles?.length &&\n !res.managerData?.constraintsFiles?.length\n ) {\n return null;\n }\n return res;\n}\n"]}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/pip_requirements/extract.ts"],"names":[],"mappings":"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","sourcesContent":["// based on https://www.python.org/dev/peps/pep-0508/#names\nimport { RANGE_PATTERN } from '@renovatebot/pep440';\nimport { isTruthy } from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { isSkipComment } from '../../../util/ignore';\nimport { newlineRegex, regEx } from '../../../util/regex';\nimport { GitTagsDatasource } from '../../datasource/git-tags';\nimport { PypiDatasource } from '../../datasource/pypi';\nimport { normalizePythonDepName } from '../../datasource/pypi/common';\nimport type { PackageDependency, PackageFileContent } from '../types';\nimport { extractPackageFileFlags } from './common';\nimport type { PipRequirementsManagerData } from './types';\n\nexport const packagePattern =\n '[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9._-]*[a-zA-Z0-9]';\nexport const extrasPattern = '(?:\\\\s*\\\\[[^\\\\]]+\\\\])?';\nconst packageGitRegex = regEx(\n /(?<source>(?:git\\+)(?<protocol>git|ssh|https):\\/\\/(?<gitUrl>(?:(?<user>[^@]+)@)?(?<hostname>[\\w.-]+)(?<delimiter>\\/)(?<scmPath>.*\\/(?<depName>[\\w/-]+))(\\.git)?(?:@(?<version>.*))))/,\n);\n\nconst rangePattern: string = RANGE_PATTERN;\nconst specifierPartPattern = `\\\\s*${rangePattern.replace(\n regEx(/\\?<\\w+>/g),\n '?:',\n)}`;\nconst specifierPattern = `${specifierPartPattern}(?:\\\\s*,${specifierPartPattern})*`;\nexport const dependencyPattern = `(${packagePattern})(${extrasPattern})(${specifierPattern})`;\n\nexport function extractPackageFile(\n content: string,\n): PackageFileContent<PipRequirementsManagerData> | null {\n logger.trace('pip_requirements.extractPackageFile()');\n\n const pkgRegex = regEx(`^(${packagePattern})$`);\n const pkgValRegex = regEx(`^${dependencyPattern}$`);\n const deps = content\n .split(newlineRegex)\n .map((rawline) => {\n let dep: PackageDependency = {};\n const [line, comment] = rawline.split('#').map((part) => part.trim());\n if (isSkipComment(comment)) {\n dep.skipReason = 'ignored';\n }\n const [lineNoEnvMarkers] = line.split(';').map((part) => part.trim());\n const lineNoHashes = lineNoEnvMarkers.split(' \\\\')[0];\n const packageMatches =\n pkgValRegex.exec(lineNoHashes) ?? pkgRegex.exec(lineNoHashes);\n const gitPackageMatches = packageGitRegex.exec(lineNoHashes);\n if (!packageMatches && !gitPackageMatches) {\n return null;\n }\n if (gitPackageMatches?.groups) {\n const currentVersion = gitPackageMatches.groups.version;\n const depName = gitPackageMatches.groups.depName;\n let packageName: string;\n if (gitPackageMatches.groups.protocol === 'https') {\n packageName = 'https://'\n .concat(gitPackageMatches.groups.gitUrl)\n .replace(`@${currentVersion}`, '');\n } else {\n // we need to replace the / with a :\n const scmPath = gitPackageMatches.groups.scmPath;\n const delimiter = gitPackageMatches.groups.delimiter;\n packageName = gitPackageMatches.groups.gitUrl\n .replace(`${delimiter}${scmPath}`, `:${scmPath}`)\n .replace(`@${currentVersion}`, '');\n }\n dep = {\n ...dep,\n depName,\n currentValue: currentVersion,\n currentVersion,\n packageName,\n datasource: GitTagsDatasource.id,\n };\n return dep;\n }\n\n // validated above\n const [, depName, , currVal] = packageMatches!;\n const currentValue = currVal?.trim();\n dep = {\n ...dep,\n depName,\n packageName: normalizePythonDepName(depName),\n currentValue,\n datasource: PypiDatasource.id,\n };\n if (currentValue?.startsWith('==')) {\n dep.currentVersion = currentValue.replace(/^==\\s*/, '');\n }\n return dep;\n })\n .filter(isTruthy);\n\n const res = extractPackageFileFlags(content);\n res.deps = deps;\n\n if (\n !res.deps.length &&\n !res.registryUrls?.length &&\n !res.additionalRegistryUrls?.length &&\n !res.managerData?.requirementsFiles?.length &&\n !res.managerData?.constraintsFiles?.length\n ) {\n return null;\n }\n return res;\n}\n"]}
@@ -4,9 +4,8 @@ exports.getMatchingHostRule = getMatchingHostRule;
4
4
  exports.extractEnvironmentVariableName = extractEnvironmentVariableName;
5
5
  exports.addExtraEnvVariable = addExtraEnvVariable;
6
6
  exports.updateArtifacts = updateArtifacts;
7
- const tslib_1 = require("tslib");
8
7
  const detect_tools_1 = require("@renovatebot/detect-tools");
9
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
8
+ const is_1 = require("@sindresorhus/is");
10
9
  const error_messages_1 = require("../../../constants/error-messages");
11
10
  const logger_1 = require("../../../logger");
12
11
  const exec_1 = require("../../../util/exec");
@@ -32,8 +31,8 @@ async function findPipfileSourceUrlsWithCredentials(pipfileContent, pipfileName)
32
31
  const pipfile = await (0, extract_1.extractPackageFile)(pipfileContent, pipfileName);
33
32
  return (pipfile?.registryUrls
34
33
  ?.map(url_1.parseUrl)
35
- .filter(is_1.default.urlInstance)
36
- .filter((url) => is_1.default.nonEmptyStringAndNotWhitespace(url.username)) ?? []);
34
+ .filter(is_1.isUrlInstance)
35
+ .filter((url) => (0, is_1.isNonEmptyStringAndNotWhitespace)(url.username)) ?? []);
37
36
  }
38
37
  /**
39
38
  * This will extract the actual variable name from an environment-placeholder:
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/pipenv/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import { pipenv as pipenvDetect } from '@renovatebot/detect-tools';\nimport is from '@sindresorhus/is';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport type { HostRule } from '../../../types';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions, ExtraEnv, Opt } from '../../../util/exec/types';\nimport {\n deleteLocalFile,\n ensureCacheDir,\n getParentDir,\n localPathExists,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport { ensureLocalPath } from '../../../util/fs/util';\nimport { getRepoStatus } from '../../../util/git';\nimport { find } from '../../../util/host-rules';\nimport { regEx } from '../../../util/regex';\nimport { parseUrl } from '../../../util/url';\nimport { PypiDatasource } from '../../datasource/pypi';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\nimport { extractPackageFile } from './extract';\n\nexport function getMatchingHostRule(url: string): HostRule | null {\n const parsedUrl = parseUrl(url);\n if (parsedUrl) {\n parsedUrl.username = '';\n parsedUrl.password = '';\n const urlWithoutCredentials = parsedUrl.toString();\n\n return find({ hostType: PypiDatasource.id, url: urlWithoutCredentials });\n }\n return null;\n}\n\nasync function findPipfileSourceUrlsWithCredentials(\n pipfileContent: string,\n pipfileName: string,\n): Promise<URL[]> {\n const pipfile = await extractPackageFile(pipfileContent, pipfileName);\n\n return (\n pipfile?.registryUrls\n ?.map(parseUrl)\n .filter(is.urlInstance)\n .filter((url) => is.nonEmptyStringAndNotWhitespace(url.username)) ?? []\n );\n}\n\n/**\n * This will extract the actual variable name from an environment-placeholder:\n * ${USERNAME:-defaultvalue} will yield 'USERNAME'\n */\nexport function extractEnvironmentVariableName(\n credential: string,\n): string | null {\n const match = regEx('([a-z0-9_]+)', 'i').exec(decodeURI(credential));\n return match?.length ? match[0] : null;\n}\n\nexport function addExtraEnvVariable(\n extraEnv: ExtraEnv<unknown>,\n environmentVariableName: string,\n environmentValue: string,\n): void {\n logger.trace(\n `Adding ${environmentVariableName} environment variable for pipenv`,\n );\n if (\n extraEnv[environmentVariableName] &&\n extraEnv[environmentVariableName] !== environmentValue\n ) {\n logger.warn(\n { envVar: environmentVariableName },\n 'Possible misconfiguration, environment variable already set to a different value',\n );\n }\n extraEnv[environmentVariableName] = environmentValue;\n}\n\n/**\n * Pipenv allows configuring source-urls for remote repositories with placeholders for credentials, i.e. http://$USER:$PASS@myprivate.repo\n * if a matching host rule exists for that repository, we need to set the corresponding variables.\n * Simply substituting them in the URL is not an option as it would impact the hash for the resulting Pipfile.lock\n *\n */\nasync function addCredentialsForSourceUrls(\n newPipfileContent: string,\n pipfileName: string,\n extraEnv: ExtraEnv<unknown>,\n): Promise<void> {\n const sourceUrls = await findPipfileSourceUrlsWithCredentials(\n newPipfileContent,\n pipfileName,\n );\n for (const parsedSourceUrl of sourceUrls) {\n logger.trace(`Trying to add credentials for ${parsedSourceUrl.toString()}`);\n const matchingHostRule = getMatchingHostRule(parsedSourceUrl.toString());\n if (matchingHostRule) {\n const usernameVariableName = extractEnvironmentVariableName(\n parsedSourceUrl.username,\n );\n if (matchingHostRule.username && usernameVariableName) {\n addExtraEnvVariable(\n extraEnv,\n usernameVariableName,\n matchingHostRule.username,\n );\n }\n const passwordVariableName = extractEnvironmentVariableName(\n parsedSourceUrl.password,\n );\n if (matchingHostRule.password && passwordVariableName) {\n addExtraEnvVariable(\n extraEnv,\n passwordVariableName,\n matchingHostRule.password,\n );\n }\n }\n }\n}\n\nexport async function updateArtifacts({\n packageFileName: pipfileName,\n newPackageFileContent: newPipfileContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`pipenv.updateArtifacts(${pipfileName})`);\n\n const lockFileName = pipfileName + '.lock';\n if (!(await localPathExists(lockFileName))) {\n logger.debug('No Pipfile.lock found');\n return null;\n }\n try {\n await writeLocalFile(pipfileName, newPipfileContent);\n if (config.isLockFileMaintenance) {\n await deleteLocalFile(lockFileName);\n }\n const cmd = 'pipenv lock';\n const pipfileDir = getParentDir(ensureLocalPath(pipfileName));\n const tagConstraint =\n config.constraints?.python ??\n (await pipenvDetect.getPythonConstraint(pipfileDir));\n const pipenvConstraint =\n config.constraints?.pipenv ??\n (await pipenvDetect.getPipenvConstraint(pipfileDir));\n const extraEnv: Opt<ExtraEnv> = {\n PIPENV_CACHE_DIR: await ensureCacheDir('pipenv'),\n PIP_CACHE_DIR: await ensureCacheDir('pip'),\n WORKON_HOME: await ensureCacheDir('virtualenvs'),\n };\n const execOptions: ExecOptions = {\n cwdFile: pipfileName,\n docker: {},\n toolConstraints: [\n {\n toolName: 'python',\n constraint: tagConstraint,\n },\n {\n toolName: 'pipenv',\n constraint: pipenvConstraint,\n },\n ],\n };\n await addCredentialsForSourceUrls(newPipfileContent, pipfileName, extraEnv);\n execOptions.extraEnv = extraEnv;\n\n logger.trace({ cmd }, 'pipenv lock command');\n await exec(cmd, execOptions);\n const status = await getRepoStatus();\n if (!status?.modified.includes(lockFileName)) {\n return null;\n }\n logger.debug('Returning updated Pipfile.lock');\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: await readLocalFile(lockFileName, 'utf8'),\n },\n },\n ];\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, 'Failed to update Pipfile.lock');\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/pipenv/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import { pipenv as pipenvDetect } from '@renovatebot/detect-tools';\nimport {\n isNonEmptyStringAndNotWhitespace,\n isUrlInstance,\n} from '@sindresorhus/is';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport type { HostRule } from '../../../types';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions, ExtraEnv, Opt } from '../../../util/exec/types';\nimport {\n deleteLocalFile,\n ensureCacheDir,\n getParentDir,\n localPathExists,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport { ensureLocalPath } from '../../../util/fs/util';\nimport { getRepoStatus } from '../../../util/git';\nimport { find } from '../../../util/host-rules';\nimport { regEx } from '../../../util/regex';\nimport { parseUrl } from '../../../util/url';\nimport { PypiDatasource } from '../../datasource/pypi';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\nimport { extractPackageFile } from './extract';\n\nexport function getMatchingHostRule(url: string): HostRule | null {\n const parsedUrl = parseUrl(url);\n if (parsedUrl) {\n parsedUrl.username = '';\n parsedUrl.password = '';\n const urlWithoutCredentials = parsedUrl.toString();\n\n return find({ hostType: PypiDatasource.id, url: urlWithoutCredentials });\n }\n return null;\n}\n\nasync function findPipfileSourceUrlsWithCredentials(\n pipfileContent: string,\n pipfileName: string,\n): Promise<URL[]> {\n const pipfile = await extractPackageFile(pipfileContent, pipfileName);\n\n return (\n pipfile?.registryUrls\n ?.map(parseUrl)\n .filter(isUrlInstance)\n .filter((url) => isNonEmptyStringAndNotWhitespace(url.username)) ?? []\n );\n}\n\n/**\n * This will extract the actual variable name from an environment-placeholder:\n * ${USERNAME:-defaultvalue} will yield 'USERNAME'\n */\nexport function extractEnvironmentVariableName(\n credential: string,\n): string | null {\n const match = regEx('([a-z0-9_]+)', 'i').exec(decodeURI(credential));\n return match?.length ? match[0] : null;\n}\n\nexport function addExtraEnvVariable(\n extraEnv: ExtraEnv<unknown>,\n environmentVariableName: string,\n environmentValue: string,\n): void {\n logger.trace(\n `Adding ${environmentVariableName} environment variable for pipenv`,\n );\n if (\n extraEnv[environmentVariableName] &&\n extraEnv[environmentVariableName] !== environmentValue\n ) {\n logger.warn(\n { envVar: environmentVariableName },\n 'Possible misconfiguration, environment variable already set to a different value',\n );\n }\n extraEnv[environmentVariableName] = environmentValue;\n}\n\n/**\n * Pipenv allows configuring source-urls for remote repositories with placeholders for credentials, i.e. http://$USER:$PASS@myprivate.repo\n * if a matching host rule exists for that repository, we need to set the corresponding variables.\n * Simply substituting them in the URL is not an option as it would impact the hash for the resulting Pipfile.lock\n *\n */\nasync function addCredentialsForSourceUrls(\n newPipfileContent: string,\n pipfileName: string,\n extraEnv: ExtraEnv<unknown>,\n): Promise<void> {\n const sourceUrls = await findPipfileSourceUrlsWithCredentials(\n newPipfileContent,\n pipfileName,\n );\n for (const parsedSourceUrl of sourceUrls) {\n logger.trace(`Trying to add credentials for ${parsedSourceUrl.toString()}`);\n const matchingHostRule = getMatchingHostRule(parsedSourceUrl.toString());\n if (matchingHostRule) {\n const usernameVariableName = extractEnvironmentVariableName(\n parsedSourceUrl.username,\n );\n if (matchingHostRule.username && usernameVariableName) {\n addExtraEnvVariable(\n extraEnv,\n usernameVariableName,\n matchingHostRule.username,\n );\n }\n const passwordVariableName = extractEnvironmentVariableName(\n parsedSourceUrl.password,\n );\n if (matchingHostRule.password && passwordVariableName) {\n addExtraEnvVariable(\n extraEnv,\n passwordVariableName,\n matchingHostRule.password,\n );\n }\n }\n }\n}\n\nexport async function updateArtifacts({\n packageFileName: pipfileName,\n newPackageFileContent: newPipfileContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`pipenv.updateArtifacts(${pipfileName})`);\n\n const lockFileName = pipfileName + '.lock';\n if (!(await localPathExists(lockFileName))) {\n logger.debug('No Pipfile.lock found');\n return null;\n }\n try {\n await writeLocalFile(pipfileName, newPipfileContent);\n if (config.isLockFileMaintenance) {\n await deleteLocalFile(lockFileName);\n }\n const cmd = 'pipenv lock';\n const pipfileDir = getParentDir(ensureLocalPath(pipfileName));\n const tagConstraint =\n config.constraints?.python ??\n (await pipenvDetect.getPythonConstraint(pipfileDir));\n const pipenvConstraint =\n config.constraints?.pipenv ??\n (await pipenvDetect.getPipenvConstraint(pipfileDir));\n const extraEnv: Opt<ExtraEnv> = {\n PIPENV_CACHE_DIR: await ensureCacheDir('pipenv'),\n PIP_CACHE_DIR: await ensureCacheDir('pip'),\n WORKON_HOME: await ensureCacheDir('virtualenvs'),\n };\n const execOptions: ExecOptions = {\n cwdFile: pipfileName,\n docker: {},\n toolConstraints: [\n {\n toolName: 'python',\n constraint: tagConstraint,\n },\n {\n toolName: 'pipenv',\n constraint: pipenvConstraint,\n },\n ],\n };\n await addCredentialsForSourceUrls(newPipfileContent, pipfileName, extraEnv);\n execOptions.extraEnv = extraEnv;\n\n logger.trace({ cmd }, 'pipenv lock command');\n await exec(cmd, execOptions);\n const status = await getRepoStatus();\n if (!status?.modified.includes(lockFileName)) {\n return null;\n }\n logger.debug('Returning updated Pipfile.lock');\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: await readLocalFile(lockFileName, 'utf8'),\n },\n },\n ];\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, 'Failed to update Pipfile.lock');\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n}\n"]}
@@ -2,10 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.extrasPattern = exports.packagePattern = void 0;
4
4
  exports.extractPackageFile = extractPackageFile;
5
- const tslib_1 = require("tslib");
6
5
  const detect_tools_1 = require("@renovatebot/detect-tools");
7
6
  const pep440_1 = require("@renovatebot/pep440");
8
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
7
+ const is_1 = require("@sindresorhus/is");
9
8
  const logger_1 = require("../../../logger");
10
9
  const fs_1 = require("../../../util/fs");
11
10
  const util_1 = require("../../../util/fs/util");
@@ -29,7 +28,7 @@ function extractFromSection(sectionName, pipfileSection, sources) {
29
28
  let currentValue;
30
29
  let nestedVersion = false;
31
30
  let skipReason;
32
- if (is_1.default.object(requirements)) {
31
+ if ((0, is_1.isObject)(requirements)) {
33
32
  if (requirements.git) {
34
33
  skipReason = 'git-dependency';
35
34
  }
@@ -91,7 +90,7 @@ function extractFromSection(sectionName, pipfileSection, sources) {
91
90
  // TODO #22198
92
91
  dep.managerData.nestedVersion = nestedVersion;
93
92
  }
94
- if (sources && is_1.default.object(requirements) && requirements.index) {
93
+ if (sources && (0, is_1.isObject)(requirements) && requirements.index) {
95
94
  const source = sources.find((item) => item.name === requirements.index);
96
95
  if (source) {
97
96
  dep.registryUrls = [source.url];
@@ -103,9 +102,9 @@ function extractFromSection(sectionName, pipfileSection, sources) {
103
102
  return deps;
104
103
  }
105
104
  function isPipRequirements(section) {
106
- return (!is_1.default.array(section) &&
107
- is_1.default.object(section) &&
108
- !Object.values(section).some((dep) => !is_1.default.object(dep) && !is_1.default.string(dep)));
105
+ return (!(0, is_1.isArray)(section) &&
106
+ (0, is_1.isObject)(section) &&
107
+ !Object.values(section).some((dep) => !(0, is_1.isObject)(dep) && !(0, is_1.isString)(dep)));
109
108
  }
110
109
  async function extractPackageFile(content, packageFile) {
111
110
  logger_1.logger.trace(`pipenv.extractPackageFile(${packageFile})`);
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/pipenv/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import { pipenv as pipenvDetect } from '@renovatebot/detect-tools';\nimport { RANGE_PATTERN } from '@renovatebot/pep440';\nimport is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport type { SkipReason } from '../../../types';\nimport { getParentDir, localPathExists } from '../../../util/fs';\nimport { ensureLocalPath } from '../../../util/fs/util';\nimport { regEx } from '../../../util/regex';\nimport { parse as parseToml } from '../../../util/toml';\nimport { PypiDatasource } from '../../datasource/pypi';\nimport { normalizePythonDepName } from '../../datasource/pypi/common';\nimport type { PackageDependency, PackageFileContent } from '../types';\nimport type { PipFile, PipRequirement, PipSource } from './types';\n\n// based on https://www.python.org/dev/peps/pep-0508/#names\nexport const packagePattern = '[A-Z0-9]|[A-Z0-9][A-Z0-9._-]*[A-Z0-9]';\nexport const extrasPattern = '(?:\\\\s*\\\\[[^\\\\]]+\\\\])*';\nconst packageRegex = regEx(`^(${packagePattern})(${extrasPattern})$`, 'i');\n\nconst rangePattern: string = RANGE_PATTERN;\n\nconst specifierPartPattern = `\\\\s*${rangePattern.replace(\n regEx(/\\?<\\w+>/g),\n '?:',\n)}\\\\s*`;\nconst specifierPattern = `${specifierPartPattern}(?:,${specifierPartPattern})*`;\nconst specifierRegex = regEx(`^${specifierPattern}$`);\nfunction extractFromSection(\n sectionName: string,\n pipfileSection: Record<string, PipRequirement>,\n sources?: PipSource[],\n): PackageDependency[] {\n const deps = Object.entries(pipfileSection)\n .map((x) => {\n const [packageNameString, requirements] = x;\n let depName = packageNameString;\n\n let currentValue: string | undefined;\n let nestedVersion = false;\n let skipReason: SkipReason | undefined;\n if (is.object(requirements)) {\n if (requirements.git) {\n skipReason = 'git-dependency';\n } else if (requirements.file) {\n skipReason = 'file-dependency';\n } else if (requirements.path) {\n skipReason = 'local-dependency';\n } else if (requirements.version) {\n currentValue = requirements.version;\n nestedVersion = true;\n } else {\n skipReason = 'unspecified-version';\n }\n } else {\n currentValue = requirements;\n }\n if (currentValue === '*') {\n skipReason = 'unspecified-version';\n }\n if (!skipReason) {\n const packageMatches = packageRegex.exec(packageNameString);\n if (packageMatches) {\n depName = packageMatches[1];\n } else {\n logger.debug(\n `Skipping dependency with malformed package name \"${packageNameString}\".`,\n );\n skipReason = 'invalid-name';\n }\n // validated above\n const specifierMatches = specifierRegex.exec(currentValue!);\n if (!specifierMatches) {\n logger.debug(\n `Skipping dependency with malformed version specifier \"${currentValue!}\".`,\n );\n skipReason = 'invalid-version';\n }\n }\n const dep: PackageDependency = {\n depType: sectionName,\n depName,\n packageName: normalizePythonDepName(depName),\n managerData: {},\n };\n if (currentValue) {\n dep.currentValue = currentValue;\n }\n if (skipReason) {\n dep.skipReason = skipReason;\n } else {\n dep.datasource = PypiDatasource.id;\n }\n if (!skipReason && currentValue?.startsWith('==')) {\n dep.currentVersion = currentValue.replace(regEx(/^==\\s*/), '');\n }\n if (nestedVersion) {\n // TODO #22198\n dep.managerData!.nestedVersion = nestedVersion;\n }\n if (sources && is.object(requirements) && requirements.index) {\n const source = sources.find((item) => item.name === requirements.index);\n if (source) {\n dep.registryUrls = [source.url];\n }\n }\n return dep;\n })\n .filter(Boolean);\n return deps;\n}\n\nfunction isPipRequirements(\n section?:\n | Record<string, PipRequirement>\n | Record<string, string>\n | PipSource[],\n): section is Record<string, PipRequirement> {\n return (\n !is.array(section) &&\n is.object(section) &&\n !Object.values(section).some((dep) => !is.object(dep) && !is.string(dep))\n );\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n): Promise<PackageFileContent | null> {\n logger.trace(`pipenv.extractPackageFile(${packageFile})`);\n\n let pipfile: PipFile;\n try {\n // TODO: fix type (#9610)\n pipfile = parseToml(content) as any;\n } catch (err) {\n logger.debug({ err, packageFile }, 'Error parsing Pipfile');\n return null;\n }\n const res: PackageFileContent = { deps: [] };\n\n const sources = pipfile?.source;\n\n if (sources) {\n res.registryUrls = sources.map((source) => source.url);\n }\n\n res.deps = Object.entries(pipfile)\n .map(([category, section]) => {\n if (\n category === 'source' ||\n category === 'requires' ||\n !isPipRequirements(section)\n ) {\n return [];\n }\n\n return extractFromSection(category, section, sources);\n })\n .flat();\n\n if (!res.deps.length) {\n return null;\n }\n\n const extractedConstraints: Record<string, any> = {};\n\n const pipfileDir = getParentDir(ensureLocalPath(packageFile));\n\n const pythonConstraint = await pipenvDetect.getPythonConstraint(pipfileDir);\n if (pythonConstraint) {\n extractedConstraints.python = pythonConstraint;\n }\n\n const pipenvConstraint = await pipenvDetect.getPipenvConstraint(pipfileDir);\n if (pipenvConstraint) {\n extractedConstraints.pipenv = pipenvConstraint;\n }\n\n const lockFileName = `${packageFile}.lock`;\n if (await localPathExists(lockFileName)) {\n res.lockFiles = [lockFileName];\n }\n\n res.extractedConstraints = extractedConstraints;\n return res;\n}\n"]}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/pipenv/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import { pipenv as pipenvDetect } from '@renovatebot/detect-tools';\nimport { RANGE_PATTERN } from '@renovatebot/pep440';\nimport { isArray, isObject, isString } from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport type { SkipReason } from '../../../types';\nimport { getParentDir, localPathExists } from '../../../util/fs';\nimport { ensureLocalPath } from '../../../util/fs/util';\nimport { regEx } from '../../../util/regex';\nimport { parse as parseToml } from '../../../util/toml';\nimport { PypiDatasource } from '../../datasource/pypi';\nimport { normalizePythonDepName } from '../../datasource/pypi/common';\nimport type { PackageDependency, PackageFileContent } from '../types';\nimport type { PipFile, PipRequirement, PipSource } from './types';\n\n// based on https://www.python.org/dev/peps/pep-0508/#names\nexport const packagePattern = '[A-Z0-9]|[A-Z0-9][A-Z0-9._-]*[A-Z0-9]';\nexport const extrasPattern = '(?:\\\\s*\\\\[[^\\\\]]+\\\\])*';\nconst packageRegex = regEx(`^(${packagePattern})(${extrasPattern})$`, 'i');\n\nconst rangePattern: string = RANGE_PATTERN;\n\nconst specifierPartPattern = `\\\\s*${rangePattern.replace(\n regEx(/\\?<\\w+>/g),\n '?:',\n)}\\\\s*`;\nconst specifierPattern = `${specifierPartPattern}(?:,${specifierPartPattern})*`;\nconst specifierRegex = regEx(`^${specifierPattern}$`);\nfunction extractFromSection(\n sectionName: string,\n pipfileSection: Record<string, PipRequirement>,\n sources?: PipSource[],\n): PackageDependency[] {\n const deps = Object.entries(pipfileSection)\n .map((x) => {\n const [packageNameString, requirements] = x;\n let depName = packageNameString;\n\n let currentValue: string | undefined;\n let nestedVersion = false;\n let skipReason: SkipReason | undefined;\n if (isObject(requirements)) {\n if (requirements.git) {\n skipReason = 'git-dependency';\n } else if (requirements.file) {\n skipReason = 'file-dependency';\n } else if (requirements.path) {\n skipReason = 'local-dependency';\n } else if (requirements.version) {\n currentValue = requirements.version;\n nestedVersion = true;\n } else {\n skipReason = 'unspecified-version';\n }\n } else {\n currentValue = requirements;\n }\n if (currentValue === '*') {\n skipReason = 'unspecified-version';\n }\n if (!skipReason) {\n const packageMatches = packageRegex.exec(packageNameString);\n if (packageMatches) {\n depName = packageMatches[1];\n } else {\n logger.debug(\n `Skipping dependency with malformed package name \"${packageNameString}\".`,\n );\n skipReason = 'invalid-name';\n }\n // validated above\n const specifierMatches = specifierRegex.exec(currentValue!);\n if (!specifierMatches) {\n logger.debug(\n `Skipping dependency with malformed version specifier \"${currentValue!}\".`,\n );\n skipReason = 'invalid-version';\n }\n }\n const dep: PackageDependency = {\n depType: sectionName,\n depName,\n packageName: normalizePythonDepName(depName),\n managerData: {},\n };\n if (currentValue) {\n dep.currentValue = currentValue;\n }\n if (skipReason) {\n dep.skipReason = skipReason;\n } else {\n dep.datasource = PypiDatasource.id;\n }\n if (!skipReason && currentValue?.startsWith('==')) {\n dep.currentVersion = currentValue.replace(regEx(/^==\\s*/), '');\n }\n if (nestedVersion) {\n // TODO #22198\n dep.managerData!.nestedVersion = nestedVersion;\n }\n if (sources && isObject(requirements) && requirements.index) {\n const source = sources.find((item) => item.name === requirements.index);\n if (source) {\n dep.registryUrls = [source.url];\n }\n }\n return dep;\n })\n .filter(Boolean);\n return deps;\n}\n\nfunction isPipRequirements(\n section?:\n | Record<string, PipRequirement>\n | Record<string, string>\n | PipSource[],\n): section is Record<string, PipRequirement> {\n return (\n !isArray(section) &&\n isObject(section) &&\n !Object.values(section).some((dep) => !isObject(dep) && !isString(dep))\n );\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n): Promise<PackageFileContent | null> {\n logger.trace(`pipenv.extractPackageFile(${packageFile})`);\n\n let pipfile: PipFile;\n try {\n // TODO: fix type (#9610)\n pipfile = parseToml(content) as any;\n } catch (err) {\n logger.debug({ err, packageFile }, 'Error parsing Pipfile');\n return null;\n }\n const res: PackageFileContent = { deps: [] };\n\n const sources = pipfile?.source;\n\n if (sources) {\n res.registryUrls = sources.map((source) => source.url);\n }\n\n res.deps = Object.entries(pipfile)\n .map(([category, section]) => {\n if (\n category === 'source' ||\n category === 'requires' ||\n !isPipRequirements(section)\n ) {\n return [];\n }\n\n return extractFromSection(category, section, sources);\n })\n .flat();\n\n if (!res.deps.length) {\n return null;\n }\n\n const extractedConstraints: Record<string, any> = {};\n\n const pipfileDir = getParentDir(ensureLocalPath(packageFile));\n\n const pythonConstraint = await pipenvDetect.getPythonConstraint(pipfileDir);\n if (pythonConstraint) {\n extractedConstraints.python = pythonConstraint;\n }\n\n const pipenvConstraint = await pipenvDetect.getPipenvConstraint(pipfileDir);\n if (pipenvConstraint) {\n extractedConstraints.pipenv = pipenvConstraint;\n }\n\n const lockFileName = `${packageFile}.lock`;\n if (await localPathExists(lockFileName)) {\n res.lockFiles = [lockFileName];\n }\n\n res.extractedConstraints = extractedConstraints;\n return res;\n}\n"]}
@@ -2,8 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.commandLock = void 0;
4
4
  exports.updateArtifacts = updateArtifacts;
5
- const tslib_1 = require("tslib");
6
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
5
+ const is_1 = require("@sindresorhus/is");
7
6
  const error_messages_1 = require("../../../constants/error-messages");
8
7
  const logger_1 = require("../../../logger");
9
8
  const exec_1 = require("../../../util/exec");
@@ -13,7 +12,7 @@ exports.commandLock = 'pixi lock --no-progress --color=never --quiet';
13
12
  async function updateArtifacts({ packageFileName, updatedDeps, newPackageFileContent, config, }) {
14
13
  logger_1.logger.debug(`pixi.updateArtifacts(${packageFileName})`);
15
14
  const { isLockFileMaintenance } = config;
16
- if (!is_1.default.nonEmptyArray(updatedDeps) && !isLockFileMaintenance) {
15
+ if (!(0, is_1.isNonEmptyArray)(updatedDeps) && !isLockFileMaintenance) {
17
16
  logger_1.logger.debug('No updated pixi deps - returning null');
18
17
  return null;
19
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/pixi/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\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 deleteLocalFile,\n ensureCacheDir,\n getSiblingFileName,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\nimport { getUserPixiConfig } from './extract';\n\nexport const commandLock = 'pixi lock --no-progress --color=never --quiet';\n\nexport async function updateArtifacts({\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`pixi.updateArtifacts(${packageFileName})`);\n const { isLockFileMaintenance } = config;\n\n if (!is.nonEmptyArray(updatedDeps) && !isLockFileMaintenance) {\n logger.debug('No updated pixi deps - returning null');\n return null;\n }\n\n const lockFileName = getSiblingFileName(packageFileName, 'pixi.lock');\n const existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n logger.debug(`No lock file found`);\n return null;\n }\n logger.trace(`Updating ${lockFileName}`);\n\n const cmd = [commandLock];\n\n const pixiConfig = getUserPixiConfig(newPackageFileContent, packageFileName);\n\n const constraint =\n config.constraints?.pixi ?? pixiConfig?.project['requires-pixi'];\n\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n if (isLockFileMaintenance) {\n await deleteLocalFile(lockFileName);\n }\n\n // https://pixi.sh/latest/features/environment/#caching-packages\n const PIXI_CACHE_DIR = await ensureCacheDir('pixi');\n const extraEnv = {\n PIXI_CACHE_DIR,\n RATTLER_CACHE_DIR: PIXI_CACHE_DIR,\n };\n\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n extraEnv,\n docker: {},\n toolConstraints: [{ toolName: 'pixi', constraint }],\n };\n await exec(cmd, execOptions);\n const newPixiLockContent = await readLocalFile(lockFileName, 'utf8');\n if (existingLockFileContent === newPixiLockContent) {\n logger.debug(`${lockFileName} is unchanged`);\n return null;\n }\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newPixiLockContent,\n },\n },\n ];\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n\n logger.debug({ err }, `Failed to update ${lockFileName} file`);\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: `${err}`,\n },\n },\n ];\n }\n}\n"]}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/pixi/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNonEmptyArray } from '@sindresorhus/is';\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 deleteLocalFile,\n ensureCacheDir,\n getSiblingFileName,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\nimport { getUserPixiConfig } from './extract';\n\nexport const commandLock = 'pixi lock --no-progress --color=never --quiet';\n\nexport async function updateArtifacts({\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`pixi.updateArtifacts(${packageFileName})`);\n const { isLockFileMaintenance } = config;\n\n if (!isNonEmptyArray(updatedDeps) && !isLockFileMaintenance) {\n logger.debug('No updated pixi deps - returning null');\n return null;\n }\n\n const lockFileName = getSiblingFileName(packageFileName, 'pixi.lock');\n const existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n logger.debug(`No lock file found`);\n return null;\n }\n logger.trace(`Updating ${lockFileName}`);\n\n const cmd = [commandLock];\n\n const pixiConfig = getUserPixiConfig(newPackageFileContent, packageFileName);\n\n const constraint =\n config.constraints?.pixi ?? pixiConfig?.project['requires-pixi'];\n\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n if (isLockFileMaintenance) {\n await deleteLocalFile(lockFileName);\n }\n\n // https://pixi.sh/latest/features/environment/#caching-packages\n const PIXI_CACHE_DIR = await ensureCacheDir('pixi');\n const extraEnv = {\n PIXI_CACHE_DIR,\n RATTLER_CACHE_DIR: PIXI_CACHE_DIR,\n };\n\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n extraEnv,\n docker: {},\n toolConstraints: [{ toolName: 'pixi', constraint }],\n };\n await exec(cmd, execOptions);\n const newPixiLockContent = await readLocalFile(lockFileName, 'utf8');\n if (existingLockFileContent === newPixiLockContent) {\n logger.debug(`${lockFileName} is unchanged`);\n return null;\n }\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newPixiLockContent,\n },\n },\n ];\n } catch (err) {\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n\n logger.debug({ err }, `Failed to update ${lockFileName} file`);\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: `${err}`,\n },\n },\n ];\n }\n}\n"]}
@@ -2,8 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getUserPixiConfig = getUserPixiConfig;
4
4
  exports.extractPackageFile = extractPackageFile;
5
- const tslib_1 = require("tslib");
6
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
5
+ const is_1 = require("@sindresorhus/is");
7
6
  const zod_1 = require("zod");
8
7
  const logger_1 = require("../../../logger");
9
8
  const array_1 = require("../../../util/array");
@@ -111,7 +110,7 @@ function channelToRegistryUrl(channel) {
111
110
  function orderChannels(channels = []) {
112
111
  return channels
113
112
  .map((channel, index) => {
114
- if (is_1.default.string(channel)) {
113
+ if ((0, is_1.isString)(channel)) {
115
114
  return { channel, priority: 0, index };
116
115
  }
117
116
  return { ...channel, index: 0 };
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/pixi/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { z } from 'zod';\n\nimport { logger } from '../../../logger';\nimport { coerceArray } from '../../../util/array';\nimport { getSiblingFileName, localPathExists } from '../../../util/fs';\nimport { Result } from '../../../util/result';\nimport {\n ensureTrailingSlash,\n isHttpUrl,\n joinUrlParts,\n} from '../../../util/url';\nimport type { RegistryStrategy } from '../../datasource';\nimport { defaultRegistryUrl as defaultCondaRegistryApi } from '../../datasource/conda/common';\nimport type { PackageFileContent } from '../types';\nimport {\n type Channels,\n type PixiConfig,\n PixiFile,\n type PixiPackageDependency,\n PixiPyProject,\n} from './schema';\n\nexport function getUserPixiConfig(\n content: string,\n packageFile: string,\n): null | PixiConfig {\n if (\n packageFile === 'pyproject.toml' ||\n packageFile.endsWith('/pyproject.toml')\n ) {\n const { val, err } = Result.parse(content, PixiPyProject).unwrap();\n if (err) {\n logger.debug({ packageFile, err }, `error parsing ${packageFile}`);\n return null;\n }\n\n return val.tool?.pixi ?? null;\n }\n\n if (packageFile === 'pixi.toml' || packageFile.endsWith('/pixi.toml')) {\n const { val, err } = Result.parse(content, PixiFile).unwrap();\n if (err) {\n logger.debug({ packageFile, err }, `error parsing ${packageFile}`);\n return null;\n }\n\n return val;\n }\n\n const { val, err } = Result.parse(\n content,\n z.union([PixiFile, PixiPyProject.transform((p) => p.tool?.pixi)]),\n ).unwrap();\n\n if (err) {\n logger.debug({ packageFile, err }, `error parsing ${packageFile}`);\n return null;\n }\n return val ?? null;\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n): Promise<PackageFileContent | null> {\n logger.trace(`pixi.extractPackageFile(${packageFile})`);\n\n const val = getUserPixiConfig(content, packageFile);\n if (!val) {\n return null;\n }\n\n const lockfileName = getSiblingFileName(packageFile, 'pixi.lock');\n const lockFiles: string[] = [];\n if (await localPathExists(lockfileName)) {\n lockFiles.push(lockfileName);\n }\n\n const project = val.project;\n\n const channelPriority = project['channel-priority'];\n\n let registryStrategy: RegistryStrategy | undefined;\n\n if (channelPriority === 'disabled') {\n registryStrategy = 'merge';\n }\n\n // resolve channels and build registry urls for each channel with order\n const conda: PixiPackageDependency[] = [];\n\n for (const item of val.conda) {\n conda.push(\n addRegistryUrls({\n ...item,\n channels: project.channels,\n registryStrategy,\n }),\n );\n }\n\n for (const item of val.feature.conda) {\n conda.push(\n addRegistryUrls({\n ...item,\n registryStrategy,\n channels: [...coerceArray(item.channels), ...project.channels],\n }),\n );\n }\n\n return {\n lockFiles,\n deps: [conda, val.pypi, val.feature.pypi].flat(),\n };\n}\n\nfunction addRegistryUrls(item: PixiPackageDependency): PixiPackageDependency {\n const channels = orderChannels(item.channels);\n\n if (item.channel) {\n return {\n ...item,\n channels,\n registryUrls: [channelToRegistryUrl(item.channel)],\n };\n }\n\n if (channels.length === 0) {\n return {\n ...item,\n channels,\n skipStage: 'extract',\n skipReason: 'unknown-registry',\n };\n }\n\n const registryUrls: string[] = [];\n for (const channel of channels) {\n registryUrls.push(channelToRegistryUrl(channel));\n }\n\n return {\n ...item,\n channels,\n registryUrls,\n };\n}\n\nfunction channelToRegistryUrl(channel: string): string {\n if (isHttpUrl(channel)) {\n return ensureTrailingSlash(channel);\n }\n\n return ensureTrailingSlash(joinUrlParts(defaultCondaRegistryApi, channel));\n}\n\nfunction orderChannels(channels: Channels = []): string[] {\n return channels\n .map((channel, index) => {\n if (is.string(channel)) {\n return { channel, priority: 0, index };\n }\n\n return { ...channel, index: 0 };\n })\n .toSorted((a, b) => {\n // first based on priority then based on index\n if (a.priority !== b.priority) {\n return b.priority - a.priority;\n }\n\n return a.index - b.index;\n })\n .map((c) => c.channel);\n}\n"]}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/pixi/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import { isString } from '@sindresorhus/is';\nimport { z } from 'zod';\n\nimport { logger } from '../../../logger';\nimport { coerceArray } from '../../../util/array';\nimport { getSiblingFileName, localPathExists } from '../../../util/fs';\nimport { Result } from '../../../util/result';\nimport {\n ensureTrailingSlash,\n isHttpUrl,\n joinUrlParts,\n} from '../../../util/url';\nimport type { RegistryStrategy } from '../../datasource';\nimport { defaultRegistryUrl as defaultCondaRegistryApi } from '../../datasource/conda/common';\nimport type { PackageFileContent } from '../types';\nimport {\n type Channels,\n type PixiConfig,\n PixiFile,\n type PixiPackageDependency,\n PixiPyProject,\n} from './schema';\n\nexport function getUserPixiConfig(\n content: string,\n packageFile: string,\n): null | PixiConfig {\n if (\n packageFile === 'pyproject.toml' ||\n packageFile.endsWith('/pyproject.toml')\n ) {\n const { val, err } = Result.parse(content, PixiPyProject).unwrap();\n if (err) {\n logger.debug({ packageFile, err }, `error parsing ${packageFile}`);\n return null;\n }\n\n return val.tool?.pixi ?? null;\n }\n\n if (packageFile === 'pixi.toml' || packageFile.endsWith('/pixi.toml')) {\n const { val, err } = Result.parse(content, PixiFile).unwrap();\n if (err) {\n logger.debug({ packageFile, err }, `error parsing ${packageFile}`);\n return null;\n }\n\n return val;\n }\n\n const { val, err } = Result.parse(\n content,\n z.union([PixiFile, PixiPyProject.transform((p) => p.tool?.pixi)]),\n ).unwrap();\n\n if (err) {\n logger.debug({ packageFile, err }, `error parsing ${packageFile}`);\n return null;\n }\n return val ?? null;\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n): Promise<PackageFileContent | null> {\n logger.trace(`pixi.extractPackageFile(${packageFile})`);\n\n const val = getUserPixiConfig(content, packageFile);\n if (!val) {\n return null;\n }\n\n const lockfileName = getSiblingFileName(packageFile, 'pixi.lock');\n const lockFiles: string[] = [];\n if (await localPathExists(lockfileName)) {\n lockFiles.push(lockfileName);\n }\n\n const project = val.project;\n\n const channelPriority = project['channel-priority'];\n\n let registryStrategy: RegistryStrategy | undefined;\n\n if (channelPriority === 'disabled') {\n registryStrategy = 'merge';\n }\n\n // resolve channels and build registry urls for each channel with order\n const conda: PixiPackageDependency[] = [];\n\n for (const item of val.conda) {\n conda.push(\n addRegistryUrls({\n ...item,\n channels: project.channels,\n registryStrategy,\n }),\n );\n }\n\n for (const item of val.feature.conda) {\n conda.push(\n addRegistryUrls({\n ...item,\n registryStrategy,\n channels: [...coerceArray(item.channels), ...project.channels],\n }),\n );\n }\n\n return {\n lockFiles,\n deps: [conda, val.pypi, val.feature.pypi].flat(),\n };\n}\n\nfunction addRegistryUrls(item: PixiPackageDependency): PixiPackageDependency {\n const channels = orderChannels(item.channels);\n\n if (item.channel) {\n return {\n ...item,\n channels,\n registryUrls: [channelToRegistryUrl(item.channel)],\n };\n }\n\n if (channels.length === 0) {\n return {\n ...item,\n channels,\n skipStage: 'extract',\n skipReason: 'unknown-registry',\n };\n }\n\n const registryUrls: string[] = [];\n for (const channel of channels) {\n registryUrls.push(channelToRegistryUrl(channel));\n }\n\n return {\n ...item,\n channels,\n registryUrls,\n };\n}\n\nfunction channelToRegistryUrl(channel: string): string {\n if (isHttpUrl(channel)) {\n return ensureTrailingSlash(channel);\n }\n\n return ensureTrailingSlash(joinUrlParts(defaultCondaRegistryApi, channel));\n}\n\nfunction orderChannels(channels: Channels = []): string[] {\n return channels\n .map((channel, index) => {\n if (isString(channel)) {\n return { channel, priority: 0, index };\n }\n\n return { ...channel, index: 0 };\n })\n .toSorted((a, b) => {\n // first based on priority then based on index\n if (a.priority !== b.priority) {\n return b.priority - a.priority;\n }\n\n return a.index - b.index;\n })\n .map((c) => c.channel);\n}\n"]}
@@ -3,8 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getPythonConstraint = getPythonConstraint;
4
4
  exports.getPoetryRequirement = getPoetryRequirement;
5
5
  exports.updateArtifacts = updateArtifacts;
6
- const tslib_1 = require("tslib");
7
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
6
+ const is_1 = require("@sindresorhus/is");
8
7
  const shlex_1 = require("shlex");
9
8
  const error_messages_1 = require("../../../constants/error-messages");
10
9
  const logger_1 = require("../../../logger");
@@ -79,7 +78,7 @@ function getPoetrySources(content, fileName) {
79
78
  }
80
79
  async function getMatchingHostRule(url) {
81
80
  const scopedMatch = (0, host_rules_1.find)({ hostType: pypi_1.PypiDatasource.id, url });
82
- const hostRule = is_1.default.nonEmptyObject(scopedMatch) ? scopedMatch : (0, host_rules_1.find)({ url });
81
+ const hostRule = (0, is_1.isNonEmptyObject)(scopedMatch) ? scopedMatch : (0, host_rules_1.find)({ url });
83
82
  if (hostRule && Object.keys(hostRule).length !== 0) {
84
83
  return hostRule;
85
84
  }
@@ -119,7 +118,7 @@ async function getSourceCredentialVars(pyprojectContent, packageFileName) {
119
118
  async function updateArtifacts({ packageFileName, updatedDeps, newPackageFileContent, config, }) {
120
119
  logger_1.logger.debug(`poetry.updateArtifacts(${packageFileName})`);
121
120
  const { isLockFileMaintenance } = config;
122
- if (!is_1.default.nonEmptyArray(updatedDeps) && !isLockFileMaintenance) {
121
+ if (!(0, is_1.isNonEmptyArray)(updatedDeps) && !isLockFileMaintenance) {
123
122
  logger_1.logger.debug('No updated poetry deps - returning null');
124
123
  return null;
125
124
  }
@@ -146,7 +145,7 @@ async function updateArtifacts({ packageFileName, updatedDeps, newPackageFileCon
146
145
  else {
147
146
  cmd.push(`poetry update --lock --no-interaction ${updatedDeps
148
147
  .map((dep) => dep.depName)
149
- .filter(is_1.default.string)
148
+ .filter(is_1.isString)
150
149
  .map((dep) => (0, shlex_1.quote)(dep))
151
150
  .join(' ')}`);
152
151
  }
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/poetry/artifacts.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 type { HostRule } from '../../../types';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport {\n deleteLocalFile,\n ensureCacheDir,\n getSiblingFileName,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport { getGitEnvironmentVariables } from '../../../util/git/auth';\nimport { find } from '../../../util/host-rules';\nimport { regEx } from '../../../util/regex';\nimport { Result } from '../../../util/result';\nimport { massage as massageToml, parse as parseToml } from '../../../util/toml';\nimport { parseUrl } from '../../../util/url';\nimport { PypiDatasource } from '../../datasource/pypi';\nimport { getGoogleAuthHostRule } from '../../datasource/util';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\nimport { Lockfile, PoetryPyProject } from './schema';\nimport type { PoetryFile, PoetrySource } from './types';\n\nexport function getPythonConstraint(\n pyProjectContent: string,\n existingLockFileContent: string,\n): string | null {\n // Read Python version from `pyproject.toml` first as it could have been updated\n const pyprojectPythonConstraint = Result.parse(\n massageToml(pyProjectContent),\n PoetryPyProject.transform(\n ({ packageFileContent }) =>\n packageFileContent.deps.find((dep) => dep.depName === 'python')\n ?.currentValue,\n ),\n ).unwrapOrNull();\n if (pyprojectPythonConstraint) {\n logger.debug('Using python version from pyproject.toml');\n return pyprojectPythonConstraint;\n }\n\n const lockfilePythonConstraint = Result.parse(\n existingLockFileContent,\n Lockfile.transform(({ pythonVersions }) => pythonVersions),\n ).unwrapOrNull();\n if (lockfilePythonConstraint) {\n logger.debug('Using python version from poetry.lock');\n return lockfilePythonConstraint;\n }\n\n return null;\n}\n\nexport function getPoetryRequirement(\n pyProjectContent: string,\n existingLockFileContent: string,\n): undefined | string | null {\n // Read Poetry version from first line of poetry.lock\n const firstLine = existingLockFileContent.split('\\n')[0];\n const poetryVersionMatch = regEx(/by Poetry ([\\d\\\\.]+)/).exec(firstLine);\n if (poetryVersionMatch?.[1]) {\n const poetryVersion = poetryVersionMatch[1];\n logger.debug(\n `Using poetry version ${poetryVersion} from poetry.lock header`,\n );\n return poetryVersion;\n }\n\n const { val: lockfilePoetryConstraint } = Result.parse(\n existingLockFileContent,\n Lockfile.transform(({ poetryConstraint }) => poetryConstraint),\n ).unwrap();\n if (lockfilePoetryConstraint) {\n logger.debug(\n `Using poetry version ${lockfilePoetryConstraint} from poetry.lock metadata`,\n );\n return lockfilePoetryConstraint;\n }\n\n const { val: pyprojectPoetryConstraint } = Result.parse(\n massageToml(pyProjectContent),\n PoetryPyProject.transform(({ poetryRequirement }) => poetryRequirement),\n ).unwrap();\n if (pyprojectPoetryConstraint) {\n logger.debug(\n `Using poetry version ${pyprojectPoetryConstraint} from pyproject.toml`,\n );\n return pyprojectPoetryConstraint;\n }\n\n return null;\n}\n\nfunction getPoetrySources(content: string, fileName: string): PoetrySource[] {\n let pyprojectFile: PoetryFile;\n try {\n pyprojectFile = parseToml(massageToml(content)) as PoetryFile;\n } catch (err) {\n logger.debug({ err }, 'Error parsing pyproject.toml file');\n return [];\n }\n if (!pyprojectFile.tool?.poetry) {\n logger.debug(`${fileName} contains no poetry section`);\n return [];\n }\n\n const sources = pyprojectFile.tool?.poetry?.source ?? [];\n const sourceArray: PoetrySource[] = [];\n for (const source of sources) {\n if (source.name && source.url) {\n sourceArray.push({ name: source.name, url: source.url });\n }\n }\n return sourceArray;\n}\n\nasync function getMatchingHostRule(url: string | undefined): Promise<HostRule> {\n const scopedMatch = find({ hostType: PypiDatasource.id, url });\n const hostRule = is.nonEmptyObject(scopedMatch) ? scopedMatch : find({ url });\n if (hostRule && Object.keys(hostRule).length !== 0) {\n return hostRule;\n }\n\n const parsedUrl = parseUrl(url);\n if (!parsedUrl) {\n logger.once.debug(`Failed to parse URL ${url}`);\n return {};\n }\n\n if (parsedUrl.hostname.endsWith('.pkg.dev')) {\n const hostRule = await getGoogleAuthHostRule();\n if (hostRule && Object.keys(hostRule).length !== 0) {\n return hostRule;\n }\n logger.once.debug(`Could not get Google access token (url=${url})`);\n }\n\n return {};\n}\n\nasync function getSourceCredentialVars(\n pyprojectContent: string,\n packageFileName: string,\n): Promise<NodeJS.ProcessEnv> {\n const poetrySources = getPoetrySources(pyprojectContent, packageFileName);\n const envVars: NodeJS.ProcessEnv = {};\n\n for (const source of poetrySources) {\n const matchingHostRule = await getMatchingHostRule(source.url);\n const formattedSourceName = source.name\n .replace(regEx(/(\\.|-)+/g), '_')\n .toUpperCase();\n if (matchingHostRule.username) {\n envVars[`POETRY_HTTP_BASIC_${formattedSourceName}_USERNAME`] =\n matchingHostRule.username;\n }\n if (matchingHostRule.password) {\n envVars[`POETRY_HTTP_BASIC_${formattedSourceName}_PASSWORD`] =\n matchingHostRule.password;\n }\n }\n return envVars;\n}\n\nexport async function updateArtifacts({\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`poetry.updateArtifacts(${packageFileName})`);\n const { isLockFileMaintenance } = config;\n\n if (!is.nonEmptyArray(updatedDeps) && !isLockFileMaintenance) {\n logger.debug('No updated poetry deps - returning null');\n return null;\n }\n // Try poetry.lock first\n let lockFileName = getSiblingFileName(packageFileName, 'poetry.lock');\n let existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n // Try pyproject.lock next\n lockFileName = getSiblingFileName(packageFileName, 'pyproject.lock');\n existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n logger.debug(`No lock file found`);\n return null;\n }\n }\n logger.debug(`Updating ${lockFileName}`);\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n const cmd: string[] = [];\n if (isLockFileMaintenance) {\n await deleteLocalFile(lockFileName);\n cmd.push('poetry update --lock --no-interaction');\n } else {\n cmd.push(\n `poetry update --lock --no-interaction ${updatedDeps\n .map((dep) => dep.depName)\n .filter(is.string)\n .map((dep) => quote(dep))\n .join(' ')}`,\n );\n }\n const pythonConstraint =\n config?.constraints?.python ??\n getPythonConstraint(newPackageFileContent, existingLockFileContent);\n const poetryConstraint =\n config.constraints?.poetry ??\n getPoetryRequirement(newPackageFileContent, existingLockFileContent);\n const extraEnv = {\n ...(await getSourceCredentialVars(\n newPackageFileContent,\n packageFileName,\n )),\n ...getGitEnvironmentVariables(['poetry']),\n PIP_CACHE_DIR: await ensureCacheDir('pip'),\n };\n\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n extraEnv,\n docker: {},\n toolConstraints: [\n { toolName: 'python', constraint: pythonConstraint },\n { toolName: 'poetry', constraint: poetryConstraint },\n ],\n };\n await exec(cmd, execOptions);\n const newPoetryLockContent = await readLocalFile(lockFileName, 'utf8');\n if (existingLockFileContent === newPoetryLockContent) {\n logger.debug(`${lockFileName} is unchanged`);\n return null;\n }\n logger.debug(`Returning updated ${lockFileName}`);\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newPoetryLockContent,\n },\n },\n ];\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, `Failed to update ${lockFileName} file`);\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: `${String(err.stdout)}\\n${String(err.stderr)}`,\n },\n },\n ];\n }\n}\n"]}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/poetry/artifacts.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNonEmptyArray, isNonEmptyObject, isString } from '@sindresorhus/is';\nimport { quote } from 'shlex';\nimport { TEMPORARY_ERROR } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport type { HostRule } from '../../../types';\nimport { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport {\n deleteLocalFile,\n ensureCacheDir,\n getSiblingFileName,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport { getGitEnvironmentVariables } from '../../../util/git/auth';\nimport { find } from '../../../util/host-rules';\nimport { regEx } from '../../../util/regex';\nimport { Result } from '../../../util/result';\nimport { massage as massageToml, parse as parseToml } from '../../../util/toml';\nimport { parseUrl } from '../../../util/url';\nimport { PypiDatasource } from '../../datasource/pypi';\nimport { getGoogleAuthHostRule } from '../../datasource/util';\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\nimport { Lockfile, PoetryPyProject } from './schema';\nimport type { PoetryFile, PoetrySource } from './types';\n\nexport function getPythonConstraint(\n pyProjectContent: string,\n existingLockFileContent: string,\n): string | null {\n // Read Python version from `pyproject.toml` first as it could have been updated\n const pyprojectPythonConstraint = Result.parse(\n massageToml(pyProjectContent),\n PoetryPyProject.transform(\n ({ packageFileContent }) =>\n packageFileContent.deps.find((dep) => dep.depName === 'python')\n ?.currentValue,\n ),\n ).unwrapOrNull();\n if (pyprojectPythonConstraint) {\n logger.debug('Using python version from pyproject.toml');\n return pyprojectPythonConstraint;\n }\n\n const lockfilePythonConstraint = Result.parse(\n existingLockFileContent,\n Lockfile.transform(({ pythonVersions }) => pythonVersions),\n ).unwrapOrNull();\n if (lockfilePythonConstraint) {\n logger.debug('Using python version from poetry.lock');\n return lockfilePythonConstraint;\n }\n\n return null;\n}\n\nexport function getPoetryRequirement(\n pyProjectContent: string,\n existingLockFileContent: string,\n): undefined | string | null {\n // Read Poetry version from first line of poetry.lock\n const firstLine = existingLockFileContent.split('\\n')[0];\n const poetryVersionMatch = regEx(/by Poetry ([\\d\\\\.]+)/).exec(firstLine);\n if (poetryVersionMatch?.[1]) {\n const poetryVersion = poetryVersionMatch[1];\n logger.debug(\n `Using poetry version ${poetryVersion} from poetry.lock header`,\n );\n return poetryVersion;\n }\n\n const { val: lockfilePoetryConstraint } = Result.parse(\n existingLockFileContent,\n Lockfile.transform(({ poetryConstraint }) => poetryConstraint),\n ).unwrap();\n if (lockfilePoetryConstraint) {\n logger.debug(\n `Using poetry version ${lockfilePoetryConstraint} from poetry.lock metadata`,\n );\n return lockfilePoetryConstraint;\n }\n\n const { val: pyprojectPoetryConstraint } = Result.parse(\n massageToml(pyProjectContent),\n PoetryPyProject.transform(({ poetryRequirement }) => poetryRequirement),\n ).unwrap();\n if (pyprojectPoetryConstraint) {\n logger.debug(\n `Using poetry version ${pyprojectPoetryConstraint} from pyproject.toml`,\n );\n return pyprojectPoetryConstraint;\n }\n\n return null;\n}\n\nfunction getPoetrySources(content: string, fileName: string): PoetrySource[] {\n let pyprojectFile: PoetryFile;\n try {\n pyprojectFile = parseToml(massageToml(content)) as PoetryFile;\n } catch (err) {\n logger.debug({ err }, 'Error parsing pyproject.toml file');\n return [];\n }\n if (!pyprojectFile.tool?.poetry) {\n logger.debug(`${fileName} contains no poetry section`);\n return [];\n }\n\n const sources = pyprojectFile.tool?.poetry?.source ?? [];\n const sourceArray: PoetrySource[] = [];\n for (const source of sources) {\n if (source.name && source.url) {\n sourceArray.push({ name: source.name, url: source.url });\n }\n }\n return sourceArray;\n}\n\nasync function getMatchingHostRule(url: string | undefined): Promise<HostRule> {\n const scopedMatch = find({ hostType: PypiDatasource.id, url });\n const hostRule = isNonEmptyObject(scopedMatch) ? scopedMatch : find({ url });\n if (hostRule && Object.keys(hostRule).length !== 0) {\n return hostRule;\n }\n\n const parsedUrl = parseUrl(url);\n if (!parsedUrl) {\n logger.once.debug(`Failed to parse URL ${url}`);\n return {};\n }\n\n if (parsedUrl.hostname.endsWith('.pkg.dev')) {\n const hostRule = await getGoogleAuthHostRule();\n if (hostRule && Object.keys(hostRule).length !== 0) {\n return hostRule;\n }\n logger.once.debug(`Could not get Google access token (url=${url})`);\n }\n\n return {};\n}\n\nasync function getSourceCredentialVars(\n pyprojectContent: string,\n packageFileName: string,\n): Promise<NodeJS.ProcessEnv> {\n const poetrySources = getPoetrySources(pyprojectContent, packageFileName);\n const envVars: NodeJS.ProcessEnv = {};\n\n for (const source of poetrySources) {\n const matchingHostRule = await getMatchingHostRule(source.url);\n const formattedSourceName = source.name\n .replace(regEx(/(\\.|-)+/g), '_')\n .toUpperCase();\n if (matchingHostRule.username) {\n envVars[`POETRY_HTTP_BASIC_${formattedSourceName}_USERNAME`] =\n matchingHostRule.username;\n }\n if (matchingHostRule.password) {\n envVars[`POETRY_HTTP_BASIC_${formattedSourceName}_PASSWORD`] =\n matchingHostRule.password;\n }\n }\n return envVars;\n}\n\nexport async function updateArtifacts({\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`poetry.updateArtifacts(${packageFileName})`);\n const { isLockFileMaintenance } = config;\n\n if (!isNonEmptyArray(updatedDeps) && !isLockFileMaintenance) {\n logger.debug('No updated poetry deps - returning null');\n return null;\n }\n // Try poetry.lock first\n let lockFileName = getSiblingFileName(packageFileName, 'poetry.lock');\n let existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n // Try pyproject.lock next\n lockFileName = getSiblingFileName(packageFileName, 'pyproject.lock');\n existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n logger.debug(`No lock file found`);\n return null;\n }\n }\n logger.debug(`Updating ${lockFileName}`);\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n const cmd: string[] = [];\n if (isLockFileMaintenance) {\n await deleteLocalFile(lockFileName);\n cmd.push('poetry update --lock --no-interaction');\n } else {\n cmd.push(\n `poetry update --lock --no-interaction ${updatedDeps\n .map((dep) => dep.depName)\n .filter(isString)\n .map((dep) => quote(dep))\n .join(' ')}`,\n );\n }\n const pythonConstraint =\n config?.constraints?.python ??\n getPythonConstraint(newPackageFileContent, existingLockFileContent);\n const poetryConstraint =\n config.constraints?.poetry ??\n getPoetryRequirement(newPackageFileContent, existingLockFileContent);\n const extraEnv = {\n ...(await getSourceCredentialVars(\n newPackageFileContent,\n packageFileName,\n )),\n ...getGitEnvironmentVariables(['poetry']),\n PIP_CACHE_DIR: await ensureCacheDir('pip'),\n };\n\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n extraEnv,\n docker: {},\n toolConstraints: [\n { toolName: 'python', constraint: pythonConstraint },\n { toolName: 'poetry', constraint: poetryConstraint },\n ],\n };\n await exec(cmd, execOptions);\n const newPoetryLockContent = await readLocalFile(lockFileName, 'utf8');\n if (existingLockFileContent === newPoetryLockContent) {\n logger.debug(`${lockFileName} is unchanged`);\n return null;\n }\n logger.debug(`Returning updated ${lockFileName}`);\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newPoetryLockContent,\n },\n },\n ];\n } catch (err) {\n // istanbul ignore if\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n logger.debug({ err }, `Failed to update ${lockFileName} file`);\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: `${String(err.stdout)}\\n${String(err.stderr)}`,\n },\n },\n ];\n }\n}\n"]}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.extractPackageFile = extractPackageFile;
4
- const tslib_1 = require("tslib");
5
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
4
+ const is_1 = require("@sindresorhus/is");
6
5
  const logger_1 = require("../../../logger");
7
6
  const filter_map_1 = require("../../../util/filter-map");
8
7
  const fs_1 = require("../../../util/fs");
@@ -46,7 +45,7 @@ async function extractPackageFile(content, packageFile) {
46
45
  return null;
47
46
  }
48
47
  const extractedConstraints = {};
49
- if (is_1.default.nonEmptyString(pythonVersion)) {
48
+ if ((0, is_1.isNonEmptyString)(pythonVersion)) {
50
49
  extractedConstraints.python = pythonVersion;
51
50
  }
52
51
  res.extractedConstraints = extractedConstraints;
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/poetry/extract.ts"],"names":[],"mappings":";;AAcA,gDAsEC;;AApFD,kEAAkC;AAClC,4CAAyC;AACzC,yDAAqD;AACrD,yCAI0B;AAC1B,iDAA8C;AAC9C,6CAA4D;AAC5D,sEAA4E;AAE5E,qCAAqD;AAE9C,KAAK,UAAU,kBAAkB,CACtC,OAAe,EACf,WAAmB;IAEnB,eAAM,CAAC,KAAK,CAAC,6BAA6B,WAAW,GAAG,CAAC,CAAC;IAC1D,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,eAAM,CAAC,KAAK,CACpC,IAAA,cAAW,EAAC,OAAO,CAAC,EACpB,wBAAe,CAAC,SAAS,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAC1E,CAAC,MAAM,EAAE,CAAC;IACX,IAAI,GAAG,EAAE,CAAC;QACR,eAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE,sCAAsC,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,uBAAkB,EAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,CAAC,MAAM,IAAA,kBAAa,EAAC,YAAY,EAAE,MAAM,CAAC,CAAE,CAAC;IAClE,MAAM,eAAe,GAAG,eAAM,CAAC,KAAK,CAClC,YAAY,EACZ,iBAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CACvC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,aAAiC,CAAC;IACtC,IAAA,sBAAS,EAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;QAC1B,IAAI,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;gBACrB,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC;YACnC,CAAC;YACD,OAAO;gBACL,GAAG,GAAG;gBACN,wFAAwF;gBACxF,iCAAiC;gBACjC,WAAW,EAAE,+BAA+B;gBAC5C,UAAU,EAAE,0CAAwB,CAAC,EAAE;gBACvC,kBAAkB,EAAE,QAAQ;gBAC5B,YAAY,EAAE,IAAI;aACnB,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,OAAO,CAAC;QACnD,IAAI,WAAW,IAAI,WAAW,IAAI,eAAe,EAAE,CAAC;YAClD,GAAG,CAAC,aAAa,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,oBAAoB,GAAwB,EAAE,CAAC;IAErD,IAAI,YAAE,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;QACrC,oBAAoB,CAAC,MAAM,GAAG,aAAa,CAAC;IAC9C,CAAC;IACD,GAAG,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;IAEhD,wBAAwB;IACxB,IAAI,QAAQ,GAAG,IAAA,uBAAkB,EAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAC9D,uBAAuB;IACvB,IAAI,MAAM,IAAA,oBAAe,EAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,GAAG,CAAC,SAAS,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,0BAA0B;QAC1B,QAAQ,GAAG,IAAA,uBAAkB,EAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAC7D,IAAI,MAAM,IAAA,oBAAe,EAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,GAAG,CAAC,SAAS,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { filterMap } from '../../../util/filter-map';\nimport {\n getSiblingFileName,\n localPathExists,\n readLocalFile,\n} from '../../../util/fs';\nimport { Result } from '../../../util/result';\nimport { massage as massageToml } from '../../../util/toml';\nimport { GithubReleasesDatasource } from '../../datasource/github-releases';\nimport type { PackageFileContent } from '../types';\nimport { Lockfile, PoetryPyProject } from './schema';\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n): Promise<PackageFileContent | null> {\n logger.trace(`poetry.extractPackageFile(${packageFile})`);\n const { val: res, err } = Result.parse(\n massageToml(content),\n PoetryPyProject.transform(({ packageFileContent }) => packageFileContent),\n ).unwrap();\n if (err) {\n logger.debug({ packageFile, err }, `Poetry: error parsing pyproject.toml`);\n return null;\n }\n\n const lockfileName = getSiblingFileName(packageFile, 'poetry.lock');\n const lockContents = (await readLocalFile(lockfileName, 'utf8'))!;\n const lockfileMapping = Result.parse(\n lockContents,\n Lockfile.transform(({ lock }) => lock),\n ).unwrapOr({});\n\n let pythonVersion: string | undefined;\n filterMap(res.deps, (dep) => {\n if (dep.depName === 'python') {\n if (dep.currentValue) {\n pythonVersion = dep.currentValue;\n }\n return {\n ...dep,\n // We use containerbase python as source, as there are a lot docker tags which can cause\n // issues with poetry versioning.\n packageName: 'containerbase/python-prebuild',\n datasource: GithubReleasesDatasource.id,\n commitMessageTopic: 'Python',\n registryUrls: null,\n };\n }\n\n const packageName = dep.packageName ?? dep.depName;\n if (packageName && packageName in lockfileMapping) {\n dep.lockedVersion = lockfileMapping[packageName];\n }\n\n return dep;\n });\n\n if (!res.deps.length) {\n return null;\n }\n\n const extractedConstraints: Record<string, any> = {};\n\n if (is.nonEmptyString(pythonVersion)) {\n extractedConstraints.python = pythonVersion;\n }\n res.extractedConstraints = extractedConstraints;\n\n // Try poetry.lock first\n let lockFile = getSiblingFileName(packageFile, 'poetry.lock');\n // istanbul ignore next\n if (await localPathExists(lockFile)) {\n res.lockFiles = [lockFile];\n } else {\n // Try pyproject.lock next\n lockFile = getSiblingFileName(packageFile, 'pyproject.lock');\n if (await localPathExists(lockFile)) {\n res.lockFiles = [lockFile];\n }\n }\n return res;\n}\n"]}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../../../lib/modules/manager/poetry/extract.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNonEmptyString } from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { filterMap } from '../../../util/filter-map';\nimport {\n getSiblingFileName,\n localPathExists,\n readLocalFile,\n} from '../../../util/fs';\nimport { Result } from '../../../util/result';\nimport { massage as massageToml } from '../../../util/toml';\nimport { GithubReleasesDatasource } from '../../datasource/github-releases';\nimport type { PackageFileContent } from '../types';\nimport { Lockfile, PoetryPyProject } from './schema';\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n): Promise<PackageFileContent | null> {\n logger.trace(`poetry.extractPackageFile(${packageFile})`);\n const { val: res, err } = Result.parse(\n massageToml(content),\n PoetryPyProject.transform(({ packageFileContent }) => packageFileContent),\n ).unwrap();\n if (err) {\n logger.debug({ packageFile, err }, `Poetry: error parsing pyproject.toml`);\n return null;\n }\n\n const lockfileName = getSiblingFileName(packageFile, 'poetry.lock');\n const lockContents = (await readLocalFile(lockfileName, 'utf8'))!;\n const lockfileMapping = Result.parse(\n lockContents,\n Lockfile.transform(({ lock }) => lock),\n ).unwrapOr({});\n\n let pythonVersion: string | undefined;\n filterMap(res.deps, (dep) => {\n if (dep.depName === 'python') {\n if (dep.currentValue) {\n pythonVersion = dep.currentValue;\n }\n return {\n ...dep,\n // We use containerbase python as source, as there are a lot docker tags which can cause\n // issues with poetry versioning.\n packageName: 'containerbase/python-prebuild',\n datasource: GithubReleasesDatasource.id,\n commitMessageTopic: 'Python',\n registryUrls: null,\n };\n }\n\n const packageName = dep.packageName ?? dep.depName;\n if (packageName && packageName in lockfileMapping) {\n dep.lockedVersion = lockfileMapping[packageName];\n }\n\n return dep;\n });\n\n if (!res.deps.length) {\n return null;\n }\n\n const extractedConstraints: Record<string, any> = {};\n\n if (isNonEmptyString(pythonVersion)) {\n extractedConstraints.python = pythonVersion;\n }\n res.extractedConstraints = extractedConstraints;\n\n // Try poetry.lock first\n let lockFile = getSiblingFileName(packageFile, 'poetry.lock');\n // istanbul ignore next\n if (await localPathExists(lockFile)) {\n res.lockFiles = [lockFile];\n } else {\n // Try pyproject.lock next\n lockFile = getSiblingFileName(packageFile, 'pyproject.lock');\n if (await localPathExists(lockFile)) {\n res.lockFiles = [lockFile];\n }\n }\n return res;\n}\n"]}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.extractPackageFile = extractPackageFile;
4
- const tslib_1 = require("tslib");
5
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
4
+ const is_1 = require("@sindresorhus/is");
6
5
  const logger_1 = require("../../../logger");
7
6
  const common_1 = require("../../../util/common");
8
7
  const host_rules_1 = require("../../../util/host-rules");
@@ -41,7 +40,7 @@ function determineDatasource(repository, hostname) {
41
40
  }
42
41
  const hostUrl = 'https://' + hostname;
43
42
  const res = (0, host_rules_1.find)({ url: hostUrl });
44
- if (is_1.default.emptyObject(res)) {
43
+ if ((0, is_1.isEmptyObject)(res)) {
45
44
  // 1 check, to possibly prevent 3 failures in combined query of hostType & url.
46
45
  logger_1.logger.debug({ repository, hostUrl }, 'Provided hostname does not match any hostRules. Ignoring');
47
46
  return { skipReason: 'unknown-registry', registryUrls: [hostname] };
@@ -50,7 +49,7 @@ function determineDatasource(repository, hostname) {
50
49
  ['github', github_tags_1.GithubTagsDatasource.id],
51
50
  ['gitlab', gitlab_tags_1.GitlabTagsDatasource.id],
52
51
  ]) {
53
- if (is_1.default.nonEmptyObject((0, host_rules_1.find)({ hostType, url: hostUrl }))) {
52
+ if ((0, is_1.isNonEmptyObject)((0, host_rules_1.find)({ hostType, url: hostUrl }))) {
54
53
  logger_1.logger.debug({ repository, hostUrl, hostType }, `Provided hostname matches a ${hostType} hostrule.`);
55
54
  return { datasource: sourceId, registryUrls: [hostname] };
56
55
  }
@@ -163,7 +162,7 @@ function extractPackageFile(content, packageFile) {
163
162
  logger_1.logger.debug({ filename: packageFile, err }, 'Failed to parse pre-commit config YAML');
164
163
  return null;
165
164
  }
166
- if (!is_1.default.plainObject(parsedContent)) {
165
+ if (!(0, is_1.isPlainObject)(parsedContent)) {
167
166
  logger_1.logger.debug({ packageFile }, `Parsing of pre-commit config YAML returned invalid result`);
168
167
  return null;
169
168
  }