renovate 42.4.0 → 42.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (702) hide show
  1. package/dist/config/decrypt.js +13 -14
  2. package/dist/config/decrypt.js.map +1 -1
  3. package/dist/config/massage.js +6 -7
  4. package/dist/config/massage.js.map +1 -1
  5. package/dist/config/migrate-validate.js +3 -3
  6. package/dist/config/migrate-validate.js.map +1 -1
  7. package/dist/config/migration.js +19 -20
  8. package/dist/config/migration.js.map +1 -1
  9. package/dist/config/migrations/base/abstract-migration.js +5 -6
  10. package/dist/config/migrations/base/abstract-migration.js.map +1 -1
  11. package/dist/config/migrations/custom/automerge-major-migration.js +2 -3
  12. package/dist/config/migrations/custom/automerge-major-migration.js.map +1 -1
  13. package/dist/config/migrations/custom/automerge-migration.js +4 -5
  14. package/dist/config/migrations/custom/automerge-migration.js.map +1 -1
  15. package/dist/config/migrations/custom/automerge-minor-migration.js +2 -3
  16. package/dist/config/migrations/custom/automerge-minor-migration.js.map +1 -1
  17. package/dist/config/migrations/custom/automerge-patch-migration.js +2 -3
  18. package/dist/config/migrations/custom/automerge-patch-migration.js.map +1 -1
  19. package/dist/config/migrations/custom/automerge-type-migration.js +2 -3
  20. package/dist/config/migrations/custom/automerge-type-migration.js.map +1 -1
  21. package/dist/config/migrations/custom/base-branch-migration.js +3 -4
  22. package/dist/config/migrations/custom/base-branch-migration.js.map +1 -1
  23. package/dist/config/migrations/custom/branch-name-migration.js +2 -3
  24. package/dist/config/migrations/custom/branch-name-migration.js.map +1 -1
  25. package/dist/config/migrations/custom/branch-prefix-migration.js +2 -3
  26. package/dist/config/migrations/custom/branch-prefix-migration.js.map +1 -1
  27. package/dist/config/migrations/custom/compatibility-migration.js +2 -3
  28. package/dist/config/migrations/custom/compatibility-migration.js.map +1 -1
  29. package/dist/config/migrations/custom/composer-ignore-platform-reqs-migration.js +2 -3
  30. package/dist/config/migrations/custom/composer-ignore-platform-reqs-migration.js.map +1 -1
  31. package/dist/config/migrations/custom/custom-managers-migration.js +2 -3
  32. package/dist/config/migrations/custom/custom-managers-migration.js.map +1 -1
  33. package/dist/config/migrations/custom/datasource-migration.js +2 -3
  34. package/dist/config/migrations/custom/datasource-migration.js.map +1 -1
  35. package/dist/config/migrations/custom/dep-types-migration.js +4 -5
  36. package/dist/config/migrations/custom/dep-types-migration.js.map +1 -1
  37. package/dist/config/migrations/custom/enabled-managers-migration.js +2 -3
  38. package/dist/config/migrations/custom/enabled-managers-migration.js.map +1 -1
  39. package/dist/config/migrations/custom/extends-migration.js +4 -5
  40. package/dist/config/migrations/custom/extends-migration.js.map +1 -1
  41. package/dist/config/migrations/custom/fetch-release-notes-migration.js +2 -3
  42. package/dist/config/migrations/custom/fetch-release-notes-migration.js.map +1 -1
  43. package/dist/config/migrations/custom/file-match-migration.js +3 -4
  44. package/dist/config/migrations/custom/file-match-migration.js.map +1 -1
  45. package/dist/config/migrations/custom/host-rules-migration.js +6 -7
  46. package/dist/config/migrations/custom/host-rules-migration.js.map +1 -1
  47. package/dist/config/migrations/custom/ignore-npmrc-file-migration.js +2 -3
  48. package/dist/config/migrations/custom/ignore-npmrc-file-migration.js.map +1 -1
  49. package/dist/config/migrations/custom/include-forks-migration.js +2 -3
  50. package/dist/config/migrations/custom/include-forks-migration.js.map +1 -1
  51. package/dist/config/migrations/custom/match-datasources-migration.js +2 -3
  52. package/dist/config/migrations/custom/match-datasources-migration.js.map +1 -1
  53. package/dist/config/migrations/custom/match-managers-migration.js +2 -3
  54. package/dist/config/migrations/custom/match-managers-migration.js.map +1 -1
  55. package/dist/config/migrations/custom/match-strings-migration.js +2 -3
  56. package/dist/config/migrations/custom/match-strings-migration.js.map +1 -1
  57. package/dist/config/migrations/custom/package-files-migration.js +6 -7
  58. package/dist/config/migrations/custom/package-files-migration.js.map +1 -1
  59. package/dist/config/migrations/custom/package-rules-migration.js +15 -16
  60. package/dist/config/migrations/custom/package-rules-migration.js.map +1 -1
  61. package/dist/config/migrations/custom/packages-migration.js +3 -4
  62. package/dist/config/migrations/custom/packages-migration.js.map +1 -1
  63. package/dist/config/migrations/custom/path-rules-migration.js +3 -4
  64. package/dist/config/migrations/custom/path-rules-migration.js.map +1 -1
  65. package/dist/config/migrations/custom/pin-versions-migration.js +2 -3
  66. package/dist/config/migrations/custom/pin-versions-migration.js.map +1 -1
  67. package/dist/config/migrations/custom/platform-commit-migration.js +2 -3
  68. package/dist/config/migrations/custom/platform-commit-migration.js.map +1 -1
  69. package/dist/config/migrations/custom/post-update-options-migration.js +2 -3
  70. package/dist/config/migrations/custom/post-update-options-migration.js.map +1 -1
  71. package/dist/config/migrations/custom/rebase-stale-prs-migration.js +2 -3
  72. package/dist/config/migrations/custom/rebase-stale-prs-migration.js.map +1 -1
  73. package/dist/config/migrations/custom/recreate-closed-migration.js +2 -3
  74. package/dist/config/migrations/custom/recreate-closed-migration.js.map +1 -1
  75. package/dist/config/migrations/custom/renovate-fork-migration.js +2 -3
  76. package/dist/config/migrations/custom/renovate-fork-migration.js.map +1 -1
  77. package/dist/config/migrations/custom/schedule-migration.js +4 -4
  78. package/dist/config/migrations/custom/schedule-migration.js.map +1 -1
  79. package/dist/config/migrations/custom/semantic-commits-migration.js +2 -3
  80. package/dist/config/migrations/custom/semantic-commits-migration.js.map +1 -1
  81. package/dist/config/migrations/custom/semantic-prefix-migration.js +2 -3
  82. package/dist/config/migrations/custom/semantic-prefix-migration.js.map +1 -1
  83. package/dist/config/migrations/custom/stability-days-migration.js +2 -3
  84. package/dist/config/migrations/custom/stability-days-migration.js.map +1 -1
  85. package/dist/config/migrations/custom/suppress-notifications-migration.js +2 -3
  86. package/dist/config/migrations/custom/suppress-notifications-migration.js.map +1 -1
  87. package/dist/config/migrations/custom/unpublish-safe-migration.js +2 -3
  88. package/dist/config/migrations/custom/unpublish-safe-migration.js.map +1 -1
  89. package/dist/config/migrations/migrations-service.js +2 -3
  90. package/dist/config/migrations/migrations-service.js.map +1 -1
  91. package/dist/config/presets/github/index.js +2 -3
  92. package/dist/config/presets/github/index.js.map +1 -1
  93. package/dist/config/presets/gitlab/index.js +2 -3
  94. package/dist/config/presets/gitlab/index.js.map +1 -1
  95. package/dist/config/presets/index.js +8 -8
  96. package/dist/config/presets/index.js.map +1 -1
  97. package/dist/config/presets/parse.js +2 -3
  98. package/dist/config/presets/parse.js.map +1 -1
  99. package/dist/config/secrets.js +3 -4
  100. package/dist/config/secrets.js.map +1 -1
  101. package/dist/config/validation-helpers/match-base-branches.js +2 -3
  102. package/dist/config/validation-helpers/match-base-branches.js.map +1 -1
  103. package/dist/config/validation-helpers/regex-glob-matchers.js +2 -3
  104. package/dist/config/validation-helpers/regex-glob-matchers.js.map +1 -1
  105. package/dist/config/validation-helpers/utils.js +6 -6
  106. package/dist/config/validation-helpers/utils.js.map +1 -1
  107. package/dist/config/validation.js +29 -29
  108. package/dist/config/validation.js.map +1 -1
  109. package/dist/instrumentation/reporting.js +7 -8
  110. package/dist/instrumentation/reporting.js.map +1 -1
  111. package/dist/instrumentation/utils.js +2 -3
  112. package/dist/instrumentation/utils.js.map +1 -1
  113. package/dist/logger/err-serializer.js +2 -2
  114. package/dist/logger/err-serializer.js.map +1 -1
  115. package/dist/logger/index.js +3 -3
  116. package/dist/logger/index.js.map +1 -1
  117. package/dist/logger/renovate-logger.js +4 -5
  118. package/dist/logger/renovate-logger.js.map +1 -1
  119. package/dist/logger/utils.js +19 -19
  120. package/dist/logger/utils.js.map +1 -1
  121. package/dist/modules/datasource/aws-eks-addon/index.js +2 -2
  122. package/dist/modules/datasource/aws-eks-addon/index.js.map +1 -1
  123. package/dist/modules/datasource/bazel/index.js +2 -2
  124. package/dist/modules/datasource/bazel/index.js.map +1 -1
  125. package/dist/modules/datasource/bitrise/index.js +2 -2
  126. package/dist/modules/datasource/bitrise/index.js.map +1 -1
  127. package/dist/modules/datasource/common.js +4 -4
  128. package/dist/modules/datasource/common.js.map +1 -1
  129. package/dist/modules/datasource/conan/index.js +3 -3
  130. package/dist/modules/datasource/conan/index.js.map +1 -1
  131. package/dist/modules/datasource/custom/formats/html.js +2 -5
  132. package/dist/modules/datasource/custom/formats/html.js.map +1 -1
  133. package/dist/modules/datasource/custom/index.js +2 -3
  134. package/dist/modules/datasource/custom/index.js.map +1 -1
  135. package/dist/modules/datasource/custom/utils.js +4 -4
  136. package/dist/modules/datasource/custom/utils.js.map +1 -1
  137. package/dist/modules/datasource/dart-version/index.js +2 -3
  138. package/dist/modules/datasource/dart-version/index.js.map +1 -1
  139. package/dist/modules/datasource/deno/index.js +2 -2
  140. package/dist/modules/datasource/deno/index.js.map +1 -1
  141. package/dist/modules/datasource/docker/common.js +5 -5
  142. package/dist/modules/datasource/docker/common.js.map +1 -1
  143. package/dist/modules/datasource/docker/index.js +6 -6
  144. package/dist/modules/datasource/docker/index.js.map +1 -1
  145. package/dist/modules/datasource/endoflife-date/index.js +2 -2
  146. package/dist/modules/datasource/endoflife-date/index.js.map +1 -1
  147. package/dist/modules/datasource/galaxy/index.js +2 -2
  148. package/dist/modules/datasource/galaxy/index.js.map +1 -1
  149. package/dist/modules/datasource/galaxy-collection/index.js +2 -2
  150. package/dist/modules/datasource/galaxy-collection/index.js.map +1 -1
  151. package/dist/modules/datasource/git-refs/base.js +2 -2
  152. package/dist/modules/datasource/git-refs/base.js.map +1 -1
  153. package/dist/modules/datasource/github-release-attachments/index.js +2 -2
  154. package/dist/modules/datasource/github-release-attachments/index.js.map +1 -1
  155. package/dist/modules/datasource/github-releases/index.js +2 -3
  156. package/dist/modules/datasource/github-releases/index.js.map +1 -1
  157. package/dist/modules/datasource/github-tags/index.js +2 -3
  158. package/dist/modules/datasource/github-tags/index.js.map +1 -1
  159. package/dist/modules/datasource/go/goproxy-parser.js +3 -3
  160. package/dist/modules/datasource/go/goproxy-parser.js.map +1 -1
  161. package/dist/modules/datasource/go/index.js +2 -2
  162. package/dist/modules/datasource/go/index.js.map +1 -1
  163. package/dist/modules/datasource/go/releases-goproxy.js +3 -3
  164. package/dist/modules/datasource/go/releases-goproxy.js.map +1 -1
  165. package/dist/modules/datasource/hackage/index.js +2 -2
  166. package/dist/modules/datasource/hackage/index.js.map +1 -1
  167. package/dist/modules/datasource/hex/schema.js +2 -3
  168. package/dist/modules/datasource/hex/schema.js.map +1 -1
  169. package/dist/modules/datasource/hexpm-bob/index.js +2 -2
  170. package/dist/modules/datasource/hexpm-bob/index.js.map +1 -1
  171. package/dist/modules/datasource/index.js +14 -14
  172. package/dist/modules/datasource/index.js.map +1 -1
  173. package/dist/modules/datasource/jsr/index.js +2 -2
  174. package/dist/modules/datasource/jsr/index.js.map +1 -1
  175. package/dist/modules/datasource/jsr/util.js +3 -4
  176. package/dist/modules/datasource/jsr/util.js.map +1 -1
  177. package/dist/modules/datasource/metadata.js +5 -5
  178. package/dist/modules/datasource/metadata.js.map +1 -1
  179. package/dist/modules/datasource/npm/get.js +2 -2
  180. package/dist/modules/datasource/npm/get.js.map +1 -1
  181. package/dist/modules/datasource/npm/npmrc.js +7 -7
  182. package/dist/modules/datasource/npm/npmrc.js.map +1 -1
  183. package/dist/modules/datasource/nuget/v3.js +2 -2
  184. package/dist/modules/datasource/nuget/v3.js.map +1 -1
  185. package/dist/modules/datasource/packagist/index.js +2 -2
  186. package/dist/modules/datasource/packagist/index.js.map +1 -1
  187. package/dist/modules/datasource/packagist/schema.js +3 -4
  188. package/dist/modules/datasource/packagist/schema.js.map +1 -1
  189. package/dist/modules/datasource/pypi/index.js +2 -2
  190. package/dist/modules/datasource/pypi/index.js.map +1 -1
  191. package/dist/modules/datasource/repology/index.js +3 -3
  192. package/dist/modules/datasource/repology/index.js.map +1 -1
  193. package/dist/modules/datasource/rubygems/schema.js +5 -6
  194. package/dist/modules/datasource/rubygems/schema.js.map +1 -1
  195. package/dist/modules/datasource/util.js +2 -3
  196. package/dist/modules/datasource/util.js.map +1 -1
  197. package/dist/modules/manager/argocd/extract.js +3 -4
  198. package/dist/modules/manager/argocd/extract.js.map +1 -1
  199. package/dist/modules/manager/asdf/extract.js +2 -3
  200. package/dist/modules/manager/asdf/extract.js.map +1 -1
  201. package/dist/modules/manager/bazel/artifacts.js +2 -2
  202. package/dist/modules/manager/bazel/artifacts.js.map +1 -1
  203. package/dist/modules/manager/bazel/common.js +4 -5
  204. package/dist/modules/manager/bazel/common.js.map +1 -1
  205. package/dist/modules/manager/bazel/rules/http.js +3 -4
  206. package/dist/modules/manager/bazel/rules/http.js.map +1 -1
  207. package/dist/modules/manager/bazel/rules/maven.js +2 -3
  208. package/dist/modules/manager/bazel/rules/maven.js.map +1 -1
  209. package/dist/modules/manager/bazel-module/parser/starlark.js +2 -3
  210. package/dist/modules/manager/bazel-module/parser/starlark.js.map +1 -1
  211. package/dist/modules/manager/bazel-module/rules.js +3 -3
  212. package/dist/modules/manager/bazel-module/rules.js.map +1 -1
  213. package/dist/modules/manager/bitrise/utils.js +3 -4
  214. package/dist/modules/manager/bitrise/utils.js.map +1 -1
  215. package/dist/modules/manager/buildpacks/extract.js +2 -3
  216. package/dist/modules/manager/buildpacks/extract.js.map +1 -1
  217. package/dist/modules/manager/bun/artifacts.js +2 -2
  218. package/dist/modules/manager/bun/artifacts.js.map +1 -1
  219. package/dist/modules/manager/bun/extract.js +2 -3
  220. package/dist/modules/manager/bun/extract.js.map +1 -1
  221. package/dist/modules/manager/bundler/artifacts.js +3 -3
  222. package/dist/modules/manager/bundler/artifacts.js.map +1 -1
  223. package/dist/modules/manager/bundler/extract.js +5 -6
  224. package/dist/modules/manager/bundler/extract.js.map +1 -1
  225. package/dist/modules/manager/cargo/extract.js +3 -4
  226. package/dist/modules/manager/cargo/extract.js.map +1 -1
  227. package/dist/modules/manager/composer/artifacts.js +3 -3
  228. package/dist/modules/manager/composer/artifacts.js.map +1 -1
  229. package/dist/modules/manager/composer/utils.js +3 -4
  230. package/dist/modules/manager/composer/utils.js.map +1 -1
  231. package/dist/modules/manager/conan/extract.js +2 -3
  232. package/dist/modules/manager/conan/extract.js.map +1 -1
  233. package/dist/modules/manager/copier/utils.js +3 -4
  234. package/dist/modules/manager/copier/utils.js.map +1 -1
  235. package/dist/modules/manager/crow/extract.js +2 -3
  236. package/dist/modules/manager/crow/extract.js.map +1 -1
  237. package/dist/modules/manager/custom/jsonata/index.js +2 -3
  238. package/dist/modules/manager/custom/jsonata/index.js.map +1 -1
  239. package/dist/modules/manager/custom/jsonata/utils.js +3 -3
  240. package/dist/modules/manager/custom/jsonata/utils.js.map +1 -1
  241. package/dist/modules/manager/custom/regex/index.js +2 -3
  242. package/dist/modules/manager/custom/regex/index.js.map +1 -1
  243. package/dist/modules/manager/custom/regex/strategies.js +4 -5
  244. package/dist/modules/manager/custom/regex/strategies.js.map +1 -1
  245. package/dist/modules/manager/custom/regex/utils.js +2 -2
  246. package/dist/modules/manager/custom/regex/utils.js.map +1 -1
  247. package/dist/modules/manager/custom/utils.js +6 -7
  248. package/dist/modules/manager/custom/utils.js.map +1 -1
  249. package/dist/modules/manager/deps-edn/extract.js +13 -14
  250. package/dist/modules/manager/deps-edn/extract.js.map +1 -1
  251. package/dist/modules/manager/deps-edn/parser.js +2 -2
  252. package/dist/modules/manager/deps-edn/parser.js.map +1 -1
  253. package/dist/modules/manager/devbox/artifacts.js +2 -2
  254. package/dist/modules/manager/devbox/artifacts.js.map +1 -1
  255. package/dist/modules/manager/docker-compose/extract.js +3 -4
  256. package/dist/modules/manager/docker-compose/extract.js.map +1 -1
  257. package/dist/modules/manager/docker-compose/schema.js +2 -3
  258. package/dist/modules/manager/docker-compose/schema.js.map +1 -1
  259. package/dist/modules/manager/dockerfile/extract.js +5 -5
  260. package/dist/modules/manager/dockerfile/extract.js.map +1 -1
  261. package/dist/modules/manager/fingerprint.generated.js +5 -5
  262. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  263. package/dist/modules/manager/fleet/extract.js +2 -3
  264. package/dist/modules/manager/fleet/extract.js.map +1 -1
  265. package/dist/modules/manager/flux/extract.js +2 -3
  266. package/dist/modules/manager/flux/extract.js.map +1 -1
  267. package/dist/modules/manager/glasskube/extract.js +2 -3
  268. package/dist/modules/manager/glasskube/extract.js.map +1 -1
  269. package/dist/modules/manager/gleam/artifacts.js +3 -4
  270. package/dist/modules/manager/gleam/artifacts.js.map +1 -1
  271. package/dist/modules/manager/gomod/artifacts.js +2 -2
  272. package/dist/modules/manager/gomod/artifacts.js.map +1 -1
  273. package/dist/modules/manager/gradle/artifacts.js +2 -2
  274. package/dist/modules/manager/gradle/artifacts.js.map +1 -1
  275. package/dist/modules/manager/gradle/extract/catalog.js +5 -5
  276. package/dist/modules/manager/gradle/extract/catalog.js.map +1 -1
  277. package/dist/modules/manager/gradle-wrapper/artifacts.js +2 -2
  278. package/dist/modules/manager/gradle-wrapper/artifacts.js.map +1 -1
  279. package/dist/modules/manager/helm-requirements/extract.js +2 -3
  280. package/dist/modules/manager/helm-requirements/extract.js.map +1 -1
  281. package/dist/modules/manager/helmfile/artifacts.js +2 -3
  282. package/dist/modules/manager/helmfile/artifacts.js.map +1 -1
  283. package/dist/modules/manager/helmfile/extract.js +4 -5
  284. package/dist/modules/manager/helmfile/extract.js.map +1 -1
  285. package/dist/modules/manager/helmsman/extract.js +4 -5
  286. package/dist/modules/manager/helmsman/extract.js.map +1 -1
  287. package/dist/modules/manager/helmv3/artifacts.js +4 -4
  288. package/dist/modules/manager/helmv3/artifacts.js.map +1 -1
  289. package/dist/modules/manager/helmv3/extract.js +4 -5
  290. package/dist/modules/manager/helmv3/extract.js.map +1 -1
  291. package/dist/modules/manager/helmv3/oci.js +3 -4
  292. package/dist/modules/manager/helmv3/oci.js.map +1 -1
  293. package/dist/modules/manager/jenkins/extract.js +3 -3
  294. package/dist/modules/manager/jenkins/extract.js.map +1 -1
  295. package/dist/modules/manager/kotlin-script/extract.js +3 -4
  296. package/dist/modules/manager/kotlin-script/extract.js.map +1 -1
  297. package/dist/modules/manager/kubernetes/extract.js +4 -4
  298. package/dist/modules/manager/kubernetes/extract.js.map +1 -1
  299. package/dist/modules/manager/kustomize/artifacts.js +8 -8
  300. package/dist/modules/manager/kustomize/artifacts.js.map +1 -1
  301. package/dist/modules/manager/kustomize/extract.js +8 -8
  302. package/dist/modules/manager/kustomize/extract.js.map +1 -1
  303. package/dist/modules/manager/maven/extract.js +4 -4
  304. package/dist/modules/manager/maven/extract.js.map +1 -1
  305. package/dist/modules/manager/maven/update.js +2 -2
  306. package/dist/modules/manager/maven/update.js.map +1 -1
  307. package/dist/modules/manager/maven-wrapper/artifacts.js +2 -2
  308. package/dist/modules/manager/maven-wrapper/artifacts.js.map +1 -1
  309. package/dist/modules/manager/mise/backends.js +9 -10
  310. package/dist/modules/manager/mise/backends.js.map +1 -1
  311. package/dist/modules/manager/mise/extract.js +7 -8
  312. package/dist/modules/manager/mise/extract.js.map +1 -1
  313. package/dist/modules/manager/mix/artifacts.js +3 -3
  314. package/dist/modules/manager/mix/artifacts.js.map +1 -1
  315. package/dist/modules/manager/nix/artifacts.js +2 -2
  316. package/dist/modules/manager/nix/artifacts.js.map +1 -1
  317. package/dist/modules/manager/npm/detect.js +2 -2
  318. package/dist/modules/manager/npm/detect.js.map +1 -1
  319. package/dist/modules/manager/npm/extract/common/dependency.js +2 -2
  320. package/dist/modules/manager/npm/extract/common/dependency.js.map +1 -1
  321. package/dist/modules/manager/npm/extract/common/overrides.js +3 -4
  322. package/dist/modules/manager/npm/extract/common/overrides.js.map +1 -1
  323. package/dist/modules/manager/npm/extract/common/package-file.js +8 -9
  324. package/dist/modules/manager/npm/extract/common/package-file.js.map +1 -1
  325. package/dist/modules/manager/npm/extract/index.js +10 -10
  326. package/dist/modules/manager/npm/extract/index.js.map +1 -1
  327. package/dist/modules/manager/npm/extract/pnpm.js +7 -7
  328. package/dist/modules/manager/npm/extract/pnpm.js.map +1 -1
  329. package/dist/modules/manager/npm/extract/post/locked-versions.js +3 -3
  330. package/dist/modules/manager/npm/extract/post/locked-versions.js.map +1 -1
  331. package/dist/modules/manager/npm/extract/post/monorepo.js +3 -4
  332. package/dist/modules/manager/npm/extract/post/monorepo.js.map +1 -1
  333. package/dist/modules/manager/npm/extract/yarn.js +2 -3
  334. package/dist/modules/manager/npm/extract/yarn.js.map +1 -1
  335. package/dist/modules/manager/npm/extract/yarnrc.js +2 -3
  336. package/dist/modules/manager/npm/extract/yarnrc.js.map +1 -1
  337. package/dist/modules/manager/npm/post-update/index.js +6 -6
  338. package/dist/modules/manager/npm/post-update/index.js.map +1 -1
  339. package/dist/modules/manager/npm/post-update/npm.js +4 -4
  340. package/dist/modules/manager/npm/post-update/npm.js.map +1 -1
  341. package/dist/modules/manager/npm/post-update/pnpm.js +3 -3
  342. package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
  343. package/dist/modules/manager/npm/post-update/rules.js +2 -2
  344. package/dist/modules/manager/npm/post-update/rules.js.map +1 -1
  345. package/dist/modules/manager/npm/post-update/utils.js +2 -2
  346. package/dist/modules/manager/npm/post-update/utils.js.map +1 -1
  347. package/dist/modules/manager/npm/post-update/yarn.js +3 -3
  348. package/dist/modules/manager/npm/post-update/yarn.js.map +1 -1
  349. package/dist/modules/manager/npm/update/dependency/index.js +2 -3
  350. package/dist/modules/manager/npm/update/dependency/index.js.map +1 -1
  351. package/dist/modules/manager/npm/update/dependency/pnpm.js +2 -3
  352. package/dist/modules/manager/npm/update/dependency/pnpm.js.map +1 -1
  353. package/dist/modules/manager/npm/update/dependency/yarn.js +3 -4
  354. package/dist/modules/manager/npm/update/dependency/yarn.js.map +1 -1
  355. package/dist/modules/manager/nuget/config-formatter.js +2 -2
  356. package/dist/modules/manager/nuget/config-formatter.js.map +1 -1
  357. package/dist/modules/manager/nuget/extract.js +4 -4
  358. package/dist/modules/manager/nuget/extract.js.map +1 -1
  359. package/dist/modules/manager/nuget/package-tree.js +2 -2
  360. package/dist/modules/manager/nuget/package-tree.js.map +1 -1
  361. package/dist/modules/manager/ocb/extract.js +2 -3
  362. package/dist/modules/manager/ocb/extract.js.map +1 -1
  363. package/dist/modules/manager/osgi/extract.js +4 -4
  364. package/dist/modules/manager/osgi/extract.js.map +1 -1
  365. package/dist/modules/manager/pep621/artifacts.js +3 -4
  366. package/dist/modules/manager/pep621/artifacts.js.map +1 -1
  367. package/dist/modules/manager/pep621/processors/uv.js +2 -3
  368. package/dist/modules/manager/pep621/processors/uv.js.map +1 -1
  369. package/dist/modules/manager/pep621/utils.js +8 -10
  370. package/dist/modules/manager/pep621/utils.js.map +1 -1
  371. package/dist/modules/manager/pep723/schema.js +2 -3
  372. package/dist/modules/manager/pep723/schema.js.map +1 -1
  373. package/dist/modules/manager/pip-compile/common.js +3 -3
  374. package/dist/modules/manager/pip-compile/common.js.map +1 -1
  375. package/dist/modules/manager/pip_requirements/artifacts.js +2 -3
  376. package/dist/modules/manager/pip_requirements/artifacts.js.map +1 -1
  377. package/dist/modules/manager/pip_requirements/extract.js +2 -3
  378. package/dist/modules/manager/pip_requirements/extract.js.map +1 -1
  379. package/dist/modules/manager/pipenv/artifacts.js +3 -4
  380. package/dist/modules/manager/pipenv/artifacts.js.map +1 -1
  381. package/dist/modules/manager/pipenv/extract.js +6 -7
  382. package/dist/modules/manager/pipenv/extract.js.map +1 -1
  383. package/dist/modules/manager/pixi/artifacts.js +2 -3
  384. package/dist/modules/manager/pixi/artifacts.js.map +1 -1
  385. package/dist/modules/manager/pixi/extract.js +2 -3
  386. package/dist/modules/manager/pixi/extract.js.map +1 -1
  387. package/dist/modules/manager/poetry/artifacts.js +4 -5
  388. package/dist/modules/manager/poetry/artifacts.js.map +1 -1
  389. package/dist/modules/manager/poetry/extract.js +2 -3
  390. package/dist/modules/manager/poetry/extract.js.map +1 -1
  391. package/dist/modules/manager/pre-commit/extract.js +4 -5
  392. package/dist/modules/manager/pre-commit/extract.js.map +1 -1
  393. package/dist/modules/manager/pub/artifacts.js +3 -4
  394. package/dist/modules/manager/pub/artifacts.js.map +1 -1
  395. package/dist/modules/manager/pub/extract.js +8 -11
  396. package/dist/modules/manager/pub/extract.js.map +1 -1
  397. package/dist/modules/manager/renovate-config-presets/extract.js +4 -5
  398. package/dist/modules/manager/renovate-config-presets/extract.js.map +1 -1
  399. package/dist/modules/manager/tekton/extract.js +9 -10
  400. package/dist/modules/manager/tekton/extract.js.map +1 -1
  401. package/dist/modules/manager/terraform/base.js +2 -3
  402. package/dist/modules/manager/terraform/base.js.map +1 -1
  403. package/dist/modules/manager/terraform/extract.js +2 -2
  404. package/dist/modules/manager/terraform/extract.js.map +1 -1
  405. package/dist/modules/manager/terraform/extractors/others/modules.js +3 -4
  406. package/dist/modules/manager/terraform/extractors/others/modules.js.map +1 -1
  407. package/dist/modules/manager/terraform/extractors/others/providers.js +3 -4
  408. package/dist/modules/manager/terraform/extractors/others/providers.js.map +1 -1
  409. package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js +7 -8
  410. package/dist/modules/manager/terraform/extractors/resources/generic-docker-image-ref.js.map +1 -1
  411. package/dist/modules/manager/terraform/extractors/resources/helm-release.js +5 -6
  412. package/dist/modules/manager/terraform/extractors/resources/helm-release.js.map +1 -1
  413. package/dist/modules/manager/terraform/extractors/resources/terraform-workspace.js +3 -4
  414. package/dist/modules/manager/terraform/extractors/resources/terraform-workspace.js.map +1 -1
  415. package/dist/modules/manager/terraform/extractors/terraform-block/required-provider.js +4 -5
  416. package/dist/modules/manager/terraform/extractors/terraform-block/required-provider.js.map +1 -1
  417. package/dist/modules/manager/terraform/extractors/terraform-block/terraform-version.js +3 -3
  418. package/dist/modules/manager/terraform/extractors/terraform-block/terraform-version.js.map +1 -1
  419. package/dist/modules/manager/terraform/lockfile/index.js +2 -2
  420. package/dist/modules/manager/terraform/lockfile/index.js.map +1 -1
  421. package/dist/modules/manager/terraform/lockfile/util.js +2 -3
  422. package/dist/modules/manager/terraform/lockfile/util.js.map +1 -1
  423. package/dist/modules/manager/terraform/util.js +2 -3
  424. package/dist/modules/manager/terraform/util.js.map +1 -1
  425. package/dist/modules/manager/tflint-plugin/plugins.js +2 -3
  426. package/dist/modules/manager/tflint-plugin/plugins.js.map +1 -1
  427. package/dist/modules/manager/travis/extract.js +5 -6
  428. package/dist/modules/manager/travis/extract.js.map +1 -1
  429. package/dist/modules/manager/woodpecker/extract.js +2 -3
  430. package/dist/modules/manager/woodpecker/extract.js.map +1 -1
  431. package/dist/modules/platform/azure/index.js +2 -2
  432. package/dist/modules/platform/azure/index.js.map +1 -1
  433. package/dist/modules/platform/bitbucket/index.js +5 -5
  434. package/dist/modules/platform/bitbucket/index.js.map +1 -1
  435. package/dist/modules/platform/bitbucket-server/pr-cache.js +2 -2
  436. package/dist/modules/platform/bitbucket-server/pr-cache.js.map +1 -1
  437. package/dist/modules/platform/bitbucket-server/utils.js +2 -2
  438. package/dist/modules/platform/bitbucket-server/utils.js.map +1 -1
  439. package/dist/modules/platform/codecommit/codecommit-client.js +2 -2
  440. package/dist/modules/platform/codecommit/codecommit-client.js.map +1 -1
  441. package/dist/modules/platform/forgejo/index.js +5 -5
  442. package/dist/modules/platform/forgejo/index.js.map +1 -1
  443. package/dist/modules/platform/forgejo/utils.js +2 -2
  444. package/dist/modules/platform/forgejo/utils.js.map +1 -1
  445. package/dist/modules/platform/gitea/index.js +5 -5
  446. package/dist/modules/platform/gitea/index.js.map +1 -1
  447. package/dist/modules/platform/gitea/utils.js +2 -2
  448. package/dist/modules/platform/gitea/utils.js.map +1 -1
  449. package/dist/modules/platform/github/common.js +4 -5
  450. package/dist/modules/platform/github/common.js.map +1 -1
  451. package/dist/modules/platform/github/index.js +5 -5
  452. package/dist/modules/platform/github/index.js.map +1 -1
  453. package/dist/modules/platform/github/pr.js +2 -3
  454. package/dist/modules/platform/github/pr.js.map +1 -1
  455. package/dist/modules/platform/gitlab/http.js +2 -3
  456. package/dist/modules/platform/gitlab/http.js.map +1 -1
  457. package/dist/modules/platform/gitlab/index.js +3 -3
  458. package/dist/modules/platform/gitlab/index.js.map +1 -1
  459. package/dist/modules/platform/gitlab/utils.js +3 -3
  460. package/dist/modules/platform/gitlab/utils.js.map +1 -1
  461. package/dist/modules/platform/pr-body.js +2 -3
  462. package/dist/modules/platform/pr-body.js.map +1 -1
  463. package/dist/modules/versioning/composer/index.js +2 -3
  464. package/dist/modules/versioning/composer/index.js.map +1 -1
  465. package/dist/modules/versioning/generic.js +5 -6
  466. package/dist/modules/versioning/generic.js.map +1 -1
  467. package/dist/modules/versioning/gradle/compare.js +3 -4
  468. package/dist/modules/versioning/gradle/compare.js.map +1 -1
  469. package/dist/modules/versioning/nixpkgs/index.js +6 -7
  470. package/dist/modules/versioning/nixpkgs/index.js.map +1 -1
  471. package/dist/modules/versioning/npm/range.js +2 -2
  472. package/dist/modules/versioning/npm/range.js.map +1 -1
  473. package/dist/modules/versioning/rpm/index.js +4 -5
  474. package/dist/modules/versioning/rpm/index.js.map +1 -1
  475. package/dist/modules/versioning/schema.js +2 -2
  476. package/dist/modules/versioning/schema.js.map +1 -1
  477. package/dist/modules/versioning/semver-coerced/index.js +3 -3
  478. package/dist/modules/versioning/semver-coerced/index.js.map +1 -1
  479. package/dist/modules/versioning/semver-partial/index.js +4 -4
  480. package/dist/modules/versioning/semver-partial/index.js.map +1 -1
  481. package/dist/proxy.js +3 -4
  482. package/dist/proxy.js.map +1 -1
  483. package/dist/util/array.js +4 -5
  484. package/dist/util/array.js.map +1 -1
  485. package/dist/util/assign-keys.js +2 -3
  486. package/dist/util/assign-keys.js.map +1 -1
  487. package/dist/util/cache/package/decorator.js +6 -6
  488. package/dist/util/cache/package/decorator.js.map +1 -1
  489. package/dist/util/cache/package/ttl.js +4 -5
  490. package/dist/util/cache/package/ttl.js.map +1 -1
  491. package/dist/util/cache/repository/impl/base.js +3 -4
  492. package/dist/util/cache/repository/impl/base.js.map +1 -1
  493. package/dist/util/cache/repository/impl/s3.js +2 -3
  494. package/dist/util/cache/repository/impl/s3.js.map +1 -1
  495. package/dist/util/exec/common.js +2 -3
  496. package/dist/util/exec/common.js.map +1 -1
  497. package/dist/util/exec/containerbase.js +2 -2
  498. package/dist/util/exec/containerbase.js.map +1 -1
  499. package/dist/util/exec/docker/index.js +5 -5
  500. package/dist/util/exec/docker/index.js.map +1 -1
  501. package/dist/util/exec/index.js +2 -2
  502. package/dist/util/exec/index.js.map +1 -1
  503. package/dist/util/exec/utils.js +3 -4
  504. package/dist/util/exec/utils.js.map +1 -1
  505. package/dist/util/filter-map.js +2 -3
  506. package/dist/util/filter-map.js.map +1 -1
  507. package/dist/util/fs/index.js +3 -3
  508. package/dist/util/fs/index.js.map +1 -1
  509. package/dist/util/git/auth.js +2 -3
  510. package/dist/util/git/auth.js.map +1 -1
  511. package/dist/util/git/config.js +3 -4
  512. package/dist/util/git/config.js.map +1 -1
  513. package/dist/util/git/index.js +4 -4
  514. package/dist/util/git/index.js.map +1 -1
  515. package/dist/util/git/private-key.js +2 -2
  516. package/dist/util/git/private-key.js.map +1 -1
  517. package/dist/util/host-rules.js +6 -6
  518. package/dist/util/host-rules.js.map +1 -1
  519. package/dist/util/http/auth.js +3 -4
  520. package/dist/util/http/auth.js.map +1 -1
  521. package/dist/util/http/bitbucket-server.js +2 -3
  522. package/dist/util/http/bitbucket-server.js.map +1 -1
  523. package/dist/util/http/bitbucket.js +3 -4
  524. package/dist/util/http/bitbucket.js.map +1 -1
  525. package/dist/util/http/cache/package-http-cache-provider.js +2 -2
  526. package/dist/util/http/cache/package-http-cache-provider.js.map +1 -1
  527. package/dist/util/http/forgejo.js +3 -4
  528. package/dist/util/http/forgejo.js.map +1 -1
  529. package/dist/util/http/gitea.js +3 -4
  530. package/dist/util/http/gitea.js.map +1 -1
  531. package/dist/util/http/github.js +10 -10
  532. package/dist/util/http/github.js.map +1 -1
  533. package/dist/util/http/gitlab.js +4 -5
  534. package/dist/util/http/gitlab.js.map +1 -1
  535. package/dist/util/http/host-rules.js +10 -10
  536. package/dist/util/http/host-rules.js.map +1 -1
  537. package/dist/util/http/http.js +5 -5
  538. package/dist/util/http/http.js.map +1 -1
  539. package/dist/util/http/rate-limits.js +3 -3
  540. package/dist/util/http/rate-limits.js.map +1 -1
  541. package/dist/util/interpolator.js +8 -9
  542. package/dist/util/interpolator.js.map +1 -1
  543. package/dist/util/merge-confidence/index.js +5 -5
  544. package/dist/util/merge-confidence/index.js.map +1 -1
  545. package/dist/util/number.js +2 -3
  546. package/dist/util/number.js.map +1 -1
  547. package/dist/util/package-rules/base-branches.js +3 -4
  548. package/dist/util/package-rules/base-branches.js.map +1 -1
  549. package/dist/util/package-rules/categories.js +3 -4
  550. package/dist/util/package-rules/categories.js.map +1 -1
  551. package/dist/util/package-rules/current-age.js +3 -4
  552. package/dist/util/package-rules/current-age.js.map +1 -1
  553. package/dist/util/package-rules/current-value.js +2 -3
  554. package/dist/util/package-rules/current-value.js.map +1 -1
  555. package/dist/util/package-rules/current-version.js +5 -5
  556. package/dist/util/package-rules/current-version.js.map +1 -1
  557. package/dist/util/package-rules/datasources.js +3 -4
  558. package/dist/util/package-rules/datasources.js.map +1 -1
  559. package/dist/util/package-rules/dep-names.js +3 -4
  560. package/dist/util/package-rules/dep-names.js.map +1 -1
  561. package/dist/util/package-rules/dep-types.js +2 -3
  562. package/dist/util/package-rules/dep-types.js.map +1 -1
  563. package/dist/util/package-rules/files.js +4 -5
  564. package/dist/util/package-rules/files.js.map +1 -1
  565. package/dist/util/package-rules/index.js +6 -6
  566. package/dist/util/package-rules/index.js.map +1 -1
  567. package/dist/util/package-rules/managers.js +3 -4
  568. package/dist/util/package-rules/managers.js.map +1 -1
  569. package/dist/util/package-rules/merge-confidence.js +5 -6
  570. package/dist/util/package-rules/merge-confidence.js.map +1 -1
  571. package/dist/util/package-rules/new-value.js +2 -3
  572. package/dist/util/package-rules/new-value.js.map +1 -1
  573. package/dist/util/package-rules/package-names.js +2 -3
  574. package/dist/util/package-rules/package-names.js.map +1 -1
  575. package/dist/util/package-rules/repositories.js +3 -4
  576. package/dist/util/package-rules/repositories.js.map +1 -1
  577. package/dist/util/package-rules/sourceurls.js +2 -3
  578. package/dist/util/package-rules/sourceurls.js.map +1 -1
  579. package/dist/util/package-rules/update-types.js +2 -3
  580. package/dist/util/package-rules/update-types.js.map +1 -1
  581. package/dist/util/pretty-time.js +4 -4
  582. package/dist/util/pretty-time.js.map +1 -1
  583. package/dist/util/regex.js +2 -3
  584. package/dist/util/regex.js.map +1 -1
  585. package/dist/util/s3.js +2 -3
  586. package/dist/util/s3.js.map +1 -1
  587. package/dist/util/sanitize.js +2 -3
  588. package/dist/util/sanitize.js.map +1 -1
  589. package/dist/util/string-match.js +2 -3
  590. package/dist/util/string-match.js.map +1 -1
  591. package/dist/util/template/index.js +6 -6
  592. package/dist/util/template/index.js.map +1 -1
  593. package/dist/util/url.js +5 -5
  594. package/dist/util/url.js.map +1 -1
  595. package/dist/workers/global/autodiscover.js +3 -4
  596. package/dist/workers/global/autodiscover.js.map +1 -1
  597. package/dist/workers/global/config/parse/additional-config-file.js +4 -4
  598. package/dist/workers/global/config/parse/additional-config-file.js.map +1 -1
  599. package/dist/workers/global/config/parse/coersions.js +2 -2
  600. package/dist/workers/global/config/parse/coersions.js.map +1 -1
  601. package/dist/workers/global/config/parse/env.js +2 -2
  602. package/dist/workers/global/config/parse/env.js.map +1 -1
  603. package/dist/workers/global/config/parse/file.js +5 -5
  604. package/dist/workers/global/config/parse/file.js.map +1 -1
  605. package/dist/workers/global/config/parse/index.js +6 -7
  606. package/dist/workers/global/config/parse/index.js.map +1 -1
  607. package/dist/workers/global/config/parse/util.js +2 -2
  608. package/dist/workers/global/config/parse/util.js.map +1 -1
  609. package/dist/workers/global/index.js +5 -5
  610. package/dist/workers/global/index.js.map +1 -1
  611. package/dist/workers/global/limits.js +6 -7
  612. package/dist/workers/global/limits.js.map +1 -1
  613. package/dist/workers/repository/config-migration/branch/index.js +2 -3
  614. package/dist/workers/repository/config-migration/branch/index.js.map +1 -1
  615. package/dist/workers/repository/config-migration/branch/migrated-data.js +2 -2
  616. package/dist/workers/repository/config-migration/branch/migrated-data.js.map +1 -1
  617. package/dist/workers/repository/config-migration/pr/index.js +3 -3
  618. package/dist/workers/repository/config-migration/pr/index.js.map +1 -1
  619. package/dist/workers/repository/dependency-dashboard.js +10 -10
  620. package/dist/workers/repository/dependency-dashboard.js.map +1 -1
  621. package/dist/workers/repository/extract/index.js +2 -3
  622. package/dist/workers/repository/extract/index.js.map +1 -1
  623. package/dist/workers/repository/extract/manager-files.js +2 -3
  624. package/dist/workers/repository/extract/manager-files.js.map +1 -1
  625. package/dist/workers/repository/extract/supersedes.js +4 -5
  626. package/dist/workers/repository/extract/supersedes.js.map +1 -1
  627. package/dist/workers/repository/finalize/prune.js +2 -3
  628. package/dist/workers/repository/finalize/prune.js.map +1 -1
  629. package/dist/workers/repository/init/inherited.js +5 -5
  630. package/dist/workers/repository/init/inherited.js.map +1 -1
  631. package/dist/workers/repository/init/merge.js +13 -13
  632. package/dist/workers/repository/init/merge.js.map +1 -1
  633. package/dist/workers/repository/model/commit-message.js +2 -3
  634. package/dist/workers/repository/model/commit-message.js.map +1 -1
  635. package/dist/workers/repository/onboarding/branch/index.js +2 -3
  636. package/dist/workers/repository/onboarding/branch/index.js.map +1 -1
  637. package/dist/workers/repository/onboarding/branch/onboarding-branch-cache.js +5 -6
  638. package/dist/workers/repository/onboarding/branch/onboarding-branch-cache.js.map +1 -1
  639. package/dist/workers/repository/onboarding/pr/config-description.js +2 -5
  640. package/dist/workers/repository/onboarding/pr/config-description.js.map +1 -1
  641. package/dist/workers/repository/onboarding/pr/index.js +3 -3
  642. package/dist/workers/repository/onboarding/pr/index.js.map +1 -1
  643. package/dist/workers/repository/package-files.js +8 -9
  644. package/dist/workers/repository/package-files.js.map +1 -1
  645. package/dist/workers/repository/process/extract-update.js +2 -2
  646. package/dist/workers/repository/process/extract-update.js.map +1 -1
  647. package/dist/workers/repository/process/fetch.js +3 -3
  648. package/dist/workers/repository/process/fetch.js.map +1 -1
  649. package/dist/workers/repository/process/lookup/current.js +2 -3
  650. package/dist/workers/repository/process/lookup/current.js.map +1 -1
  651. package/dist/workers/repository/process/lookup/filter-checks.js +4 -5
  652. package/dist/workers/repository/process/lookup/filter-checks.js.map +1 -1
  653. package/dist/workers/repository/process/lookup/generate.js +2 -3
  654. package/dist/workers/repository/process/lookup/generate.js.map +1 -1
  655. package/dist/workers/repository/process/lookup/index.js +15 -16
  656. package/dist/workers/repository/process/lookup/index.js.map +1 -1
  657. package/dist/workers/repository/process/lookup/utils.js +7 -7
  658. package/dist/workers/repository/process/lookup/utils.js.map +1 -1
  659. package/dist/workers/repository/process/vulnerabilities.js +11 -11
  660. package/dist/workers/repository/process/vulnerabilities.js.map +1 -1
  661. package/dist/workers/repository/process/write.js +2 -3
  662. package/dist/workers/repository/process/write.js.map +1 -1
  663. package/dist/workers/repository/reconfigure/comment.js +2 -5
  664. package/dist/workers/repository/reconfigure/comment.js.map +1 -1
  665. package/dist/workers/repository/reconfigure/utils.js +2 -3
  666. package/dist/workers/repository/reconfigure/utils.js.map +1 -1
  667. package/dist/workers/repository/reconfigure/validate.js +2 -3
  668. package/dist/workers/repository/reconfigure/validate.js.map +1 -1
  669. package/dist/workers/repository/update/branch/auto-replace.js +4 -5
  670. package/dist/workers/repository/update/branch/auto-replace.js.map +1 -1
  671. package/dist/workers/repository/update/branch/commit.js +3 -4
  672. package/dist/workers/repository/update/branch/commit.js.map +1 -1
  673. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js +12 -5
  674. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js.map +1 -1
  675. package/dist/workers/repository/update/branch/get-updated.js +8 -9
  676. package/dist/workers/repository/update/branch/get-updated.js.map +1 -1
  677. package/dist/workers/repository/update/branch/index.js +3 -3
  678. package/dist/workers/repository/update/branch/index.js.map +1 -1
  679. package/dist/workers/repository/update/branch/schedule.js +2 -2
  680. package/dist/workers/repository/update/branch/schedule.js.map +1 -1
  681. package/dist/workers/repository/update/pr/body/notes.js +2 -2
  682. package/dist/workers/repository/update/pr/body/notes.js.map +1 -1
  683. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js +2 -2
  684. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js.map +1 -1
  685. package/dist/workers/repository/update/pr/changelog/index.js +3 -3
  686. package/dist/workers/repository/update/pr/changelog/index.js.map +1 -1
  687. package/dist/workers/repository/update/pr/changelog/release-notes.js +4 -4
  688. package/dist/workers/repository/update/pr/changelog/release-notes.js.map +1 -1
  689. package/dist/workers/repository/update/pr/changelog/source.js +8 -8
  690. package/dist/workers/repository/update/pr/changelog/source.js.map +1 -1
  691. package/dist/workers/repository/update/pr/code-owners.js +2 -2
  692. package/dist/workers/repository/update/pr/code-owners.js.map +1 -1
  693. package/dist/workers/repository/update/pr/index.js +7 -8
  694. package/dist/workers/repository/update/pr/index.js.map +1 -1
  695. package/dist/workers/repository/update/pr/labels.js +4 -4
  696. package/dist/workers/repository/update/pr/labels.js.map +1 -1
  697. package/dist/workers/repository/update/pr/participants.js +4 -5
  698. package/dist/workers/repository/update/pr/participants.js.map +1 -1
  699. package/dist/workers/repository/updates/generate.js +4 -4
  700. package/dist/workers/repository/updates/generate.js.map +1 -1
  701. package/package.json +1 -1
  702. package/renovate-schema.json +2 -2
