renovate 41.0.0-next.21 → 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
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/pep440/index.ts"],"names":[],"mappings":"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","sourcesContent":["import * as pep440 from '@renovatebot/pep440';\nimport type { RangeStrategy } from '../../../types/versioning';\nimport type { VersioningApi } from '../types';\nimport { getNewValue, isLessThanRange } from './range';\n\nexport const id = 'pep440';\nexport const displayName = 'PEP440';\nexport const urls = ['https://www.python.org/dev/peps/pep-0440/'];\nexport const supportsRanges = true;\nexport const supportedRangeStrategies: RangeStrategy[] = [\n 'bump',\n 'widen',\n 'pin',\n 'replace',\n];\n\nconst {\n compare: sortVersions,\n satisfies,\n valid,\n validRange,\n explain,\n gt: isGreaterThan,\n major: getMajor,\n minor: getMinor,\n patch: getPatch,\n eq,\n} = pep440;\n\nfunction isVersion(input: string | undefined | null): boolean {\n // @renovatebot/pep440 isn't strict null save\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n return !!valid(input!);\n}\n\nconst isStable = (input: string): boolean => {\n const version = explain(input);\n if (!version) {\n return false;\n }\n return !version.is_prerelease;\n};\n\n// If this is left as an alias, inputs like \"17.04.0\" throw errors\nexport function isValid(input: string): boolean {\n return validRange(input) || isVersion(input);\n}\n\nfunction getSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n const found = pep440.filter(versions, range).sort(sortVersions);\n return found.length === 0 ? null : found[found.length - 1];\n}\n\nfunction minSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n const found = pep440.filter(versions, range).sort(sortVersions);\n return found.length === 0 ? null : found[0];\n}\n\nexport function isSingleVersion(constraint: string): boolean {\n return (\n isVersion(constraint) ||\n (constraint?.startsWith('==') && isVersion(constraint.substring(2).trim()))\n );\n}\n\nexport { isVersion, matches };\n\nconst equals = (version1: string, version2: string): boolean =>\n isVersion(version1) && isVersion(version2) && eq(version1, version2);\n\nfunction matches(version: string, range: string): boolean {\n if (!isVersion(version)) {\n return false;\n }\n if (isVersion(range)) {\n return equals(version, range);\n }\n return isValid(range) && satisfies(version, range);\n}\n\nexport const api: VersioningApi = {\n equals,\n getMajor,\n getMinor,\n getPatch,\n isCompatible: isVersion,\n isGreaterThan,\n isSingleVersion,\n isStable,\n isValid,\n isVersion,\n matches,\n getSatisfyingVersion,\n minSatisfyingVersion,\n getNewValue,\n sortVersions,\n isLessThanRange,\n};\n\nexport default api;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/pep440/index.ts"],"names":[],"mappings":"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","sourcesContent":["import * as pep440 from '@renovatebot/pep440';\nimport type { RangeStrategy } from '../../../types/versioning';\nimport type { VersioningApi } from '../types';\nimport { getNewValue, isLessThanRange } from './range';\n\nexport const id = 'pep440';\nexport const displayName = 'PEP440';\nexport const urls = ['https://www.python.org/dev/peps/pep-0440/'];\nexport const supportsRanges = true;\nexport const supportedRangeStrategies: RangeStrategy[] = [\n 'bump',\n 'widen',\n 'pin',\n 'replace',\n];\n\nconst {\n compare: sortVersions,\n satisfies,\n valid,\n validRange,\n explain,\n gt: isGreaterThan,\n major: getMajor,\n minor: getMinor,\n patch: getPatch,\n eq,\n} = pep440;\n\nfunction isVersion(input: string | undefined | null): boolean {\n // @renovatebot/pep440 isn't strict null save\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n return !!valid(input!);\n}\n\nconst isStable = (input: string): boolean => {\n const version = explain(input);\n if (!version) {\n return false;\n }\n return !version.is_prerelease;\n};\n\n// If this is left as an alias, inputs like \"17.04.0\" throw errors\nexport function isValid(input: string): boolean {\n return validRange(input) || isVersion(input);\n}\n\nfunction getSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n const found = pep440.filter(versions, range).sort(sortVersions);\n return found.length === 0 ? null : found[found.length - 1];\n}\n\nfunction minSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n const found = pep440.filter(versions, range).sort(sortVersions);\n return found.length === 0 ? null : found[0];\n}\n\nexport function isSingleVersion(constraint: string): boolean {\n return (\n isVersion(constraint) ||\n (constraint?.startsWith('==') && isVersion(constraint.substring(2).trim()))\n );\n}\n\nexport { isVersion, matches };\n\nconst equals = (version1: string, version2: string): boolean =>\n isVersion(version1) && isVersion(version2) && eq(version1, version2);\n\nfunction matches(version: string, range: string): boolean {\n if (!isVersion(version)) {\n return false;\n }\n if (isVersion(range)) {\n return equals(version, range);\n }\n return isValid(range) && satisfies(version, range, { prereleases: true });\n}\n\nexport const api: VersioningApi = {\n equals,\n getMajor,\n getMinor,\n getPatch,\n isCompatible: isVersion,\n isGreaterThan,\n isSingleVersion,\n isStable,\n isValid,\n isVersion,\n matches,\n getSatisfyingVersion,\n minSatisfyingVersion,\n getNewValue,\n sortVersions,\n isLessThanRange,\n};\n\nexport default api;\n"]}
@@ -3,5 +3,6 @@ export declare const id = "python";
3
3
  export declare const displayName = "Python";
4
4
  export declare const urls: never[];
5
5
  export declare const supportsRanges = false;
6
+ export declare function isBreaking(current: string, version: string): boolean;
6
7
  export declare const api: VersioningApi;
7
8
  export default api;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.api = exports.supportsRanges = exports.urls = exports.displayName = exports.id = void 0;
4
+ exports.isBreaking = isBreaking;
4
5
  const pep440_1 = require("../pep440");
5
6
  const poetry_1 = require("../poetry");
6
7
  exports.id = 'python';
@@ -38,10 +39,18 @@ function subset(subRange, superRange) {
38
39
  ? poetry_1.api.subset(subRange, superRange)
39
40
  : undefined;
40
41
  }
42
+ function isBreaking(current, version) {
43
+ const currentMajor = poetry_1.api.getMajor(current);
44
+ const currentMinor = poetry_1.api.getMinor(current);
45
+ const newMajor = poetry_1.api.getMajor(version);
46
+ const newMinor = poetry_1.api.getMinor(version);
47
+ return !(currentMajor === newMajor && currentMinor === newMinor);
48
+ }
41
49
  exports.api = {
42
50
  ...poetry_1.api,
43
51
  getNewValue,
44
52
  getSatisfyingVersion,
53
+ isBreaking,
45
54
  isLessThanRange,
46
55
  isValid,
47
56
  matches,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/python/index.ts"],"names":[],"mappings":";;;AAAA,sCAA0C;AAC1C,sCAA0C;AAG7B,QAAA,EAAE,GAAG,QAAQ,CAAC;AACd,QAAA,WAAW,GAAG,QAAQ,CAAC;AACvB,QAAA,IAAI,GAAG,EAAE,CAAC;AACV,QAAA,cAAc,GAAG,KAAK,CAAC;AAEpC,SAAS,eAAe,CAAC,OAAe,EAAE,KAAa;IACrD,OAAO,YAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1B,CAAC,CAAC,YAAM,CAAC,eAAgB,CAAC,OAAO,EAAE,KAAK,CAAC;QACzC,CAAC,CAAC,YAAM,CAAC,eAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,YAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,YAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,OAAO,CAAC,OAAe,EAAE,KAAa;IAC7C,OAAO,YAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1B,CAAC,CAAC,YAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC;QAChC,CAAC,CAAC,YAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAAkB,EAClB,KAAa;IAEb,OAAO,YAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1B,CAAC,CAAC,YAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC;QAC9C,CAAC,CAAC,YAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAAkB,EAClB,KAAa;IAEb,OAAO,YAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1B,CAAC,CAAC,YAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC;QAC9C,CAAC,CAAC,YAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,WAAW,CAAC,QAAwB;IAC3C,OAAO,YAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,MAAM,CAAC,QAAgB,EAAE,UAAkB;IAClD,OAAO,YAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,YAAM,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3D,CAAC,CAAC,YAAM,CAAC,MAAO,CAAC,QAAQ,EAAE,UAAU,CAAC;QACtC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAEY,QAAA,GAAG,GAAkB;IAChC,GAAG,YAAM;IACT,WAAW;IACX,oBAAoB;IACpB,eAAe;IACf,OAAO;IACP,OAAO;IACP,oBAAoB;IACpB,MAAM;CACP,CAAC;AACF,kBAAe,WAAG,CAAC","sourcesContent":["import { api as pep440 } from '../pep440';\nimport { api as poetry } from '../poetry';\nimport type { NewValueConfig, VersioningApi } from '../types';\n\nexport const id = 'python';\nexport const displayName = 'Python';\nexport const urls = [];\nexport const supportsRanges = false;\n\nfunction isLessThanRange(version: string, range: string): boolean {\n return poetry.isValid(range)\n ? poetry.isLessThanRange!(version, range)\n : pep440.isLessThanRange!(version, range);\n}\n\nfunction isValid(input: string): boolean {\n return poetry.isValid(input) || pep440.isValid(input);\n}\n\nfunction matches(version: string, range: string): boolean {\n return poetry.isValid(range)\n ? poetry.matches(version, range)\n : pep440.matches(version, range);\n}\n\nfunction getSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n return poetry.isValid(range)\n ? poetry.getSatisfyingVersion(versions, range)\n : pep440.getSatisfyingVersion(versions, range);\n}\n\nfunction minSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n return poetry.isValid(range)\n ? poetry.minSatisfyingVersion(versions, range)\n : pep440.minSatisfyingVersion(versions, range);\n}\n\nfunction getNewValue(newValue: NewValueConfig): string | null {\n return poetry.getNewValue(newValue);\n}\n\nfunction subset(subRange: string, superRange: string): boolean | undefined {\n return poetry.isValid(subRange) && poetry.isValid(superRange)\n ? poetry.subset!(subRange, superRange)\n : undefined;\n}\n\nexport const api: VersioningApi = {\n ...poetry,\n getNewValue,\n getSatisfyingVersion,\n isLessThanRange,\n isValid,\n matches,\n minSatisfyingVersion,\n subset,\n};\nexport default api;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/python/index.ts"],"names":[],"mappings":";;;AAqDA,gCAMC;AA3DD,sCAA0C;AAC1C,sCAA0C;AAG7B,QAAA,EAAE,GAAG,QAAQ,CAAC;AACd,QAAA,WAAW,GAAG,QAAQ,CAAC;AACvB,QAAA,IAAI,GAAG,EAAE,CAAC;AACV,QAAA,cAAc,GAAG,KAAK,CAAC;AAEpC,SAAS,eAAe,CAAC,OAAe,EAAE,KAAa;IACrD,OAAO,YAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1B,CAAC,CAAC,YAAM,CAAC,eAAgB,CAAC,OAAO,EAAE,KAAK,CAAC;QACzC,CAAC,CAAC,YAAM,CAAC,eAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,YAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,YAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,OAAO,CAAC,OAAe,EAAE,KAAa;IAC7C,OAAO,YAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1B,CAAC,CAAC,YAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC;QAChC,CAAC,CAAC,YAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAAkB,EAClB,KAAa;IAEb,OAAO,YAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1B,CAAC,CAAC,YAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC;QAC9C,CAAC,CAAC,YAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAAkB,EAClB,KAAa;IAEb,OAAO,YAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1B,CAAC,CAAC,YAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC;QAC9C,CAAC,CAAC,YAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,WAAW,CAAC,QAAwB;IAC3C,OAAO,YAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,MAAM,CAAC,QAAgB,EAAE,UAAkB;IAClD,OAAO,YAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,YAAM,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3D,CAAC,CAAC,YAAM,CAAC,MAAO,CAAC,QAAQ,EAAE,UAAU,CAAC;QACtC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAgB,UAAU,CAAC,OAAe,EAAE,OAAe;IACzD,MAAM,YAAY,GAAG,YAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,YAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,YAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,YAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,QAAQ,CAAC,CAAC;AACnE,CAAC;AAEY,QAAA,GAAG,GAAkB;IAChC,GAAG,YAAM;IACT,WAAW;IACX,oBAAoB;IACpB,UAAU;IACV,eAAe;IACf,OAAO;IACP,OAAO;IACP,oBAAoB;IACpB,MAAM;CACP,CAAC;AACF,kBAAe,WAAG,CAAC","sourcesContent":["import { api as pep440 } from '../pep440';\nimport { api as poetry } from '../poetry';\nimport type { NewValueConfig, VersioningApi } from '../types';\n\nexport const id = 'python';\nexport const displayName = 'Python';\nexport const urls = [];\nexport const supportsRanges = false;\n\nfunction isLessThanRange(version: string, range: string): boolean {\n return poetry.isValid(range)\n ? poetry.isLessThanRange!(version, range)\n : pep440.isLessThanRange!(version, range);\n}\n\nfunction isValid(input: string): boolean {\n return poetry.isValid(input) || pep440.isValid(input);\n}\n\nfunction matches(version: string, range: string): boolean {\n return poetry.isValid(range)\n ? poetry.matches(version, range)\n : pep440.matches(version, range);\n}\n\nfunction getSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n return poetry.isValid(range)\n ? poetry.getSatisfyingVersion(versions, range)\n : pep440.getSatisfyingVersion(versions, range);\n}\n\nfunction minSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n return poetry.isValid(range)\n ? poetry.minSatisfyingVersion(versions, range)\n : pep440.minSatisfyingVersion(versions, range);\n}\n\nfunction getNewValue(newValue: NewValueConfig): string | null {\n return poetry.getNewValue(newValue);\n}\n\nfunction subset(subRange: string, superRange: string): boolean | undefined {\n return poetry.isValid(subRange) && poetry.isValid(superRange)\n ? poetry.subset!(subRange, superRange)\n : undefined;\n}\n\nexport function isBreaking(current: string, version: string): boolean {\n const currentMajor = poetry.getMajor(current);\n const currentMinor = poetry.getMinor(current);\n const newMajor = poetry.getMajor(version);\n const newMinor = poetry.getMinor(version);\n return !(currentMajor === newMajor && currentMinor === newMinor);\n}\n\nexport const api: VersioningApi = {\n ...poetry,\n getNewValue,\n getSatisfyingVersion,\n isBreaking,\n isLessThanRange,\n isValid,\n matches,\n minSatisfyingVersion,\n subset,\n};\nexport default api;\n"]}
