renovate 41.0.0-next.22 → 41.0.0-next.23

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 (399) hide show
  1. package/dist/config/decrypt.js +5 -3
  2. package/dist/config/decrypt.js.map +1 -1
  3. package/dist/config/options/index.js +45 -3
  4. package/dist/config/options/index.js.map +1 -1
  5. package/dist/config/presets/github/index.js +2 -2
  6. package/dist/config/presets/github/index.js.map +1 -1
  7. package/dist/config/presets/internal/group.js +21 -0
  8. package/dist/config/presets/internal/group.js.map +1 -1
  9. package/dist/config/presets/internal/workarounds.js +11 -0
  10. package/dist/config/presets/internal/workarounds.js.map +1 -1
  11. package/dist/config/secrets.d.ts +2 -0
  12. package/dist/config/secrets.js +10 -77
  13. package/dist/config/secrets.js.map +1 -1
  14. package/dist/config/types.d.ts +9 -1
  15. package/dist/config/types.js.map +1 -1
  16. package/dist/config-validator.js +4 -2
  17. package/dist/config-validator.js.map +1 -1
  18. package/dist/data/monorepo.json +10 -1
  19. package/dist/data-files.generated.d.ts +1 -1
  20. package/dist/data-files.generated.js +2 -1
  21. package/dist/data-files.generated.js.map +1 -1
  22. package/dist/instrumentation/index.js +5 -3
  23. package/dist/instrumentation/index.js.map +1 -1
  24. package/dist/instrumentation/reporting.d.ts +2 -2
  25. package/dist/instrumentation/reporting.js +3 -7
  26. package/dist/instrumentation/reporting.js.map +1 -1
  27. package/dist/instrumentation/types.d.ts +11 -5
  28. package/dist/instrumentation/types.js.map +1 -1
  29. package/dist/instrumentation/utils.js +3 -2
  30. package/dist/instrumentation/utils.js.map +1 -1
  31. package/dist/logger/once.js +2 -0
  32. package/dist/logger/once.js.map +1 -1
  33. package/dist/modules/datasource/aws-eks-addon/schema.d.ts +14 -38
  34. package/dist/modules/datasource/aws-eks-addon/schema.js +11 -22
  35. package/dist/modules/datasource/aws-eks-addon/schema.js.map +1 -1
  36. package/dist/modules/datasource/cdnjs/index.js +2 -1
  37. package/dist/modules/datasource/cdnjs/index.js.map +1 -1
  38. package/dist/modules/datasource/crate/index.js +7 -2
  39. package/dist/modules/datasource/crate/index.js.map +1 -1
  40. package/dist/modules/datasource/docker/ecr.js +2 -2
  41. package/dist/modules/datasource/docker/ecr.js.map +1 -1
  42. package/dist/modules/datasource/docker/index.js +26 -9
  43. package/dist/modules/datasource/docker/index.js.map +1 -1
  44. package/dist/modules/datasource/docker/schema.d.ts +9 -87
  45. package/dist/modules/datasource/docker/schema.js +1 -1
  46. package/dist/modules/datasource/docker/schema.js.map +1 -1
  47. package/dist/modules/datasource/git-refs/base.js +2 -6
  48. package/dist/modules/datasource/git-refs/base.js.map +1 -1
  49. package/dist/modules/datasource/go/goproxy-parser.js +6 -2
  50. package/dist/modules/datasource/go/goproxy-parser.js.map +1 -1
  51. package/dist/modules/datasource/go/index.js +4 -2
  52. package/dist/modules/datasource/go/index.js.map +1 -1
  53. package/dist/modules/datasource/go/releases-goproxy.js +3 -2
  54. package/dist/modules/datasource/go/releases-goproxy.js.map +1 -1
  55. package/dist/modules/datasource/index.js +1 -1
  56. package/dist/modules/datasource/index.js.map +1 -1
  57. package/dist/modules/datasource/maven/index.js +5 -19
  58. package/dist/modules/datasource/maven/index.js.map +1 -1
  59. package/dist/modules/datasource/maven/util.js +8 -1
  60. package/dist/modules/datasource/maven/util.js.map +1 -1
  61. package/dist/modules/datasource/npm/get.js +2 -1
  62. package/dist/modules/datasource/npm/get.js.map +1 -1
  63. package/dist/modules/datasource/npm/npmrc.js +2 -1
  64. package/dist/modules/datasource/npm/npmrc.js.map +1 -1
  65. package/dist/modules/datasource/nuget/v3.js +3 -2
  66. package/dist/modules/datasource/nuget/v3.js.map +1 -1
  67. package/dist/modules/datasource/pod/index.js +3 -1
  68. package/dist/modules/datasource/pod/index.js.map +1 -1
  69. package/dist/modules/datasource/pypi/index.js +2 -1
  70. package/dist/modules/datasource/pypi/index.js.map +1 -1
  71. package/dist/modules/datasource/types.d.ts +2 -1
  72. package/dist/modules/datasource/types.js.map +1 -1
  73. package/dist/modules/manager/asdf/upgradeable-tooling.js +8 -0
  74. package/dist/modules/manager/asdf/upgradeable-tooling.js.map +1 -1
  75. package/dist/modules/manager/bazel/rules/git.d.ts +7 -7
  76. package/dist/modules/manager/bazel/rules/git.js +6 -1
  77. package/dist/modules/manager/bazel/rules/git.js.map +1 -1
  78. package/dist/modules/manager/bazel-module/bazelrc.d.ts +2 -0
  79. package/dist/modules/manager/bazel-module/bazelrc.js +30 -1
  80. package/dist/modules/manager/bazel-module/bazelrc.js.map +1 -1
  81. package/dist/modules/manager/bazel-module/parser/rules.js +1 -0
  82. package/dist/modules/manager/bazel-module/parser/rules.js.map +1 -1
  83. package/dist/modules/manager/bazel-module/rules.d.ts +62 -24
  84. package/dist/modules/manager/bazel-module/rules.js +10 -4
  85. package/dist/modules/manager/bazel-module/rules.js.map +1 -1
  86. package/dist/modules/manager/cargo/extract.js +2 -1
  87. package/dist/modules/manager/cargo/extract.js.map +1 -1
  88. package/dist/modules/manager/composer/schema.js +1 -1
  89. package/dist/modules/manager/composer/schema.js.map +1 -1
  90. package/dist/modules/manager/docker-compose/extract.js +2 -0
  91. package/dist/modules/manager/docker-compose/extract.js.map +1 -1
  92. package/dist/modules/manager/docker-compose/schema.d.ts +120 -9
  93. package/dist/modules/manager/docker-compose/schema.js +35 -4
  94. package/dist/modules/manager/docker-compose/schema.js.map +1 -1
  95. package/dist/modules/manager/fingerprint.generated.js +19 -19
  96. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  97. package/dist/modules/manager/fleet/extract.js +2 -2
  98. package/dist/modules/manager/fleet/extract.js.map +1 -1
  99. package/dist/modules/manager/fleet/schema.d.ts +5 -5
  100. package/dist/modules/manager/fleet/schema.js +1 -1
  101. package/dist/modules/manager/fleet/schema.js.map +1 -1
  102. package/dist/modules/manager/flux/extract.js +1 -1
  103. package/dist/modules/manager/flux/extract.js.map +1 -1
  104. package/dist/modules/manager/git-submodules/extract.js +2 -6
  105. package/dist/modules/manager/git-submodules/extract.js.map +1 -1
  106. package/dist/modules/manager/git-submodules/update.js +3 -7
  107. package/dist/modules/manager/git-submodules/update.js.map +1 -1
  108. package/dist/modules/manager/github-actions/extract.js +1 -1
  109. package/dist/modules/manager/github-actions/extract.js.map +1 -1
  110. package/dist/modules/manager/gleam/artifacts.js +5 -1
  111. package/dist/modules/manager/gleam/artifacts.js.map +1 -1
  112. package/dist/modules/manager/gomod/artifacts.js +8 -6
  113. package/dist/modules/manager/gomod/artifacts.js.map +1 -1
  114. package/dist/modules/manager/gradle/extract.js +4 -1
  115. package/dist/modules/manager/gradle/extract.js.map +1 -1
  116. package/dist/modules/manager/gradle/utils.js +8 -14
  117. package/dist/modules/manager/gradle/utils.js.map +1 -1
  118. package/dist/modules/manager/helmfile/utils.js +1 -1
  119. package/dist/modules/manager/helmfile/utils.js.map +1 -1
  120. package/dist/modules/manager/helmv3/artifacts.js +8 -2
  121. package/dist/modules/manager/helmv3/artifacts.js.map +1 -1
  122. package/dist/modules/manager/helmv3/common.d.ts +1 -1
  123. package/dist/modules/manager/helmv3/common.js +9 -3
  124. package/dist/modules/manager/helmv3/common.js.map +1 -1
  125. package/dist/modules/manager/hermit/artifacts.js +2 -2
  126. package/dist/modules/manager/hermit/artifacts.js.map +1 -1
  127. package/dist/modules/manager/kubernetes/extract.js +2 -2
  128. package/dist/modules/manager/kubernetes/extract.js.map +1 -1
  129. package/dist/modules/manager/kustomize/artifacts.js +1 -1
  130. package/dist/modules/manager/kustomize/artifacts.js.map +1 -1
  131. package/dist/modules/manager/maven/extract.d.ts +1 -1
  132. package/dist/modules/manager/maven/extract.js +82 -24
  133. package/dist/modules/manager/maven/extract.js.map +1 -1
  134. package/dist/modules/manager/maven/index.d.ts +0 -1
  135. package/dist/modules/manager/maven/index.js +2 -4
  136. package/dist/modules/manager/maven/index.js.map +1 -1
  137. package/dist/modules/manager/maven/update.js +15 -0
  138. package/dist/modules/manager/maven/update.js.map +1 -1
  139. package/dist/modules/manager/mise/backends.d.ts +48 -0
  140. package/dist/modules/manager/mise/backends.js +219 -0
  141. package/dist/modules/manager/mise/backends.js.map +1 -0
  142. package/dist/modules/manager/mise/extract.js +77 -10
  143. package/dist/modules/manager/mise/extract.js.map +1 -1
  144. package/dist/modules/manager/mise/index.js +37 -2
  145. package/dist/modules/manager/mise/index.js.map +1 -1
  146. package/dist/modules/manager/mise/schema.d.ts +24 -0
  147. package/dist/modules/manager/mise/schema.js +7 -1
  148. package/dist/modules/manager/mise/schema.js.map +1 -1
  149. package/dist/modules/manager/mise/upgradeable-tooling.js +210 -1
  150. package/dist/modules/manager/mise/upgradeable-tooling.js.map +1 -1
  151. package/dist/modules/manager/mix/artifacts.js +5 -0
  152. package/dist/modules/manager/mix/artifacts.js.map +1 -1
  153. package/dist/modules/manager/npm/extract/index.js +27 -24
  154. package/dist/modules/manager/npm/extract/index.js.map +1 -1
  155. package/dist/modules/manager/npm/post-update/index.js +9 -3
  156. package/dist/modules/manager/npm/post-update/index.js.map +1 -1
  157. package/dist/modules/manager/npm/post-update/npm.js +8 -5
  158. package/dist/modules/manager/npm/post-update/npm.js.map +1 -1
  159. package/dist/modules/manager/npm/post-update/pnpm.js +4 -0
  160. package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
  161. package/dist/modules/manager/npm/post-update/utils.js +17 -0
  162. package/dist/modules/manager/npm/post-update/utils.js.map +1 -1
  163. package/dist/modules/manager/npm/post-update/yarn.js +7 -5
  164. package/dist/modules/manager/npm/post-update/yarn.js.map +1 -1
  165. package/dist/modules/manager/npm/schema.d.ts +116 -0
  166. package/dist/modules/manager/npm/schema.js +9 -0
  167. package/dist/modules/manager/npm/schema.js.map +1 -1
  168. package/dist/modules/manager/npm/utils.js +1 -1
  169. package/dist/modules/manager/npm/utils.js.map +1 -1
  170. package/dist/modules/manager/nuget/util.js +9 -0
  171. package/dist/modules/manager/nuget/util.js.map +1 -1
  172. package/dist/modules/manager/pep621/processors/uv.js +1 -1
  173. package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
  174. package/dist/modules/manager/pip-compile/artifacts.js +6 -4
  175. package/dist/modules/manager/pip-compile/artifacts.js.map +1 -1
  176. package/dist/modules/manager/pip_requirements/common.js +2 -1
  177. package/dist/modules/manager/pip_requirements/common.js.map +1 -1
  178. package/dist/modules/manager/poetry/schema.js +2 -1
  179. package/dist/modules/manager/poetry/schema.js.map +1 -1
  180. package/dist/modules/manager/pre-commit/index.js +2 -1
  181. package/dist/modules/manager/pre-commit/index.js.map +1 -1
  182. package/dist/modules/manager/renovate-config-presets/index.d.ts +1 -1
  183. package/dist/modules/manager/renovate-config-presets/index.js +1 -3
  184. package/dist/modules/manager/renovate-config-presets/index.js.map +1 -1
  185. package/dist/modules/manager/terraform/extractors/others/modules.js +4 -9
  186. package/dist/modules/manager/terraform/extractors/others/modules.js.map +1 -1
  187. package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.d.ts +1 -0
  188. package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js +9 -4
  189. package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js.map +1 -1
  190. package/dist/modules/manager/terraform/extractors/resources/utils.d.ts +1 -0
  191. package/dist/modules/manager/terraform/extractors/resources/utils.js +4 -1
  192. package/dist/modules/manager/terraform/extractors/resources/utils.js.map +1 -1
  193. package/dist/modules/manager/terraform/hcl/types.d.ts +1 -0
  194. package/dist/modules/manager/terraform/hcl/types.js.map +1 -1
  195. package/dist/modules/manager/types.d.ts +3 -0
  196. package/dist/modules/manager/types.js.map +1 -1
  197. package/dist/modules/platform/bitbucket-server/index.js +4 -2
  198. package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
  199. package/dist/modules/platform/codecommit/codecommit-client.js +7 -5
  200. package/dist/modules/platform/codecommit/codecommit-client.js.map +1 -1
  201. package/dist/modules/platform/codecommit/index.js +7 -5
  202. package/dist/modules/platform/codecommit/index.js.map +1 -1
  203. package/dist/modules/platform/default-scm.d.ts +1 -0
  204. package/dist/modules/platform/default-scm.js +3 -0
  205. package/dist/modules/platform/default-scm.js.map +1 -1
  206. package/dist/modules/platform/gerrit/client.d.ts +6 -7
  207. package/dist/modules/platform/gerrit/client.js +58 -38
  208. package/dist/modules/platform/gerrit/client.js.map +1 -1
  209. package/dist/modules/platform/gerrit/index.d.ts +4 -3
  210. package/dist/modules/platform/gerrit/index.js +103 -42
  211. package/dist/modules/platform/gerrit/index.js.map +1 -1
  212. package/dist/modules/platform/gerrit/scm.d.ts +1 -1
  213. package/dist/modules/platform/gerrit/scm.js +56 -34
  214. package/dist/modules/platform/gerrit/scm.js.map +1 -1
  215. package/dist/modules/platform/gerrit/types.d.ts +23 -12
  216. package/dist/modules/platform/gerrit/types.js.map +1 -1
  217. package/dist/modules/platform/gerrit/utils.d.ts +8 -4
  218. package/dist/modules/platform/gerrit/utils.js +24 -12
  219. package/dist/modules/platform/gerrit/utils.js.map +1 -1
  220. package/dist/modules/platform/gitea/index.js +7 -2
  221. package/dist/modules/platform/gitea/index.js.map +1 -1
  222. package/dist/modules/platform/gitea/types.d.ts +2 -1
  223. package/dist/modules/platform/gitea/types.js.map +1 -1
  224. package/dist/modules/platform/github/index.js +12 -26
  225. package/dist/modules/platform/github/index.js.map +1 -1
  226. package/dist/modules/platform/gitlab/code-owners.d.ts +2 -0
  227. package/dist/modules/platform/gitlab/code-owners.js +38 -0
  228. package/dist/modules/platform/gitlab/code-owners.js.map +1 -0
  229. package/dist/modules/platform/gitlab/index.d.ts +2 -1
  230. package/dist/modules/platform/gitlab/index.js +29 -56
  231. package/dist/modules/platform/gitlab/index.js.map +1 -1
  232. package/dist/modules/platform/gitlab/pr-cache.d.ts +21 -0
  233. package/dist/modules/platform/gitlab/pr-cache.js +124 -0
  234. package/dist/modules/platform/gitlab/pr-cache.js.map +1 -0
  235. package/dist/modules/platform/gitlab/types.d.ts +7 -0
  236. package/dist/modules/platform/gitlab/types.js.map +1 -1
  237. package/dist/modules/platform/gitlab/utils.js +1 -0
  238. package/dist/modules/platform/gitlab/utils.js.map +1 -1
  239. package/dist/modules/platform/types.d.ts +8 -0
  240. package/dist/modules/platform/types.js.map +1 -1
  241. package/dist/modules/versioning/api.js +2 -0
  242. package/dist/modules/versioning/api.js.map +1 -1
  243. package/dist/modules/versioning/cargo/index.js +20 -0
  244. package/dist/modules/versioning/cargo/index.js.map +1 -1
  245. package/dist/modules/versioning/composer/index.js +4 -0
  246. package/dist/modules/versioning/composer/index.js.map +1 -1
  247. package/dist/modules/versioning/lambda-node/index.d.ts +8 -0
  248. package/dist/modules/versioning/lambda-node/index.js +27 -0
  249. package/dist/modules/versioning/lambda-node/index.js.map +1 -0
  250. package/dist/modules/versioning/lambda-node/schedule.d.ts +10 -0
  251. package/dist/modules/versioning/lambda-node/schedule.js +19 -0
  252. package/dist/modules/versioning/lambda-node/schedule.js.map +1 -0
  253. package/dist/modules/versioning/npm/index.js +2 -0
  254. package/dist/modules/versioning/npm/index.js.map +1 -1
  255. package/dist/modules/versioning/npm/range.js +4 -0
  256. package/dist/modules/versioning/npm/range.js.map +1 -1
  257. package/dist/modules/versioning/pep440/index.js +1 -1
  258. package/dist/modules/versioning/pep440/index.js.map +1 -1
  259. package/dist/modules/versioning/python/index.d.ts +1 -0
  260. package/dist/modules/versioning/python/index.js +9 -0
  261. package/dist/modules/versioning/python/index.js.map +1 -1
  262. package/dist/modules/versioning/semver/index.d.ts +1 -0
  263. package/dist/modules/versioning/semver/index.js +15 -0
  264. package/dist/modules/versioning/semver/index.js.map +1 -1
  265. package/dist/modules/versioning/semver-coerced/index.js +9 -0
  266. package/dist/modules/versioning/semver-coerced/index.js.map +1 -1
  267. package/dist/modules/versioning/types.d.ts +1 -0
  268. package/dist/modules/versioning/types.js.map +1 -1
  269. package/dist/util/cache/memory/index.d.ts +1 -0
  270. package/dist/util/cache/memory/index.js +17 -6
  271. package/dist/util/cache/memory/index.js.map +1 -1
  272. package/dist/util/cache/package/index.js +2 -1
  273. package/dist/util/cache/package/index.js.map +1 -1
  274. package/dist/util/cache/package/key.js +1 -1
  275. package/dist/util/cache/package/key.js.map +1 -1
  276. package/dist/util/cache/package/types.d.ts +2 -2
  277. package/dist/util/cache/package/types.js.map +1 -1
  278. package/dist/util/cache/repository/impl/s3.js +2 -1
  279. package/dist/util/cache/repository/impl/s3.js.map +1 -1
  280. package/dist/util/cache/repository/types.d.ts +3 -0
  281. package/dist/util/cache/repository/types.js.map +1 -1
  282. package/dist/util/env.d.ts +6 -0
  283. package/dist/util/env.js +13 -0
  284. package/dist/util/env.js.map +1 -1
  285. package/dist/util/exec/common.js +2 -1
  286. package/dist/util/exec/common.js.map +1 -1
  287. package/dist/util/exec/containerbase.js +2 -1
  288. package/dist/util/exec/containerbase.js.map +1 -1
  289. package/dist/util/exec/env.js +1 -0
  290. package/dist/util/exec/env.js.map +1 -1
  291. package/dist/util/exec/utils.d.ts +1 -1
  292. package/dist/util/exec/utils.js +1 -1
  293. package/dist/util/exec/utils.js.map +1 -1
  294. package/dist/util/fs/index.js +2 -2
  295. package/dist/util/fs/index.js.map +1 -1
  296. package/dist/util/git/auth.js +4 -2
  297. package/dist/util/git/auth.js.map +1 -1
  298. package/dist/util/git/error.js +2 -1
  299. package/dist/util/git/error.js.map +1 -1
  300. package/dist/util/git/index.d.ts +20 -0
  301. package/dist/util/git/index.js +140 -10
  302. package/dist/util/git/index.js.map +1 -1
  303. package/dist/util/git/types.d.ts +1 -0
  304. package/dist/util/git/types.js.map +1 -1
  305. package/dist/util/github/graphql/datasource-fetcher.js +2 -3
  306. package/dist/util/github/graphql/datasource-fetcher.js.map +1 -1
  307. package/dist/util/github/graphql/query-adapters/tags-query-adapter.d.ts +48 -2
  308. package/dist/util/github/graphql/query-adapters/tags-query-adapter.js +27 -7
  309. package/dist/util/github/graphql/query-adapters/tags-query-adapter.js.map +1 -1
  310. package/dist/util/host-rules.js +4 -3
  311. package/dist/util/host-rules.js.map +1 -1
  312. package/dist/util/http/cache/package-http-cache-provider.d.ts +4 -4
  313. package/dist/util/http/cache/package-http-cache-provider.js +4 -4
  314. package/dist/util/http/cache/package-http-cache-provider.js.map +1 -1
  315. package/dist/util/http/github.js +20 -12
  316. package/dist/util/http/github.js.map +1 -1
  317. package/dist/util/http/gitlab.js +2 -1
  318. package/dist/util/http/gitlab.js.map +1 -1
  319. package/dist/util/http/http.js +7 -3
  320. package/dist/util/http/http.js.map +1 -1
  321. package/dist/util/interpolator.d.ts +8 -0
  322. package/dist/util/interpolator.js +85 -0
  323. package/dist/util/interpolator.js.map +1 -0
  324. package/dist/util/merge-confidence/index.js +4 -1
  325. package/dist/util/merge-confidence/index.js.map +1 -1
  326. package/dist/util/promises.d.ts +4 -4
  327. package/dist/util/promises.js +3 -4
  328. package/dist/util/promises.js.map +1 -1
  329. package/dist/util/regex.js +3 -2
  330. package/dist/util/regex.js.map +1 -1
  331. package/dist/util/{schema-utils.d.ts → schema-utils/index.d.ts} +2 -2
  332. package/dist/util/{schema-utils.js → schema-utils/index.js} +5 -5
  333. package/dist/util/schema-utils/index.js.map +1 -0
  334. package/dist/util/schema-utils/v4.d.ts +7 -0
  335. package/dist/util/schema-utils/v4.js +64 -0
  336. package/dist/util/schema-utils/v4.js.map +1 -0
  337. package/dist/util/stats.d.ts +13 -2
  338. package/dist/util/stats.js +38 -27
  339. package/dist/util/stats.js.map +1 -1
  340. package/dist/workers/global/config/parse/codespaces.js +7 -4
  341. package/dist/workers/global/config/parse/codespaces.js.map +1 -1
  342. package/dist/workers/global/index.js +7 -5
  343. package/dist/workers/global/index.js.map +1 -1
  344. package/dist/workers/repository/config-migration/branch/migrated-data.js +1 -1
  345. package/dist/workers/repository/config-migration/branch/migrated-data.js.map +1 -1
  346. package/dist/workers/repository/dependency-dashboard.d.ts +1 -0
  347. package/dist/workers/repository/dependency-dashboard.js +47 -0
  348. package/dist/workers/repository/dependency-dashboard.js.map +1 -1
  349. package/dist/workers/repository/index.js +1 -0
  350. package/dist/workers/repository/index.js.map +1 -1
  351. package/dist/workers/repository/init/inherited.js +10 -6
  352. package/dist/workers/repository/init/inherited.js.map +1 -1
  353. package/dist/workers/repository/init/merge.d.ts +2 -2
  354. package/dist/workers/repository/init/merge.js +12 -5
  355. package/dist/workers/repository/init/merge.js.map +1 -1
  356. package/dist/workers/repository/package-files.js +11 -1
  357. package/dist/workers/repository/package-files.js.map +1 -1
  358. package/dist/workers/repository/process/extract-update.d.ts +1 -1
  359. package/dist/workers/repository/process/extract-update.js +15 -10
  360. package/dist/workers/repository/process/extract-update.js.map +1 -1
  361. package/dist/workers/repository/process/index.d.ts +1 -1
  362. package/dist/workers/repository/process/index.js +6 -3
  363. package/dist/workers/repository/process/index.js.map +1 -1
  364. package/dist/workers/repository/process/libyear.js +15 -7
  365. package/dist/workers/repository/process/libyear.js.map +1 -1
  366. package/dist/workers/repository/process/lookup/abandonment.d.ts +3 -0
  367. package/dist/workers/repository/process/lookup/abandonment.js +50 -0
  368. package/dist/workers/repository/process/lookup/abandonment.js.map +1 -0
  369. package/dist/workers/repository/process/lookup/current.js +0 -5
  370. package/dist/workers/repository/process/lookup/current.js.map +1 -1
  371. package/dist/workers/repository/process/lookup/generate.js +10 -0
  372. package/dist/workers/repository/process/lookup/generate.js.map +1 -1
  373. package/dist/workers/repository/process/lookup/index.js +7 -0
  374. package/dist/workers/repository/process/lookup/index.js.map +1 -1
  375. package/dist/workers/repository/process/lookup/timestamps.d.ts +4 -4
  376. package/dist/workers/repository/process/lookup/timestamps.js +10 -10
  377. package/dist/workers/repository/process/lookup/timestamps.js.map +1 -1
  378. package/dist/workers/repository/process/lookup/types.d.ts +4 -0
  379. package/dist/workers/repository/process/lookup/types.js.map +1 -1
  380. package/dist/workers/repository/update/branch/auto-replace.js +30 -7
  381. package/dist/workers/repository/update/branch/auto-replace.js.map +1 -1
  382. package/dist/workers/repository/update/branch/bump-versions.d.ts +2 -0
  383. package/dist/workers/repository/update/branch/bump-versions.js +192 -0
  384. package/dist/workers/repository/update/branch/bump-versions.js.map +1 -0
  385. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js +14 -8
  386. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js.map +1 -1
  387. package/dist/workers/repository/update/branch/get-updated.js +3 -4
  388. package/dist/workers/repository/update/branch/get-updated.js.map +1 -1
  389. package/dist/workers/repository/update/branch/index.js +3 -0
  390. package/dist/workers/repository/update/branch/index.js.map +1 -1
  391. package/dist/workers/repository/update/pr/changelog/release-notes.js +23 -19
  392. package/dist/workers/repository/update/pr/changelog/release-notes.js.map +1 -1
  393. package/dist/workers/repository/update/pr/code-owners.js +13 -9
  394. package/dist/workers/repository/update/pr/code-owners.js.map +1 -1
  395. package/dist/workers/repository/updates/generate.js +1 -0
  396. package/dist/workers/repository/updates/generate.js.map +1 -1
  397. package/package.json +75 -80
  398. package/renovate-schema.json +78 -14
  399. package/dist/util/schema-utils.js.map +0 -1