@@ -5,8 +5,7 @@ exports.tryDecrypt = tryDecrypt;
5
5
  exports.validateDecryptedValue = validateDecryptedValue;
6
6
  exports.decryptConfig = decryptConfig;
7
7
  exports.getAzureCollection = getAzureCollection;
8
- const tslib_1 = require("tslib");
9
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
8
+ const is_1 = require("@sindresorhus/is");
10
9
  const error_messages_1 = require("../constants/error-messages");
11
10
  const logger_1 = require("../logger");
12
11
  const env_1 = require("../util/env");
@@ -42,19 +41,19 @@ function validateDecryptedValue(decryptedObjStr, repository) {
42
41
  throw error;
43
42
  }
44
43
  const { o: org, r: repo, v: value } = decryptedObj.data;
45
- if (!is_1.default.nonEmptyString(value)) {
44
+ if (!(0, is_1.isNonEmptyString)(value)) {
46
45
  const error = new Error('config-validation');
47
46
  error.validationError = `Encrypted value in config is missing a value.`;
48
47
  throw error;
49
48
  }
50
- if (!is_1.default.nonEmptyString(org)) {
49
+ if (!(0, is_1.isNonEmptyString)(org)) {
51
50
  const error = new Error('config-validation');
52
51
  error.validationError = `Encrypted value in config is missing a scope.`;
53
52
  throw error;
54
53
  }
55
54
  const repositories = [repository.toUpperCase()];
56
55
  const azureCollection = getAzureCollection();
57
- if (is_1.default.nonEmptyString(azureCollection)) {
56
+ if ((0, is_1.isNonEmptyString)(azureCollection)) {
58
57
  // used for full 'org/project/repo' matching
59
58
  repositories.push(`${azureCollection}/${repository}`.toUpperCase());
60
59
  // used for org prefix matching without repo
@@ -65,7 +64,7 @@ function validateDecryptedValue(decryptedObjStr, repository) {
65
64
  .map((o) => o.trim())
66
65
  .map((o) => o.toUpperCase())
67
66
  .map((o) => (0, url_1.ensureTrailingSlash)(o));
68
- if (is_1.default.nonEmptyString(repo)) {
67
+ if ((0, is_1.isNonEmptyString)(repo)) {
69
68
  const scopedRepos = orgPrefixes.map((orgPrefix) => `${orgPrefix}${repo}`.toUpperCase());
70
69
  for (const rp of repositories) {
71
70
  if (scopedRepos.some((r) => r === rp)) {
@@ -102,22 +101,22 @@ async function decryptConfig(config, repository, existingPath = '$') {
102
101
  logger_1.logger.trace({ config }, 'decryptConfig()');
103
102
  const decryptedConfig = { ...config };
104
103
  for (const [key, val] of Object.entries(config)) {
105
- if (key === 'encrypted' && is_1.default.object(val)) {
104
+ if (key === 'encrypted' && (0, is_1.isObject)(val)) {
106
105
  const path = `${existingPath}.${key}`;
107
106
  logger_1.logger.debug({ config: val }, `Found encrypted config in ${path}`);
108
107
  const encryptedWarning = global_1.GlobalConfig.get('encryptedWarning');
109
- if (is_1.default.string(encryptedWarning)) {
108
+ if ((0, is_1.isString)(encryptedWarning)) {
110
109
  logger_1.logger.once.warn(encryptedWarning);
111
110
  }
112
111
  if (privateKey) {
113
112
  for (const [eKey, eVal] of Object.entries(val)) {
114
113
  logger_1.logger.debug(`Trying to decrypt ${eKey} in ${path}`);
115
114
  let decryptedStr = await tryDecrypt(privateKey, eVal, repository);
116
- if (privateKeyOld && !is_1.default.nonEmptyString(decryptedStr)) {
115
+ if (privateKeyOld && !(0, is_1.isNonEmptyString)(decryptedStr)) {
117
116
  logger_1.logger.debug(`Trying to decrypt with old private key`);
118
117
  decryptedStr = await tryDecrypt(privateKeyOld, eVal, repository);
119
118
  }
120
- if (!is_1.default.nonEmptyString(decryptedStr)) {
119
+ if (!(0, is_1.isNonEmptyString)(decryptedStr)) {
121
120
  const error = new Error('config-validation');
122
121
  error.validationError = `Failed to decrypt field ${eKey}. Please re-encrypt and try again.`;
123
122
  throw error;
@@ -155,10 +154,10 @@ Refer to migration documents here: https://docs.renovatebot.com/mend-hosted/migr
155
154
  }
156
155
  delete decryptedConfig.encrypted;
157
156
  }
158
- else if (is_1.default.array(val)) {
157
+ else if ((0, is_1.isArray)(val)) {
159
158
  decryptedConfig[key] = [];
160
159
  for (const [index, item] of val.entries()) {
161
- if (is_1.default.object(item) && !is_1.default.array(item)) {
160
+ if ((0, is_1.isObject)(item) && !(0, is_1.isArray)(item)) {
162
161
  const path = `${existingPath}.${key}[${index}]`;
163
162
  decryptedConfig[key].push(await decryptConfig(item, repository, path));
164
163
  }
@@ -167,7 +166,7 @@ Refer to migration documents here: https://docs.renovatebot.com/mend-hosted/migr
167
166
  }
168
167
  }
169
168
  }
170
- else if (is_1.default.object(val) && key !== 'content') {
169
+ else if ((0, is_1.isObject)(val) && key !== 'content') {
171
170
  const path = `${existingPath}.${key}`;
172
171
  decryptedConfig[key] = await decryptConfig(val, repository, path);
173
172
  }
@@ -189,7 +188,7 @@ function getAzureCollection() {
189
188
  return undefined;
190
189
  }
191
190
  const azureCollection = (0, url_1.trimSlashes)(endpointUrl.pathname);
192
- if (!is_1.default.nonEmptyString(azureCollection)) {
191
+ if (!(0, is_1.isNonEmptyString)(azureCollection)) {
193
192
  logger_1.logger.debug({ endpoint }, 'Unable to find azure collection name from URL');
194
193
  return undefined;
195
194
  }
@@ -1 +1 @@
1
- {"version":3,"file":"decrypt.js","sourceRoot":"","sources":["../../lib/config/decrypt.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { CONFIG_VALIDATION } from '../constants/error-messages';\nimport { logger } from '../logger';\nimport { getEnv } from '../util/env';\nimport { regEx } from '../util/regex';\nimport { addSecretForSanitizing } from '../util/sanitize';\nimport { ensureTrailingSlash, parseUrl, trimSlashes } from '../util/url';\nimport { tryDecryptBcPgp } from './decrypt/bcpgp';\nimport { tryDecryptOpenPgp } from './decrypt/openpgp';\nimport { GlobalConfig } from './global';\nimport { DecryptedObject } from './schema';\nimport type { RenovateConfig } from './types';\n\nlet privateKey: string | undefined;\nlet privateKeyOld: string | undefined;\n\nexport function setPrivateKeys(\n pKey: string | undefined,\n pKeyOld: string | undefined,\n): void {\n privateKey = pKey;\n privateKeyOld = pKeyOld;\n}\n\nexport async function tryDecrypt(\n key: string,\n encryptedStr: string,\n repository: string,\n): Promise<string | null> {\n let decryptedStr: string | null = null;\n const decryptedObjStr =\n getEnv().RENOVATE_X_USE_OPENPGP === 'true'\n ? await tryDecryptOpenPgp(key, encryptedStr)\n : await tryDecryptBcPgp(key, encryptedStr);\n if (decryptedObjStr) {\n decryptedStr = validateDecryptedValue(decryptedObjStr, repository);\n }\n return decryptedStr;\n}\n\nexport function validateDecryptedValue(\n decryptedObjStr: string,\n repository: string,\n): string | null {\n try {\n const decryptedObj = DecryptedObject.safeParse(decryptedObjStr);\n if (!decryptedObj.success) {\n const error = new Error('config-validation');\n error.validationError = `Could not parse decrypted config.`;\n throw error;\n }\n\n const { o: org, r: repo, v: value } = decryptedObj.data;\n\n if (!is.nonEmptyString(value)) {\n const error = new Error('config-validation');\n error.validationError = `Encrypted value in config is missing a value.`;\n throw error;\n }\n\n if (!is.nonEmptyString(org)) {\n const error = new Error('config-validation');\n error.validationError = `Encrypted value in config is missing a scope.`;\n throw error;\n }\n\n const repositories = [repository.toUpperCase()];\n\n const azureCollection = getAzureCollection();\n if (is.nonEmptyString(azureCollection)) {\n // used for full 'org/project/repo' matching\n repositories.push(`${azureCollection}/${repository}`.toUpperCase());\n // used for org prefix matching without repo\n repositories.push(`${azureCollection}/*/`.toUpperCase());\n }\n\n const orgPrefixes = org\n .split(',')\n .map((o) => o.trim())\n .map((o) => o.toUpperCase())\n .map((o) => ensureTrailingSlash(o));\n\n if (is.nonEmptyString(repo)) {\n const scopedRepos = orgPrefixes.map((orgPrefix) =>\n `${orgPrefix}${repo}`.toUpperCase(),\n );\n for (const rp of repositories) {\n if (scopedRepos.some((r) => r === rp)) {\n return value;\n }\n }\n\n logger.debug(\n { scopedRepos },\n 'Secret is scoped to a different repository',\n );\n const error = new Error('config-validation');\n const scopeString = scopedRepos.join(',');\n error.validationError = `Encrypted secret is scoped to a different repository: \"${scopeString}\".`;\n throw error;\n }\n\n // no scoped repos, only org\n const azcol =\n azureCollection === undefined\n ? undefined\n : ensureTrailingSlash(azureCollection).toUpperCase();\n for (const rp of repositories) {\n if (\n orgPrefixes.some(\n (orgPrefix) => rp.startsWith(orgPrefix) && orgPrefix !== azcol,\n )\n ) {\n return value;\n }\n }\n logger.debug({ orgPrefixes }, 'Secret is scoped to a different org');\n const error = new Error('config-validation');\n const scopeString = orgPrefixes.join(',');\n error.validationError = `Encrypted secret is scoped to a different org: \"${scopeString}\".`;\n throw error;\n } catch (err) {\n logger.warn({ err }, 'Could not parse decrypted string');\n }\n return null;\n}\n\nexport async function decryptConfig(\n config: RenovateConfig,\n repository: string,\n existingPath = '$',\n): Promise<RenovateConfig> {\n logger.trace({ config }, 'decryptConfig()');\n const decryptedConfig = { ...config };\n for (const [key, val] of Object.entries(config)) {\n if (key === 'encrypted' && is.object(val)) {\n const path = `${existingPath}.${key}`;\n logger.debug({ config: val }, `Found encrypted config in ${path}`);\n\n const encryptedWarning = GlobalConfig.get('encryptedWarning');\n if (is.string(encryptedWarning)) {\n logger.once.warn(encryptedWarning);\n }\n\n if (privateKey) {\n for (const [eKey, eVal] of Object.entries(val)) {\n logger.debug(`Trying to decrypt ${eKey} in ${path}`);\n let decryptedStr = await tryDecrypt(privateKey, eVal, repository);\n if (privateKeyOld && !is.nonEmptyString(decryptedStr)) {\n logger.debug(`Trying to decrypt with old private key`);\n decryptedStr = await tryDecrypt(privateKeyOld, eVal, repository);\n }\n if (!is.nonEmptyString(decryptedStr)) {\n const error = new Error('config-validation');\n error.validationError = `Failed to decrypt field ${eKey}. Please re-encrypt and try again.`;\n throw error;\n }\n logger.debug(`Decrypted ${eKey} in ${path}`);\n if (eKey === 'npmToken') {\n const token = decryptedStr.replace(regEx(/\\n$/), '');\n decryptedConfig[eKey] = token;\n addSecretForSanitizing(token);\n } else {\n decryptedConfig[eKey] = decryptedStr;\n addSecretForSanitizing(decryptedStr);\n }\n }\n } else {\n const env = getEnv();\n if (env.RENOVATE_X_ENCRYPTED_STRICT === 'true') {\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = 'config';\n error.validationError = 'Encrypted config unsupported';\n error.validationMessage = `This config contains an encrypted object at location \\`$.${key}\\` but no privateKey is configured. To support encrypted config, the Renovate administrator must configure a \\`privateKey\\` in Global Configuration.`;\n if (env.MEND_HOSTED === 'true') {\n error.validationMessage = `Mend-hosted Renovate Apps no longer support the use of encrypted secrets in Renovate file config (e.g. renovate.json).\nPlease migrate all secrets to the Developer Portal using the web UI available at https://developer.mend.io/\n\nRefer to migration documents here: https://docs.renovatebot.com/mend-hosted/migrating-secrets/`;\n }\n throw error;\n } else {\n logger.error('Found encrypted data but no privateKey');\n }\n }\n delete decryptedConfig.encrypted;\n } else if (is.array(val)) {\n decryptedConfig[key] = [];\n for (const [index, item] of val.entries()) {\n if (is.object(item) && !is.array(item)) {\n const path = `${existingPath}.${key}[${index}]`;\n (decryptedConfig[key] as RenovateConfig[]).push(\n await decryptConfig(item as RenovateConfig, repository, path),\n );\n } else {\n (decryptedConfig[key] as unknown[]).push(item);\n }\n }\n } else if (is.object(val) && key !== 'content') {\n const path = `${existingPath}.${key}`;\n decryptedConfig[key] = await decryptConfig(\n val as RenovateConfig,\n repository,\n path,\n );\n }\n }\n delete decryptedConfig.encrypted;\n logger.trace({ config: decryptedConfig }, 'decryptedConfig');\n return decryptedConfig;\n}\n\nexport function getAzureCollection(): string | undefined {\n const platform = GlobalConfig.get('platform');\n if (platform !== 'azure') {\n return undefined;\n }\n\n const endpoint = GlobalConfig.get('endpoint');\n const endpointUrl = parseUrl(endpoint);\n if (endpointUrl === null) {\n // should not happen\n logger.warn({ endpoint }, 'Unable to parse endpoint for token decryption');\n return undefined;\n }\n\n const azureCollection = trimSlashes(endpointUrl.pathname);\n if (!is.nonEmptyString(azureCollection)) {\n logger.debug({ endpoint }, 'Unable to find azure collection name from URL');\n return undefined;\n }\n\n if (azureCollection.startsWith('tfs/')) {\n // Azure DevOps Server\n return azureCollection.substring(4);\n }\n return azureCollection;\n}\n"]}
1
+ {"version":3,"file":"decrypt.js","sourceRoot":"","sources":["../../lib/config/decrypt.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n isArray,\n isNonEmptyString,\n isObject,\n isString,\n} from '@sindresorhus/is';\nimport { CONFIG_VALIDATION } from '../constants/error-messages';\nimport { logger } from '../logger';\nimport { getEnv } from '../util/env';\nimport { regEx } from '../util/regex';\nimport { addSecretForSanitizing } from '../util/sanitize';\nimport { ensureTrailingSlash, parseUrl, trimSlashes } from '../util/url';\nimport { tryDecryptBcPgp } from './decrypt/bcpgp';\nimport { tryDecryptOpenPgp } from './decrypt/openpgp';\nimport { GlobalConfig } from './global';\nimport { DecryptedObject } from './schema';\nimport type { RenovateConfig } from './types';\n\nlet privateKey: string | undefined;\nlet privateKeyOld: string | undefined;\n\nexport function setPrivateKeys(\n pKey: string | undefined,\n pKeyOld: string | undefined,\n): void {\n privateKey = pKey;\n privateKeyOld = pKeyOld;\n}\n\nexport async function tryDecrypt(\n key: string,\n encryptedStr: string,\n repository: string,\n): Promise<string | null> {\n let decryptedStr: string | null = null;\n const decryptedObjStr =\n getEnv().RENOVATE_X_USE_OPENPGP === 'true'\n ? await tryDecryptOpenPgp(key, encryptedStr)\n : await tryDecryptBcPgp(key, encryptedStr);\n if (decryptedObjStr) {\n decryptedStr = validateDecryptedValue(decryptedObjStr, repository);\n }\n return decryptedStr;\n}\n\nexport function validateDecryptedValue(\n decryptedObjStr: string,\n repository: string,\n): string | null {\n try {\n const decryptedObj = DecryptedObject.safeParse(decryptedObjStr);\n if (!decryptedObj.success) {\n const error = new Error('config-validation');\n error.validationError = `Could not parse decrypted config.`;\n throw error;\n }\n\n const { o: org, r: repo, v: value } = decryptedObj.data;\n\n if (!isNonEmptyString(value)) {\n const error = new Error('config-validation');\n error.validationError = `Encrypted value in config is missing a value.`;\n throw error;\n }\n\n if (!isNonEmptyString(org)) {\n const error = new Error('config-validation');\n error.validationError = `Encrypted value in config is missing a scope.`;\n throw error;\n }\n\n const repositories = [repository.toUpperCase()];\n\n const azureCollection = getAzureCollection();\n if (isNonEmptyString(azureCollection)) {\n // used for full 'org/project/repo' matching\n repositories.push(`${azureCollection}/${repository}`.toUpperCase());\n // used for org prefix matching without repo\n repositories.push(`${azureCollection}/*/`.toUpperCase());\n }\n\n const orgPrefixes = org\n .split(',')\n .map((o) => o.trim())\n .map((o) => o.toUpperCase())\n .map((o) => ensureTrailingSlash(o));\n\n if (isNonEmptyString(repo)) {\n const scopedRepos = orgPrefixes.map((orgPrefix) =>\n `${orgPrefix}${repo}`.toUpperCase(),\n );\n for (const rp of repositories) {\n if (scopedRepos.some((r) => r === rp)) {\n return value;\n }\n }\n\n logger.debug(\n { scopedRepos },\n 'Secret is scoped to a different repository',\n );\n const error = new Error('config-validation');\n const scopeString = scopedRepos.join(',');\n error.validationError = `Encrypted secret is scoped to a different repository: \"${scopeString}\".`;\n throw error;\n }\n\n // no scoped repos, only org\n const azcol =\n azureCollection === undefined\n ? undefined\n : ensureTrailingSlash(azureCollection).toUpperCase();\n for (const rp of repositories) {\n if (\n orgPrefixes.some(\n (orgPrefix) => rp.startsWith(orgPrefix) && orgPrefix !== azcol,\n )\n ) {\n return value;\n }\n }\n logger.debug({ orgPrefixes }, 'Secret is scoped to a different org');\n const error = new Error('config-validation');\n const scopeString = orgPrefixes.join(',');\n error.validationError = `Encrypted secret is scoped to a different org: \"${scopeString}\".`;\n throw error;\n } catch (err) {\n logger.warn({ err }, 'Could not parse decrypted string');\n }\n return null;\n}\n\nexport async function decryptConfig(\n config: RenovateConfig,\n repository: string,\n existingPath = '$',\n): Promise<RenovateConfig> {\n logger.trace({ config }, 'decryptConfig()');\n const decryptedConfig = { ...config };\n for (const [key, val] of Object.entries(config)) {\n if (key === 'encrypted' && isObject(val)) {\n const path = `${existingPath}.${key}`;\n logger.debug({ config: val }, `Found encrypted config in ${path}`);\n\n const encryptedWarning = GlobalConfig.get('encryptedWarning');\n if (isString(encryptedWarning)) {\n logger.once.warn(encryptedWarning);\n }\n\n if (privateKey) {\n for (const [eKey, eVal] of Object.entries(val)) {\n logger.debug(`Trying to decrypt ${eKey} in ${path}`);\n let decryptedStr = await tryDecrypt(privateKey, eVal, repository);\n if (privateKeyOld && !isNonEmptyString(decryptedStr)) {\n logger.debug(`Trying to decrypt with old private key`);\n decryptedStr = await tryDecrypt(privateKeyOld, eVal, repository);\n }\n if (!isNonEmptyString(decryptedStr)) {\n const error = new Error('config-validation');\n error.validationError = `Failed to decrypt field ${eKey}. Please re-encrypt and try again.`;\n throw error;\n }\n logger.debug(`Decrypted ${eKey} in ${path}`);\n if (eKey === 'npmToken') {\n const token = decryptedStr.replace(regEx(/\\n$/), '');\n decryptedConfig[eKey] = token;\n addSecretForSanitizing(token);\n } else {\n decryptedConfig[eKey] = decryptedStr;\n addSecretForSanitizing(decryptedStr);\n }\n }\n } else {\n const env = getEnv();\n if (env.RENOVATE_X_ENCRYPTED_STRICT === 'true') {\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = 'config';\n error.validationError = 'Encrypted config unsupported';\n error.validationMessage = `This config contains an encrypted object at location \\`$.${key}\\` but no privateKey is configured. To support encrypted config, the Renovate administrator must configure a \\`privateKey\\` in Global Configuration.`;\n if (env.MEND_HOSTED === 'true') {\n error.validationMessage = `Mend-hosted Renovate Apps no longer support the use of encrypted secrets in Renovate file config (e.g. renovate.json).\nPlease migrate all secrets to the Developer Portal using the web UI available at https://developer.mend.io/\n\nRefer to migration documents here: https://docs.renovatebot.com/mend-hosted/migrating-secrets/`;\n }\n throw error;\n } else {\n logger.error('Found encrypted data but no privateKey');\n }\n }\n delete decryptedConfig.encrypted;\n } else if (isArray(val)) {\n decryptedConfig[key] = [];\n for (const [index, item] of val.entries()) {\n if (isObject(item) && !isArray(item)) {\n const path = `${existingPath}.${key}[${index}]`;\n (decryptedConfig[key] as RenovateConfig[]).push(\n await decryptConfig(item as RenovateConfig, repository, path),\n );\n } else {\n (decryptedConfig[key] as unknown[]).push(item);\n }\n }\n } else if (isObject(val) && key !== 'content') {\n const path = `${existingPath}.${key}`;\n decryptedConfig[key] = await decryptConfig(\n val as RenovateConfig,\n repository,\n path,\n );\n }\n }\n delete decryptedConfig.encrypted;\n logger.trace({ config: decryptedConfig }, 'decryptedConfig');\n return decryptedConfig;\n}\n\nexport function getAzureCollection(): string | undefined {\n const platform = GlobalConfig.get('platform');\n if (platform !== 'azure') {\n return undefined;\n }\n\n const endpoint = GlobalConfig.get('endpoint');\n const endpointUrl = parseUrl(endpoint);\n if (endpointUrl === null) {\n // should not happen\n logger.warn({ endpoint }, 'Unable to parse endpoint for token decryption');\n return undefined;\n }\n\n const azureCollection = trimSlashes(endpointUrl.pathname);\n if (!isNonEmptyString(azureCollection)) {\n logger.debug({ endpoint }, 'Unable to find azure collection name from URL');\n return undefined;\n }\n\n if (azureCollection.startsWith('tfs/')) {\n // Azure DevOps Server\n return azureCollection.substring(4);\n }\n return azureCollection;\n}\n"]}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.massageConfig = massageConfig;
4
- const tslib_1 = require("tslib");
5
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
4
+ const is_1 = require("@sindresorhus/is");
6
5
  const clone_1 = require("../util/clone");
7
6
  const options_1 = require("./options");
8
7
  const options = (0, options_1.getOptions)();
@@ -19,13 +18,13 @@ function massageConfig(config) {
19
18
  }
20
19
  const massagedConfig = (0, clone_1.clone)(config);
21
20
  for (const [key, val] of Object.entries(config)) {
22
- if (allowedStrings.includes(key) && is_1.default.string(val)) {
21
+ if (allowedStrings.includes(key) && (0, is_1.isString)(val)) {
23
22
  massagedConfig[key] = [val];
24
23
  }
25
- else if (is_1.default.array(val)) {
24
+ else if ((0, is_1.isArray)(val)) {
26
25
  massagedConfig[key] = [];
27
26
  val.forEach((item) => {
28
- if (is_1.default.object(item)) {
27
+ if ((0, is_1.isObject)(item)) {
29
28
  massagedConfig[key].push(massageConfig(item));
30
29
  }
31
30
  else {
@@ -33,11 +32,11 @@ function massageConfig(config) {
33
32
  }
34
33
  });
35
34
  }
36
- else if (is_1.default.object(val) && key !== 'encrypted') {
35
+ else if ((0, is_1.isObject)(val) && key !== 'encrypted') {
37
36
  massagedConfig[key] = massageConfig(val);
38
37
  }
39
38
  }
40
- if (is_1.default.nonEmptyArray(massagedConfig.packageRules)) {
39
+ if ((0, is_1.isNonEmptyArray)(massagedConfig.packageRules)) {
41
40
  let newRules = [];
42
41
  const updateTypes = [
43
42
  'major',
@@ -1 +1 @@
1
- {"version":3,"file":"massage.js","sourceRoot":"","sources":["../../lib/config/massage.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { clone } from '../util/clone';\nimport { getOptions } from './options';\nimport type { PackageRule, RenovateConfig, UpdateType } from './types';\n\nconst options = getOptions();\n\nlet allowedStrings: string[];\n\n// Returns a massaged config\nexport function massageConfig(config: RenovateConfig): RenovateConfig {\n if (!allowedStrings) {\n allowedStrings = [];\n options.forEach((option) => {\n if (option.allowString) {\n allowedStrings.push(option.name);\n }\n });\n }\n const massagedConfig = clone(config);\n for (const [key, val] of Object.entries(config)) {\n if (allowedStrings.includes(key) && is.string(val)) {\n massagedConfig[key] = [val];\n } else if (is.array(val)) {\n massagedConfig[key] = [];\n val.forEach((item) => {\n if (is.object(item)) {\n (massagedConfig[key] as RenovateConfig[]).push(\n massageConfig(item as RenovateConfig),\n );\n } else {\n (massagedConfig[key] as unknown[]).push(item);\n }\n });\n } else if (is.object(val) && key !== 'encrypted') {\n massagedConfig[key] = massageConfig(val as RenovateConfig);\n }\n }\n if (is.nonEmptyArray(massagedConfig.packageRules)) {\n let newRules: PackageRule[] = [];\n const updateTypes: UpdateType[] = [\n 'major',\n 'minor',\n 'patch',\n 'pin',\n 'digest',\n 'rollback',\n ];\n for (const rule of massagedConfig.packageRules) {\n newRules.push(rule);\n for (const [key, val] of Object.entries(rule) as [\n UpdateType,\n PackageRule,\n ][]) {\n if (updateTypes.includes(key)) {\n let newRule = clone(rule);\n Object.keys(newRule).forEach((newKey) => {\n if (!(newKey.startsWith(`match`) || newKey.startsWith('exclude'))) {\n delete newRule[newKey];\n }\n });\n newRule.matchUpdateTypes = rule.matchUpdateTypes ?? [];\n newRule.matchUpdateTypes.push(key);\n newRule = { ...newRule, ...val };\n newRules.push(newRule);\n }\n }\n }\n for (const rule of newRules) {\n updateTypes.forEach((updateType) => {\n delete rule[updateType];\n });\n }\n newRules = newRules.filter((rule) => {\n if (\n Object.keys(rule).every(\n (key) => key.startsWith('match') || key.startsWith('exclude'),\n )\n ) {\n // Exclude rules which contain only match or exclude options\n return false;\n }\n return true;\n });\n massagedConfig.packageRules = newRules;\n }\n return massagedConfig;\n}\n"]}
1
+ {"version":3,"file":"massage.js","sourceRoot":"","sources":["../../lib/config/massage.ts"],"names":[],"mappings":"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","sourcesContent":["import { isArray, isNonEmptyArray, isObject, isString } from '@sindresorhus/is';\nimport { clone } from '../util/clone';\nimport { getOptions } from './options';\nimport type { PackageRule, RenovateConfig, UpdateType } from './types';\n\nconst options = getOptions();\n\nlet allowedStrings: string[];\n\n// Returns a massaged config\nexport function massageConfig(config: RenovateConfig): RenovateConfig {\n if (!allowedStrings) {\n allowedStrings = [];\n options.forEach((option) => {\n if (option.allowString) {\n allowedStrings.push(option.name);\n }\n });\n }\n const massagedConfig = clone(config);\n for (const [key, val] of Object.entries(config)) {\n if (allowedStrings.includes(key) && isString(val)) {\n massagedConfig[key] = [val];\n } else if (isArray(val)) {\n massagedConfig[key] = [];\n val.forEach((item) => {\n if (isObject(item)) {\n (massagedConfig[key] as RenovateConfig[]).push(\n massageConfig(item as RenovateConfig),\n );\n } else {\n (massagedConfig[key] as unknown[]).push(item);\n }\n });\n } else if (isObject(val) && key !== 'encrypted') {\n massagedConfig[key] = massageConfig(val as RenovateConfig);\n }\n }\n if (isNonEmptyArray(massagedConfig.packageRules)) {\n let newRules: PackageRule[] = [];\n const updateTypes: UpdateType[] = [\n 'major',\n 'minor',\n 'patch',\n 'pin',\n 'digest',\n 'rollback',\n ];\n for (const rule of massagedConfig.packageRules) {\n newRules.push(rule);\n for (const [key, val] of Object.entries(rule) as [\n UpdateType,\n PackageRule,\n ][]) {\n if (updateTypes.includes(key)) {\n let newRule = clone(rule);\n Object.keys(newRule).forEach((newKey) => {\n if (!(newKey.startsWith(`match`) || newKey.startsWith('exclude'))) {\n delete newRule[newKey];\n }\n });\n newRule.matchUpdateTypes = rule.matchUpdateTypes ?? [];\n newRule.matchUpdateTypes.push(key);\n newRule = { ...newRule, ...val };\n newRules.push(newRule);\n }\n }\n }\n for (const rule of newRules) {\n updateTypes.forEach((updateType) => {\n delete rule[updateType];\n });\n }\n newRules = newRules.filter((rule) => {\n if (\n Object.keys(rule).every(\n (key) => key.startsWith('match') || key.startsWith('exclude'),\n )\n ) {\n // Exclude rules which contain only match or exclude options\n return false;\n }\n return true;\n });\n massagedConfig.packageRules = newRules;\n }\n return massagedConfig;\n}\n"]}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.migrateAndValidate = migrateAndValidate;
4
4
  const tslib_1 = require("tslib");
5
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
5
+ const is_1 = require("@sindresorhus/is");
6
6
  const dequal_1 = require("dequal");
7
7
  const logger_1 = require("../logger");
8
8
  const configMassage = tslib_1.__importStar(require("./massage"));
@@ -25,10 +25,10 @@ async function migrateAndValidate(config, input) {
25
25
  }
26
26
  const { warnings, errors, } = await configValidation.validateConfig('repo', massagedConfig);
27
27
  /* v8 ignore start -- hard to test */
28
- if (is_1.default.nonEmptyArray(warnings)) {
28
+ if ((0, is_1.isNonEmptyArray)(warnings)) {
29
29
  logger_1.logger.warn({ warnings }, 'Found renovate config warnings');
30
30
  }
31
- if (is_1.default.nonEmptyArray(errors)) {
31
+ if ((0, is_1.isNonEmptyArray)(errors)) {
32
32
  logger_1.logger.info({ errors }, 'Found renovate config errors');
33
33
  }
34
34
  massagedConfig.errors = (config.errors ?? []).concat(errors);
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-validate.js","sourceRoot":"","sources":["../../lib/config/migrate-validate.ts"],"names":[],"mappings":";;AAQA,gDA4CC;;AApDD,kEAAkC;AAClC,mCAAgC;AAChC,sCAAmC;AACnC,iEAA2C;AAC3C,qEAA+C;AAE/C,uEAAiD;AAE1C,KAAK,UAAU,kBAAkB,CACtC,MAAsB,EACtB,KAAqB;IAErB,eAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5E,IAAI,UAAU,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CACV,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,EAC/C,4BAA4B,CAC7B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,eAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QACnE,2BAA2B;QAC3B,IAAI,CAAC,IAAA,eAAM,EAAC,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC;YACnC,eAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,qBAAqB,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,EACJ,QAAQ,EACR,MAAM,GACP,GAGG,MAAM,gBAAgB,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAClE,qCAAqC;QACrC,IAAI,YAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,eAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,gCAAgC,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,YAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,eAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,8BAA8B,CAAC,CAAC;QAC1D,CAAC;QACD,cAAc,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC5B,cAAc,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,cAAc,CAAC;QACtB,wCAAwC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,0BAA0B,CAAC,CAAC;QAC5D,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { dequal } from 'dequal';\nimport { logger } from '../logger';\nimport * as configMassage from './massage';\nimport * as configMigration from './migration';\nimport type { RenovateConfig, ValidationMessage } from './types';\nimport * as configValidation from './validation';\n\nexport async function migrateAndValidate(\n config: RenovateConfig,\n input: RenovateConfig,\n): Promise<RenovateConfig> {\n logger.debug('migrateAndValidate()');\n try {\n const { isMigrated, migratedConfig } = configMigration.migrateConfig(input);\n if (isMigrated) {\n logger.debug(\n { oldConfig: input, newConfig: migratedConfig },\n 'Config migration necessary',\n );\n } else {\n logger.debug('No config migration necessary');\n }\n const massagedConfig = configMassage.massageConfig(migratedConfig);\n // log only if it's changed\n if (!dequal(input, massagedConfig)) {\n logger.debug({ config: massagedConfig }, 'Post-massage config');\n }\n const {\n warnings,\n errors,\n }: {\n warnings: ValidationMessage[];\n errors: ValidationMessage[];\n } = await configValidation.validateConfig('repo', massagedConfig);\n /* v8 ignore start -- hard to test */\n if (is.nonEmptyArray(warnings)) {\n logger.warn({ warnings }, 'Found renovate config warnings');\n }\n if (is.nonEmptyArray(errors)) {\n logger.info({ errors }, 'Found renovate config errors');\n }\n massagedConfig.errors = (config.errors ?? []).concat(errors);\n if (!config.repoIsOnboarded) {\n massagedConfig.warnings = (config.warnings ?? []).concat(warnings);\n }\n return massagedConfig;\n /* v8 ignore next 3 -- TODO: add test */\n } catch (err) {\n logger.debug({ config: input }, 'migrateAndValidate error');\n throw err;\n }\n}\n"]}
1
+ {"version":3,"file":"migrate-validate.js","sourceRoot":"","sources":["../../lib/config/migrate-validate.ts"],"names":[],"mappings":";;AAQA,gDA4CC;;AApDD,yCAAmD;AACnD,mCAAgC;AAChC,sCAAmC;AACnC,iEAA2C;AAC3C,qEAA+C;AAE/C,uEAAiD;AAE1C,KAAK,UAAU,kBAAkB,CACtC,MAAsB,EACtB,KAAqB;IAErB,eAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5E,IAAI,UAAU,EAAE,CAAC;YACf,eAAM,CAAC,KAAK,CACV,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,EAC/C,4BAA4B,CAC7B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,eAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QACnE,2BAA2B;QAC3B,IAAI,CAAC,IAAA,eAAM,EAAC,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC;YACnC,eAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,qBAAqB,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,EACJ,QAAQ,EACR,MAAM,GACP,GAGG,MAAM,gBAAgB,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAClE,qCAAqC;QACrC,IAAI,IAAA,oBAAe,EAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,eAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,gCAAgC,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,IAAA,oBAAe,EAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,eAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,8BAA8B,CAAC,CAAC;QAC1D,CAAC;QACD,cAAc,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC5B,cAAc,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,cAAc,CAAC;QACtB,wCAAwC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,0BAA0B,CAAC,CAAC;QAC5D,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC","sourcesContent":["import { isNonEmptyArray } from '@sindresorhus/is';\nimport { dequal } from 'dequal';\nimport { logger } from '../logger';\nimport * as configMassage from './massage';\nimport * as configMigration from './migration';\nimport type { RenovateConfig, ValidationMessage } from './types';\nimport * as configValidation from './validation';\n\nexport async function migrateAndValidate(\n config: RenovateConfig,\n input: RenovateConfig,\n): Promise<RenovateConfig> {\n logger.debug('migrateAndValidate()');\n try {\n const { isMigrated, migratedConfig } = configMigration.migrateConfig(input);\n if (isMigrated) {\n logger.debug(\n { oldConfig: input, newConfig: migratedConfig },\n 'Config migration necessary',\n );\n } else {\n logger.debug('No config migration necessary');\n }\n const massagedConfig = configMassage.massageConfig(migratedConfig);\n // log only if it's changed\n if (!dequal(input, massagedConfig)) {\n logger.debug({ config: massagedConfig }, 'Post-massage config');\n }\n const {\n warnings,\n errors,\n }: {\n warnings: ValidationMessage[];\n errors: ValidationMessage[];\n } = await configValidation.validateConfig('repo', massagedConfig);\n /* v8 ignore start -- hard to test */\n if (isNonEmptyArray(warnings)) {\n logger.warn({ warnings }, 'Found renovate config warnings');\n }\n if (isNonEmptyArray(errors)) {\n logger.info({ errors }, 'Found renovate config errors');\n }\n massagedConfig.errors = (config.errors ?? []).concat(errors);\n if (!config.repoIsOnboarded) {\n massagedConfig.warnings = (config.warnings ?? []).concat(warnings);\n }\n return massagedConfig;\n /* v8 ignore next 3 -- TODO: add test */\n } catch (err) {\n logger.debug({ config: input }, 'migrateAndValidate error');\n throw err;\n }\n}\n"]}
@@ -2,8 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.fixShortHours = fixShortHours;
4
4
  exports.migrateConfig = migrateConfig;
5
- const tslib_1 = require("tslib");
6
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
5
+ const is_1 = require("@sindresorhus/is");
7
6
  const dequal_1 = require("dequal");
8
7
  const logger_1 = require("../logger");
9
8
  const clone_1 = require("../util/clone");
@@ -28,19 +27,19 @@ function migrateConfig(config, parentKey) {
28
27
  const newConfig = migrations_1.MigrationsService.run(config, parentKey);
29
28
  const migratedConfig = (0, clone_1.clone)(newConfig);
30
29
  for (const [key, val] of Object.entries(newConfig)) {
31
- if (is_1.default.string(val) && val.includes('{{baseDir}}')) {
30
+ if ((0, is_1.isString)(val) && val.includes('{{baseDir}}')) {
32
31
  migratedConfig[key] = val.replace((0, regex_1.regEx)(/{{baseDir}}/g), '{{packageFileDir}}');
33
32
  }
34
- else if (is_1.default.string(val) && val.includes('{{lookupName}}')) {
33
+ else if ((0, is_1.isString)(val) && val.includes('{{lookupName}}')) {
35
34
  migratedConfig[key] = val.replace((0, regex_1.regEx)(/{{lookupName}}/g), '{{packageName}}');
36
35
  }
37
- else if (is_1.default.string(val) && val.includes('{{depNameShort}}')) {
36
+ else if ((0, is_1.isString)(val) && val.includes('{{depNameShort}}')) {
38
37
  migratedConfig[key] = val.replace((0, regex_1.regEx)(/{{depNameShort}}/g), '{{depName}}');
39
38
  }
40
- else if (is_1.default.string(val) && val.startsWith('{{semanticPrefix}}')) {
39
+ else if ((0, is_1.isString)(val) && val.startsWith('{{semanticPrefix}}')) {
41
40
  migratedConfig[key] = val.replace('{{semanticPrefix}}', '{{#if semanticCommitType}}{{semanticCommitType}}{{#if semanticCommitScope}}({{semanticCommitScope}}){{/if}}: {{/if}}');
42
41
  }
43
- else if (optionTypes[key] === 'object' && is_1.default.boolean(val)) {
42
+ else if (optionTypes[key] === 'object' && (0, is_1.isBoolean)(val)) {
44
43
  migratedConfig[key] = { enabled: val };
45
44
  }
46
45
  else if (optionTypes[key] === 'boolean') {
@@ -52,15 +51,15 @@ function migrateConfig(config, parentKey) {
52
51
  }
53
52
  }
54
53
  else if (optionTypes[key] === 'string' &&
55
- is_1.default.array(val) &&
54
+ (0, is_1.isArray)(val) &&
56
55
  val.length === 1) {
57
56
  migratedConfig[key] = String(val[0]);
58
57
  }
59
- else if (is_1.default.array(val)) {
60
- if (is_1.default.array(migratedConfig?.[key])) {
58
+ else if ((0, is_1.isArray)(val)) {
59
+ if ((0, is_1.isArray)(migratedConfig?.[key])) {
61
60
  const newArray = [];
62
61
  for (const item of migratedConfig[key]) {
63
- if (is_1.default.object(item) && !is_1.default.array(item)) {
62
+ if ((0, is_1.isObject)(item) && !(0, is_1.isArray)(item)) {
64
63
  const arrMigrate = migrateConfig(item);
65
64
  newArray.push(arrMigrate.migratedConfig);
66
65
  }
@@ -71,7 +70,7 @@ function migrateConfig(config, parentKey) {
71
70
  migratedConfig[key] = newArray;
72
71
  }
73
72
  }
74
- else if (is_1.default.object(val)) {
73
+ else if ((0, is_1.isObject)(val)) {
75
74
  const subMigrate = migrateConfig(migratedConfig[key], key);
76
75
  if (subMigrate.isMigrated) {
77
76
  migratedConfig[key] = subMigrate.migratedConfig;
@@ -85,7 +84,7 @@ function migrateConfig(config, parentKey) {
85
84
  newVersionMinor: 'newMinor',
86
85
  toVersion: 'newVersion',
87
86
  };
88
- if (is_1.default.string(migratedConfig[key])) {
87
+ if ((0, is_1.isString)(migratedConfig[key])) {
89
88
  for (const [from, to] of Object.entries(migratedTemplates)) {
90
89
  migratedConfig[key] = migratedConfig[key].replace((0, regex_1.regEx)(from, 'g'), to);
91
90
  }
@@ -104,7 +103,7 @@ function migrateConfig(config, parentKey) {
104
103
  'rust',
105
104
  ];
106
105
  for (const language of languages) {
107
- if (is_1.default.nonEmptyObject(migratedConfig[language])) {
106
+ if ((0, is_1.isNonEmptyObject)(migratedConfig[language])) {
108
107
  migratedConfig.packageRules ??= [];
109
108
  const currentContent = migratedConfig[language];
110
109
  const packageRule = {
@@ -116,11 +115,11 @@ function migrateConfig(config, parentKey) {
116
115
  }
117
116
  }
118
117
  // Migrate nested packageRules
119
- if (is_1.default.nonEmptyArray(migratedConfig.packageRules)) {
118
+ if ((0, is_1.isNonEmptyArray)(migratedConfig.packageRules)) {
120
119
  const existingRules = migratedConfig.packageRules;
121
120
  migratedConfig.packageRules = [];
122
121
  for (const packageRule of existingRules) {
123
- if (is_1.default.array(packageRule.packageRules)) {
122
+ if ((0, is_1.isArray)(packageRule.packageRules)) {
124
123
  logger_1.logger.debug('Flattening nested packageRules');
125
124
  // merge each subrule and add to the parent list
126
125
  for (const subrule of packageRule.packageRules) {
@@ -135,8 +134,8 @@ function migrateConfig(config, parentKey) {
135
134
  }
136
135
  }
137
136
  }
138
- if (is_1.default.nonEmptyObject(migratedConfig['pip-compile']) &&
139
- is_1.default.nonEmptyArray(migratedConfig['pip-compile'].managerFilePatterns)) {
137
+ if ((0, is_1.isNonEmptyObject)(migratedConfig['pip-compile']) &&
138
+ (0, is_1.isNonEmptyArray)(migratedConfig['pip-compile'].managerFilePatterns)) {
140
139
  migratedConfig['pip-compile'].managerFilePatterns = migratedConfig['pip-compile'].managerFilePatterns.map((filePattern) => {
141
140
  const pattern = filePattern;
142
141
  if (pattern.endsWith('.in')) {
@@ -148,7 +147,7 @@ function migrateConfig(config, parentKey) {
148
147
  return pattern.replace(/\.in\$\/$/, '.txt$/');
149
148
  });
150
149
  }
151
- if (is_1.default.nonEmptyArray(migratedConfig.matchManagers)) {
150
+ if ((0, is_1.isNonEmptyArray)(migratedConfig.matchManagers)) {
152
151
  if (migratedConfig.matchManagers.includes('gradle-lite')) {
153
152
  if (!migratedConfig.matchManagers.includes('gradle')) {
154
153
  migratedConfig.matchManagers.push('gradle');
@@ -156,7 +155,7 @@ function migrateConfig(config, parentKey) {
156
155
  migratedConfig.matchManagers = migratedConfig.matchManagers.filter((manager) => manager !== 'gradle-lite');
157
156
  }
158
157
  }
159
- if (is_1.default.nonEmptyObject(migratedConfig['gradle-lite'])) {
158
+ if ((0, is_1.isNonEmptyObject)(migratedConfig['gradle-lite'])) {
160
159
  migratedConfig.gradle = (0, utils_1.mergeChildConfig)(migratedConfig.gradle ?? {}, migratedConfig['gradle-lite']);
161
160
  }
162
161
  delete migratedConfig['gradle-lite'];
@@ -1 +1 @@
1
- {"version":3,"file":"migration.js","sourceRoot":"","sources":["../../lib/config/migration.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { dequal } from 'dequal';\nimport { logger } from '../logger';\nimport { clone } from '../util/clone';\nimport { regEx } from '../util/regex';\nimport { MigrationsService } from './migrations';\nimport { getOptions } from './options';\nimport type {\n MigratedConfig,\n MigratedRenovateConfig,\n PackageRule,\n RenovateConfig,\n RenovateOptions,\n} from './types';\nimport { mergeChildConfig } from './utils';\n\nconst options = getOptions();\nexport function fixShortHours(input: string): string {\n return input.replace(regEx(/( \\d?\\d)((a|p)m)/g), '$1:00$2');\n}\n\nlet optionTypes: Record<string, RenovateOptions['type']>;\n// Returns a migrated config\nexport function migrateConfig(\n config: RenovateConfig,\n parentKey?: string,\n): MigratedConfig {\n try {\n if (!optionTypes) {\n optionTypes = {};\n options.forEach((option) => {\n optionTypes[option.name] = option.type;\n });\n }\n const newConfig = MigrationsService.run(config, parentKey);\n const migratedConfig = clone(newConfig) as MigratedRenovateConfig;\n\n for (const [key, val] of Object.entries(newConfig)) {\n if (is.string(val) && val.includes('{{baseDir}}')) {\n migratedConfig[key] = val.replace(\n regEx(/{{baseDir}}/g),\n '{{packageFileDir}}',\n );\n } else if (is.string(val) && val.includes('{{lookupName}}')) {\n migratedConfig[key] = val.replace(\n regEx(/{{lookupName}}/g),\n '{{packageName}}',\n );\n } else if (is.string(val) && val.includes('{{depNameShort}}')) {\n migratedConfig[key] = val.replace(\n regEx(/{{depNameShort}}/g),\n '{{depName}}',\n );\n } else if (is.string(val) && val.startsWith('{{semanticPrefix}}')) {\n migratedConfig[key] = val.replace(\n '{{semanticPrefix}}',\n '{{#if semanticCommitType}}{{semanticCommitType}}{{#if semanticCommitScope}}({{semanticCommitScope}}){{/if}}: {{/if}}',\n );\n } else if (optionTypes[key] === 'object' && is.boolean(val)) {\n migratedConfig[key] = { enabled: val };\n } else if (optionTypes[key] === 'boolean') {\n if (val === 'true') {\n migratedConfig[key] = true;\n } else if (val === 'false') {\n migratedConfig[key] = false;\n }\n } else if (\n optionTypes[key] === 'string' &&\n is.array(val) &&\n val.length === 1\n ) {\n migratedConfig[key] = String(val[0]);\n } else if (is.array(val)) {\n if (is.array(migratedConfig?.[key])) {\n const newArray = [];\n for (const item of migratedConfig[key]) {\n if (is.object(item) && !is.array(item)) {\n const arrMigrate = migrateConfig(item as RenovateConfig);\n newArray.push(arrMigrate.migratedConfig);\n } else {\n newArray.push(item);\n }\n }\n migratedConfig[key] = newArray;\n }\n } else if (is.object(val)) {\n const subMigrate = migrateConfig(\n migratedConfig[key] as RenovateConfig,\n key,\n );\n if (subMigrate.isMigrated) {\n migratedConfig[key] = subMigrate.migratedConfig;\n }\n }\n\n const migratedTemplates = {\n fromVersion: 'currentVersion',\n newValueMajor: 'newMajor',\n newValueMinor: 'newMinor',\n newVersionMajor: 'newMajor',\n newVersionMinor: 'newMinor',\n toVersion: 'newVersion',\n };\n if (is.string(migratedConfig[key])) {\n for (const [from, to] of Object.entries(migratedTemplates)) {\n migratedConfig[key] = (migratedConfig[key] as string).replace(\n regEx(from, 'g'),\n to,\n );\n }\n }\n }\n const languages = [\n 'docker',\n 'dotnet',\n 'golang',\n 'java',\n 'js',\n 'node',\n 'php',\n 'python',\n 'ruby',\n 'rust',\n ];\n for (const language of languages) {\n if (is.nonEmptyObject(migratedConfig[language])) {\n migratedConfig.packageRules ??= [];\n const currentContent = migratedConfig[language] as any;\n const packageRule = {\n matchCategories: [language],\n ...currentContent,\n };\n migratedConfig.packageRules.unshift(packageRule);\n delete migratedConfig[language];\n }\n }\n // Migrate nested packageRules\n if (is.nonEmptyArray(migratedConfig.packageRules)) {\n const existingRules = migratedConfig.packageRules;\n migratedConfig.packageRules = [];\n for (const packageRule of existingRules) {\n if (is.array(packageRule.packageRules)) {\n logger.debug('Flattening nested packageRules');\n // merge each subrule and add to the parent list\n for (const subrule of packageRule.packageRules) {\n // TODO: fix types #22198\n const combinedRule = mergeChildConfig(\n packageRule,\n subrule as PackageRule,\n );\n delete combinedRule.packageRules;\n migratedConfig.packageRules.push(combinedRule);\n }\n } else {\n migratedConfig.packageRules.push(packageRule);\n }\n }\n }\n if (\n is.nonEmptyObject(migratedConfig['pip-compile']) &&\n is.nonEmptyArray(migratedConfig['pip-compile'].managerFilePatterns)\n ) {\n migratedConfig['pip-compile'].managerFilePatterns = migratedConfig[\n 'pip-compile'\n ].managerFilePatterns.map((filePattern) => {\n const pattern = filePattern as string;\n if (pattern.endsWith('.in')) {\n return pattern.replace(/\\.in$/, '.txt');\n }\n if (pattern.endsWith('.in/')) {\n return pattern.replace(/\\.in\\/$/, '.txt/');\n }\n return pattern.replace(/\\.in\\$\\/$/, '.txt$/');\n });\n }\n if (is.nonEmptyArray(migratedConfig.matchManagers)) {\n if (migratedConfig.matchManagers.includes('gradle-lite')) {\n if (!migratedConfig.matchManagers.includes('gradle')) {\n migratedConfig.matchManagers.push('gradle');\n }\n migratedConfig.matchManagers = migratedConfig.matchManagers.filter(\n (manager) => manager !== 'gradle-lite',\n );\n }\n }\n if (is.nonEmptyObject(migratedConfig['gradle-lite'])) {\n migratedConfig.gradle = mergeChildConfig(\n migratedConfig.gradle ?? {},\n migratedConfig['gradle-lite'],\n );\n }\n delete migratedConfig['gradle-lite'];\n const isMigrated = !dequal(config, migratedConfig);\n if (isMigrated) {\n // recursive call in case any migrated configs need further migrating\n return {\n isMigrated,\n migratedConfig: migrateConfig(migratedConfig).migratedConfig,\n };\n }\n return { isMigrated, migratedConfig };\n /* v8 ignore next 4 -- TODO: add test */\n } catch (err) {\n logger.debug({ config, err }, 'migrateConfig() error');\n throw err;\n }\n}\n"]}
1
+ {"version":3,"file":"migration.js","sourceRoot":"","sources":["../../lib/config/migration.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n isArray,\n isBoolean,\n isNonEmptyArray,\n isNonEmptyObject,\n isObject,\n isString,\n} from '@sindresorhus/is';\nimport { dequal } from 'dequal';\nimport { logger } from '../logger';\nimport { clone } from '../util/clone';\nimport { regEx } from '../util/regex';\nimport { MigrationsService } from './migrations';\nimport { getOptions } from './options';\nimport type {\n MigratedConfig,\n MigratedRenovateConfig,\n PackageRule,\n RenovateConfig,\n RenovateOptions,\n} from './types';\nimport { mergeChildConfig } from './utils';\n\nconst options = getOptions();\nexport function fixShortHours(input: string): string {\n return input.replace(regEx(/( \\d?\\d)((a|p)m)/g), '$1:00$2');\n}\n\nlet optionTypes: Record<string, RenovateOptions['type']>;\n// Returns a migrated config\nexport function migrateConfig(\n config: RenovateConfig,\n parentKey?: string,\n): MigratedConfig {\n try {\n if (!optionTypes) {\n optionTypes = {};\n options.forEach((option) => {\n optionTypes[option.name] = option.type;\n });\n }\n const newConfig = MigrationsService.run(config, parentKey);\n const migratedConfig = clone(newConfig) as MigratedRenovateConfig;\n\n for (const [key, val] of Object.entries(newConfig)) {\n if (isString(val) && val.includes('{{baseDir}}')) {\n migratedConfig[key] = val.replace(\n regEx(/{{baseDir}}/g),\n '{{packageFileDir}}',\n );\n } else if (isString(val) && val.includes('{{lookupName}}')) {\n migratedConfig[key] = val.replace(\n regEx(/{{lookupName}}/g),\n '{{packageName}}',\n );\n } else if (isString(val) && val.includes('{{depNameShort}}')) {\n migratedConfig[key] = val.replace(\n regEx(/{{depNameShort}}/g),\n '{{depName}}',\n );\n } else if (isString(val) && val.startsWith('{{semanticPrefix}}')) {\n migratedConfig[key] = val.replace(\n '{{semanticPrefix}}',\n '{{#if semanticCommitType}}{{semanticCommitType}}{{#if semanticCommitScope}}({{semanticCommitScope}}){{/if}}: {{/if}}',\n );\n } else if (optionTypes[key] === 'object' && isBoolean(val)) {\n migratedConfig[key] = { enabled: val };\n } else if (optionTypes[key] === 'boolean') {\n if (val === 'true') {\n migratedConfig[key] = true;\n } else if (val === 'false') {\n migratedConfig[key] = false;\n }\n } else if (\n optionTypes[key] === 'string' &&\n isArray(val) &&\n val.length === 1\n ) {\n migratedConfig[key] = String(val[0]);\n } else if (isArray(val)) {\n if (isArray(migratedConfig?.[key])) {\n const newArray = [];\n for (const item of migratedConfig[key]) {\n if (isObject(item) && !isArray(item)) {\n const arrMigrate = migrateConfig(item as RenovateConfig);\n newArray.push(arrMigrate.migratedConfig);\n } else {\n newArray.push(item);\n }\n }\n migratedConfig[key] = newArray;\n }\n } else if (isObject(val)) {\n const subMigrate = migrateConfig(\n migratedConfig[key] as RenovateConfig,\n key,\n );\n if (subMigrate.isMigrated) {\n migratedConfig[key] = subMigrate.migratedConfig;\n }\n }\n\n const migratedTemplates = {\n fromVersion: 'currentVersion',\n newValueMajor: 'newMajor',\n newValueMinor: 'newMinor',\n newVersionMajor: 'newMajor',\n newVersionMinor: 'newMinor',\n toVersion: 'newVersion',\n };\n if (isString(migratedConfig[key])) {\n for (const [from, to] of Object.entries(migratedTemplates)) {\n migratedConfig[key] = (migratedConfig[key] as string).replace(\n regEx(from, 'g'),\n to,\n );\n }\n }\n }\n const languages = [\n 'docker',\n 'dotnet',\n 'golang',\n 'java',\n 'js',\n 'node',\n 'php',\n 'python',\n 'ruby',\n 'rust',\n ];\n for (const language of languages) {\n if (isNonEmptyObject(migratedConfig[language])) {\n migratedConfig.packageRules ??= [];\n const currentContent = migratedConfig[language] as any;\n const packageRule = {\n matchCategories: [language],\n ...currentContent,\n };\n migratedConfig.packageRules.unshift(packageRule);\n delete migratedConfig[language];\n }\n }\n // Migrate nested packageRules\n if (isNonEmptyArray(migratedConfig.packageRules)) {\n const existingRules = migratedConfig.packageRules;\n migratedConfig.packageRules = [];\n for (const packageRule of existingRules) {\n if (isArray(packageRule.packageRules)) {\n logger.debug('Flattening nested packageRules');\n // merge each subrule and add to the parent list\n for (const subrule of packageRule.packageRules) {\n // TODO: fix types #22198\n const combinedRule = mergeChildConfig(\n packageRule,\n subrule as PackageRule,\n );\n delete combinedRule.packageRules;\n migratedConfig.packageRules.push(combinedRule);\n }\n } else {\n migratedConfig.packageRules.push(packageRule);\n }\n }\n }\n if (\n isNonEmptyObject(migratedConfig['pip-compile']) &&\n isNonEmptyArray(migratedConfig['pip-compile'].managerFilePatterns)\n ) {\n migratedConfig['pip-compile'].managerFilePatterns = migratedConfig[\n 'pip-compile'\n ].managerFilePatterns.map((filePattern) => {\n const pattern = filePattern as string;\n if (pattern.endsWith('.in')) {\n return pattern.replace(/\\.in$/, '.txt');\n }\n if (pattern.endsWith('.in/')) {\n return pattern.replace(/\\.in\\/$/, '.txt/');\n }\n return pattern.replace(/\\.in\\$\\/$/, '.txt$/');\n });\n }\n if (isNonEmptyArray(migratedConfig.matchManagers)) {\n if (migratedConfig.matchManagers.includes('gradle-lite')) {\n if (!migratedConfig.matchManagers.includes('gradle')) {\n migratedConfig.matchManagers.push('gradle');\n }\n migratedConfig.matchManagers = migratedConfig.matchManagers.filter(\n (manager) => manager !== 'gradle-lite',\n );\n }\n }\n if (isNonEmptyObject(migratedConfig['gradle-lite'])) {\n migratedConfig.gradle = mergeChildConfig(\n migratedConfig.gradle ?? {},\n migratedConfig['gradle-lite'],\n );\n }\n delete migratedConfig['gradle-lite'];\n const isMigrated = !dequal(config, migratedConfig);\n if (isMigrated) {\n // recursive call in case any migrated configs need further migrating\n return {\n isMigrated,\n migratedConfig: migrateConfig(migratedConfig).migratedConfig,\n };\n }\n return { isMigrated, migratedConfig };\n /* v8 ignore next 4 -- TODO: add test */\n } catch (err) {\n logger.debug({ config, err }, 'migrateConfig() error');\n throw err;\n }\n}\n"]}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AbstractMigration = void 0;
4
- const tslib_1 = require("tslib");
5
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
4
+ const is_1 = require("@sindresorhus/is");
6
5
  class AbstractMigration {
7
6
  deprecated = false;
8
7
  originalConfig;
@@ -18,8 +17,8 @@ class AbstractMigration {
18
17
  return key in this.originalConfig;
19
18
  }
20
19
  setSafely(key, value) {
21
- if (is_1.default.nullOrUndefined(this.originalConfig[key]) &&
22
- is_1.default.nullOrUndefined(this.migratedConfig[key])) {
20
+ if ((0, is_1.isNullOrUndefined)(this.originalConfig[key]) &&
21
+ (0, is_1.isNullOrUndefined)(this.migratedConfig[key])) {
23
22
  this.migratedConfig[key] = value;
24
23
  }
25
24
  }
@@ -27,13 +26,13 @@ class AbstractMigration {
27
26
  this.migratedConfig[key] = value;
28
27
  }
29
28
  rewrite(value) {
30
- if (!is_1.default.string(this.propertyName)) {
29
+ if (!(0, is_1.isString)(this.propertyName)) {
31
30
  throw new Error();
32
31
  }
33
32
  this.setHard(this.propertyName, value);
34
33
  }
35
34
  delete(property = this.propertyName) {
36
- if (!is_1.default.string(property)) {
35
+ if (!(0, is_1.isString)(property)) {
37
36
  throw new Error();
38
37
  }
39
38
  delete this.migratedConfig[property];
@@ -1 +1 @@
1
- {"version":3,"file":"abstract-migration.js","sourceRoot":"","sources":["../../../../lib/config/migrations/base/abstract-migration.ts"],"names":[],"mappings":";;;;AAAA,kEAAkC;AAIlC,MAAsB,iBAAiB;IAC5B,UAAU,GAAY,KAAK,CAAC;IAEpB,cAAc,CAAiB;IAC/B,cAAc,CAAiB;IAEhD,YAAY,cAA8B,EAAE,cAA8B;QACxE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAIS,GAAG,CACX,GAAQ;QAER,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC9D,CAAC;IAES,GAAG,CAAmC,GAAQ;QACtD,OAAO,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC;IACpC,CAAC;IAES,SAAS,CACjB,GAAQ,EACR,KAA0B;QAE1B,IACE,YAAE,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC5C,YAAE,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAC5C,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACnC,CAAC;IACH,CAAC;IAES,OAAO,CACf,GAAQ,EACR,KAA0B;QAE1B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACnC,CAAC;IAES,OAAO,CAAC,KAAc;QAC9B,IAAI,CAAC,YAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,EAAE,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAES,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY;QAC3C,IAAI,CAAC,YAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,EAAE,CAAC;QACpB,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;CACF;AAzDD,8CAyDC","sourcesContent":["import is from '@sindresorhus/is';\nimport type { RenovateConfig } from '../../types';\nimport type { Migration } from '../types';\n\nexport abstract class AbstractMigration implements Migration {\n readonly deprecated: boolean = false;\n abstract readonly propertyName: string | RegExp;\n private readonly originalConfig: RenovateConfig;\n private readonly migratedConfig: RenovateConfig;\n\n constructor(originalConfig: RenovateConfig, migratedConfig: RenovateConfig) {\n this.originalConfig = originalConfig;\n this.migratedConfig = migratedConfig;\n }\n\n abstract run(value: unknown, key: string): void;\n\n protected get<Key extends keyof RenovateConfig>(\n key: Key,\n ): RenovateConfig[Key] {\n return this.migratedConfig[key] ?? this.originalConfig[key];\n }\n\n protected has<Key extends keyof RenovateConfig>(key: Key): boolean {\n return key in this.originalConfig;\n }\n\n protected setSafely<Key extends keyof RenovateConfig>(\n key: Key,\n value: RenovateConfig[Key],\n ): void {\n if (\n is.nullOrUndefined(this.originalConfig[key]) &&\n is.nullOrUndefined(this.migratedConfig[key])\n ) {\n this.migratedConfig[key] = value;\n }\n }\n\n protected setHard<Key extends keyof RenovateConfig>(\n key: Key,\n value: RenovateConfig[Key],\n ): void {\n this.migratedConfig[key] = value;\n }\n\n protected rewrite(value: unknown): void {\n if (!is.string(this.propertyName)) {\n throw new Error();\n }\n\n this.setHard(this.propertyName, value);\n }\n\n protected delete(property = this.propertyName): void {\n if (!is.string(property)) {\n throw new Error();\n }\n\n delete this.migratedConfig[property];\n }\n}\n"]}
1
+ {"version":3,"file":"abstract-migration.js","sourceRoot":"","sources":["../../../../lib/config/migrations/base/abstract-migration.ts"],"names":[],"mappings":";;;AAAA,yCAA+D;AAI/D,MAAsB,iBAAiB;IAC5B,UAAU,GAAY,KAAK,CAAC;IAEpB,cAAc,CAAiB;IAC/B,cAAc,CAAiB;IAEhD,YAAY,cAA8B,EAAE,cAA8B;QACxE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAIS,GAAG,CACX,GAAQ;QAER,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC9D,CAAC;IAES,GAAG,CAAmC,GAAQ;QACtD,OAAO,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC;IACpC,CAAC;IAES,SAAS,CACjB,GAAQ,EACR,KAA0B;QAE1B,IACE,IAAA,sBAAiB,EAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAA,sBAAiB,EAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAC3C,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACnC,CAAC;IACH,CAAC;IAES,OAAO,CACf,GAAQ,EACR,KAA0B;QAE1B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACnC,CAAC;IAES,OAAO,CAAC,KAAc;QAC9B,IAAI,CAAC,IAAA,aAAQ,EAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,EAAE,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAES,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY;QAC3C,IAAI,CAAC,IAAA,aAAQ,EAAC,QAAQ,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,EAAE,CAAC;QACpB,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;CACF;AAzDD,8CAyDC","sourcesContent":["import { isNullOrUndefined, isString } from '@sindresorhus/is';\nimport type { RenovateConfig } from '../../types';\nimport type { Migration } from '../types';\n\nexport abstract class AbstractMigration implements Migration {\n readonly deprecated: boolean = false;\n abstract readonly propertyName: string | RegExp;\n private readonly originalConfig: RenovateConfig;\n private readonly migratedConfig: RenovateConfig;\n\n constructor(originalConfig: RenovateConfig, migratedConfig: RenovateConfig) {\n this.originalConfig = originalConfig;\n this.migratedConfig = migratedConfig;\n }\n\n abstract run(value: unknown, key: string): void;\n\n protected get<Key extends keyof RenovateConfig>(\n key: Key,\n ): RenovateConfig[Key] {\n return this.migratedConfig[key] ?? this.originalConfig[key];\n }\n\n protected has<Key extends keyof RenovateConfig>(key: Key): boolean {\n return key in this.originalConfig;\n }\n\n protected setSafely<Key extends keyof RenovateConfig>(\n key: Key,\n value: RenovateConfig[Key],\n ): void {\n if (\n isNullOrUndefined(this.originalConfig[key]) &&\n isNullOrUndefined(this.migratedConfig[key])\n ) {\n this.migratedConfig[key] = value;\n }\n }\n\n protected setHard<Key extends keyof RenovateConfig>(\n key: Key,\n value: RenovateConfig[Key],\n ): void {\n this.migratedConfig[key] = value;\n }\n\n protected rewrite(value: unknown): void {\n if (!isString(this.propertyName)) {\n throw new Error();\n }\n\n this.setHard(this.propertyName, value);\n }\n\n protected delete(property = this.propertyName): void {\n if (!isString(property)) {\n throw new Error();\n }\n\n delete this.migratedConfig[property];\n }\n}\n"]}
@@ -1,15 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AutomergeMajorMigration = void 0;
4
- const tslib_1 = require("tslib");
5
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
4
+ const is_1 = require("@sindresorhus/is");
6
5
  const abstract_migration_1 = require("../base/abstract-migration");
7
6
  class AutomergeMajorMigration extends abstract_migration_1.AbstractMigration {
8
7
  deprecated = true;
9
8
  propertyName = 'automergeMajor';
10
9
  run(value) {
11
10
  const major = this.get('major');
12
- const newMajor = is_1.default.object(major) ? major : {};
11
+ const newMajor = (0, is_1.isObject)(major) ? major : {};
13
12
  newMajor.automerge = Boolean(value);
14
13
  this.setHard('major', newMajor);
15
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"automerge-major-migration.js","sourceRoot":"","sources":["../../../../lib/config/migrations/custom/automerge-major-migration.ts"],"names":[],"mappings":";;;;AAAA,kEAAkC;AAClC,mEAA+D;AAE/D,MAAa,uBAAwB,SAAQ,sCAAiB;IAC1C,UAAU,GAAG,IAAI,CAAC;IAClB,YAAY,GAAG,gBAAgB,CAAC;IAEzC,GAAG,CAAC,KAAc;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEhC,MAAM,QAAQ,GAAG,YAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC;CACF;AAXD,0DAWC","sourcesContent":["import is from '@sindresorhus/is';\nimport { AbstractMigration } from '../base/abstract-migration';\n\nexport class AutomergeMajorMigration extends AbstractMigration {\n override readonly deprecated = true;\n override readonly propertyName = 'automergeMajor';\n\n override run(value: unknown): void {\n const major = this.get('major');\n\n const newMajor = is.object(major) ? major : {};\n newMajor.automerge = Boolean(value);\n this.setHard('major', newMajor);\n }\n}\n"]}
1
+ {"version":3,"file":"automerge-major-migration.js","sourceRoot":"","sources":["../../../../lib/config/migrations/custom/automerge-major-migration.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAC5C,mEAA+D;AAE/D,MAAa,uBAAwB,SAAQ,sCAAiB;IAC1C,UAAU,GAAG,IAAI,CAAC;IAClB,YAAY,GAAG,gBAAgB,CAAC;IAEzC,GAAG,CAAC,KAAc;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEhC,MAAM,QAAQ,GAAG,IAAA,aAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC;CACF;AAXD,0DAWC","sourcesContent":["import { isObject } from '@sindresorhus/is';\nimport { AbstractMigration } from '../base/abstract-migration';\n\nexport class AutomergeMajorMigration extends AbstractMigration {\n override readonly deprecated = true;\n override readonly propertyName = 'automergeMajor';\n\n override run(value: unknown): void {\n const major = this.get('major');\n\n const newMajor = isObject(major) ? major : {};\n newMajor.automerge = Boolean(value);\n this.setHard('major', newMajor);\n }\n}\n"]}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AutomergeMigration = void 0;
4
- const tslib_1 = require("tslib");
5
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
4
+ const is_1 = require("@sindresorhus/is");
6
5
  const abstract_migration_1 = require("../base/abstract-migration");
7
6
  class AutomergeMigration extends abstract_migration_1.AbstractMigration {
8
7
  propertyName = 'automerge';
@@ -10,9 +9,9 @@ class AutomergeMigration extends abstract_migration_1.AbstractMigration {
10
9
  const patch = this.get('patch');
11
10
  const minor = this.get('minor');
12
11
  const major = this.get('major');
13
- const newPatch = is_1.default.object(patch) ? patch : {};
14
- const newMinor = is_1.default.object(minor) ? minor : {};
15
- const newMajor = is_1.default.object(major) ? major : {};
12
+ const newPatch = (0, is_1.isObject)(patch) ? patch : {};
13
+ const newMinor = (0, is_1.isObject)(minor) ? minor : {};
14
+ const newMajor = (0, is_1.isObject)(major) ? major : {};
16
15
  switch (value) {
17
16
  case 'none':
18
17
  this.rewrite(false);
@@ -1 +1 @@
1
- {"version":3,"file":"automerge-migration.js","sourceRoot":"","sources":["../../../../lib/config/migrations/custom/automerge-migration.ts"],"names":[],"mappings":";;;;AAAA,kEAAkC;AAClC,mEAA+D;AAE/D,MAAa,kBAAmB,SAAQ,sCAAiB;IACrC,YAAY,GAAG,WAAW,CAAC;IAEpC,GAAG,CAAC,KAAc;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEhC,MAAM,QAAQ,GAAG,YAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,YAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,YAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAE/C,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,MAAM;gBACT,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACpB,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;gBAC1B,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC3B,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAChC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAChC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;gBAC1B,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAChC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,KAAK;gBACR,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;CACF;AApCD,gDAoCC","sourcesContent":["import is from '@sindresorhus/is';\nimport { AbstractMigration } from '../base/abstract-migration';\n\nexport class AutomergeMigration extends AbstractMigration {\n override readonly propertyName = 'automerge';\n\n override run(value: unknown): void {\n const patch = this.get('patch');\n const minor = this.get('minor');\n const major = this.get('major');\n\n const newPatch = is.object(patch) ? patch : {};\n const newMinor = is.object(minor) ? minor : {};\n const newMajor = is.object(major) ? major : {};\n\n switch (value) {\n case 'none':\n this.rewrite(false);\n break;\n case 'patch':\n this.delete();\n newPatch.automerge = true;\n newMinor.automerge = false;\n newMajor.automerge = false;\n this.setHard('patch', newPatch);\n this.setHard('minor', newMinor);\n this.setHard('major', newMajor);\n break;\n case 'minor':\n this.delete();\n newMinor.automerge = true;\n newMajor.automerge = false;\n this.setHard('minor', newMinor);\n this.setHard('major', newMajor);\n break;\n case 'any':\n this.rewrite(true);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"automerge-migration.js","sourceRoot":"","sources":["../../../../lib/config/migrations/custom/automerge-migration.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAC5C,mEAA+D;AAE/D,MAAa,kBAAmB,SAAQ,sCAAiB;IACrC,YAAY,GAAG,WAAW,CAAC;IAEpC,GAAG,CAAC,KAAc;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEhC,MAAM,QAAQ,GAAG,IAAA,aAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAA,aAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAA,aAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAE9C,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,MAAM;gBACT,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACpB,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;gBAC1B,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC3B,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAChC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAChC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;gBAC1B,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAChC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,KAAK;gBACR,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;CACF;AApCD,gDAoCC","sourcesContent":["import { isObject } from '@sindresorhus/is';\nimport { AbstractMigration } from '../base/abstract-migration';\n\nexport class AutomergeMigration extends AbstractMigration {\n override readonly propertyName = 'automerge';\n\n override run(value: unknown): void {\n const patch = this.get('patch');\n const minor = this.get('minor');\n const major = this.get('major');\n\n const newPatch = isObject(patch) ? patch : {};\n const newMinor = isObject(minor) ? minor : {};\n const newMajor = isObject(major) ? major : {};\n\n switch (value) {\n case 'none':\n this.rewrite(false);\n break;\n case 'patch':\n this.delete();\n newPatch.automerge = true;\n newMinor.automerge = false;\n newMajor.automerge = false;\n this.setHard('patch', newPatch);\n this.setHard('minor', newMinor);\n this.setHard('major', newMajor);\n break;\n case 'minor':\n this.delete();\n newMinor.automerge = true;\n newMajor.automerge = false;\n this.setHard('minor', newMinor);\n this.setHard('major', newMajor);\n break;\n case 'any':\n this.rewrite(true);\n }\n }\n}\n"]}