@@ -7,5 +7,6 @@ export declare const supportsRanges = false;
7
7
  declare const getSatisfyingVersion: typeof semver.maxSatisfying;
8
8
  export declare const isVersion: (input: string) => boolean;
9
9
  export { isVersion as isValid, getSatisfyingVersion };
10
+ export declare function isBreaking(current: string, version: string): boolean;
10
11
  export declare const api: VersioningApi;
11
12
  export default api;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.api = exports.getSatisfyingVersion = exports.isValid = exports.isVersion = exports.supportsRanges = exports.urls = exports.displayName = exports.id = void 0;
4
+ exports.isBreaking = isBreaking;
4
5
  const tslib_1 = require("tslib");
5
6
  const semver_1 = tslib_1.__importDefault(require("semver"));
6
7
  const semver_stable_1 = tslib_1.__importDefault(require("semver-stable"));
@@ -21,6 +22,19 @@ function getNewValue({ currentValue, currentVersion, newVersion, }) {
21
22
  }
22
23
  return newVersion;
23
24
  }
25
+ function isBreaking(current, version) {
26
+ // The change may be breaking if either version is unstable
27
+ if (!isStable(version) || !isStable(current)) {
28
+ return true;
29
+ }
30
+ const currentMajor = getMajor(current);
31
+ if (currentMajor === 0) {
32
+ // All v0.x updates might be breaking
33
+ return true;
34
+ }
35
+ // Otherwise, only major updates are breaking
36
+ return currentMajor !== getMajor(version);
37
+ }
24
38
  function isCompatible(version) {
25
39
  return (0, exports.isVersion)(version);
26
40
  }
@@ -35,6 +49,7 @@ exports.api = {
35
49
  getMajor,
36
50
  getMinor,
37
51
  getPatch,
52
+ isBreaking,
38
53
  isCompatible,
39
54
  isGreaterThan,
40
55
  isLessThanRange,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/semver/index.ts"],"names":[],"mappings":";;;;AAAA,4DAA4B;AAC5B,0EAAmC;AAGtB,QAAA,EAAE,GAAG,QAAQ,CAAC;AACd,QAAA,WAAW,GAAG,UAAU,CAAC;AACzB,QAAA,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAC/B,QAAA,cAAc,GAAG,KAAK,CAAC;AAEpC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,uBAAM,CAAC;AAEhC,MAAM,EACJ,OAAO,EAAE,YAAY,EACrB,aAAa,EAAE,oBAAoB,EACnC,aAAa,EAAE,oBAAoB,EACnC,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,OAAO,EAClB,KAAK,EACL,GAAG,EAAE,eAAe,EACpB,EAAE,EAAE,aAAa,EACjB,EAAE,EAAE,MAAM,GACX,GAAG,gBAAM,CAAC;AAKoB,oDAAoB;AAHnD,kEAAkE;AAC3D,MAAM,SAAS,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAAvD,QAAA,SAAS,aAA8C;AAE9C,kBAFT,iBAAS,CAEO;AAE7B,SAAS,WAAW,CAAC,EACnB,YAAY,EACZ,cAAc,EACd,UAAU,GACK;IACf,IAAI,cAAc,KAAK,IAAI,YAAY,EAAE,EAAE,CAAC;QAC1C,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,OAAO,IAAA,iBAAS,EAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO,IAAA,iBAAS,EAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,IAAA,iBAAS,EAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAEY,QAAA,GAAG,GAAkB;IAChC,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,YAAY;IACZ,aAAa;IACb,eAAe;IACf,eAAe;IACf,QAAQ;IACR,OAAO;IACP,SAAS,EAAT,iBAAS;IACT,OAAO;IACP,oBAAoB;IACpB,oBAAoB;IACpB,WAAW;IACX,YAAY;CACb,CAAC;AACF,kBAAe,WAAG,CAAC","sourcesContent":["import semver from 'semver';\nimport stable from 'semver-stable';\nimport type { NewValueConfig, VersioningApi } from '../types';\n\nexport const id = 'semver';\nexport const displayName = 'Semantic';\nexport const urls = ['https://semver.org/'];\nexport const supportsRanges = false;\n\nconst { is: isStable } = stable;\n\nconst {\n compare: sortVersions,\n maxSatisfying: getSatisfyingVersion,\n minSatisfying: minSatisfyingVersion,\n major: getMajor,\n minor: getMinor,\n patch: getPatch,\n satisfies: matches,\n valid,\n ltr: isLessThanRange,\n gt: isGreaterThan,\n eq: equals,\n} = semver;\n\n// If this is left as an alias, inputs like \"17.04.0\" throw errors\nexport const isVersion = (input: string): boolean => !!valid(input);\n\nexport { isVersion as isValid, getSatisfyingVersion };\n\nfunction getNewValue({\n currentValue,\n currentVersion,\n newVersion,\n}: NewValueConfig): string {\n if (currentVersion === `v${currentValue}`) {\n return newVersion.replace(/^v/, '');\n }\n return newVersion;\n}\n\nfunction isCompatible(version: string): boolean {\n return isVersion(version);\n}\n\nfunction isSingleVersion(version: string): boolean {\n return isVersion(version);\n}\n\nfunction isValid(input: string): boolean {\n return isVersion(input);\n}\n\nexport const api: VersioningApi = {\n equals,\n getMajor,\n getMinor,\n getPatch,\n isCompatible,\n isGreaterThan,\n isLessThanRange,\n isSingleVersion,\n isStable,\n isValid,\n isVersion,\n matches,\n getSatisfyingVersion,\n minSatisfyingVersion,\n getNewValue,\n sortVersions,\n};\nexport default api;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/semver/index.ts"],"names":[],"mappings":";;;AAyCA,gCAYC;;AArDD,4DAA4B;AAC5B,0EAAmC;AAGtB,QAAA,EAAE,GAAG,QAAQ,CAAC;AACd,QAAA,WAAW,GAAG,UAAU,CAAC;AACzB,QAAA,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAC/B,QAAA,cAAc,GAAG,KAAK,CAAC;AAEpC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,uBAAM,CAAC;AAEhC,MAAM,EACJ,OAAO,EAAE,YAAY,EACrB,aAAa,EAAE,oBAAoB,EACnC,aAAa,EAAE,oBAAoB,EACnC,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,OAAO,EAClB,KAAK,EACL,GAAG,EAAE,eAAe,EACpB,EAAE,EAAE,aAAa,EACjB,EAAE,EAAE,MAAM,GACX,GAAG,gBAAM,CAAC;AAKoB,oDAAoB;AAHnD,kEAAkE;AAC3D,MAAM,SAAS,GAAG,CAAC,KAAa,EAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAAvD,QAAA,SAAS,aAA8C;AAE9C,kBAFT,iBAAS,CAEO;AAE7B,SAAS,WAAW,CAAC,EACnB,YAAY,EACZ,cAAc,EACd,UAAU,GACK;IACf,IAAI,cAAc,KAAK,IAAI,YAAY,EAAE,EAAE,CAAC;QAC1C,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAgB,UAAU,CAAC,OAAe,EAAE,OAAe;IACzD,2DAA2D;IAC3D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,qCAAqC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,6CAA6C;IAC7C,OAAO,YAAY,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,OAAO,IAAA,iBAAS,EAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO,IAAA,iBAAS,EAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,IAAA,iBAAS,EAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAEY,QAAA,GAAG,GAAkB;IAChC,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,aAAa;IACb,eAAe;IACf,eAAe;IACf,QAAQ;IACR,OAAO;IACP,SAAS,EAAT,iBAAS;IACT,OAAO;IACP,oBAAoB;IACpB,oBAAoB;IACpB,WAAW;IACX,YAAY;CACb,CAAC;AACF,kBAAe,WAAG,CAAC","sourcesContent":["import semver from 'semver';\nimport stable from 'semver-stable';\nimport type { NewValueConfig, VersioningApi } from '../types';\n\nexport const id = 'semver';\nexport const displayName = 'Semantic';\nexport const urls = ['https://semver.org/'];\nexport const supportsRanges = false;\n\nconst { is: isStable } = stable;\n\nconst {\n compare: sortVersions,\n maxSatisfying: getSatisfyingVersion,\n minSatisfying: minSatisfyingVersion,\n major: getMajor,\n minor: getMinor,\n patch: getPatch,\n satisfies: matches,\n valid,\n ltr: isLessThanRange,\n gt: isGreaterThan,\n eq: equals,\n} = semver;\n\n// If this is left as an alias, inputs like \"17.04.0\" throw errors\nexport const isVersion = (input: string): boolean => !!valid(input);\n\nexport { isVersion as isValid, getSatisfyingVersion };\n\nfunction getNewValue({\n currentValue,\n currentVersion,\n newVersion,\n}: NewValueConfig): string {\n if (currentVersion === `v${currentValue}`) {\n return newVersion.replace(/^v/, '');\n }\n return newVersion;\n}\n\nexport function isBreaking(current: string, version: string): boolean {\n // The change may be breaking if either version is unstable\n if (!isStable(version) || !isStable(current)) {\n return true;\n }\n const currentMajor = getMajor(current);\n if (currentMajor === 0) {\n // All v0.x updates might be breaking\n return true;\n }\n // Otherwise, only major updates are breaking\n return currentMajor !== getMajor(version);\n}\n\nfunction isCompatible(version: string): boolean {\n return isVersion(version);\n}\n\nfunction isSingleVersion(version: string): boolean {\n return isVersion(version);\n}\n\nfunction isValid(input: string): boolean {\n return isVersion(input);\n}\n\nexport const api: VersioningApi = {\n equals,\n getMajor,\n getMinor,\n getPatch,\n isBreaking,\n isCompatible,\n isGreaterThan,\n isLessThanRange,\n isSingleVersion,\n isStable,\n isValid,\n isVersion,\n matches,\n getSatisfyingVersion,\n minSatisfyingVersion,\n getNewValue,\n sortVersions,\n};\nexport default api;\n"]}
@@ -7,6 +7,7 @@ const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
7
7
  const semver_1 = tslib_1.__importDefault(require("semver"));
8
8
  const semver_stable_1 = tslib_1.__importDefault(require("semver-stable"));
9
9
  const regex_1 = require("../../../util/regex");
10
+ const semver_2 = require("../semver");
10
11
  exports.id = 'semver-coerced';
11
12
  exports.displayName = 'Coerced Semantic Versioning';
12
13
  exports.urls = ['https://semver.org/'];
@@ -98,6 +99,13 @@ function getNewValue({ currentValue, currentVersion, newVersion, }) {
98
99
  }
99
100
  return newVersion;
100
101
  }