@@ -12,7 +12,7 @@ const regexVersioning = tslib_1.__importStar(require("../../versioning/regex"));
12
12
  const semverVersioning = tslib_1.__importStar(require("../../versioning/semver"));
13
13
  const upgradeable_tooling_1 = require("../asdf/upgradeable-tooling");
14
14
  exports.asdfTooling = upgradeable_tooling_1.upgradeableTooling;
15
- exports.miseTooling = {
15
+ const miseCoreTooling = {
16
16
  bun: {
17
17
  misePluginUrl: 'https://mise.jdx.dev/lang/bun.html',
18
18
  config: {
@@ -161,4 +161,213 @@ exports.miseTooling = {
161
161
  },
162
162
  },
163
163
  };
164
+ const miseRegistryTooling = {
165
+ actionlint: {
166
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
167
+ config: {
168
+ packageName: 'rhysd/actionlint',
169
+ datasource: github_releases_1.GithubReleasesDatasource.id,
170
+ extractVersion: '^v(?<version>\\S+)',
171
+ },
172
+ },
173
+ astro: {
174
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
175
+ config: {
176
+ packageName: 'astronomer/astro-cli',
177
+ datasource: github_releases_1.GithubReleasesDatasource.id,
178
+ extractVersion: '^v(?<version>\\S+)',
179
+ },
180
+ },
181
+ 'aws-cli': {
182
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
183
+ config: {
184
+ datasource: github_tags_1.GithubTagsDatasource.id,
185
+ packageName: 'aws/aws-cli',
186
+ },
187
+ },
188
+ 'aws-vault': {
189
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
190
+ config: {
191
+ datasource: github_releases_1.GithubReleasesDatasource.id,
192
+ packageName: '99designs/aws-vault',
193
+ extractVersion: '^v(?<version>\\S+)',
194
+ },
195
+ },
196
+ buf: {
197
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
198
+ config: {
199
+ packageName: 'bufbuild/buf',
200
+ datasource: github_releases_1.GithubReleasesDatasource.id,
201
+ extractVersion: '^v(?<version>\\S+)',
202
+ },
203
+ },
204
+ ccache: {
205
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
206
+ config: {
207
+ packageName: 'ccache/ccache',
208
+ datasource: github_releases_1.GithubReleasesDatasource.id,
209
+ extractVersion: '^v(?<version>\\S+)',
210
+ },
211
+ },
212
+ committed: {
213
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
214
+ config: {
215
+ packageName: 'crate-ci/committed',
216
+ datasource: github_releases_1.GithubReleasesDatasource.id,
217
+ extractVersion: '^v(?<version>\\S+)',
218
+ },
219
+ },
220
+ consul: {
221
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
222
+ config: {
223
+ packageName: 'hashicorp/consul',
224
+ datasource: github_releases_1.GithubReleasesDatasource.id,
225
+ extractVersion: '^v(?<version>\\S+)',
226
+ },
227
+ },
228
+ hivemind: {
229
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
230
+ config: {
231
+ packageName: 'DarthSim/hivemind',
232
+ datasource: github_releases_1.GithubReleasesDatasource.id,
233
+ extractVersion: '^v(?<version>\\S+)',
234
+ },
235
+ },
236
+ jq: {
237
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
238
+ config: {
239
+ packageName: 'jqlang/jq',
240
+ datasource: github_releases_1.GithubReleasesDatasource.id,
241
+ extractVersion: '^jq-v(?<version>\\S+)',
242
+ },
243
+ },
244
+ hk: {
245
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
246
+ config: {
247
+ packageName: 'jdx/hk',
248
+ datasource: github_releases_1.GithubReleasesDatasource.id,
249
+ extractVersion: '^v(?<version>\\S+)',
250
+ },
251
+ },
252
+ kafka: {
253
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
254
+ config: (version) => {
255
+ const apacheMatches = /^apache-(?<version>\d\S+)/.exec(version)?.groups;
256
+ if (apacheMatches) {
257
+ return {
258
+ datasource: github_tags_1.GithubTagsDatasource.id,
259
+ packageName: 'apache/kafka',
260
+ currentValue: apacheMatches.version,
261
+ };
262
+ }
263
+ return undefined;
264
+ },
265
+ },
266
+ lefthook: {
267
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
268
+ config: {
269
+ packageName: 'evilmartians/lefthook',
270
+ datasource: github_releases_1.GithubReleasesDatasource.id,
271
+ extractVersion: '^v(?<version>\\S+)',
272
+ },
273
+ },
274
+ localstack: {
275
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
276
+ config: {
277
+ packageName: 'localstack/localstack',
278
+ datasource: github_releases_1.GithubReleasesDatasource.id,
279
+ extractVersion: '^v(?<version>\\S+)',
280
+ },
281
+ },
282
+ opentofu: {
283
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
284
+ config: {
285
+ packageName: 'opentofu/opentofu',
286
+ datasource: github_releases_1.GithubReleasesDatasource.id,
287
+ extractVersion: '^v(?<version>\\S+)',
288
+ },
289
+ },
290
+ protoc: {
291
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
292
+ config: {
293
+ packageName: 'protocolbuffers/protobuf',
294
+ datasource: github_releases_1.GithubReleasesDatasource.id,
295
+ extractVersion: '^v(?<version>\\S+)',
296
+ },
297
+ },
298
+ redis: {
299
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
300
+ config: {
301
+ packageName: 'redis/redis',
302
+ datasource: github_releases_1.GithubReleasesDatasource.id,
303
+ },
304
+ },
305
+ ruff: {
306
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
307
+ config: {
308
+ packageName: 'astral-sh/ruff',
309
+ datasource: github_releases_1.GithubReleasesDatasource.id,
310
+ },
311
+ },
312
+ shellcheck: {
313
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
314
+ config: {
315
+ packageName: 'koalaman/shellcheck',
316
+ datasource: github_releases_1.GithubReleasesDatasource.id,
317
+ extractVersion: '^v(?<version>\\S+)',
318
+ },
319
+ },
320
+ skeema: {
321
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
322
+ config: {
323
+ packageName: 'skeema/skeema',
324
+ datasource: github_releases_1.GithubReleasesDatasource.id,
325
+ extractVersion: '^v(?<version>\\S+)',
326
+ },
327
+ },
328
+ sops: {
329
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
330
+ config: {
331
+ packageName: 'getsops/sops',
332
+ datasource: github_releases_1.GithubReleasesDatasource.id,
333
+ extractVersion: '^v(?<version>\\S+)',
334
+ },
335
+ },
336
+ stripe: {
337
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
338
+ config: {
339
+ packageName: 'stripe/stripe-cli',
340
+ datasource: github_releases_1.GithubReleasesDatasource.id,
341
+ extractVersion: '^v(?<version>\\S+)',
342
+ },
343
+ },
344
+ terragrunt: {
345
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
346
+ config: {
347
+ packageName: 'gruntwork-io/terragrunt',
348
+ datasource: github_releases_1.GithubReleasesDatasource.id,
349
+ extractVersion: '^v(?<version>\\S+)',
350
+ },
351
+ },
352
+ tilt: {
353
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
354
+ config: {
355
+ packageName: 'tilt-dev/tilt',
356
+ datasource: github_releases_1.GithubReleasesDatasource.id,
357
+ extractVersion: '^v(?<version>\\S+)',
358
+ },
359
+ },
360
+ tusd: {
361
+ misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',
362
+ config: {
363
+ packageName: 'tus/tusd',
364
+ datasource: github_releases_1.GithubReleasesDatasource.id,
365
+ extractVersion: '^v(?<version>\\S+)',
366
+ },
367
+ },
368
+ };
369
+ exports.miseTooling = {
370
+ ...miseCoreTooling,
371
+ ...miseRegistryTooling,
372
+ };
164
373
  //# sourceMappingURL=upgradeable-tooling.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"upgradeable-tooling.js","sourceRoot":"","sources":["../../../../lib/modules/manager/mise/upgradeable-tooling.ts"],"names":[],"mappings":"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","sourcesContent":["import { GithubReleasesDatasource } from '../../datasource/github-releases';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport { HexpmBobDatasource } from '../../datasource/hexpm-bob';\nimport { JavaVersionDatasource } from '../../datasource/java-version';\nimport { NodeVersionDatasource } from '../../datasource/node-version';\nimport { RubyVersionDatasource } from '../../datasource/ruby-version';\nimport * as regexVersioning from '../../versioning/regex';\nimport * as semverVersioning from '../../versioning/semver';\nimport type { ToolingConfig } from '../asdf/upgradeable-tooling';\nimport { upgradeableTooling } from '../asdf/upgradeable-tooling';\n\nexport interface ToolingDefinition {\n config: ToolingConfig;\n misePluginUrl?: string;\n}\n\nexport const asdfTooling = upgradeableTooling;\n\nexport const miseTooling: Record<string, ToolingDefinition> = {\n bun: {\n misePluginUrl: 'https://mise.jdx.dev/lang/bun.html',\n config: {\n packageName: 'oven-sh/bun',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^bun-v(?<version>\\\\S+)',\n },\n },\n deno: {\n misePluginUrl: 'https://mise.jdx.dev/lang/deno.html',\n config: {\n packageName: 'denoland/deno',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n elixir: {\n misePluginUrl: 'https://mise.jdx.dev/lang/elixir.html',\n config: {\n datasource: HexpmBobDatasource.id,\n },\n },\n erlang: {\n misePluginUrl: 'https://mise.jdx.dev/lang/erlang.html',\n config: {\n packageName: 'erlang/otp',\n datasource: GithubTagsDatasource.id,\n extractVersion: '^OTP-(?<version>\\\\S+)',\n versioning: `${regexVersioning.id}:^(?<major>\\\\d+?)\\\\.(?<minor>\\\\d+?)(\\\\.(?<patch>\\\\d+))?$`,\n },\n },\n go: {\n misePluginUrl: 'https://mise.jdx.dev/lang/go.html',\n config: {\n packageName: 'golang/go',\n datasource: GithubTagsDatasource.id,\n extractVersion: '^go(?<version>\\\\S+)',\n },\n },\n java: {\n misePluginUrl: 'https://mise.jdx.dev/lang/java.html',\n config: (version) => {\n // no prefix is shorthand for openjdk\n const versionMatch = /^(\\d\\S+)/.exec(version)?.[1];\n if (versionMatch) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: versionMatch,\n };\n }\n const openJdkMatches = /^openjdk-(?<version>\\d\\S+)/.exec(version)?.groups;\n if (openJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: openJdkMatches.version,\n };\n }\n const adoptOpenJdkMatches = /^adoptopenjdk-(?<version>\\d\\S+)/.exec(\n version,\n )?.groups;\n if (adoptOpenJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: adoptOpenJdkMatches.version,\n };\n }\n const temurinJdkMatches = /^temurin-(?<version>\\d\\S+)/.exec(\n version,\n )?.groups;\n if (temurinJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: temurinJdkMatches.version,\n };\n }\n const correttoJdkMatches = /^corretto-(?<version>\\d\\S+)/.exec(\n version,\n )?.groups;\n if (correttoJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: correttoJdkMatches.version,\n };\n }\n const zuluJdkMatches = /^zulu-(?<version>\\d\\S+)/.exec(version)?.groups;\n if (zuluJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: zuluJdkMatches.version,\n };\n }\n const oracleGraalvmJdkMatches = /^oracle-graalvm-(?<version>\\d\\S+)/.exec(\n version,\n )?.groups;\n if (oracleGraalvmJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: oracleGraalvmJdkMatches.version,\n };\n }\n\n return undefined;\n },\n },\n node: {\n misePluginUrl: 'https://mise.jdx.dev/lang/node.html',\n config: {\n packageName: 'nodejs',\n datasource: NodeVersionDatasource.id,\n },\n },\n python: {\n misePluginUrl: 'https://mise.jdx.dev/lang/python.html',\n config: {\n packageName: 'python/cpython',\n datasource: GithubTagsDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n ruby: {\n misePluginUrl: 'https://mise.jdx.dev/lang/ruby.html',\n config: {\n packageName: 'ruby-version',\n datasource: RubyVersionDatasource.id,\n versioning: semverVersioning.id,\n },\n },\n rust: {\n misePluginUrl: 'https://mise.jdx.dev/lang/rust.html',\n config: {\n packageName: 'rust-lang/rust',\n datasource: GithubTagsDatasource.id,\n },\n },\n swift: {\n misePluginUrl: 'https://mise.jdx.dev/lang/swift.html',\n config: {\n packageName: 'swift-lang/swift',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^swift-(?<version>\\\\S+)',\n },\n },\n zig: {\n misePluginUrl: 'https://mise.jdx.dev/lang/zig.html',\n config: {\n packageName: 'ziglang/zig',\n datasource: GithubTagsDatasource.id,\n },\n },\n};\n"]}
1
+ {"version":3,"file":"upgradeable-tooling.js","sourceRoot":"","sources":["../../../../lib/modules/manager/mise/upgradeable-tooling.ts"],"names":[],"mappings":"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","sourcesContent":["import { GithubReleasesDatasource } from '../../datasource/github-releases';\nimport { GithubTagsDatasource } from '../../datasource/github-tags';\nimport { HexpmBobDatasource } from '../../datasource/hexpm-bob';\nimport { JavaVersionDatasource } from '../../datasource/java-version';\nimport { NodeVersionDatasource } from '../../datasource/node-version';\nimport { RubyVersionDatasource } from '../../datasource/ruby-version';\nimport * as regexVersioning from '../../versioning/regex';\nimport * as semverVersioning from '../../versioning/semver';\nimport type { ToolingConfig } from '../asdf/upgradeable-tooling';\nimport { upgradeableTooling } from '../asdf/upgradeable-tooling';\n\nexport interface ToolingDefinition {\n config: ToolingConfig;\n misePluginUrl?: string;\n}\n\nexport const asdfTooling = upgradeableTooling;\n\nconst miseCoreTooling: Record<string, ToolingDefinition> = {\n bun: {\n misePluginUrl: 'https://mise.jdx.dev/lang/bun.html',\n config: {\n packageName: 'oven-sh/bun',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^bun-v(?<version>\\\\S+)',\n },\n },\n deno: {\n misePluginUrl: 'https://mise.jdx.dev/lang/deno.html',\n config: {\n packageName: 'denoland/deno',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n elixir: {\n misePluginUrl: 'https://mise.jdx.dev/lang/elixir.html',\n config: {\n datasource: HexpmBobDatasource.id,\n },\n },\n erlang: {\n misePluginUrl: 'https://mise.jdx.dev/lang/erlang.html',\n config: {\n packageName: 'erlang/otp',\n datasource: GithubTagsDatasource.id,\n extractVersion: '^OTP-(?<version>\\\\S+)',\n versioning: `${regexVersioning.id}:^(?<major>\\\\d+?)\\\\.(?<minor>\\\\d+?)(\\\\.(?<patch>\\\\d+))?$`,\n },\n },\n go: {\n misePluginUrl: 'https://mise.jdx.dev/lang/go.html',\n config: {\n packageName: 'golang/go',\n datasource: GithubTagsDatasource.id,\n extractVersion: '^go(?<version>\\\\S+)',\n },\n },\n java: {\n misePluginUrl: 'https://mise.jdx.dev/lang/java.html',\n config: (version) => {\n // no prefix is shorthand for openjdk\n const versionMatch = /^(\\d\\S+)/.exec(version)?.[1];\n if (versionMatch) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: versionMatch,\n };\n }\n const openJdkMatches = /^openjdk-(?<version>\\d\\S+)/.exec(version)?.groups;\n if (openJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: openJdkMatches.version,\n };\n }\n const adoptOpenJdkMatches = /^adoptopenjdk-(?<version>\\d\\S+)/.exec(\n version,\n )?.groups;\n if (adoptOpenJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: adoptOpenJdkMatches.version,\n };\n }\n const temurinJdkMatches = /^temurin-(?<version>\\d\\S+)/.exec(\n version,\n )?.groups;\n if (temurinJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: temurinJdkMatches.version,\n };\n }\n const correttoJdkMatches = /^corretto-(?<version>\\d\\S+)/.exec(\n version,\n )?.groups;\n if (correttoJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: correttoJdkMatches.version,\n };\n }\n const zuluJdkMatches = /^zulu-(?<version>\\d\\S+)/.exec(version)?.groups;\n if (zuluJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: zuluJdkMatches.version,\n };\n }\n const oracleGraalvmJdkMatches = /^oracle-graalvm-(?<version>\\d\\S+)/.exec(\n version,\n )?.groups;\n if (oracleGraalvmJdkMatches) {\n return {\n datasource: JavaVersionDatasource.id,\n packageName: 'java-jdk',\n currentValue: oracleGraalvmJdkMatches.version,\n };\n }\n\n return undefined;\n },\n },\n node: {\n misePluginUrl: 'https://mise.jdx.dev/lang/node.html',\n config: {\n packageName: 'nodejs',\n datasource: NodeVersionDatasource.id,\n },\n },\n python: {\n misePluginUrl: 'https://mise.jdx.dev/lang/python.html',\n config: {\n packageName: 'python/cpython',\n datasource: GithubTagsDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n ruby: {\n misePluginUrl: 'https://mise.jdx.dev/lang/ruby.html',\n config: {\n packageName: 'ruby-version',\n datasource: RubyVersionDatasource.id,\n versioning: semverVersioning.id,\n },\n },\n rust: {\n misePluginUrl: 'https://mise.jdx.dev/lang/rust.html',\n config: {\n packageName: 'rust-lang/rust',\n datasource: GithubTagsDatasource.id,\n },\n },\n swift: {\n misePluginUrl: 'https://mise.jdx.dev/lang/swift.html',\n config: {\n packageName: 'swift-lang/swift',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^swift-(?<version>\\\\S+)',\n },\n },\n zig: {\n misePluginUrl: 'https://mise.jdx.dev/lang/zig.html',\n config: {\n packageName: 'ziglang/zig',\n datasource: GithubTagsDatasource.id,\n },\n },\n};\n\nconst miseRegistryTooling: Record<string, ToolingDefinition> = {\n actionlint: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'rhysd/actionlint',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n astro: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'astronomer/astro-cli',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n 'aws-cli': {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n datasource: GithubTagsDatasource.id,\n packageName: 'aws/aws-cli',\n },\n },\n 'aws-vault': {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n datasource: GithubReleasesDatasource.id,\n packageName: '99designs/aws-vault',\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n buf: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'bufbuild/buf',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n ccache: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'ccache/ccache',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n committed: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'crate-ci/committed',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n consul: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'hashicorp/consul',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n hivemind: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'DarthSim/hivemind',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n jq: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'jqlang/jq',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^jq-v(?<version>\\\\S+)',\n },\n },\n hk: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'jdx/hk',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n kafka: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: (version) => {\n const apacheMatches = /^apache-(?<version>\\d\\S+)/.exec(version)?.groups;\n if (apacheMatches) {\n return {\n datasource: GithubTagsDatasource.id,\n packageName: 'apache/kafka',\n currentValue: apacheMatches.version,\n };\n }\n\n return undefined;\n },\n },\n lefthook: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'evilmartians/lefthook',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n localstack: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'localstack/localstack',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n opentofu: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'opentofu/opentofu',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n protoc: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'protocolbuffers/protobuf',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n redis: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'redis/redis',\n datasource: GithubReleasesDatasource.id,\n },\n },\n ruff: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'astral-sh/ruff',\n datasource: GithubReleasesDatasource.id,\n },\n },\n shellcheck: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'koalaman/shellcheck',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n skeema: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'skeema/skeema',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n sops: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'getsops/sops',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n stripe: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'stripe/stripe-cli',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n terragrunt: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'gruntwork-io/terragrunt',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n tilt: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'tilt-dev/tilt',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n tusd: {\n misePluginUrl: 'https://mise.jdx.dev/registry.html#tools',\n config: {\n packageName: 'tus/tusd',\n datasource: GithubReleasesDatasource.id,\n extractVersion: '^v(?<version>\\\\S+)',\n },\n },\n};\n\nexport const miseTooling: Record<string, ToolingDefinition> = {\n ...miseCoreTooling,\n ...miseRegistryTooling,\n};\n"]}
@@ -102,6 +102,11 @@ async function updateArtifacts({ packageFileName, updatedDeps, newPackageFileCon
102
102
  return acc;
103
103
  }, []);
104
104
  const execOptions = {
105
+ extraEnv: {
106
+ // https://hexdocs.pm/mix/1.15.0/Mix.Tasks.Archive.html
107
+ // TODO: should include a version constraint
108
+ MIX_ARCHIVES: await (0, fs_1.ensureCacheDir)('mix_archives'),
109
+ },
105
110
  cwdFile: packageFileName,
106
111
  docker: {},
107
112
  toolConstraints: [
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/mix/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 { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport {\n deleteLocalFile,\n findLocalSiblingOrParent,\n getSiblingFileName,\n localPathExists,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport * as hostRules from '../../../util/host-rules';\nimport { regEx } from '../../../util/regex';\n\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\n\nconst hexRepoUrl = 'https://hex.pm/';\nconst hexRepoOrgUrlRegex = regEx(\n `^https://hex\\\\.pm/api/repos/(?<organization>[a-z0-9_]+)/$`,\n);\n\nexport async function updateArtifacts({\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`mix.getArtifacts(${packageFileName})`);\n const { isLockFileMaintenance } = config;\n\n if (is.emptyArray(updatedDeps) && !isLockFileMaintenance) {\n logger.debug('No updated mix deps');\n return null;\n }\n\n let lockFileName = getSiblingFileName(packageFileName, 'mix.lock');\n let isUmbrella = false;\n\n let existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n const lockFileError = await checkLockFileReadError(lockFileName);\n if (lockFileError) {\n return lockFileError;\n }\n\n const parentLockFileName = await findLocalSiblingOrParent(\n packageFileName,\n 'mix.lock',\n );\n existingLockFileContent =\n parentLockFileName && (await readLocalFile(parentLockFileName, 'utf8'));\n\n if (parentLockFileName && existingLockFileContent) {\n lockFileName = parentLockFileName;\n isUmbrella = true;\n } else if (parentLockFileName) {\n const lockFileError = await checkLockFileReadError(parentLockFileName);\n if (lockFileError) {\n return lockFileError;\n }\n }\n }\n\n if (isLockFileMaintenance && isUmbrella) {\n logger.debug(\n 'Cannot use lockFileMaintenance in an umbrella project, see https://docs.renovatebot.com/modules/manager/mix/#lockFileMaintenance',\n );\n return null;\n }\n\n if (isLockFileMaintenance && !existingLockFileContent) {\n logger.debug(\n 'Cannot use lockFileMaintenance when no mix.lock file is present',\n );\n return null;\n }\n\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n if (isLockFileMaintenance) {\n await deleteLocalFile(lockFileName);\n }\n } catch (err) {\n logger.warn({ err }, 'mix.exs could not be written');\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n\n if (!existingLockFileContent) {\n logger.debug('No mix.lock found');\n return null;\n }\n\n const organizations = new Set<string>();\n\n const hexHostRulesWithMatchHost = hostRules\n .getAll()\n .filter(\n (hostRule) =>\n !!hostRule.matchHost && hexRepoOrgUrlRegex.test(hostRule.matchHost),\n );\n\n for (const { matchHost } of hexHostRulesWithMatchHost) {\n if (matchHost) {\n const result = hexRepoOrgUrlRegex.exec(matchHost);\n\n if (result?.groups) {\n const { organization } = result.groups;\n organizations.add(organization);\n }\n }\n }\n\n for (const { packageName } of updatedDeps) {\n if (packageName) {\n const [, organization] = packageName.split(':');\n\n if (organization) {\n organizations.add(organization);\n }\n }\n }\n\n const preCommands = Array.from(organizations).reduce((acc, organization) => {\n const url = `${hexRepoUrl}api/repos/${organization}/`;\n const { token } = hostRules.find({ url });\n\n if (token) {\n logger.debug(`Authenticating to hex organization ${organization}`);\n const authCommand = `mix hex.organization auth ${organization} --key ${token}`;\n return [...acc, authCommand];\n }\n\n return acc;\n }, [] as string[]);\n\n const execOptions: ExecOptions = {\n cwdFile: packageFileName,\n docker: {},\n toolConstraints: [\n {\n toolName: 'erlang',\n // https://hexdocs.pm/elixir/1.14.5/compatibility-and-deprecations.html#compatibility-between-elixir-and-erlang-otp\n constraint: config.constraints?.erlang ?? '^26',\n },\n {\n toolName: 'elixir',\n constraint: config.constraints?.elixir,\n },\n ],\n preCommands,\n };\n\n let command: string;\n if (isLockFileMaintenance) {\n command = 'mix deps.get';\n } else {\n command = [\n 'mix',\n 'deps.update',\n ...updatedDeps\n .map((dep) => dep.depName)\n .filter(is.string)\n .map((dep) => quote(dep)),\n ].join(' ');\n }\n\n try {\n await exec(command, execOptions);\n } catch (err) {\n /* v8 ignore next 3 */\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n\n logger.debug(\n { err, message: err.message, command },\n 'Failed to update Mix lock file',\n );\n\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n\n const newMixLockContent = await readLocalFile(lockFileName, 'utf8');\n if (existingLockFileContent === newMixLockContent) {\n logger.debug('mix.lock is unchanged');\n return null;\n }\n logger.debug('Returning updated mix.lock');\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newMixLockContent,\n },\n },\n ];\n}\n\nasync function checkLockFileReadError(\n lockFileName: string,\n): Promise<UpdateArtifactsResult[] | null> {\n if (await localPathExists(lockFileName)) {\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: `Error reading ${lockFileName}`,\n },\n },\n ];\n }\n return null;\n}\n"]}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../../lib/modules/manager/mix/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 { exec } from '../../../util/exec';\nimport type { ExecOptions } from '../../../util/exec/types';\nimport {\n deleteLocalFile,\n ensureCacheDir,\n findLocalSiblingOrParent,\n getSiblingFileName,\n localPathExists,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\nimport * as hostRules from '../../../util/host-rules';\nimport { regEx } from '../../../util/regex';\n\nimport type { UpdateArtifact, UpdateArtifactsResult } from '../types';\n\nconst hexRepoUrl = 'https://hex.pm/';\nconst hexRepoOrgUrlRegex = regEx(\n `^https://hex\\\\.pm/api/repos/(?<organization>[a-z0-9_]+)/$`,\n);\n\nexport async function updateArtifacts({\n packageFileName,\n updatedDeps,\n newPackageFileContent,\n config,\n}: UpdateArtifact): Promise<UpdateArtifactsResult[] | null> {\n logger.debug(`mix.getArtifacts(${packageFileName})`);\n const { isLockFileMaintenance } = config;\n\n if (is.emptyArray(updatedDeps) && !isLockFileMaintenance) {\n logger.debug('No updated mix deps');\n return null;\n }\n\n let lockFileName = getSiblingFileName(packageFileName, 'mix.lock');\n let isUmbrella = false;\n\n let existingLockFileContent = await readLocalFile(lockFileName, 'utf8');\n if (!existingLockFileContent) {\n const lockFileError = await checkLockFileReadError(lockFileName);\n if (lockFileError) {\n return lockFileError;\n }\n\n const parentLockFileName = await findLocalSiblingOrParent(\n packageFileName,\n 'mix.lock',\n );\n existingLockFileContent =\n parentLockFileName && (await readLocalFile(parentLockFileName, 'utf8'));\n\n if (parentLockFileName && existingLockFileContent) {\n lockFileName = parentLockFileName;\n isUmbrella = true;\n } else if (parentLockFileName) {\n const lockFileError = await checkLockFileReadError(parentLockFileName);\n if (lockFileError) {\n return lockFileError;\n }\n }\n }\n\n if (isLockFileMaintenance && isUmbrella) {\n logger.debug(\n 'Cannot use lockFileMaintenance in an umbrella project, see https://docs.renovatebot.com/modules/manager/mix/#lockFileMaintenance',\n );\n return null;\n }\n\n if (isLockFileMaintenance && !existingLockFileContent) {\n logger.debug(\n 'Cannot use lockFileMaintenance when no mix.lock file is present',\n );\n return null;\n }\n\n try {\n await writeLocalFile(packageFileName, newPackageFileContent);\n if (isLockFileMaintenance) {\n await deleteLocalFile(lockFileName);\n }\n } catch (err) {\n logger.warn({ err }, 'mix.exs could not be written');\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n\n if (!existingLockFileContent) {\n logger.debug('No mix.lock found');\n return null;\n }\n\n const organizations = new Set<string>();\n\n const hexHostRulesWithMatchHost = hostRules\n .getAll()\n .filter(\n (hostRule) =>\n !!hostRule.matchHost && hexRepoOrgUrlRegex.test(hostRule.matchHost),\n );\n\n for (const { matchHost } of hexHostRulesWithMatchHost) {\n if (matchHost) {\n const result = hexRepoOrgUrlRegex.exec(matchHost);\n\n if (result?.groups) {\n const { organization } = result.groups;\n organizations.add(organization);\n }\n }\n }\n\n for (const { packageName } of updatedDeps) {\n if (packageName) {\n const [, organization] = packageName.split(':');\n\n if (organization) {\n organizations.add(organization);\n }\n }\n }\n\n const preCommands = Array.from(organizations).reduce((acc, organization) => {\n const url = `${hexRepoUrl}api/repos/${organization}/`;\n const { token } = hostRules.find({ url });\n\n if (token) {\n logger.debug(`Authenticating to hex organization ${organization}`);\n const authCommand = `mix hex.organization auth ${organization} --key ${token}`;\n return [...acc, authCommand];\n }\n\n return acc;\n }, [] as string[]);\n\n const execOptions: ExecOptions = {\n extraEnv: {\n // https://hexdocs.pm/mix/1.15.0/Mix.Tasks.Archive.html\n // TODO: should include a version constraint\n MIX_ARCHIVES: await ensureCacheDir('mix_archives'),\n },\n cwdFile: packageFileName,\n docker: {},\n toolConstraints: [\n {\n toolName: 'erlang',\n // https://hexdocs.pm/elixir/1.14.5/compatibility-and-deprecations.html#compatibility-between-elixir-and-erlang-otp\n constraint: config.constraints?.erlang ?? '^26',\n },\n {\n toolName: 'elixir',\n constraint: config.constraints?.elixir,\n },\n ],\n preCommands,\n };\n\n let command: string;\n if (isLockFileMaintenance) {\n command = 'mix deps.get';\n } else {\n command = [\n 'mix',\n 'deps.update',\n ...updatedDeps\n .map((dep) => dep.depName)\n .filter(is.string)\n .map((dep) => quote(dep)),\n ].join(' ');\n }\n\n try {\n await exec(command, execOptions);\n } catch (err) {\n /* v8 ignore next 3 */\n if (err.message === TEMPORARY_ERROR) {\n throw err;\n }\n\n logger.debug(\n { err, message: err.message, command },\n 'Failed to update Mix lock file',\n );\n\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: err.message,\n },\n },\n ];\n }\n\n const newMixLockContent = await readLocalFile(lockFileName, 'utf8');\n if (existingLockFileContent === newMixLockContent) {\n logger.debug('mix.lock is unchanged');\n return null;\n }\n logger.debug('Returning updated mix.lock');\n return [\n {\n file: {\n type: 'addition',\n path: lockFileName,\n contents: newMixLockContent,\n },\n },\n ];\n}\n\nasync function checkLockFileReadError(\n lockFileName: string,\n): Promise<UpdateArtifactsResult[] | null> {\n if (await localPathExists(lockFileName)) {\n return [\n {\n artifactError: {\n lockFile: lockFileName,\n stderr: `Error reading ${lockFileName}`,\n },\n },\n ];\n }\n return null;\n}\n"]}
@@ -62,32 +62,34 @@ async function extractPackageFile(content, packageFile, config) {
62
62
  logger_1.logger.warn('Updating multiple npm lock files is deprecated and support will be removed in future versions.');
63
63
  }
64
64
  let npmrc;
65
- const npmrcFileName = (0, fs_1.getSiblingFileName)(packageFile, '.npmrc');
66
- let repoNpmrc = await (0, fs_1.readLocalFile)(npmrcFileName, 'utf8');
67
- if (is_1.default.string(repoNpmrc)) {
68
- if (is_1.default.string(config.npmrc) && !config.npmrcMerge) {
69
- logger_1.logger.debug({ npmrcFileName }, 'Repo .npmrc file is ignored due to config.npmrc with config.npmrcMerge=false');
70
- npmrc = config.npmrc;
71
- }
72
- else {
73
- npmrc = config.npmrc ?? '';
74
- if (npmrc.length) {
75
- if (!npmrc.endsWith('\n')) {
76
- npmrc += '\n';
77
- }
78
- }
79
- if (repoNpmrc?.includes('package-lock')) {
80
- logger_1.logger.debug('Stripping package-lock setting from .npmrc');
81
- repoNpmrc = repoNpmrc.replace((0, regex_1.regEx)(/(^|\n)package-lock.*?(\n|$)/g), '\n');
65
+ const npmrcFileName = await (0, fs_1.findLocalSiblingOrParent)(packageFile, '.npmrc');
66
+ if (npmrcFileName) {
67
+ let repoNpmrc = await (0, fs_1.readLocalFile)(npmrcFileName, 'utf8');
68
+ if (is_1.default.string(repoNpmrc)) {
69
+ if (is_1.default.string(config.npmrc) && !config.npmrcMerge) {
70
+ logger_1.logger.debug({ npmrcFileName }, 'Repo .npmrc file is ignored due to config.npmrc with config.npmrcMerge=false');
71
+ npmrc = config.npmrc;
82
72
  }
83
- if (repoNpmrc.includes('=${') && !global_1.GlobalConfig.get('exposeAllEnv')) {
84
- logger_1.logger.debug({ npmrcFileName }, 'Stripping .npmrc file of lines with variables');
85
- repoNpmrc = repoNpmrc
86
- .split(regex_1.newlineRegex)
87
- .filter((line) => !line.includes('=${'))
88
- .join('\n');
73
+ else {
74
+ npmrc = config.npmrc ?? '';
75
+ if (npmrc.length) {
76
+ if (!npmrc.endsWith('\n')) {
77
+ npmrc += '\n';
78
+ }
79
+ }
80
+ if (repoNpmrc?.includes('package-lock')) {
81
+ logger_1.logger.debug('Stripping package-lock setting from .npmrc');
82
+ repoNpmrc = repoNpmrc.replace((0, regex_1.regEx)(/(^|\n)package-lock.*?(\n|$)/g), '\n');
83
+ }
84
+ if (repoNpmrc.includes('=${') && !global_1.GlobalConfig.get('exposeAllEnv')) {
85
+ logger_1.logger.debug({ npmrcFileName }, 'Stripping .npmrc file of lines with variables');
86
+ repoNpmrc = repoNpmrc
87
+ .split(regex_1.newlineRegex)
88
+ .filter((line) => !line.includes('=${'))
89
+ .join('\n');
90
+ }
91
+ npmrc += repoNpmrc;
89
92
  }
90
- npmrc += repoNpmrc;
91
93
  }
92
94
  }
93
95
  else if (is_1.default.string(config.npmrc)) {
@@ -158,6 +160,7 @@ async function extractPackageFile(content, packageFile, config) {
158
160
  yarnZeroInstall,
159
161
  hasPackageManager: is_1.default.nonEmptyStringAndNotWhitespace(packageJson.packageManager),
160
162
  workspacesPackages,
163
+ npmrcFileName, // store npmrc file name so we can later tell if it came from the workspace or not
161
164
  },
162
165
  skipInstalls,
163
166
  extractedConstraints,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/extract/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { GlobalConfig } from '../../../../config/global';\nimport { logger } from '../../../../logger';\nimport {\n findLocalSiblingOrParent,\n getSiblingFileName,\n readLocalFile,\n} from '../../../../util/fs';\nimport { newlineRegex, regEx } from '../../../../util/regex';\nimport { NpmDatasource } from '../../../datasource/npm';\n\nimport type {\n ExtractConfig,\n PackageFile,\n PackageFileContent,\n} from '../../types';\nimport type { NpmLockFiles, NpmManagerData } from '../types';\nimport { getExtractedConstraints } from './common/dependency';\nimport { extractPackageJson } from './common/package-file';\nimport { extractPnpmWorkspaceFile, tryParsePnpmWorkspaceYaml } from './pnpm';\nimport { postExtract } from './post';\nimport type { NpmPackage } from './types';\nimport { isZeroInstall } from './yarn';\nimport type { YarnConfig } from './yarnrc';\nimport {\n loadConfigFromLegacyYarnrc,\n loadConfigFromYarnrcYml,\n resolveRegistryUrl,\n} from './yarnrc';\n\nfunction hasMultipleLockFiles(lockFiles: NpmLockFiles): boolean {\n return Object.values(lockFiles).filter(is.string).length > 1;\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n config: ExtractConfig,\n): Promise<PackageFileContent<NpmManagerData> | null> {\n logger.trace(`npm.extractPackageFile(${packageFile})`);\n logger.trace({ content });\n let packageJson: NpmPackage;\n try {\n packageJson = JSON.parse(content);\n } catch {\n logger.debug({ packageFile }, `Invalid JSON`);\n return null;\n }\n\n const res = extractPackageJson(packageJson, packageFile);\n if (!res) {\n return null;\n }\n\n let workspacesPackages: string[] | undefined;\n if (is.array(packageJson.workspaces)) {\n workspacesPackages = packageJson.workspaces;\n } else {\n workspacesPackages = packageJson.workspaces?.packages;\n }\n\n const lockFiles: NpmLockFiles = {\n yarnLock: 'yarn.lock',\n packageLock: 'package-lock.json',\n shrinkwrapJson: 'npm-shrinkwrap.json',\n pnpmShrinkwrap: 'pnpm-lock.yaml',\n };\n\n for (const [key, val] of Object.entries(lockFiles) as [\n 'yarnLock' | 'packageLock' | 'shrinkwrapJson' | 'pnpmShrinkwrap',\n string,\n ][]) {\n const filePath = getSiblingFileName(packageFile, val);\n if (await readLocalFile(filePath, 'utf8')) {\n lockFiles[key] = filePath;\n } else {\n lockFiles[key] = undefined;\n }\n }\n lockFiles.npmLock = lockFiles.packageLock ?? lockFiles.shrinkwrapJson;\n delete lockFiles.packageLock;\n delete lockFiles.shrinkwrapJson;\n\n if (hasMultipleLockFiles(lockFiles)) {\n logger.warn(\n 'Updating multiple npm lock files is deprecated and support will be removed in future versions.',\n );\n }\n\n let npmrc: string | undefined;\n const npmrcFileName = getSiblingFileName(packageFile, '.npmrc');\n let repoNpmrc = await readLocalFile(npmrcFileName, 'utf8');\n if (is.string(repoNpmrc)) {\n if (is.string(config.npmrc) && !config.npmrcMerge) {\n logger.debug(\n { npmrcFileName },\n 'Repo .npmrc file is ignored due to config.npmrc with config.npmrcMerge=false',\n );\n npmrc = config.npmrc;\n } else {\n npmrc = config.npmrc ?? '';\n if (npmrc.length) {\n if (!npmrc.endsWith('\\n')) {\n npmrc += '\\n';\n }\n }\n if (repoNpmrc?.includes('package-lock')) {\n logger.debug('Stripping package-lock setting from .npmrc');\n repoNpmrc = repoNpmrc.replace(\n regEx(/(^|\\n)package-lock.*?(\\n|$)/g),\n '\\n',\n );\n }\n if (repoNpmrc.includes('=${') && !GlobalConfig.get('exposeAllEnv')) {\n logger.debug(\n { npmrcFileName },\n 'Stripping .npmrc file of lines with variables',\n );\n repoNpmrc = repoNpmrc\n .split(newlineRegex)\n .filter((line) => !line.includes('=${'))\n .join('\\n');\n }\n npmrc += repoNpmrc;\n }\n } else if (is.string(config.npmrc)) {\n npmrc = config.npmrc;\n }\n\n const yarnrcYmlFileName = await findLocalSiblingOrParent(\n packageFile,\n '.yarnrc.yml',\n );\n const yarnZeroInstall = yarnrcYmlFileName\n ? await isZeroInstall(yarnrcYmlFileName)\n : false;\n\n let yarnConfig: YarnConfig | null = null;\n const repoYarnrcYml = yarnrcYmlFileName\n ? await readLocalFile(yarnrcYmlFileName, 'utf8')\n : null;\n if (is.string(repoYarnrcYml) && repoYarnrcYml.trim().length > 0) {\n yarnConfig = loadConfigFromYarnrcYml(repoYarnrcYml);\n }\n\n const legacyYarnrcFileName = await findLocalSiblingOrParent(\n packageFile,\n '.yarnrc',\n );\n const repoLegacyYarnrc = legacyYarnrcFileName\n ? await readLocalFile(legacyYarnrcFileName, 'utf8')\n : null;\n if (is.string(repoLegacyYarnrc) && repoLegacyYarnrc.trim().length > 0) {\n yarnConfig = loadConfigFromLegacyYarnrc(repoLegacyYarnrc);\n }\n\n if (res.deps.length === 0) {\n logger.debug('Package file has no deps');\n if (\n !(\n !!res.managerData?.packageJsonName ||\n !!res.packageFileVersion ||\n !!npmrc ||\n workspacesPackages\n )\n ) {\n logger.debug('Skipping file');\n return null;\n }\n }\n let skipInstalls = config.skipInstalls;\n if (skipInstalls === null) {\n const hasFancyRefs = !!res.deps.some(\n (dep) =>\n !!dep.currentValue?.startsWith('file:') ||\n !!dep.currentValue?.startsWith('npm:'),\n );\n if ((hasFancyRefs && !!lockFiles.npmLock) || yarnZeroInstall) {\n // https://github.com/npm/cli/issues/1432\n // Explanation:\n // - npm install --package-lock-only is buggy for transitive deps in file: and npm: references\n // - So we set skipInstalls to false if file: or npm: refs are found *and* the user hasn't explicitly set the value already\n // - Also, do not skip install if Yarn zero-install is used\n logger.debug('Automatically setting skipInstalls to false');\n skipInstalls = false;\n } else {\n skipInstalls = true;\n }\n }\n\n const extractedConstraints = getExtractedConstraints(res.deps);\n\n if (yarnConfig) {\n for (const dep of res.deps) {\n if (dep.depName) {\n const registryUrlFromYarnConfig = resolveRegistryUrl(\n dep.packageName ?? dep.depName,\n yarnConfig,\n );\n if (registryUrlFromYarnConfig && dep.datasource === NpmDatasource.id) {\n dep.registryUrls = [registryUrlFromYarnConfig];\n }\n }\n }\n }\n\n return {\n ...res,\n npmrc,\n managerData: {\n ...res.managerData,\n ...lockFiles,\n yarnZeroInstall,\n hasPackageManager: is.nonEmptyStringAndNotWhitespace(\n packageJson.packageManager,\n ),\n workspacesPackages,\n },\n skipInstalls,\n extractedConstraints,\n };\n}\n\nexport async function extractAllPackageFiles(\n config: ExtractConfig,\n packageFiles: string[],\n): Promise<PackageFile<NpmManagerData>[]> {\n const npmFiles: PackageFile<NpmManagerData>[] = [];\n for (const packageFile of packageFiles) {\n const content = await readLocalFile(packageFile, 'utf8');\n // istanbul ignore else\n if (content) {\n // pnpm workspace files are their own package file, defined via managerFilePatterns.\n // We duck-type the content here, to allow users to rename the file itself.\n const parsedPnpmWorkspaceYaml = tryParsePnpmWorkspaceYaml(content);\n if (parsedPnpmWorkspaceYaml.success) {\n logger.trace(\n { packageFile },\n `Extracting file as a pnpm workspace YAML file`,\n );\n const deps = await extractPnpmWorkspaceFile(\n parsedPnpmWorkspaceYaml.data,\n packageFile,\n );\n if (deps) {\n npmFiles.push({\n ...deps,\n packageFile,\n });\n }\n } else {\n logger.trace({ packageFile }, `Extracting as a package.json file`);\n const deps = await extractPackageFile(content, packageFile, config);\n if (deps) {\n npmFiles.push({\n ...deps,\n packageFile,\n });\n }\n }\n } else {\n logger.debug({ packageFile }, `No content found`);\n }\n }\n\n await postExtract(npmFiles);\n return npmFiles;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/modules/manager/npm/extract/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { GlobalConfig } from '../../../../config/global';\nimport { logger } from '../../../../logger';\nimport {\n findLocalSiblingOrParent,\n getSiblingFileName,\n readLocalFile,\n} from '../../../../util/fs';\nimport { newlineRegex, regEx } from '../../../../util/regex';\nimport { NpmDatasource } from '../../../datasource/npm';\n\nimport type {\n ExtractConfig,\n PackageFile,\n PackageFileContent,\n} from '../../types';\nimport type { NpmLockFiles, NpmManagerData } from '../types';\nimport { getExtractedConstraints } from './common/dependency';\nimport { extractPackageJson } from './common/package-file';\nimport { extractPnpmWorkspaceFile, tryParsePnpmWorkspaceYaml } from './pnpm';\nimport { postExtract } from './post';\nimport type { NpmPackage } from './types';\nimport { isZeroInstall } from './yarn';\nimport type { YarnConfig } from './yarnrc';\nimport {\n loadConfigFromLegacyYarnrc,\n loadConfigFromYarnrcYml,\n resolveRegistryUrl,\n} from './yarnrc';\n\nfunction hasMultipleLockFiles(lockFiles: NpmLockFiles): boolean {\n return Object.values(lockFiles).filter(is.string).length > 1;\n}\n\nexport async function extractPackageFile(\n content: string,\n packageFile: string,\n config: ExtractConfig,\n): Promise<PackageFileContent<NpmManagerData> | null> {\n logger.trace(`npm.extractPackageFile(${packageFile})`);\n logger.trace({ content });\n let packageJson: NpmPackage;\n try {\n packageJson = JSON.parse(content);\n } catch {\n logger.debug({ packageFile }, `Invalid JSON`);\n return null;\n }\n\n const res = extractPackageJson(packageJson, packageFile);\n if (!res) {\n return null;\n }\n\n let workspacesPackages: string[] | undefined;\n if (is.array(packageJson.workspaces)) {\n workspacesPackages = packageJson.workspaces;\n } else {\n workspacesPackages = packageJson.workspaces?.packages;\n }\n\n const lockFiles: NpmLockFiles = {\n yarnLock: 'yarn.lock',\n packageLock: 'package-lock.json',\n shrinkwrapJson: 'npm-shrinkwrap.json',\n pnpmShrinkwrap: 'pnpm-lock.yaml',\n };\n\n for (const [key, val] of Object.entries(lockFiles) as [\n 'yarnLock' | 'packageLock' | 'shrinkwrapJson' | 'pnpmShrinkwrap',\n string,\n ][]) {\n const filePath = getSiblingFileName(packageFile, val);\n if (await readLocalFile(filePath, 'utf8')) {\n lockFiles[key] = filePath;\n } else {\n lockFiles[key] = undefined;\n }\n }\n lockFiles.npmLock = lockFiles.packageLock ?? lockFiles.shrinkwrapJson;\n delete lockFiles.packageLock;\n delete lockFiles.shrinkwrapJson;\n\n if (hasMultipleLockFiles(lockFiles)) {\n logger.warn(\n 'Updating multiple npm lock files is deprecated and support will be removed in future versions.',\n );\n }\n\n let npmrc: string | undefined;\n const npmrcFileName = await findLocalSiblingOrParent(packageFile, '.npmrc');\n if (npmrcFileName) {\n let repoNpmrc = await readLocalFile(npmrcFileName, 'utf8');\n if (is.string(repoNpmrc)) {\n if (is.string(config.npmrc) && !config.npmrcMerge) {\n logger.debug(\n { npmrcFileName },\n 'Repo .npmrc file is ignored due to config.npmrc with config.npmrcMerge=false',\n );\n npmrc = config.npmrc;\n } else {\n npmrc = config.npmrc ?? '';\n if (npmrc.length) {\n if (!npmrc.endsWith('\\n')) {\n npmrc += '\\n';\n }\n }\n if (repoNpmrc?.includes('package-lock')) {\n logger.debug('Stripping package-lock setting from .npmrc');\n repoNpmrc = repoNpmrc.replace(\n regEx(/(^|\\n)package-lock.*?(\\n|$)/g),\n '\\n',\n );\n }\n if (repoNpmrc.includes('=${') && !GlobalConfig.get('exposeAllEnv')) {\n logger.debug(\n { npmrcFileName },\n 'Stripping .npmrc file of lines with variables',\n );\n repoNpmrc = repoNpmrc\n .split(newlineRegex)\n .filter((line) => !line.includes('=${'))\n .join('\\n');\n }\n npmrc += repoNpmrc;\n }\n }\n } else if (is.string(config.npmrc)) {\n npmrc = config.npmrc;\n }\n\n const yarnrcYmlFileName = await findLocalSiblingOrParent(\n packageFile,\n '.yarnrc.yml',\n );\n const yarnZeroInstall = yarnrcYmlFileName\n ? await isZeroInstall(yarnrcYmlFileName)\n : false;\n\n let yarnConfig: YarnConfig | null = null;\n const repoYarnrcYml = yarnrcYmlFileName\n ? await readLocalFile(yarnrcYmlFileName, 'utf8')\n : null;\n if (is.string(repoYarnrcYml) && repoYarnrcYml.trim().length > 0) {\n yarnConfig = loadConfigFromYarnrcYml(repoYarnrcYml);\n }\n\n const legacyYarnrcFileName = await findLocalSiblingOrParent(\n packageFile,\n '.yarnrc',\n );\n const repoLegacyYarnrc = legacyYarnrcFileName\n ? await readLocalFile(legacyYarnrcFileName, 'utf8')\n : null;\n if (is.string(repoLegacyYarnrc) && repoLegacyYarnrc.trim().length > 0) {\n yarnConfig = loadConfigFromLegacyYarnrc(repoLegacyYarnrc);\n }\n\n if (res.deps.length === 0) {\n logger.debug('Package file has no deps');\n if (\n !(\n !!res.managerData?.packageJsonName ||\n !!res.packageFileVersion ||\n !!npmrc ||\n workspacesPackages\n )\n ) {\n logger.debug('Skipping file');\n return null;\n }\n }\n let skipInstalls = config.skipInstalls;\n if (skipInstalls === null) {\n const hasFancyRefs = !!res.deps.some(\n (dep) =>\n !!dep.currentValue?.startsWith('file:') ||\n !!dep.currentValue?.startsWith('npm:'),\n );\n if ((hasFancyRefs && !!lockFiles.npmLock) || yarnZeroInstall) {\n // https://github.com/npm/cli/issues/1432\n // Explanation:\n // - npm install --package-lock-only is buggy for transitive deps in file: and npm: references\n // - So we set skipInstalls to false if file: or npm: refs are found *and* the user hasn't explicitly set the value already\n // - Also, do not skip install if Yarn zero-install is used\n logger.debug('Automatically setting skipInstalls to false');\n skipInstalls = false;\n } else {\n skipInstalls = true;\n }\n }\n\n const extractedConstraints = getExtractedConstraints(res.deps);\n\n if (yarnConfig) {\n for (const dep of res.deps) {\n if (dep.depName) {\n const registryUrlFromYarnConfig = resolveRegistryUrl(\n dep.packageName ?? dep.depName,\n yarnConfig,\n );\n if (registryUrlFromYarnConfig && dep.datasource === NpmDatasource.id) {\n dep.registryUrls = [registryUrlFromYarnConfig];\n }\n }\n }\n }\n\n return {\n ...res,\n npmrc,\n managerData: {\n ...res.managerData,\n ...lockFiles,\n yarnZeroInstall,\n hasPackageManager: is.nonEmptyStringAndNotWhitespace(\n packageJson.packageManager,\n ),\n workspacesPackages,\n npmrcFileName, // store npmrc file name so we can later tell if it came from the workspace or not\n },\n skipInstalls,\n extractedConstraints,\n };\n}\n\nexport async function extractAllPackageFiles(\n config: ExtractConfig,\n packageFiles: string[],\n): Promise<PackageFile<NpmManagerData>[]> {\n const npmFiles: PackageFile<NpmManagerData>[] = [];\n for (const packageFile of packageFiles) {\n const content = await readLocalFile(packageFile, 'utf8');\n // istanbul ignore else\n if (content) {\n // pnpm workspace files are their own package file, defined via managerFilePatterns.\n // We duck-type the content here, to allow users to rename the file itself.\n const parsedPnpmWorkspaceYaml = tryParsePnpmWorkspaceYaml(content);\n if (parsedPnpmWorkspaceYaml.success) {\n logger.trace(\n { packageFile },\n `Extracting file as a pnpm workspace YAML file`,\n );\n const deps = await extractPnpmWorkspaceFile(\n parsedPnpmWorkspaceYaml.data,\n packageFile,\n );\n if (deps) {\n npmFiles.push({\n ...deps,\n packageFile,\n });\n }\n } else {\n logger.trace({ packageFile }, `Extracting as a package.json file`);\n const deps = await extractPackageFile(content, packageFile, config);\n if (deps) {\n npmFiles.push({\n ...deps,\n packageFile,\n });\n }\n }\n } else {\n logger.debug({ packageFile }, `No content found`);\n }\n }\n\n await postExtract(npmFiles);\n return npmFiles;\n}\n"]}
@@ -12,7 +12,7 @@ const deepmerge_1 = tslib_1.__importDefault(require("deepmerge"));
12
12
  const upath_1 = tslib_1.__importDefault(require("upath"));
13
13
  const logger_1 = require("../../../../logger");
14
14
  const external_host_error_1 = require("../../../../types/errors/external-host-error");
15
- const env_1 = require("../../../../util/exec/env");
15
+ const env_1 = require("../../../../util/env");
16
16
  const fs_1 = require("../../../../util/fs");
17
17
  const git_1 = require("../../../../util/git");
18
18
  const hostRules = tslib_1.__importStar(require("../../../../util/host-rules"));
@@ -95,7 +95,11 @@ async function writeExistingFiles(config, packageFiles) {
95
95
  const basedir = upath_1.default.dirname(packageFile.packageFile);
96
96
  const npmrc = packageFile.npmrc;
97
97
  const npmrcFilename = upath_1.default.join(basedir, '.npmrc');
98
- if (is_1.default.string(npmrc)) {
98
+ // Write out the file unless the npmrc came from the workspace
99
+ // npmrcFilename will be set whenever the file was read from disk during extract
100
+ if (is_1.default.string(npmrc) &&
101
+ (npmrcFilename === packageFile.managerData.npmrcFileName ||
102
+ !packageFile.managerData.npmrcFileName)) {
99
103
  try {
100
104
  await (0, fs_1.writeLocalFile)(npmrcFilename, npmrc.replace(/\n?$/, '\n'));
101
105
  }
@@ -305,8 +309,10 @@ async function getAdditionalFiles(config, packageFiles) {
305
309
  await writeExistingFiles(config, packageFiles);
306
310
  await writeUpdatedPackageFiles(config);
307
311
  const { additionalNpmrcContent, additionalYarnRcYml } = (0, rules_1.processHostRules)();
312
+ // This isn't passed directly to the child process, so no need to filter.
313
+ // But pass custom env and user vars.
308
314
  const env = {
309
- ...(0, env_1.getChildProcessEnv)(),
315
+ ...(0, env_1.getEnv)(),
310
316
  NPM_CONFIG_CACHE: await (0, fs_1.ensureCacheDir)('npm'),
311
317
  YARN_CACHE_FOLDER: await (0, fs_1.ensureCacheDir)('yarn'),
312
318
  YARN_GLOBAL_FOLDER: await (0, fs_1.ensureCacheDir)('berry'),