102
+ function isBreaking(version, current) {
103
+ const coercedVersion = semver_1.default.coerce(version)?.toString();
104
+ const coercedCurrent = semver_1.default.coerce(current)?.toString();
105
+ return !!(coercedVersion &&
106
+ coercedCurrent &&
107
+ (0, semver_2.isBreaking)(coercedVersion, coercedCurrent));
108
+ }
101
109
  function isCompatible(version) {
102
110
  return (0, exports.isVersion)(version);
103
111
  }
@@ -106,6 +114,7 @@ exports.api = {
106
114
  getMajor,
107
115
  getMinor,
108
116
  getPatch,
117
+ isBreaking,
109
118
  isCompatible,
110
119
  isGreaterThan,
111
120
  isLessThanRange,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/semver-coerced/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport type { SemVer } from 'semver';\nimport semver from 'semver';\nimport stable from 'semver-stable';\nimport { regEx } from '../../../util/regex';\nimport type { NewValueConfig, VersioningApi } from '../types';\n\nexport const id = 'semver-coerced';\nexport const displayName = 'Coerced Semantic Versioning';\nexport const urls = ['https://semver.org/'];\nexport const supportsRanges = false;\n\nfunction isStable(version: string): boolean {\n // matching a version with the semver prefix\n // v1.2.3, 1.2.3, v1.2, 1.2, v1, 1\n const regx = regEx(\n /^v?(?<major>\\d+)(?<minor>\\.\\d+)?(?<patch>\\.\\d+)?(?<others>.+)?/,\n );\n const m = regx.exec(version);\n\n if (!m?.groups) {\n return false;\n }\n\n const major = m.groups.major;\n const newMinor = m.groups.minor ?? '.0';\n const newPatch = m.groups.patch ?? '.0';\n const others = m.groups.others ?? '';\n const fixed = major + newMinor + newPatch + others;\n return stable.is(fixed);\n}\n\nfunction sortVersions(a: string, b: string): number {\n const aCoerced = semver.coerce(a);\n const bCoerced = semver.coerce(b);\n\n return aCoerced && bCoerced ? semver.compare(aCoerced, bCoerced) : 0;\n}\n\nfunction getMajor(a: string | SemVer): number | null {\n const aCoerced = semver.coerce(a);\n return aCoerced ? semver.major(aCoerced) : null;\n}\n\nfunction getMinor(a: string | SemVer): number | null {\n const aCoerced = semver.coerce(a);\n return aCoerced ? semver.minor(aCoerced) : null;\n}\n\nfunction getPatch(a: string | SemVer): number | null {\n const aCoerced = semver.coerce(a);\n return aCoerced ? semver.patch(aCoerced) : null;\n}\n\nfunction matches(version: string, range: string): boolean {\n const coercedVersion = semver.coerce(version);\n return coercedVersion ? semver.satisfies(coercedVersion, range) : false;\n}\n\nfunction equals(a: string, b: string): boolean {\n const aCoerced = semver.coerce(a);\n const bCoerced = semver.coerce(b);\n return aCoerced && bCoerced ? semver.eq(aCoerced, bCoerced) : false;\n}\n\nfunction isValid(version: string): boolean {\n return !!semver.valid(semver.coerce(version));\n}\n\nfunction getSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n const coercedVersions = versions\n .map((version) =>\n semver.valid(version) ? version : semver.coerce(version)?.version,\n )\n .filter(is.string);\n\n return semver.maxSatisfying(coercedVersions, range);\n}\n\nfunction minSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n const coercedVersions = versions\n .map((version) => semver.coerce(version)?.version)\n .filter(is.string);\n\n return semver.minSatisfying(coercedVersions, range);\n}\n\nfunction isLessThanRange(version: string, range: string): boolean {\n const coercedVersion = semver.coerce(version);\n return coercedVersion ? semver.ltr(coercedVersion, range) : false;\n}\n\nfunction isGreaterThan(version: string, other: string): boolean {\n const coercedVersion = semver.coerce(version);\n const coercedOther = semver.coerce(other);\n if (!coercedVersion || !coercedOther) {\n return false;\n }\n return semver.gt(coercedVersion, coercedOther);\n}\n\nconst startsWithNumberRegex = regEx(`^\\\\d`);\n\nfunction isSingleVersion(version: string): boolean {\n // Since coercion accepts ranges as well as versions, we have to manually\n // check that the version string starts with either 'v' or a digit.\n if (!version.startsWith('v') && !startsWithNumberRegex.exec(version)) {\n return false;\n }\n\n return !!semver.valid(semver.coerce(version));\n}\n\n// If this is left as an alias, inputs like \"17.04.0\" throw errors\nexport const isVersion = (input: string): boolean => isValid(input);\n\nexport { isVersion as isValid, getSatisfyingVersion };\n\nfunction getNewValue({\n currentValue,\n currentVersion,\n newVersion,\n}: NewValueConfig): string {\n if (currentVersion === `v${currentValue}`) {\n return newVersion.replace(/^v/, '');\n }\n return newVersion;\n}\n\nfunction isCompatible(version: string): boolean {\n return isVersion(version);\n}\n\nexport const api: VersioningApi = {\n equals,\n getMajor,\n getMinor,\n getPatch,\n isCompatible,\n isGreaterThan,\n isLessThanRange,\n isSingleVersion,\n isStable,\n isValid,\n isVersion,\n matches,\n getSatisfyingVersion,\n minSatisfyingVersion,\n getNewValue,\n sortVersions,\n};\nexport default api;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/versioning/semver-coerced/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport type { SemVer } from 'semver';\nimport semver from 'semver';\nimport stable from 'semver-stable';\nimport { regEx } from '../../../util/regex';\nimport { isBreaking as semverIsBreaking } from '../semver';\nimport type { NewValueConfig, VersioningApi } from '../types';\n\nexport const id = 'semver-coerced';\nexport const displayName = 'Coerced Semantic Versioning';\nexport const urls = ['https://semver.org/'];\nexport const supportsRanges = false;\n\nfunction isStable(version: string): boolean {\n // matching a version with the semver prefix\n // v1.2.3, 1.2.3, v1.2, 1.2, v1, 1\n const regx = regEx(\n /^v?(?<major>\\d+)(?<minor>\\.\\d+)?(?<patch>\\.\\d+)?(?<others>.+)?/,\n );\n const m = regx.exec(version);\n\n if (!m?.groups) {\n return false;\n }\n\n const major = m.groups.major;\n const newMinor = m.groups.minor ?? '.0';\n const newPatch = m.groups.patch ?? '.0';\n const others = m.groups.others ?? '';\n const fixed = major + newMinor + newPatch + others;\n return stable.is(fixed);\n}\n\nfunction sortVersions(a: string, b: string): number {\n const aCoerced = semver.coerce(a);\n const bCoerced = semver.coerce(b);\n\n return aCoerced && bCoerced ? semver.compare(aCoerced, bCoerced) : 0;\n}\n\nfunction getMajor(a: string | SemVer): number | null {\n const aCoerced = semver.coerce(a);\n return aCoerced ? semver.major(aCoerced) : null;\n}\n\nfunction getMinor(a: string | SemVer): number | null {\n const aCoerced = semver.coerce(a);\n return aCoerced ? semver.minor(aCoerced) : null;\n}\n\nfunction getPatch(a: string | SemVer): number | null {\n const aCoerced = semver.coerce(a);\n return aCoerced ? semver.patch(aCoerced) : null;\n}\n\nfunction matches(version: string, range: string): boolean {\n const coercedVersion = semver.coerce(version);\n return coercedVersion ? semver.satisfies(coercedVersion, range) : false;\n}\n\nfunction equals(a: string, b: string): boolean {\n const aCoerced = semver.coerce(a);\n const bCoerced = semver.coerce(b);\n return aCoerced && bCoerced ? semver.eq(aCoerced, bCoerced) : false;\n}\n\nfunction isValid(version: string): boolean {\n return !!semver.valid(semver.coerce(version));\n}\n\nfunction getSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n const coercedVersions = versions\n .map((version) =>\n semver.valid(version) ? version : semver.coerce(version)?.version,\n )\n .filter(is.string);\n\n return semver.maxSatisfying(coercedVersions, range);\n}\n\nfunction minSatisfyingVersion(\n versions: string[],\n range: string,\n): string | null {\n const coercedVersions = versions\n .map((version) => semver.coerce(version)?.version)\n .filter(is.string);\n\n return semver.minSatisfying(coercedVersions, range);\n}\n\nfunction isLessThanRange(version: string, range: string): boolean {\n const coercedVersion = semver.coerce(version);\n return coercedVersion ? semver.ltr(coercedVersion, range) : false;\n}\n\nfunction isGreaterThan(version: string, other: string): boolean {\n const coercedVersion = semver.coerce(version);\n const coercedOther = semver.coerce(other);\n if (!coercedVersion || !coercedOther) {\n return false;\n }\n return semver.gt(coercedVersion, coercedOther);\n}\n\nconst startsWithNumberRegex = regEx(`^\\\\d`);\n\nfunction isSingleVersion(version: string): boolean {\n // Since coercion accepts ranges as well as versions, we have to manually\n // check that the version string starts with either 'v' or a digit.\n if (!version.startsWith('v') && !startsWithNumberRegex.exec(version)) {\n return false;\n }\n\n return !!semver.valid(semver.coerce(version));\n}\n\n// If this is left as an alias, inputs like \"17.04.0\" throw errors\nexport const isVersion = (input: string): boolean => isValid(input);\n\nexport { isVersion as isValid, getSatisfyingVersion };\n\nfunction getNewValue({\n currentValue,\n currentVersion,\n newVersion,\n}: NewValueConfig): string {\n if (currentVersion === `v${currentValue}`) {\n return newVersion.replace(/^v/, '');\n }\n return newVersion;\n}\n\nfunction isBreaking(version: string, current: string): boolean {\n const coercedVersion = semver.coerce(version)?.toString();\n const coercedCurrent = semver.coerce(current)?.toString();\n return !!(\n coercedVersion &&\n coercedCurrent &&\n semverIsBreaking(coercedVersion, coercedCurrent)\n );\n}\n\nfunction isCompatible(version: string): boolean {\n return isVersion(version);\n}\n\nexport const api: VersioningApi = {\n equals,\n getMajor,\n getMinor,\n getPatch,\n isBreaking,\n isCompatible,\n isGreaterThan,\n isLessThanRange,\n isSingleVersion,\n isStable,\n isValid,\n isVersion,\n matches,\n getSatisfyingVersion,\n minSatisfyingVersion,\n getNewValue,\n sortVersions,\n};\nexport default api;\n"]}
@@ -50,6 +50,7 @@ export interface VersioningApi {
50
50
  * i.e. `1.2.4-alpine` is not a valid upgrade for `1.2.3`.
51
51
  */
52
52
  isCompatible(version: string, current?: string): boolean;
53
+ isBreaking?(current: string, version: string): boolean;
53
54
  getMajor(version: string | SemVer): null | number;
54
55
  getMinor(version: string | SemVer): null | number;
55
56
  getPatch(version: string | SemVer): null | number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/modules/versioning/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { SemVer } from 'semver';\nimport type { RangeStrategy } from '../../types';\n\nexport interface NewValueConfig {\n currentValue: string;\n rangeStrategy: RangeStrategy;\n currentVersion?: string;\n newVersion: string;\n isReplacement?: boolean;\n}\nexport interface VersioningApi {\n // validation\n\n /**\n * Check whether the `input` is the valid version or range.\n *\n * For some managers, ranges are called \"constraints\",\"specifiers\", \"requirements\", etc.\n * We stick to the term \"range\" for all of it.\n */\n isValid(input: string): boolean;\n\n /**\n * Check whether the `input` is a valid version.\n *\n * There is no direct way to determine whether the `input` is the range,\n * but combination of `isVersion` and `isValid` can be used for that:\n *\n * `isValid(input) && !isVersion(input)`\n */\n isVersion(input: string | undefined | null): boolean;\n\n /**\n * Check whether the `input` is the:\n *\n * 1. Version, or\n * 2. Range with the special syntax of matching exactly one version:\n * - `==1.2.3` or `===1.2.3` for Python,\n * - `=1.2.3` for NPM,\n * - `[1.2.3]` for Maven or NuGet.\n *\n * This is used to provide pinning functionality.\n */\n isSingleVersion(input: string): boolean;\n\n /**\n * Check whether the `version` is considered to be \"stable\".\n */\n isStable(version: string): boolean;\n\n /**\n * Determines whether the version is compatible with the current one,\n * in some manager-dependent way.\n *\n * For most managers, all valid versions are compatible between each other.\n *\n * However, for example, Docker versions `1.2.3` and `1.2.4-alpine` are not compatible,\n * i.e. `1.2.4-alpine` is not a valid upgrade for `1.2.3`.\n */\n isCompatible(version: string, current?: string): boolean;\n\n // digestion of version\n\n getMajor(version: string | SemVer): null | number;\n getMinor(version: string | SemVer): null | number;\n getPatch(version: string | SemVer): null | number;\n\n // comparison\n\n /**\n * Check whether `version` and `other` are logically equivalent, even if\n * they're not the exact same string.\n *\n * For example, with Semver the build metadata should be ignored when comparing.\n */\n equals(version: string, other: string): boolean;\n\n /**\n * Check whether `version` is \"greater\" than the `other` version.\n */\n isGreaterThan(version: string, other: string): boolean;\n\n /**\n * Check whether the `version` is \"less\" than all the versions possible in\n * the `range`.\n */\n isLessThanRange?(version: string, range: string): boolean;\n\n /**\n * Select the highest version from `versions` that is within the given\n * `range` constraint, or return `null` if there is no matching version.\n */\n getSatisfyingVersion(versions: string[], range: string): string | null;\n\n /**\n * Select the lowest version from `versions` that is within the given\n * `range` constraint, or return `null` if there is no matching version.\n */\n minSatisfyingVersion(versions: string[], range: string): string | null;\n\n /**\n * Calculate a new version constraint based on the current constraint, the\n * `rangeStrategy` option, and the current and new version.\n */\n getNewValue(newValueConfig: NewValueConfig): string | null;\n\n /**\n * Compare two versions. Return `0` if `v1 == v2`, or `1` if `v1` is\n * greater, or `-1` if `v2` is greater.\n */\n sortVersions(version: string, other: string): number;\n\n /**\n * Check whether the `version` satisfies the `range` constraint.\n */\n matches(version: string, range: string): boolean;\n\n valueToVersion?(version: string): string;\n\n /**\n * @returns true if subRange is entirely contained by superRange, false otherwise,\n * and undefined if it cannot determine it.\n *\n * @param subRange - the sub range\n * @param superRange - the dom range\n */\n subset?(subRange: string, superRange: string): boolean | undefined;\n\n /**\n * Checks whether subRange intersects superRange.\n */\n intersects?(subRange: string, superRange: string): boolean;\n\n /**\n * Return whether unstable-to-unstable upgrades within the same major version are allowed.\n */\n allowUnstableMajorUpgrades?: boolean;\n\n /**\n * Check whether the `type` in the `a` and `b` version numbers match.\n * Both `a` and `b` must pass `isVersion`.\n */\n isSame?(type: 'major' | 'minor' | 'patch', a: string, b: string): boolean;\n}\n\nexport type VersioningApiConstructor = new (config?: string) => VersioningApi;\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/modules/versioning/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { SemVer } from 'semver';\nimport type { RangeStrategy } from '../../types';\n\nexport interface NewValueConfig {\n currentValue: string;\n rangeStrategy: RangeStrategy;\n currentVersion?: string;\n newVersion: string;\n isReplacement?: boolean;\n}\nexport interface VersioningApi {\n // validation\n\n /**\n * Check whether the `input` is the valid version or range.\n *\n * For some managers, ranges are called \"constraints\",\"specifiers\", \"requirements\", etc.\n * We stick to the term \"range\" for all of it.\n */\n isValid(input: string): boolean;\n\n /**\n * Check whether the `input` is a valid version.\n *\n * There is no direct way to determine whether the `input` is the range,\n * but combination of `isVersion` and `isValid` can be used for that:\n *\n * `isValid(input) && !isVersion(input)`\n */\n isVersion(input: string | undefined | null): boolean;\n\n /**\n * Check whether the `input` is the:\n *\n * 1. Version, or\n * 2. Range with the special syntax of matching exactly one version:\n * - `==1.2.3` or `===1.2.3` for Python,\n * - `=1.2.3` for NPM,\n * - `[1.2.3]` for Maven or NuGet.\n *\n * This is used to provide pinning functionality.\n */\n isSingleVersion(input: string): boolean;\n\n /**\n * Check whether the `version` is considered to be \"stable\".\n */\n isStable(version: string): boolean;\n\n /**\n * Determines whether the version is compatible with the current one,\n * in some manager-dependent way.\n *\n * For most managers, all valid versions are compatible between each other.\n *\n * However, for example, Docker versions `1.2.3` and `1.2.4-alpine` are not compatible,\n * i.e. `1.2.4-alpine` is not a valid upgrade for `1.2.3`.\n */\n isCompatible(version: string, current?: string): boolean;\n\n isBreaking?(current: string, version: string): boolean;\n\n // digestion of version\n\n getMajor(version: string | SemVer): null | number;\n getMinor(version: string | SemVer): null | number;\n getPatch(version: string | SemVer): null | number;\n\n // comparison\n\n /**\n * Check whether `version` and `other` are logically equivalent, even if\n * they're not the exact same string.\n *\n * For example, with Semver the build metadata should be ignored when comparing.\n */\n equals(version: string, other: string): boolean;\n\n /**\n * Check whether `version` is \"greater\" than the `other` version.\n */\n isGreaterThan(version: string, other: string): boolean;\n\n /**\n * Check whether the `version` is \"less\" than all the versions possible in\n * the `range`.\n */\n isLessThanRange?(version: string, range: string): boolean;\n\n /**\n * Select the highest version from `versions` that is within the given\n * `range` constraint, or return `null` if there is no matching version.\n */\n getSatisfyingVersion(versions: string[], range: string): string | null;\n\n /**\n * Select the lowest version from `versions` that is within the given\n * `range` constraint, or return `null` if there is no matching version.\n */\n minSatisfyingVersion(versions: string[], range: string): string | null;\n\n /**\n * Calculate a new version constraint based on the current constraint, the\n * `rangeStrategy` option, and the current and new version.\n */\n getNewValue(newValueConfig: NewValueConfig): string | null;\n\n /**\n * Compare two versions. Return `0` if `v1 == v2`, or `1` if `v1` is\n * greater, or `-1` if `v2` is greater.\n */\n sortVersions(version: string, other: string): number;\n\n /**\n * Check whether the `version` satisfies the `range` constraint.\n */\n matches(version: string, range: string): boolean;\n\n valueToVersion?(version: string): string;\n\n /**\n * @returns true if subRange is entirely contained by superRange, false otherwise,\n * and undefined if it cannot determine it.\n *\n * @param subRange - the sub range\n * @param superRange - the dom range\n */\n subset?(subRange: string, superRange: string): boolean | undefined;\n\n /**\n * Checks whether subRange intersects superRange.\n */\n intersects?(subRange: string, superRange: string): boolean;\n\n /**\n * Return whether unstable-to-unstable upgrades within the same major version are allowed.\n */\n allowUnstableMajorUpgrades?: boolean;\n\n /**\n * Check whether the `type` in the `a` and `b` version numbers match.\n * Both `a` and `b` must pass `isVersion`.\n */\n isSame?(type: 'major' | 'minor' | 'patch', a: string, b: string): boolean;\n}\n\nexport type VersioningApiConstructor = new (config?: string) => VersioningApi;\n"]}
@@ -2,3 +2,4 @@ export declare function init(): void;
2
2
  export declare function reset(): void;
3
3
  export declare function get<T = any>(key: string): T;
4
4
  export declare function set(key: string, value: unknown): void;
5
+ export declare function cleanDatasourceKeys(): void;
@@ -4,19 +4,30 @@ exports.init = init;
4
4
  exports.reset = reset;
5
5
  exports.get = get;
6
6
  exports.set = set;
7
- let repoCache;
7
+ exports.cleanDatasourceKeys = cleanDatasourceKeys;
8
+ let memCache;
8
9
  function init() {
9
- repoCache = {};
10
+ memCache = {};
10
11
  }
11
12
  function reset() {
12
- repoCache = undefined;
13
+ memCache = undefined;
13
14
  }
14
15
  function get(key) {
15
- return repoCache?.[key];
16
+ return memCache?.[key];
16
17
  }
17
18
  function set(key, value) {
18
- if (repoCache) {
19
- repoCache[key] = value;
19
+ if (memCache) {
20
+ memCache[key] = value;
21
+ }
22
+ }
23
+ function cleanDatasourceKeys() {
24
+ if (memCache) {
25
+ for (const key of Object.keys(memCache)) {
26
+ if (key.startsWith('datasource-mem:pkg-fetch:') ||
27
+ key.startsWith('datasource-mem:releases:')) {
28
+ delete memCache[key];
29
+ }
30
+ }
20
31
  }
21
32
  }
22
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/util/cache/memory/index.ts"],"names":[],"mappings":";;AAEA,oBAEC;AAED,sBAEC;AAED,kBAEC;AAED,kBAIC;AAlBD,IAAI,SAA0C,CAAC;AAE/C,SAAgB,IAAI;IAClB,SAAS,GAAG,EAAE,CAAC;AACjB,CAAC;AAED,SAAgB,KAAK;IACnB,SAAS,GAAG,SAAS,CAAC;AACxB,CAAC;AAED,SAAgB,GAAG,CAAU,GAAW;IACtC,OAAO,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,SAAgB,GAAG,CAAC,GAAW,EAAE,KAAc;IAC7C,IAAI,SAAS,EAAE,CAAC;QACd,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACzB,CAAC;AACH,CAAC","sourcesContent":["let repoCache: Record<string, any> | undefined;\n\nexport function init(): void {\n repoCache = {};\n}\n\nexport function reset(): void {\n repoCache = undefined;\n}\n\nexport function get<T = any>(key: string): T {\n return repoCache?.[key];\n}\n\nexport function set(key: string, value: unknown): void {\n if (repoCache) {\n repoCache[key] = value;\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/util/cache/memory/index.ts"],"names":[],"mappings":";;AAEA,oBAEC;AAED,sBAEC;AAED,kBAEC;AAED,kBAIC;AAED,kDAWC;AA/BD,IAAI,QAAyC,CAAC;AAE9C,SAAgB,IAAI;IAClB,QAAQ,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,SAAgB,KAAK;IACnB,QAAQ,GAAG,SAAS,CAAC;AACvB,CAAC;AAED,SAAgB,GAAG,CAAU,GAAW;IACtC,OAAO,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,SAAgB,GAAG,CAAC,GAAW,EAAE,KAAc;IAC7C,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACxB,CAAC;AACH,CAAC;AAED,SAAgB,mBAAmB;IACjC,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,IACE,GAAG,CAAC,UAAU,CAAC,2BAA2B,CAAC;gBAC3C,GAAG,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAC1C,CAAC;gBACD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["let memCache: Record<string, any> | undefined;\n\nexport function init(): void {\n memCache = {};\n}\n\nexport function reset(): void {\n memCache = undefined;\n}\n\nexport function get<T = any>(key: string): T {\n return memCache?.[key];\n}\n\nexport function set(key: string, value: unknown): void {\n if (memCache) {\n memCache[key] = value;\n }\n}\n\nexport function cleanDatasourceKeys(): void {\n if (memCache) {\n for (const key of Object.keys(memCache)) {\n if (\n key.startsWith('datasource-mem:pkg-fetch:') ||\n key.startsWith('datasource-mem:releases:')\n ) {\n delete memCache[key];\n }\n }\n }\n}\n"]}
@@ -5,6 +5,7 @@ exports.set = set;
5
5
  exports.init = init;
6
6
  exports.cleanup = cleanup;
7
7
  const tslib_1 = require("tslib");
8
+ const env_1 = require("../../env");
8
9
  const stats_1 = require("../../stats");
9
10
  const memCache = tslib_1.__importStar(require("../memory"));
10
11
  const fileCache = tslib_1.__importStar(require("./file"));
@@ -43,7 +44,7 @@ async function init(config) {
43
44
  };
44
45
  return;
45
46
  }
46
- if (process.env.RENOVATE_X_SQLITE_PACKAGE_CACHE) {
47
+ if ((0, env_1.getEnv)().RENOVATE_X_SQLITE_PACKAGE_CACHE) {
47
48
  cacheProxy = await sqlite_1.SqlitePackageCache.init(config.cacheDir);
48
49
  return;
49
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/util/cache/package/index.ts"],"names":[],"mappings":";;AAWA,kBAmBC;AAED,kBAiBC;AAED,oBAwBC;AAED,0BAOC;;AAnFD,uCAAgD;AAChD,4DAAsC;AACtC,0DAAoC;AACpC,+BAAuC;AACvC,4DAAsC;AACtC,qCAA8C;AAG9C,IAAI,UAAoC,CAAC;AAElC,KAAK,UAAU,GAAG,CACvB,SAAgC,EAChC,GAAW;IAEX,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,oBAAc,EAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACnD,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAClC,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,GAAG,yBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CACjC,UAAW,CAAC,GAAG,CAAW,SAAS,EAAE,GAAG,CAAC,CAC1C,CAAC;QACF,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC;IACvB,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,GAAG,CACvB,SAAgC,EAChC,GAAW,EACX,KAAc,EACd,OAAe;IAEf,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IAED,MAAM,yBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CACnC,UAAW,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAChD,CAAC;IAEF,MAAM,WAAW,GAAG,IAAA,oBAAc,EAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACnD,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAC/B,CAAC;AAEM,KAAK,UAAU,IAAI,CAAC,MAAiB;IAC1C,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3D,UAAU,GAAG;YACX,GAAG,EAAE,UAAU,CAAC,GAAG;YACnB,GAAG,EAAE,UAAU,CAAC,GAAG;SACpB,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,CAAC;QAChD,UAAU,GAAG,MAAM,2BAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAS,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,UAAU,GAAG;YACX,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,OAAO,EAAE,SAAS,CAAC,OAAO;SAC3B,CAAC;QACF,OAAO;IACT,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,OAAO,CAAC,MAAiB;IAC7C,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC;IACzB,CAAC;IACD,IAAI,UAAU,EAAE,OAAO,EAAE,CAAC;QACxB,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC","sourcesContent":["import type { AllConfig } from '../../../config/types';\nimport { PackageCacheStats } from '../../stats';\nimport * as memCache from '../memory';\nimport * as fileCache from './file';\nimport { getCombinedKey } from './key';\nimport * as redisCache from './redis';\nimport { SqlitePackageCache } from './sqlite';\nimport type { PackageCache, PackageCacheNamespace } from './types';\n\nlet cacheProxy: PackageCache | undefined;\n\nexport async function get<T = any>(\n namespace: PackageCacheNamespace,\n key: string,\n): Promise<T | undefined> {\n if (!cacheProxy) {\n return undefined;\n }\n\n const combinedKey = getCombinedKey(namespace, key);\n let p = memCache.get(combinedKey);\n if (!p) {\n p = PackageCacheStats.wrapGet(() =>\n cacheProxy!.get<number[]>(namespace, key),\n );\n memCache.set(combinedKey, p);\n }\n\n const result = await p;\n return result;\n}\n\nexport async function set(\n namespace: PackageCacheNamespace,\n key: string,\n value: unknown,\n minutes: number,\n): Promise<void> {\n if (!cacheProxy) {\n return;\n }\n\n await PackageCacheStats.wrapSet(() =>\n cacheProxy!.set(namespace, key, value, minutes),\n );\n\n const combinedKey = getCombinedKey(namespace, key);\n const p = Promise.resolve(value);\n memCache.set(combinedKey, p);\n}\n\nexport async function init(config: AllConfig): Promise<void> {\n if (config.redisUrl) {\n await redisCache.init(config.redisUrl, config.redisPrefix);\n cacheProxy = {\n get: redisCache.get,\n set: redisCache.set,\n };\n return;\n }\n\n if (process.env.RENOVATE_X_SQLITE_PACKAGE_CACHE) {\n cacheProxy = await SqlitePackageCache.init(config.cacheDir!);\n return;\n }\n\n if (config.cacheDir) {\n fileCache.init(config.cacheDir);\n cacheProxy = {\n get: fileCache.get,\n set: fileCache.set,\n cleanup: fileCache.cleanup,\n };\n return;\n }\n}\n\nexport async function cleanup(config: AllConfig): Promise<void> {\n if (config?.redisUrl) {\n await redisCache.end();\n }\n if (cacheProxy?.cleanup) {\n await cacheProxy.cleanup();\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/util/cache/package/index.ts"],"names":[],"mappings":";;AAYA,kBAmBC;AAED,kBAiBC;AAED,oBAwBC;AAED,0BAOC;;AApFD,mCAAmC;AACnC,uCAAgD;AAChD,4DAAsC;AACtC,0DAAoC;AACpC,+BAAuC;AACvC,4DAAsC;AACtC,qCAA8C;AAG9C,IAAI,UAAoC,CAAC;AAElC,KAAK,UAAU,GAAG,CACvB,SAAgC,EAChC,GAAW;IAEX,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,oBAAc,EAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACnD,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAClC,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,GAAG,yBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CACjC,UAAW,CAAC,GAAG,CAAW,SAAS,EAAE,GAAG,CAAC,CAC1C,CAAC;QACF,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC;IACvB,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,GAAG,CACvB,SAAgC,EAChC,GAAW,EACX,KAAc,EACd,OAAe;IAEf,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IAED,MAAM,yBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CACnC,UAAW,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAChD,CAAC;IAEF,MAAM,WAAW,GAAG,IAAA,oBAAc,EAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACnD,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAC/B,CAAC;AAEM,KAAK,UAAU,IAAI,CAAC,MAAiB;IAC1C,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3D,UAAU,GAAG;YACX,GAAG,EAAE,UAAU,CAAC,GAAG;YACnB,GAAG,EAAE,UAAU,CAAC,GAAG;SACpB,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,IAAA,YAAM,GAAE,CAAC,+BAA+B,EAAE,CAAC;QAC7C,UAAU,GAAG,MAAM,2BAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAS,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,UAAU,GAAG;YACX,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,OAAO,EAAE,SAAS,CAAC,OAAO;SAC3B,CAAC;QACF,OAAO;IACT,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,OAAO,CAAC,MAAiB;IAC7C,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC;IACzB,CAAC;IACD,IAAI,UAAU,EAAE,OAAO,EAAE,CAAC;QACxB,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC","sourcesContent":["import type { AllConfig } from '../../../config/types';\nimport { getEnv } from '../../env';\nimport { PackageCacheStats } from '../../stats';\nimport * as memCache from '../memory';\nimport * as fileCache from './file';\nimport { getCombinedKey } from './key';\nimport * as redisCache from './redis';\nimport { SqlitePackageCache } from './sqlite';\nimport type { PackageCache, PackageCacheNamespace } from './types';\n\nlet cacheProxy: PackageCache | undefined;\n\nexport async function get<T = any>(\n namespace: PackageCacheNamespace,\n key: string,\n): Promise<T | undefined> {\n if (!cacheProxy) {\n return undefined;\n }\n\n const combinedKey = getCombinedKey(namespace, key);\n let p = memCache.get(combinedKey);\n if (!p) {\n p = PackageCacheStats.wrapGet(() =>\n cacheProxy!.get<number[]>(namespace, key),\n );\n memCache.set(combinedKey, p);\n }\n\n const result = await p;\n return result;\n}\n\nexport async function set(\n namespace: PackageCacheNamespace,\n key: string,\n value: unknown,\n minutes: number,\n): Promise<void> {\n if (!cacheProxy) {\n return;\n }\n\n await PackageCacheStats.wrapSet(() =>\n cacheProxy!.set(namespace, key, value, minutes),\n );\n\n const combinedKey = getCombinedKey(namespace, key);\n const p = Promise.resolve(value);\n memCache.set(combinedKey, p);\n}\n\nexport async function init(config: AllConfig): Promise<void> {\n if (config.redisUrl) {\n await redisCache.init(config.redisUrl, config.redisPrefix);\n cacheProxy = {\n get: redisCache.get,\n set: redisCache.set,\n };\n return;\n }\n\n if (getEnv().RENOVATE_X_SQLITE_PACKAGE_CACHE) {\n cacheProxy = await SqlitePackageCache.init(config.cacheDir!);\n return;\n }\n\n if (config.cacheDir) {\n fileCache.init(config.cacheDir);\n cacheProxy = {\n get: fileCache.get,\n set: fileCache.set,\n cleanup: fileCache.cleanup,\n };\n return;\n }\n}\n\nexport async function cleanup(config: AllConfig): Promise<void> {\n if (config?.redisUrl) {\n await redisCache.end();\n }\n if (cacheProxy?.cleanup) {\n await cacheProxy.cleanup();\n }\n}\n"]}
@@ -5,6 +5,6 @@ exports.getCombinedKey = getCombinedKey;
5
5
  * Returns the key used by underlying storage implementations
6
6
  */
7
7
  function getCombinedKey(namespace, key) {
8
- return `global%%${namespace}%%${key}`;
8
+ return `datasource-mem:pkg-fetch:${namespace}:${key}`;
9
9
  }
10
10
  //# sourceMappingURL=key.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"key.js","sourceRoot":"","sources":["../../../../lib/util/cache/package/key.ts"],"names":[],"mappings":";;AAKA,wCAKC;AARD;;GAEG;AACH,SAAgB,cAAc,CAC5B,SAAgC,EAChC,GAAW;IAEX,OAAO,WAAW,SAAS,KAAK,GAAG,EAAE,CAAC;AACxC,CAAC","sourcesContent":["import type { CombinedKey, PackageCacheNamespace } from './types';\n\n/**\n * Returns the key used by underlying storage implementations\n */\nexport function getCombinedKey(\n namespace: PackageCacheNamespace,\n key: string,\n): CombinedKey {\n return `global%%${namespace}%%${key}`;\n}\n"]}
1
+ {"version":3,"file":"key.js","sourceRoot":"","sources":["../../../../lib/util/cache/package/key.ts"],"names":[],"mappings":";;AAKA,wCAKC;AARD;;GAEG;AACH,SAAgB,cAAc,CAC5B,SAAgC,EAChC,GAAW;IAEX,OAAO,4BAA4B,SAAS,IAAI,GAAG,EAAE,CAAC;AACxD,CAAC","sourcesContent":["import type { CombinedKey, PackageCacheNamespace } from './types';\n\n/**\n * Returns the key used by underlying storage implementations\n */\nexport function getCombinedKey(\n namespace: PackageCacheNamespace,\n key: string,\n): CombinedKey {\n return `datasource-mem:pkg-fetch:${namespace}:${key}`;\n}\n"]}
@@ -7,5 +7,5 @@ export interface DecoratorCachedRecord {
7
7
  value: unknown;
8
8
  cachedAt: string;
9
9
  }
10
- export type PackageCacheNamespace = '_test-namespace' | 'changelog-bitbucket-notes@v2' | 'changelog-bitbucket-release' | 'changelog-bitbucket-server-notes@v2' | 'changelog-bitbucket-server-release' | 'changelog-gitea-notes@v2' | 'changelog-gitea-release' | 'changelog-github-notes@v2' | 'changelog-github-release' | 'changelog-gitlab-notes@v2' | 'changelog-gitlab-release' | 'datasource-artifactory' | 'datasource-aws-machine-image' | 'datasource-aws-rds' | 'datasource-aws-eks-addon' | 'datasource-azure-bicep-resource' | 'datasource-azure-pipelines-tasks' | 'datasource-bazel' | 'datasource-bitbucket-tags' | 'datasource-bitbucket-server-tags' | 'datasource-bitrise' | 'datasource-buildpacks-registry' | 'datasource-cdnjs' | 'datasource-conan' | 'datasource-conda' | 'datasource-cpan' | 'datasource-crate-metadata' | 'datasource-crate' | 'datasource-deb' | 'datasource-deno' | 'datasource-docker-architecture' | 'datasource-docker-hub-cache' | 'datasource-docker-digest' | 'datasource-docker-hub-tags' | 'datasource-docker-imageconfig' | 'datasource-docker-labels' | 'datasource-docker-releases-v2' | 'datasource-docker-tags' | 'datasource-dotnet-version' | 'datasource-endoflife-date' | 'datasource-galaxy-collection' | 'datasource-galaxy' | 'datasource-git-refs' | 'datasource-git-tags' | 'datasource-git' | 'datasource-gitea-releases' | 'datasource-gitea-tags' | 'datasource-github-release-attachments' | 'datasource-gitlab-packages' | 'datasource-gitlab-releases' | 'datasource-gitlab-tags' | 'datasource-glasskube-packages' | 'datasource-go-direct' | 'datasource-go-proxy' | 'datasource-go' | 'datasource-golang-version' | 'datasource-gradle-version' | 'datasource-helm' | 'datasource-hermit' | 'datasource-hex' | 'datasource-hexpm-bob' | 'datasource-java-version' | 'datasource-jenkins-plugins' | 'datasource-maven' | 'datasource-maven:head-requests-timeout' | 'datasource-maven:head-requests' | 'datasource-maven:metadata-xml' | 'datasource-node-version' | 'datasource-npm:cache-provider' | 'datasource-nuget-v3' | 'datasource-orb' | 'datasource-packagist' | 'datasource-pod' | 'datasource-python-version' | 'datasource-releases' | 'datasource-repology' | 'datasource-ruby-version' | 'datasource-rubygems' | 'datasource-sbt-package' | 'datasource-terraform-module' | 'datasource-terraform-provider' | 'datasource-terraform' | 'datasource-unity3d' | 'github-releases-datasource-v2' | 'github-tags-datasource-v2' | 'merge-confidence' | 'preset' | 'terraform-provider-hash' | 'url-sha256';
11
- export type CombinedKey = `global%%${PackageCacheNamespace}%%${string}`;
10
+ export type PackageCacheNamespace = '_test-namespace' | 'changelog-bitbucket-notes@v2' | 'changelog-bitbucket-release' | 'changelog-bitbucket-server-notes@v2' | 'changelog-bitbucket-server-release' | 'changelog-gitea-notes@v2' | 'changelog-gitea-release' | 'changelog-github-notes@v2' | 'changelog-github-release' | 'changelog-gitlab-notes@v2' | 'changelog-gitlab-release' | 'datasource-artifactory' | 'datasource-aws-machine-image' | 'datasource-aws-rds' | 'datasource-aws-eks-addon' | 'datasource-azure-bicep-resource' | 'datasource-azure-pipelines-tasks' | 'datasource-bazel' | 'datasource-bitbucket-tags' | 'datasource-bitbucket-server-tags' | 'datasource-bitrise' | 'datasource-buildpacks-registry' | 'datasource-cdnjs' | 'datasource-conan' | 'datasource-conda' | 'datasource-cpan' | 'datasource-crate-metadata' | 'datasource-crate' | 'datasource-deb' | 'datasource-deno' | 'datasource-docker-architecture' | 'datasource-docker-hub-cache' | 'datasource-docker-digest' | 'datasource-docker-hub-tags' | 'datasource-docker-imageconfig' | 'datasource-docker-labels' | 'datasource-docker-releases-v2' | 'datasource-docker-tags' | 'datasource-dotnet-version' | 'datasource-endoflife-date' | 'datasource-galaxy-collection' | 'datasource-galaxy' | 'datasource-git-refs' | 'datasource-git-tags' | 'datasource-git' | 'datasource-gitea-releases' | 'datasource-gitea-tags' | 'datasource-github-release-attachments' | 'datasource-gitlab-packages' | 'datasource-gitlab-releases' | 'datasource-gitlab-tags' | 'datasource-glasskube-packages' | 'datasource-go-direct' | 'datasource-go-proxy' | 'datasource-go' | 'datasource-golang-version' | 'datasource-gradle-version' | 'datasource-helm' | 'datasource-hermit' | 'datasource-hex' | 'datasource-hexpm-bob' | 'datasource-java-version' | 'datasource-jenkins-plugins' | 'datasource-maven:cache-provider' | 'datasource-maven:postprocess-reject' | 'datasource-node-version' | 'datasource-npm:cache-provider' | 'datasource-nuget-v3' | 'datasource-orb' | 'datasource-packagist' | 'datasource-pod' | 'datasource-python-version' | 'datasource-releases' | 'datasource-repology' | 'datasource-ruby-version' | 'datasource-rubygems' | 'datasource-sbt-package' | 'datasource-terraform-module' | 'datasource-terraform-provider' | 'datasource-terraform' | 'datasource-unity3d' | 'github-releases-datasource-v2' | 'github-tags-datasource-v2' | 'merge-confidence' | 'preset' | 'terraform-provider-hash' | 'url-sha256';
11
+ export type CombinedKey = `datasource-mem:pkg-fetch:${PackageCacheNamespace}:${string}`;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../lib/util/cache/package/types.ts"],"names":[],"mappings":"","sourcesContent":["export interface PackageCache {\n get<T = any>(namespace: string, key: string): Promise<T | undefined>;\n\n set<T = any>(\n namespace: string,\n key: string,\n value: T,\n ttlMinutes?: number,\n ): Promise<void>;\n\n cleanup?(): Promise<void>;\n}\n\nexport interface DecoratorCachedRecord {\n value: unknown;\n cachedAt: string;\n}\n\nexport type PackageCacheNamespace =\n | '_test-namespace'\n | 'changelog-bitbucket-notes@v2'\n | 'changelog-bitbucket-release'\n | 'changelog-bitbucket-server-notes@v2'\n | 'changelog-bitbucket-server-release'\n | 'changelog-gitea-notes@v2'\n | 'changelog-gitea-release'\n | 'changelog-github-notes@v2'\n | 'changelog-github-release'\n | 'changelog-gitlab-notes@v2'\n | 'changelog-gitlab-release'\n | 'datasource-artifactory'\n | 'datasource-aws-machine-image'\n | 'datasource-aws-rds'\n | 'datasource-aws-eks-addon'\n | 'datasource-azure-bicep-resource'\n | 'datasource-azure-pipelines-tasks'\n | 'datasource-bazel'\n | 'datasource-bitbucket-tags'\n | 'datasource-bitbucket-server-tags'\n | 'datasource-bitrise'\n | 'datasource-buildpacks-registry'\n | 'datasource-cdnjs'\n | 'datasource-conan'\n | 'datasource-conda'\n | 'datasource-cpan'\n | 'datasource-crate-metadata'\n | 'datasource-crate'\n | 'datasource-deb'\n | 'datasource-deno'\n | 'datasource-docker-architecture'\n | 'datasource-docker-hub-cache'\n | 'datasource-docker-digest'\n | 'datasource-docker-hub-tags'\n | 'datasource-docker-imageconfig'\n | 'datasource-docker-labels'\n | 'datasource-docker-releases-v2'\n | 'datasource-docker-tags'\n | 'datasource-dotnet-version'\n | 'datasource-endoflife-date'\n | 'datasource-galaxy-collection'\n | 'datasource-galaxy'\n | 'datasource-git-refs'\n | 'datasource-git-tags'\n | 'datasource-git'\n | 'datasource-gitea-releases'\n | 'datasource-gitea-tags'\n | 'datasource-github-release-attachments'\n | 'datasource-gitlab-packages'\n | 'datasource-gitlab-releases'\n | 'datasource-gitlab-tags'\n | 'datasource-glasskube-packages'\n | 'datasource-go-direct'\n | 'datasource-go-proxy'\n | 'datasource-go'\n | 'datasource-golang-version'\n | 'datasource-gradle-version'\n | 'datasource-helm'\n | 'datasource-hermit'\n | 'datasource-hex'\n | 'datasource-hexpm-bob'\n | 'datasource-java-version'\n | 'datasource-jenkins-plugins'\n | 'datasource-maven'\n | 'datasource-maven:head-requests-timeout'\n | 'datasource-maven:head-requests'\n | 'datasource-maven:metadata-xml'\n | 'datasource-node-version'\n | 'datasource-npm:cache-provider'\n | 'datasource-nuget-v3'\n | 'datasource-orb'\n | 'datasource-packagist'\n | 'datasource-pod'\n | 'datasource-python-version'\n | 'datasource-releases'\n | 'datasource-repology'\n | 'datasource-ruby-version'\n | 'datasource-rubygems'\n | 'datasource-sbt-package'\n | 'datasource-terraform-module'\n | 'datasource-terraform-provider'\n | 'datasource-terraform'\n | 'datasource-unity3d'\n | 'github-releases-datasource-v2'\n | 'github-tags-datasource-v2'\n | 'merge-confidence'\n | 'preset'\n | 'terraform-provider-hash'\n | 'url-sha256';\n\nexport type CombinedKey = `global%%${PackageCacheNamespace}%%${string}`;\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../lib/util/cache/package/types.ts"],"names":[],"mappings":"","sourcesContent":["export interface PackageCache {\n get<T = any>(namespace: string, key: string): Promise<T | undefined>;\n\n set<T = any>(\n namespace: string,\n key: string,\n value: T,\n ttlMinutes?: number,\n ): Promise<void>;\n\n cleanup?(): Promise<void>;\n}\n\nexport interface DecoratorCachedRecord {\n value: unknown;\n cachedAt: string;\n}\n\n/* IMPORTANT:\n * These namespaces below are used as part of the cacheTtlOverride feature\n * It's OK to add to them (e.g. for new datasources) but we should avoid\n * backwards-incompatible changes in non-major releases\n */\nexport type PackageCacheNamespace =\n | '_test-namespace'\n | 'changelog-bitbucket-notes@v2'\n | 'changelog-bitbucket-release'\n | 'changelog-bitbucket-server-notes@v2'\n | 'changelog-bitbucket-server-release'\n | 'changelog-gitea-notes@v2'\n | 'changelog-gitea-release'\n | 'changelog-github-notes@v2'\n | 'changelog-github-release'\n | 'changelog-gitlab-notes@v2'\n | 'changelog-gitlab-release'\n | 'datasource-artifactory'\n | 'datasource-aws-machine-image'\n | 'datasource-aws-rds'\n | 'datasource-aws-eks-addon'\n | 'datasource-azure-bicep-resource'\n | 'datasource-azure-pipelines-tasks'\n | 'datasource-bazel'\n | 'datasource-bitbucket-tags'\n | 'datasource-bitbucket-server-tags'\n | 'datasource-bitrise'\n | 'datasource-buildpacks-registry'\n | 'datasource-cdnjs'\n | 'datasource-conan'\n | 'datasource-conda'\n | 'datasource-cpan'\n | 'datasource-crate-metadata'\n | 'datasource-crate'\n | 'datasource-deb'\n | 'datasource-deno'\n | 'datasource-docker-architecture'\n | 'datasource-docker-hub-cache'\n | 'datasource-docker-digest'\n | 'datasource-docker-hub-tags'\n | 'datasource-docker-imageconfig'\n | 'datasource-docker-labels'\n | 'datasource-docker-releases-v2'\n | 'datasource-docker-tags'\n | 'datasource-dotnet-version'\n | 'datasource-endoflife-date'\n | 'datasource-galaxy-collection'\n | 'datasource-galaxy'\n | 'datasource-git-refs'\n | 'datasource-git-tags'\n | 'datasource-git'\n | 'datasource-gitea-releases'\n | 'datasource-gitea-tags'\n | 'datasource-github-release-attachments'\n | 'datasource-gitlab-packages'\n | 'datasource-gitlab-releases'\n | 'datasource-gitlab-tags'\n | 'datasource-glasskube-packages'\n | 'datasource-go-direct'\n | 'datasource-go-proxy'\n | 'datasource-go'\n | 'datasource-golang-version'\n | 'datasource-gradle-version'\n | 'datasource-helm'\n | 'datasource-hermit'\n | 'datasource-hex'\n | 'datasource-hexpm-bob'\n | 'datasource-java-version'\n | 'datasource-jenkins-plugins'\n | 'datasource-maven:cache-provider'\n | 'datasource-maven:postprocess-reject'\n | 'datasource-node-version'\n | 'datasource-npm:cache-provider'\n | 'datasource-nuget-v3'\n | 'datasource-orb'\n | 'datasource-packagist'\n | 'datasource-pod'\n | 'datasource-python-version'\n | 'datasource-releases'\n | 'datasource-repology'\n | 'datasource-ruby-version'\n | 'datasource-rubygems'\n | 'datasource-sbt-package'\n | 'datasource-terraform-module'\n | 'datasource-terraform-provider'\n | 'datasource-terraform'\n | 'datasource-unity3d'\n | 'github-releases-datasource-v2'\n | 'github-tags-datasource-v2'\n | 'merge-confidence'\n | 'preset'\n | 'terraform-provider-hash'\n | 'url-sha256';\n\nexport type CombinedKey =\n `datasource-mem:pkg-fetch:${PackageCacheNamespace}:${string}`;\n"]}
@@ -6,6 +6,7 @@ const node_stream_1 = require("node:stream");
6
6
  const client_s3_1 = require("@aws-sdk/client-s3");
7
7
  const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
8
8
  const logger_1 = require("../../../../logger");
9
+ const env_1 = require("../../../env");
9
10
  const fs_1 = require("../../../fs");
10
11
  const s3_1 = require("../../../s3");
11
12
  const streams_1 = require("../../../streams");
@@ -58,7 +59,7 @@ class RepoCacheS3 extends base_1.RepoCacheBase {
58
59
  };
59
60
  try {
60
61
  await this.s3Client.send(new client_s3_1.PutObjectCommand(s3Params));
61
- if (is_1.default.nonEmptyString(process.env.RENOVATE_X_REPO_CACHE_FORCE_LOCAL)) {
62
+ if (is_1.default.nonEmptyString((0, env_1.getEnv)().RENOVATE_X_REPO_CACHE_FORCE_LOCAL)) {
62
63
  const cacheLocalFileName = (0, common_1.getLocalCacheFileName)(this.platform, this.repository);
63
64
  await (0, fs_1.outputCacheFile)(cacheLocalFileName, stringifiedCache);
64
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"s3.js","sourceRoot":"","sources":["../../../../../lib/util/cache/repository/impl/s3.ts"],"names":[],"mappings":"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","sourcesContent":["import { Readable } from 'node:stream';\nimport type {\n GetObjectCommandInput,\n PutObjectCommandInput,\n} from '@aws-sdk/client-s3';\nimport { GetObjectCommand, PutObjectCommand } from '@aws-sdk/client-s3';\nimport is from '@sindresorhus/is';\nimport { logger } from '../../../../logger';\nimport { outputCacheFile } from '../../../fs';\nimport { getS3Client, parseS3Url } from '../../../s3';\nimport { streamToString } from '../../../streams';\nimport { getLocalCacheFileName } from '../common';\nimport type { RepoCacheRecord } from '../schema';\nimport { RepoCacheBase } from './base';\n\nexport class RepoCacheS3 extends RepoCacheBase {\n private readonly s3Client;\n private readonly bucket;\n private readonly dir;\n\n constructor(repository: string, fingerprint: string, url: string) {\n super(repository, fingerprint);\n const { Bucket, Key } = parseS3Url(url)!;\n this.dir = this.getCacheFolder(Key);\n this.bucket = Bucket;\n this.s3Client = getS3Client();\n }\n\n async read(): Promise<string | null> {\n const cacheFileName = this.getCacheFileName();\n const s3Params: GetObjectCommandInput = {\n Bucket: this.bucket,\n Key: cacheFileName,\n };\n try {\n const { Body: res } = await this.s3Client.send(\n new GetObjectCommand(s3Params),\n );\n if (res instanceof Readable) {\n logger.debug('RepoCacheS3.read() - success');\n return await streamToString(res);\n }\n logger.warn(\n { returnType: typeof res },\n 'RepoCacheS3.read() - failure - got unexpected return type',\n );\n } catch (err) {\n // https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html\n if (err.name === 'NoSuchKey') {\n logger.debug('RepoCacheS3.read() - No cached file found');\n } else {\n logger.warn({ err }, 'RepoCacheS3.read() - failure');\n }\n }\n return null;\n }\n\n async write(data: RepoCacheRecord): Promise<void> {\n const cacheFileName = this.getCacheFileName();\n const stringifiedCache = JSON.stringify(data);\n const s3Params: PutObjectCommandInput = {\n Bucket: this.bucket,\n Key: cacheFileName,\n Body: stringifiedCache,\n ContentType: 'application/json',\n };\n try {\n await this.s3Client.send(new PutObjectCommand(s3Params));\n if (is.nonEmptyString(process.env.RENOVATE_X_REPO_CACHE_FORCE_LOCAL)) {\n const cacheLocalFileName = getLocalCacheFileName(\n this.platform,\n this.repository,\n );\n await outputCacheFile(cacheLocalFileName, stringifiedCache);\n }\n } catch (err) {\n logger.warn({ err }, 'RepoCacheS3.write() - failure');\n }\n }\n\n private getCacheFolder(pathname: string | undefined): string {\n if (!pathname) {\n return '';\n }\n\n if (pathname.endsWith('/')) {\n return pathname;\n }\n\n logger.warn(\n { pathname },\n 'RepoCacheS3.getCacheFolder() - appending missing trailing slash to pathname',\n );\n return pathname + '/';\n }\n\n private getCacheFileName(): string {\n return `${this.dir}${this.platform}/${this.repository}/cache.json`;\n }\n}\n"]}
1
+ {"version":3,"file":"s3.js","sourceRoot":"","sources":["../../../../../lib/util/cache/repository/impl/s3.ts"],"names":[],"mappings":"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","sourcesContent":["import { Readable } from 'node:stream';\nimport type {\n GetObjectCommandInput,\n PutObjectCommandInput,\n} from '@aws-sdk/client-s3';\nimport { GetObjectCommand, PutObjectCommand } from '@aws-sdk/client-s3';\nimport is from '@sindresorhus/is';\nimport { logger } from '../../../../logger';\nimport { getEnv } from '../../../env';\nimport { outputCacheFile } from '../../../fs';\nimport { getS3Client, parseS3Url } from '../../../s3';\nimport { streamToString } from '../../../streams';\nimport { getLocalCacheFileName } from '../common';\nimport type { RepoCacheRecord } from '../schema';\nimport { RepoCacheBase } from './base';\n\nexport class RepoCacheS3 extends RepoCacheBase {\n private readonly s3Client;\n private readonly bucket;\n private readonly dir;\n\n constructor(repository: string, fingerprint: string, url: string) {\n super(repository, fingerprint);\n const { Bucket, Key } = parseS3Url(url)!;\n this.dir = this.getCacheFolder(Key);\n this.bucket = Bucket;\n this.s3Client = getS3Client();\n }\n\n async read(): Promise<string | null> {\n const cacheFileName = this.getCacheFileName();\n const s3Params: GetObjectCommandInput = {\n Bucket: this.bucket,\n Key: cacheFileName,\n };\n try {\n const { Body: res } = await this.s3Client.send(\n new GetObjectCommand(s3Params),\n );\n if (res instanceof Readable) {\n logger.debug('RepoCacheS3.read() - success');\n return await streamToString(res);\n }\n logger.warn(\n { returnType: typeof res },\n 'RepoCacheS3.read() - failure - got unexpected return type',\n );\n } catch (err) {\n // https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html\n if (err.name === 'NoSuchKey') {\n logger.debug('RepoCacheS3.read() - No cached file found');\n } else {\n logger.warn({ err }, 'RepoCacheS3.read() - failure');\n }\n }\n return null;\n }\n\n async write(data: RepoCacheRecord): Promise<void> {\n const cacheFileName = this.getCacheFileName();\n const stringifiedCache = JSON.stringify(data);\n const s3Params: PutObjectCommandInput = {\n Bucket: this.bucket,\n Key: cacheFileName,\n Body: stringifiedCache,\n ContentType: 'application/json',\n };\n try {\n await this.s3Client.send(new PutObjectCommand(s3Params));\n if (is.nonEmptyString(getEnv().RENOVATE_X_REPO_CACHE_FORCE_LOCAL)) {\n const cacheLocalFileName = getLocalCacheFileName(\n this.platform,\n this.repository,\n );\n await outputCacheFile(cacheLocalFileName, stringifiedCache);\n }\n } catch (err) {\n logger.warn({ err }, 'RepoCacheS3.write() - failure');\n }\n }\n\n private getCacheFolder(pathname: string | undefined): string {\n if (!pathname) {\n return '';\n }\n\n if (pathname.endsWith('/')) {\n return pathname;\n }\n\n logger.warn(\n { pathname },\n 'RepoCacheS3.getCacheFolder() - appending missing trailing slash to pathname',\n );\n return pathname + '/';\n }\n\n private getCacheFileName(): string {\n return `${this.dir}${this.platform}/${this.repository}/cache.json`;\n }\n}\n"]}
@@ -134,6 +134,9 @@ export interface RepoCacheData {
134
134
  bitbucket?: {
135
135
  pullRequestsCache?: unknown;
136
136
  };
137
+ gitlab?: {
138
+ pullRequestsCache?: unknown;
139
+ };
137
140
  bitbucketServer?: {
138
141
  pullRequestsCache?: unknown;
139
142
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../lib/util/cache/repository/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n RepositoryCacheConfig,\n RepositoryCacheType,\n UpdateType,\n} from '../../../config/types';\nimport type { PackageFile } from '../../../modules/manager/types';\nimport type { RepoInitConfig } from '../../../workers/repository/init/types';\nimport type { PrBlockedBy } from '../../../workers/types';\n\nexport interface BaseBranchCache {\n revision?: number;\n sha: string; // branch commit sha\n configHash: string; // object hash of config\n extractionFingerprints: Record<string, string | undefined>; // matching manager fingerprints\n packageFiles: Record<string, PackageFile[]>; // extract result\n}\n\nexport interface BranchUpgradeCache {\n currentDigest?: string;\n currentValue?: string;\n datasource?: string;\n depName?: string;\n depType?: string;\n displayPending?: unknown;\n fixedVersion?: string;\n currentVersion?: string;\n packageName?: string;\n newDigest?: string;\n newValue?: string;\n newVersion?: string;\n sourceUrl?: string;\n packageFile?: string;\n remediationNotPossible?: unknown;\n updateType?: UpdateType;\n}\n\nexport interface OnboardingBranchCache {\n defaultBranchSha: string;\n onboardingBranchSha: string;\n isConflicted: boolean;\n isModified: boolean;\n configFileName?: string;\n configFileParsed?: string;\n}\n\nexport interface ReconfigureBranchCache {\n reconfigureBranchSha: string;\n isConfigValid: boolean;\n}\n\nexport interface PrCache {\n /**\n * Fingerprint of the PR body\n */\n fingerprint?: string; // Defunct\n bodyFingerprint: string; // Actively used\n /**\n * last PR modified ISO timestamp\n */\n lastEdited: string;\n}\n\nexport interface BranchCache {\n /**\n * Whether this branch has automerge enabled\n */\n automerge?: boolean;\n /**\n * Name of base branch\n */\n baseBranch?: string;\n /**\n * The base branch's most recent commit SHA\n */\n baseBranchSha?: string | null;\n /**\n * Hash of the manager fingerprints and the filtered update branch config\n */\n branchFingerprint?: string; // Defunct\n commitFingerprint?: string; // Actively used\n /**\n * Branch name\n */\n branchName: string;\n /**\n * Whether the update branch is behind base branch\n */\n isBehindBase?: boolean;\n /**\n * Whether the update branch is in conflict with base branch\n */\n isConflicted?: boolean;\n /**\n * Whether a person not listed in gitIgnoredAuthors updated the branch.\n */\n isModified?: boolean;\n /**\n *\n */\n pristine?: boolean;\n /**\n * Pr number of PR created from this branch\n */\n prNo: number | null;\n /**\n * The branch's most recent commit SHA\n */\n sha?: string | null;\n /**\n * Details on the dependency upgrades that have been applied in this branch\n */\n upgrades: BranchUpgradeCache[];\n /**\n * Object that has PR info\n */\n prCache?: PrCache | null;\n\n /**\n * Dependency dashboard information\n */\n prBlockedBy?: PrBlockedBy;\n prTitle?: string;\n result?: string;\n}\n\nexport interface RepoCacheData {\n configFileName?: string;\n httpCache?: Record<string, unknown>;\n semanticCommits?: 'enabled' | 'disabled';\n branches?: BranchCache[];\n init?: RepoInitConfig;\n scan?: Record<string, BaseBranchCache>;\n lastPlatformAutomergeFailure?: string;\n platform?: {\n gitea?: {\n pullRequestsCache?: unknown;\n };\n github?: {\n /**\n * To avoid circular dependency problem, we use `unknown` type here.\n */\n pullRequestsCache?: unknown;\n graphqlPageCache?: unknown;\n issuesCache?: Record<number, unknown>;\n };\n bitbucket?: {\n pullRequestsCache?: unknown;\n };\n bitbucketServer?: {\n pullRequestsCache?: unknown;\n };\n };\n prComments?: Record<number, Record<string, string>>;\n onboardingBranchCache?: OnboardingBranchCache;\n reconfigureBranchCache?: ReconfigureBranchCache;\n}\n\nexport interface RepoCache {\n load(): Promise<void>;\n save(): Promise<void>;\n getData(): RepoCacheData;\n isModified(): boolean | undefined;\n}\n\nexport interface RepoCacheConfig {\n repository?: string;\n repositoryCache?: RepositoryCacheConfig;\n repositoryCacheType?: RepositoryCacheType;\n repoFingerprint: string;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../lib/util/cache/repository/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n RepositoryCacheConfig,\n RepositoryCacheType,\n UpdateType,\n} from '../../../config/types';\nimport type { PackageFile } from '../../../modules/manager/types';\nimport type { RepoInitConfig } from '../../../workers/repository/init/types';\nimport type { PrBlockedBy } from '../../../workers/types';\n\nexport interface BaseBranchCache {\n revision?: number;\n sha: string; // branch commit sha\n configHash: string; // object hash of config\n extractionFingerprints: Record<string, string | undefined>; // matching manager fingerprints\n packageFiles: Record<string, PackageFile[]>; // extract result\n}\n\nexport interface BranchUpgradeCache {\n currentDigest?: string;\n currentValue?: string;\n datasource?: string;\n depName?: string;\n depType?: string;\n displayPending?: unknown;\n fixedVersion?: string;\n currentVersion?: string;\n packageName?: string;\n newDigest?: string;\n newValue?: string;\n newVersion?: string;\n sourceUrl?: string;\n packageFile?: string;\n remediationNotPossible?: unknown;\n updateType?: UpdateType;\n}\n\nexport interface OnboardingBranchCache {\n defaultBranchSha: string;\n onboardingBranchSha: string;\n isConflicted: boolean;\n isModified: boolean;\n configFileName?: string;\n configFileParsed?: string;\n}\n\nexport interface ReconfigureBranchCache {\n reconfigureBranchSha: string;\n isConfigValid: boolean;\n}\n\nexport interface PrCache {\n /**\n * Fingerprint of the PR body\n */\n fingerprint?: string; // Defunct\n bodyFingerprint: string; // Actively used\n /**\n * last PR modified ISO timestamp\n */\n lastEdited: string;\n}\n\nexport interface BranchCache {\n /**\n * Whether this branch has automerge enabled\n */\n automerge?: boolean;\n /**\n * Name of base branch\n */\n baseBranch?: string;\n /**\n * The base branch's most recent commit SHA\n */\n baseBranchSha?: string | null;\n /**\n * Hash of the manager fingerprints and the filtered update branch config\n */\n branchFingerprint?: string; // Defunct\n commitFingerprint?: string; // Actively used\n /**\n * Branch name\n */\n branchName: string;\n /**\n * Whether the update branch is behind base branch\n */\n isBehindBase?: boolean;\n /**\n * Whether the update branch is in conflict with base branch\n */\n isConflicted?: boolean;\n /**\n * Whether a person not listed in gitIgnoredAuthors updated the branch.\n */\n isModified?: boolean;\n /**\n *\n */\n pristine?: boolean;\n /**\n * Pr number of PR created from this branch\n */\n prNo: number | null;\n /**\n * The branch's most recent commit SHA\n */\n sha?: string | null;\n /**\n * Details on the dependency upgrades that have been applied in this branch\n */\n upgrades: BranchUpgradeCache[];\n /**\n * Object that has PR info\n */\n prCache?: PrCache | null;\n\n /**\n * Dependency dashboard information\n */\n prBlockedBy?: PrBlockedBy;\n prTitle?: string;\n result?: string;\n}\n\nexport interface RepoCacheData {\n configFileName?: string;\n httpCache?: Record<string, unknown>;\n semanticCommits?: 'enabled' | 'disabled';\n branches?: BranchCache[];\n init?: RepoInitConfig;\n scan?: Record<string, BaseBranchCache>;\n lastPlatformAutomergeFailure?: string;\n platform?: {\n gitea?: {\n pullRequestsCache?: unknown;\n };\n github?: {\n /**\n * To avoid circular dependency problem, we use `unknown` type here.\n */\n pullRequestsCache?: unknown;\n graphqlPageCache?: unknown;\n issuesCache?: Record<number, unknown>;\n };\n bitbucket?: {\n pullRequestsCache?: unknown;\n };\n gitlab?: {\n pullRequestsCache?: unknown;\n };\n bitbucketServer?: {\n pullRequestsCache?: unknown;\n };\n };\n prComments?: Record<number, Record<string, string>>;\n onboardingBranchCache?: OnboardingBranchCache;\n reconfigureBranchCache?: ReconfigureBranchCache;\n}\n\nexport interface RepoCache {\n load(): Promise<void>;\n save(): Promise<void>;\n getData(): RepoCacheData;\n isModified(): boolean | undefined;\n}\n\nexport interface RepoCacheConfig {\n repository?: string;\n repositoryCache?: RepositoryCacheConfig;\n repositoryCacheType?: RepositoryCacheType;\n repoFingerprint: string;\n}\n"]}
@@ -2,3 +2,9 @@ export declare function setCustomEnv(envObj: Record<string, string>): void;
2
2
  export declare function getCustomEnv(): Record<string, string>;
3
3
  export declare function setUserEnv(envObj: Record<string, string> | undefined): void;
4
4
  export declare function getUserEnv(): Record<string, string>;
5
+ /**
6
+ * Combination of process.env, customEnvVariables and user configured env
7
+ *
8
+ * Precedence: userEnv > customEnvVariables > process.env
9
+ */
10
+ export declare function getEnv(): Record<string, string | undefined>;
package/dist/util/env.js CHANGED
@@ -4,6 +4,7 @@ exports.setCustomEnv = setCustomEnv;
4
4
  exports.getCustomEnv = getCustomEnv;
5
5
  exports.setUserEnv = setUserEnv;
6
6
  exports.getUserEnv = getUserEnv;
7
+ exports.getEnv = getEnv;
7
8
  const tslib_1 = require("tslib");
8
9
  const memCache = tslib_1.__importStar(require("./cache/memory"));
9
10
  let customEnv = {};
@@ -19,4 +20,16 @@ function setUserEnv(envObj) {
19
20
  function getUserEnv() {
20
21
  return memCache.get('userEnv') ?? {};
21
22
  }
23
+ /**
24
+ * Combination of process.env, customEnvVariables and user configured env
25
+ *
26
+ * Precedence: userEnv > customEnvVariables > process.env
27
+ */
28
+ function getEnv() {
29
+ return {
30
+ ...process.env,
31
+ ...getCustomEnv(),
32
+ ...getUserEnv(),
33
+ };
34
+ }
22
35
  //# sourceMappingURL=env.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../lib/util/env.ts"],"names":[],"mappings":";;AAIA,oCAEC;AAED,oCAEC;AAED,gCAEC;AAED,gCAEC;;AAlBD,iEAA2C;AAE3C,IAAI,SAAS,GAA2B,EAAE,CAAC;AAE3C,SAAgB,YAAY,CAAC,MAA8B;IACzD,SAAS,GAAG,MAAM,CAAC;AACrB,CAAC;AAED,SAAgB,YAAY;IAC1B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,UAAU,CAAC,MAA0C;IACnE,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,SAAgB,UAAU;IACxB,OAAO,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACvC,CAAC","sourcesContent":["import * as memCache from './cache/memory';\n\nlet customEnv: Record<string, string> = {};\n\nexport function setCustomEnv(envObj: Record<string, string>): void {\n customEnv = envObj;\n}\n\nexport function getCustomEnv(): Record<string, string> {\n return customEnv;\n}\n\nexport function setUserEnv(envObj: Record<string, string> | undefined): void {\n memCache.set('userEnv', envObj);\n}\n\nexport function getUserEnv(): Record<string, string> {\n return memCache.get('userEnv') ?? {};\n}\n"]}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../lib/util/env.ts"],"names":[],"mappings":";;AAIA,oCAEC;AAED,oCAEC;AAED,gCAEC;AAED,gCAEC;AAOD,wBAMC;;AA/BD,iEAA2C;AAE3C,IAAI,SAAS,GAA2B,EAAE,CAAC;AAE3C,SAAgB,YAAY,CAAC,MAA8B;IACzD,SAAS,GAAG,MAAM,CAAC;AACrB,CAAC;AAED,SAAgB,YAAY;IAC1B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,UAAU,CAAC,MAA0C;IACnE,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,SAAgB,UAAU;IACxB,OAAO,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,SAAgB,MAAM;IACpB,OAAO;QACL,GAAG,OAAO,CAAC,GAAG;QACd,GAAG,YAAY,EAAE;QACjB,GAAG,UAAU,EAAE;KAChB,CAAC;AACJ,CAAC","sourcesContent":["import * as memCache from './cache/memory';\n\nlet customEnv: Record<string, string> = {};\n\nexport function setCustomEnv(envObj: Record<string, string>): void {\n customEnv = envObj;\n}\n\nexport function getCustomEnv(): Record<string, string> {\n return customEnv;\n}\n\nexport function setUserEnv(envObj: Record<string, string> | undefined): void {\n memCache.set('userEnv', envObj);\n}\n\nexport function getUserEnv(): Record<string, string> {\n return memCache.get('userEnv') ?? {};\n}\n\n/**\n * Combination of process.env, customEnvVariables and user configured env\n *\n * Precedence: userEnv > customEnvVariables > process.env\n */\nexport function getEnv(): Record<string, string | undefined> {\n return {\n ...process.env,\n ...getCustomEnv(),\n ...getUserEnv(),\n };\n}\n"]}
@@ -5,6 +5,7 @@ exports.exec = exec;
5
5
  const tslib_1 = require("tslib");
6
6
  const node_child_process_1 = require("node:child_process");
7
7
  const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
8
+ const env_1 = require("../env");
8
9
  const exec_error_1 = require("./exec-error");
9
10
  // https://man7.org/linux/man-pages/man7/signal.7.html#NAME
10
11
  // Non TERM/CORE signals
@@ -120,7 +121,7 @@ function exec(cmd, opts) {
120
121
  }
121
122
  function kill(cp, signal) {
122
123
  try {
123
- if (cp.pid && process.env.RENOVATE_X_EXEC_GPID_HANDLE) {
124
+ if (cp.pid && (0, env_1.getEnv)().RENOVATE_X_EXEC_GPID_HANDLE) {
124
125
  /**
125
126
  * If `pid` is negative, but not `-1`, signal shall be sent to all processes
126
127
  * (excluding an unspecified set of system processes),