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
@@ -9,7 +9,7 @@ exports.resolveStaticRepoConfig = resolveStaticRepoConfig;
9
9
  exports.tryReadStaticRepoFileConfig = tryReadStaticRepoFileConfig;
10
10
  exports.mergeStaticConfig = mergeStaticConfig;
11
11
  const tslib_1 = require("tslib");
12
- const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
12
+ const is_1 = require("@sindresorhus/is");
13
13
  const config_1 = require("../../../config");
14
14
  const app_strings_1 = require("../../../config/app-strings");
15
15
  const decrypt_1 = require("../../../config/decrypt");
@@ -61,7 +61,7 @@ async function detectConfigFile() {
61
61
  async function detectRepoFileConfig(branchName) {
62
62
  const cache = (0, repository_1.getCache)();
63
63
  let { configFileName } = cache;
64
- if (is_1.default.nonEmptyString(configFileName)) {
64
+ if ((0, is_1.isNonEmptyString)(configFileName)) {
65
65
  let configFileRaw;
66
66
  try {
67
67
  configFileRaw = await platform_1.platform.getRawFile(configFileName, undefined, branchName);
@@ -114,7 +114,7 @@ async function detectRepoFileConfig(branchName) {
114
114
  configFileParsed = JSON.parse(
115
115
  // TODO #22198
116
116
  (await (0, fs_1.readLocalFile)('package.json', 'utf8'))).renovate;
117
- if (is_1.default.string(configFileParsed)) {
117
+ if ((0, is_1.isString)(configFileParsed)) {
118
118
  logger_1.logger.debug('Massaging string renovate config to extends array');
119
119
  configFileParsed = { extends: [configFileParsed] };
120
120
  }
@@ -123,7 +123,7 @@ async function detectRepoFileConfig(branchName) {
123
123
  else {
124
124
  configFileRaw = await (0, fs_1.readLocalFile)(configFileName, 'utf8');
125
125
  // istanbul ignore if
126
- if (!is_1.default.string(configFileRaw)) {
126
+ if (!(0, is_1.isString)(configFileRaw)) {
127
127
  logger_1.logger.warn({ configFileName }, 'Null contents when reading config file');
128
128
  throw new Error(error_messages_1.REPOSITORY_CHANGED);
129
129
  }
@@ -174,7 +174,7 @@ async function mergeRenovateConfig(config, branchName) {
174
174
  }
175
175
  const configFileParsed = repoConfig?.configFileParsed ?? {};
176
176
  const resolvedRepoConfig = await resolveStaticRepoConfig(configFileParsed, process.env.RENOVATE_X_STATIC_REPO_CONFIG_FILE);
177
- if (is_1.default.nonEmptyArray(returnConfig.extends)) {
177
+ if ((0, is_1.isNonEmptyArray)(returnConfig.extends)) {
178
178
  resolvedRepoConfig.extends = [
179
179
  ...returnConfig.extends,
180
180
  ...(resolvedRepoConfig.extends ?? []),
@@ -207,7 +207,7 @@ async function mergeRenovateConfig(config, branchName) {
207
207
  const decryptedConfig = await (0, decrypt_1.decryptConfig)(migratedConfig, repository);
208
208
  setNpmTokenInNpmrc(decryptedConfig);
209
209
  // istanbul ignore if
210
- if (is_1.default.string(decryptedConfig.npmrc)) {
210
+ if ((0, is_1.isString)(decryptedConfig.npmrc)) {
211
211
  logger_1.logger.debug('Found npmrc in decrypted config - setting');
212
212
  npmApi.setNpmrc(decryptedConfig.npmrc);
213
213
  }
@@ -222,7 +222,7 @@ async function mergeRenovateConfig(config, branchName) {
222
222
  }
223
223
  setNpmTokenInNpmrc(resolvedConfig);
224
224
  // istanbul ignore if
225
- if (is_1.default.string(resolvedConfig.npmrc)) {
225
+ if ((0, is_1.isString)(resolvedConfig.npmrc)) {
226
226
  logger_1.logger.debug('Ignoring any .npmrc files in repository due to configured npmrc');
227
227
  npmApi.setNpmrc(resolvedConfig.npmrc);
228
228
  }
@@ -260,12 +260,12 @@ async function mergeRenovateConfig(config, branchName) {
260
260
  }
261
261
  /** needed when using portal secrets for npmToken */
262
262
  function setNpmTokenInNpmrc(config) {
263
- if (!is_1.default.string(config.npmToken)) {
263
+ if (!(0, is_1.isString)(config.npmToken)) {
264
264
  return;
265
265
  }
266
266
  const token = config.npmToken;
267
267
  logger_1.logger.debug({ npmToken: (0, mask_1.maskToken)(token) }, 'Migrating npmToken to npmrc');
268
- if (!is_1.default.string(config.npmrc)) {
268
+ if (!(0, is_1.isString)(config.npmrc)) {
269
269
  logger_1.logger.debug('Adding npmrc to config');
270
270
  config.npmrc = `//registry.npmjs.org/:_authToken=${token}\n`;
271
271
  delete config.npmToken;
@@ -282,7 +282,7 @@ function setNpmTokenInNpmrc(config) {
282
282
  delete config.npmToken;
283
283
  }
284
284
  async function resolveStaticRepoConfig(config, filename) {
285
- if (!is_1.default.nonEmptyString(filename)) {
285
+ if (!(0, is_1.isNonEmptyString)(filename)) {
286
286
  return config;
287
287
  }
288
288
  let staticRepoConfig;
@@ -293,7 +293,7 @@ async function resolveStaticRepoConfig(config, filename) {
293
293
  logger_1.logger.fatal({ err }, 'Failed to load static repository config file');
294
294
  process.exit(1);
295
295
  }
296
- if (!is_1.default.nonEmptyObject(staticRepoConfig)) {
296
+ if (!(0, is_1.isNonEmptyObject)(staticRepoConfig)) {
297
297
  return config;
298
298
  }
299
299
  return mergeStaticConfig(config, staticRepoConfig);
@@ -310,7 +310,7 @@ async function tryReadStaticRepoFileConfig(staticRepoConfigFile) {
310
310
  const staticRepoConfig = (0, common_1.parseJson)(staticRepoConfigRaw, staticRepoConfigFile);
311
311
  // validate and log issues here to preserve context, caller handles migration and full validation.
312
312
  const { errors, warnings } = await configValidation.validateConfig('repo', staticRepoConfig);
313
- if (is_1.default.nonEmptyArray(errors) || is_1.default.nonEmptyArray(warnings)) {
313
+ if ((0, is_1.isNonEmptyArray)(errors) || (0, is_1.isNonEmptyArray)(warnings)) {
314
314
  logger_1.logger.info({ errors, warnings }, 'Static repo config validation issues detected');
315
315
  }
316
316
  else {
@@ -320,7 +320,7 @@ async function tryReadStaticRepoFileConfig(staticRepoConfigFile) {
320
320
  }
321
321
  function mergeStaticConfig(config, staticRepoConfig) {
322
322
  // merge extends
323
- if (is_1.default.nonEmptyArray(staticRepoConfig.extends)) {
323
+ if ((0, is_1.isNonEmptyArray)(staticRepoConfig.extends)) {
324
324
  config.extends = [...staticRepoConfig.extends, ...(config.extends ?? [])];
325
325
  delete staticRepoConfig.extends;
326
326
  }
@@ -1 +1 @@
1
- {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../../lib/workers/repository/init/merge.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { mergeChildConfig } from '../../../config';\nimport { getConfigFileNames } from '../../../config/app-strings';\nimport { decryptConfig } from '../../../config/decrypt';\nimport { migrateAndValidate } from '../../../config/migrate-validate';\nimport { migrateConfig } from '../../../config/migration';\nimport { parseFileConfig } from '../../../config/parse';\nimport * as presets from '../../../config/presets';\nimport { applySecretsAndVariablesToConfig } from '../../../config/secrets';\nimport type { AllConfig, RenovateConfig } from '../../../config/types';\nimport * as configValidation from '../../../config/validation';\nimport {\n CONFIG_VALIDATION,\n REPOSITORY_CHANGED,\n} from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport * as npmApi from '../../../modules/datasource/npm';\nimport { platform } from '../../../modules/platform';\nimport { scm } from '../../../modules/platform/scm';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { getCache } from '../../../util/cache/repository';\nimport { parseJson } from '../../../util/common';\nimport { setUserEnv } from '../../../util/env';\nimport { readLocalFile, readSystemFile } from '../../../util/fs';\nimport * as hostRules from '../../../util/host-rules';\nimport * as queue from '../../../util/http/queue';\nimport * as throttle from '../../../util/http/throttle';\nimport { maskToken } from '../../../util/mask';\nimport { regEx } from '../../../util/regex';\nimport { getOnboardingConfig } from '../onboarding/branch/config';\nimport {\n getOnboardingConfigFromCache,\n getOnboardingFileNameFromCache,\n setOnboardingConfigDetails,\n} from '../onboarding/branch/onboarding-branch-cache';\nimport {\n OnboardingState,\n getDefaultConfigFileName,\n} from '../onboarding/common';\nimport type { RepoFileConfig } from './types';\n\nexport async function detectConfigFile(): Promise<string | null> {\n const fileList = await scm.getFileList();\n for (const fileName of getConfigFileNames()) {\n if (fileName === 'package.json') {\n try {\n const pJson = JSON.parse(\n (await readLocalFile('package.json', 'utf8'))!,\n );\n if (pJson.renovate) {\n logger.warn(\n 'Using package.json for Renovate config is deprecated - please use a dedicated configuration file instead',\n );\n return 'package.json';\n }\n } catch {\n // Do nothing\n }\n } else if (fileList.includes(fileName)) {\n return fileName;\n }\n }\n return null;\n}\n\nexport async function detectRepoFileConfig(\n branchName?: string,\n): Promise<RepoFileConfig> {\n const cache = getCache();\n let { configFileName } = cache;\n if (is.nonEmptyString(configFileName)) {\n let configFileRaw: string | null;\n try {\n configFileRaw = await platform.getRawFile(\n configFileName,\n undefined,\n branchName,\n );\n } catch (err) {\n // istanbul ignore if\n if (err instanceof ExternalHostError) {\n throw err;\n }\n configFileRaw = null;\n }\n if (configFileRaw) {\n let configFileParsed = parseJson(configFileRaw, configFileName) as any;\n if (configFileName === 'package.json') {\n configFileParsed = configFileParsed.renovate;\n }\n return { configFileName, configFileParsed };\n } else {\n logger.debug('Existing config file no longer exists');\n delete cache.configFileName;\n }\n }\n\n if (OnboardingState.onboardingCacheValid) {\n configFileName = getOnboardingFileNameFromCache();\n } else {\n configFileName = (await detectConfigFile()) ?? undefined;\n }\n\n if (!configFileName) {\n logger.debug('No renovate config file found');\n cache.configFileName = '';\n return {};\n }\n cache.configFileName = configFileName;\n logger.debug(`Found ${configFileName} config file`);\n // TODO #22198\n let configFileParsed: any;\n let configFileRaw: string | undefined | null;\n\n if (OnboardingState.onboardingCacheValid) {\n const cachedConfig = getOnboardingConfigFromCache();\n const parsedConfig = cachedConfig ? JSON.parse(cachedConfig) : undefined;\n if (parsedConfig) {\n setOnboardingConfigDetails(configFileName, JSON.stringify(parsedConfig));\n return { configFileName, configFileParsed: parsedConfig };\n }\n }\n\n if (configFileName === 'package.json') {\n // We already know it parses\n configFileParsed = JSON.parse(\n // TODO #22198\n (await readLocalFile('package.json', 'utf8'))!,\n ).renovate;\n if (is.string(configFileParsed)) {\n logger.debug('Massaging string renovate config to extends array');\n configFileParsed = { extends: [configFileParsed] };\n }\n logger.debug({ config: configFileParsed }, 'package.json>renovate config');\n } else {\n configFileRaw = await readLocalFile(configFileName, 'utf8');\n // istanbul ignore if\n if (!is.string(configFileRaw)) {\n logger.warn({ configFileName }, 'Null contents when reading config file');\n throw new Error(REPOSITORY_CHANGED);\n }\n // istanbul ignore if\n if (!configFileRaw.length) {\n configFileRaw = '{}';\n }\n\n const parseResult = parseFileConfig(configFileName, configFileRaw);\n\n if (!parseResult.success) {\n return {\n configFileName,\n configFileParseError: {\n validationError: parseResult.validationError,\n validationMessage: parseResult.validationMessage,\n },\n };\n }\n configFileParsed = parseResult.parsedContents;\n logger.debug(\n { fileName: configFileName, config: configFileParsed },\n 'Repository config',\n );\n }\n\n setOnboardingConfigDetails(configFileName, JSON.stringify(configFileParsed));\n return { configFileName, configFileParsed };\n}\n\nexport function checkForRepoConfigError(repoConfig: RepoFileConfig): void {\n if (!repoConfig.configFileParseError) {\n return;\n }\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = repoConfig.configFileName;\n error.validationError = repoConfig.configFileParseError.validationError;\n error.validationMessage = repoConfig.configFileParseError.validationMessage;\n throw error;\n}\n\n// Check for repository config\nexport async function mergeRenovateConfig(\n config: RenovateConfig,\n branchName?: string,\n): Promise<RenovateConfig> {\n let returnConfig = { ...config };\n let repoConfig: RepoFileConfig = {};\n if (config.requireConfig !== 'ignored') {\n repoConfig = await detectRepoFileConfig(branchName);\n }\n if (!repoConfig.configFileParsed && config.mode === 'silent') {\n logger.debug(\n 'When mode=silent and repo has no config file, we use the onboarding config as repo config',\n );\n const configFileName = getDefaultConfigFileName(config);\n repoConfig = {\n configFileName,\n configFileParsed: await getOnboardingConfig(config),\n };\n }\n const configFileParsed = repoConfig?.configFileParsed ?? {};\n const resolvedRepoConfig = await resolveStaticRepoConfig(\n configFileParsed,\n process.env.RENOVATE_X_STATIC_REPO_CONFIG_FILE,\n );\n\n if (is.nonEmptyArray(returnConfig.extends)) {\n resolvedRepoConfig.extends = [\n ...returnConfig.extends,\n ...(resolvedRepoConfig.extends ?? []),\n ];\n delete returnConfig.extends;\n }\n checkForRepoConfigError(repoConfig);\n const migratedConfig = await migrateAndValidate(config, resolvedRepoConfig);\n if (migratedConfig.errors?.length) {\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = repoConfig.configFileName;\n error.validationError =\n 'The renovate configuration file contains some invalid settings';\n error.validationMessage = migratedConfig.errors\n .map((e) => e.message)\n .join(', ');\n throw error;\n }\n if (migratedConfig.warnings) {\n returnConfig.warnings = [\n ...(returnConfig.warnings ?? []),\n ...migratedConfig.warnings,\n ];\n }\n delete migratedConfig.errors;\n delete migratedConfig.warnings;\n // TODO #22198\n const repository = config.repository!;\n // Decrypt before resolving in case we need npm authentication for any presets\n const decryptedConfig = await decryptConfig(migratedConfig, repository);\n setNpmTokenInNpmrc(decryptedConfig);\n // istanbul ignore if\n if (is.string(decryptedConfig.npmrc)) {\n logger.debug('Found npmrc in decrypted config - setting');\n npmApi.setNpmrc(decryptedConfig.npmrc);\n }\n // Decrypt after resolving in case the preset contains npm authentication instead\n let resolvedConfig = await decryptConfig(\n await presets.resolveConfigPresets(\n decryptedConfig,\n config,\n config.ignorePresets,\n ),\n repository,\n );\n logger.trace({ config: resolvedConfig }, 'resolved config');\n const migrationResult = migrateConfig(resolvedConfig);\n if (migrationResult.isMigrated) {\n logger.debug('Resolved config needs migrating');\n logger.trace({ config: resolvedConfig }, 'resolved config after migrating');\n resolvedConfig = migrationResult.migratedConfig;\n }\n setNpmTokenInNpmrc(resolvedConfig);\n // istanbul ignore if\n if (is.string(resolvedConfig.npmrc)) {\n logger.debug(\n 'Ignoring any .npmrc files in repository due to configured npmrc',\n );\n npmApi.setNpmrc(resolvedConfig.npmrc);\n }\n resolvedConfig = applySecretsAndVariablesToConfig({\n config: resolvedConfig,\n secrets: mergeChildConfig(\n config.secrets ?? {},\n resolvedConfig.secrets ?? {},\n ),\n variables: mergeChildConfig(\n config.variables ?? {},\n resolvedConfig.variables ?? {},\n ),\n });\n\n // istanbul ignore if\n if (resolvedConfig.hostRules) {\n logger.debug('Setting hostRules from config');\n for (const rule of resolvedConfig.hostRules) {\n try {\n hostRules.add(rule);\n } catch (err) {\n logger.warn(\n { err, config: rule },\n 'Error setting hostRule from config',\n );\n }\n }\n // host rules can change concurrency\n queue.clear();\n throttle.clear();\n delete resolvedConfig.hostRules;\n }\n returnConfig = mergeChildConfig(returnConfig, resolvedConfig);\n returnConfig = await presets.resolveConfigPresets(returnConfig, config);\n returnConfig.renovateJsonPresent = true;\n // istanbul ignore if\n if (returnConfig.ignorePaths?.length) {\n logger.debug(\n { ignorePaths: returnConfig.ignorePaths },\n `Found repo ignorePaths`,\n );\n }\n\n setUserEnv(returnConfig.env);\n delete returnConfig.env;\n\n return returnConfig;\n}\n\n/** needed when using portal secrets for npmToken */\nexport function setNpmTokenInNpmrc(config: RenovateConfig): void {\n if (!is.string(config.npmToken)) {\n return;\n }\n\n const token = config.npmToken;\n logger.debug({ npmToken: maskToken(token) }, 'Migrating npmToken to npmrc');\n\n if (!is.string(config.npmrc)) {\n logger.debug('Adding npmrc to config');\n config.npmrc = `//registry.npmjs.org/:_authToken=${token}\\n`;\n delete config.npmToken;\n return;\n }\n\n if (config.npmrc.includes(`\\${NPM_TOKEN}`)) {\n logger.debug(`Replacing \\${NPM_TOKEN} with npmToken`);\n config.npmrc = config.npmrc.replace(regEx(/\\${NPM_TOKEN}/g), token);\n } else {\n logger.debug('Appending _authToken= to end of existing npmrc');\n config.npmrc = config.npmrc.replace(\n regEx(/\\n?$/),\n `\\n_authToken=${token}\\n`,\n );\n }\n\n delete config.npmToken;\n}\n\nexport async function resolveStaticRepoConfig(\n config: AllConfig,\n filename: string | undefined,\n): Promise<AllConfig> {\n if (!is.nonEmptyString(filename)) {\n return config;\n }\n\n let staticRepoConfig: AllConfig;\n\n try {\n staticRepoConfig = await tryReadStaticRepoFileConfig(filename);\n } catch (err) {\n logger.fatal({ err }, 'Failed to load static repository config file');\n process.exit(1);\n }\n\n if (!is.nonEmptyObject(staticRepoConfig)) {\n return config;\n }\n\n return mergeStaticConfig(config, staticRepoConfig);\n}\n\nexport async function tryReadStaticRepoFileConfig(\n staticRepoConfigFile: string,\n): Promise<AllConfig> {\n logger.debug(`Reading static repo config file from ${staticRepoConfigFile}`);\n\n let staticRepoConfigRaw: string;\n try {\n staticRepoConfigRaw = await readSystemFile(staticRepoConfigFile, 'utf8');\n } catch (err) {\n throw new Error(\n `Failed to read static repo config file: \"${staticRepoConfigFile}\"`,\n { cause: err },\n );\n }\n\n const staticRepoConfig = parseJson(\n staticRepoConfigRaw,\n staticRepoConfigFile,\n ) as AllConfig;\n\n // validate and log issues here to preserve context, caller handles migration and full validation.\n const { errors, warnings } = await configValidation.validateConfig(\n 'repo',\n staticRepoConfig,\n );\n\n if (is.nonEmptyArray(errors) || is.nonEmptyArray(warnings)) {\n logger.info(\n { errors, warnings },\n 'Static repo config validation issues detected',\n );\n } else {\n logger.debug(\n { staticRepoConfig },\n 'Static repository config file successfully parsed and validated',\n );\n }\n\n return staticRepoConfig;\n}\n\nexport function mergeStaticConfig(\n config: AllConfig,\n staticRepoConfig: AllConfig,\n): AllConfig {\n // merge extends\n if (is.nonEmptyArray(staticRepoConfig.extends)) {\n config.extends = [...staticRepoConfig.extends, ...(config.extends ?? [])];\n delete staticRepoConfig.extends;\n }\n\n // renovate repo config overrides RENOVATE_STATIC_REPO_CONFIG[_FILE]\n return mergeChildConfig(staticRepoConfig, config);\n}\n"]}
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../../lib/workers/repository/init/merge.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n isNonEmptyArray,\n isNonEmptyObject,\n isNonEmptyString,\n isString,\n} from '@sindresorhus/is';\nimport { mergeChildConfig } from '../../../config';\nimport { getConfigFileNames } from '../../../config/app-strings';\nimport { decryptConfig } from '../../../config/decrypt';\nimport { migrateAndValidate } from '../../../config/migrate-validate';\nimport { migrateConfig } from '../../../config/migration';\nimport { parseFileConfig } from '../../../config/parse';\nimport * as presets from '../../../config/presets';\nimport { applySecretsAndVariablesToConfig } from '../../../config/secrets';\nimport type { AllConfig, RenovateConfig } from '../../../config/types';\nimport * as configValidation from '../../../config/validation';\nimport {\n CONFIG_VALIDATION,\n REPOSITORY_CHANGED,\n} from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport * as npmApi from '../../../modules/datasource/npm';\nimport { platform } from '../../../modules/platform';\nimport { scm } from '../../../modules/platform/scm';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { getCache } from '../../../util/cache/repository';\nimport { parseJson } from '../../../util/common';\nimport { setUserEnv } from '../../../util/env';\nimport { readLocalFile, readSystemFile } from '../../../util/fs';\nimport * as hostRules from '../../../util/host-rules';\nimport * as queue from '../../../util/http/queue';\nimport * as throttle from '../../../util/http/throttle';\nimport { maskToken } from '../../../util/mask';\nimport { regEx } from '../../../util/regex';\nimport { getOnboardingConfig } from '../onboarding/branch/config';\nimport {\n getOnboardingConfigFromCache,\n getOnboardingFileNameFromCache,\n setOnboardingConfigDetails,\n} from '../onboarding/branch/onboarding-branch-cache';\nimport {\n OnboardingState,\n getDefaultConfigFileName,\n} from '../onboarding/common';\nimport type { RepoFileConfig } from './types';\n\nexport async function detectConfigFile(): Promise<string | null> {\n const fileList = await scm.getFileList();\n for (const fileName of getConfigFileNames()) {\n if (fileName === 'package.json') {\n try {\n const pJson = JSON.parse(\n (await readLocalFile('package.json', 'utf8'))!,\n );\n if (pJson.renovate) {\n logger.warn(\n 'Using package.json for Renovate config is deprecated - please use a dedicated configuration file instead',\n );\n return 'package.json';\n }\n } catch {\n // Do nothing\n }\n } else if (fileList.includes(fileName)) {\n return fileName;\n }\n }\n return null;\n}\n\nexport async function detectRepoFileConfig(\n branchName?: string,\n): Promise<RepoFileConfig> {\n const cache = getCache();\n let { configFileName } = cache;\n if (isNonEmptyString(configFileName)) {\n let configFileRaw: string | null;\n try {\n configFileRaw = await platform.getRawFile(\n configFileName,\n undefined,\n branchName,\n );\n } catch (err) {\n // istanbul ignore if\n if (err instanceof ExternalHostError) {\n throw err;\n }\n configFileRaw = null;\n }\n if (configFileRaw) {\n let configFileParsed = parseJson(configFileRaw, configFileName) as any;\n if (configFileName === 'package.json') {\n configFileParsed = configFileParsed.renovate;\n }\n return { configFileName, configFileParsed };\n } else {\n logger.debug('Existing config file no longer exists');\n delete cache.configFileName;\n }\n }\n\n if (OnboardingState.onboardingCacheValid) {\n configFileName = getOnboardingFileNameFromCache();\n } else {\n configFileName = (await detectConfigFile()) ?? undefined;\n }\n\n if (!configFileName) {\n logger.debug('No renovate config file found');\n cache.configFileName = '';\n return {};\n }\n cache.configFileName = configFileName;\n logger.debug(`Found ${configFileName} config file`);\n // TODO #22198\n let configFileParsed: any;\n let configFileRaw: string | undefined | null;\n\n if (OnboardingState.onboardingCacheValid) {\n const cachedConfig = getOnboardingConfigFromCache();\n const parsedConfig = cachedConfig ? JSON.parse(cachedConfig) : undefined;\n if (parsedConfig) {\n setOnboardingConfigDetails(configFileName, JSON.stringify(parsedConfig));\n return { configFileName, configFileParsed: parsedConfig };\n }\n }\n\n if (configFileName === 'package.json') {\n // We already know it parses\n configFileParsed = JSON.parse(\n // TODO #22198\n (await readLocalFile('package.json', 'utf8'))!,\n ).renovate;\n if (isString(configFileParsed)) {\n logger.debug('Massaging string renovate config to extends array');\n configFileParsed = { extends: [configFileParsed] };\n }\n logger.debug({ config: configFileParsed }, 'package.json>renovate config');\n } else {\n configFileRaw = await readLocalFile(configFileName, 'utf8');\n // istanbul ignore if\n if (!isString(configFileRaw)) {\n logger.warn({ configFileName }, 'Null contents when reading config file');\n throw new Error(REPOSITORY_CHANGED);\n }\n // istanbul ignore if\n if (!configFileRaw.length) {\n configFileRaw = '{}';\n }\n\n const parseResult = parseFileConfig(configFileName, configFileRaw);\n\n if (!parseResult.success) {\n return {\n configFileName,\n configFileParseError: {\n validationError: parseResult.validationError,\n validationMessage: parseResult.validationMessage,\n },\n };\n }\n configFileParsed = parseResult.parsedContents;\n logger.debug(\n { fileName: configFileName, config: configFileParsed },\n 'Repository config',\n );\n }\n\n setOnboardingConfigDetails(configFileName, JSON.stringify(configFileParsed));\n return { configFileName, configFileParsed };\n}\n\nexport function checkForRepoConfigError(repoConfig: RepoFileConfig): void {\n if (!repoConfig.configFileParseError) {\n return;\n }\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = repoConfig.configFileName;\n error.validationError = repoConfig.configFileParseError.validationError;\n error.validationMessage = repoConfig.configFileParseError.validationMessage;\n throw error;\n}\n\n// Check for repository config\nexport async function mergeRenovateConfig(\n config: RenovateConfig,\n branchName?: string,\n): Promise<RenovateConfig> {\n let returnConfig = { ...config };\n let repoConfig: RepoFileConfig = {};\n if (config.requireConfig !== 'ignored') {\n repoConfig = await detectRepoFileConfig(branchName);\n }\n if (!repoConfig.configFileParsed && config.mode === 'silent') {\n logger.debug(\n 'When mode=silent and repo has no config file, we use the onboarding config as repo config',\n );\n const configFileName = getDefaultConfigFileName(config);\n repoConfig = {\n configFileName,\n configFileParsed: await getOnboardingConfig(config),\n };\n }\n const configFileParsed = repoConfig?.configFileParsed ?? {};\n const resolvedRepoConfig = await resolveStaticRepoConfig(\n configFileParsed,\n process.env.RENOVATE_X_STATIC_REPO_CONFIG_FILE,\n );\n\n if (isNonEmptyArray(returnConfig.extends)) {\n resolvedRepoConfig.extends = [\n ...returnConfig.extends,\n ...(resolvedRepoConfig.extends ?? []),\n ];\n delete returnConfig.extends;\n }\n checkForRepoConfigError(repoConfig);\n const migratedConfig = await migrateAndValidate(config, resolvedRepoConfig);\n if (migratedConfig.errors?.length) {\n const error = new Error(CONFIG_VALIDATION);\n error.validationSource = repoConfig.configFileName;\n error.validationError =\n 'The renovate configuration file contains some invalid settings';\n error.validationMessage = migratedConfig.errors\n .map((e) => e.message)\n .join(', ');\n throw error;\n }\n if (migratedConfig.warnings) {\n returnConfig.warnings = [\n ...(returnConfig.warnings ?? []),\n ...migratedConfig.warnings,\n ];\n }\n delete migratedConfig.errors;\n delete migratedConfig.warnings;\n // TODO #22198\n const repository = config.repository!;\n // Decrypt before resolving in case we need npm authentication for any presets\n const decryptedConfig = await decryptConfig(migratedConfig, repository);\n setNpmTokenInNpmrc(decryptedConfig);\n // istanbul ignore if\n if (isString(decryptedConfig.npmrc)) {\n logger.debug('Found npmrc in decrypted config - setting');\n npmApi.setNpmrc(decryptedConfig.npmrc);\n }\n // Decrypt after resolving in case the preset contains npm authentication instead\n let resolvedConfig = await decryptConfig(\n await presets.resolveConfigPresets(\n decryptedConfig,\n config,\n config.ignorePresets,\n ),\n repository,\n );\n logger.trace({ config: resolvedConfig }, 'resolved config');\n const migrationResult = migrateConfig(resolvedConfig);\n if (migrationResult.isMigrated) {\n logger.debug('Resolved config needs migrating');\n logger.trace({ config: resolvedConfig }, 'resolved config after migrating');\n resolvedConfig = migrationResult.migratedConfig;\n }\n setNpmTokenInNpmrc(resolvedConfig);\n // istanbul ignore if\n if (isString(resolvedConfig.npmrc)) {\n logger.debug(\n 'Ignoring any .npmrc files in repository due to configured npmrc',\n );\n npmApi.setNpmrc(resolvedConfig.npmrc);\n }\n resolvedConfig = applySecretsAndVariablesToConfig({\n config: resolvedConfig,\n secrets: mergeChildConfig(\n config.secrets ?? {},\n resolvedConfig.secrets ?? {},\n ),\n variables: mergeChildConfig(\n config.variables ?? {},\n resolvedConfig.variables ?? {},\n ),\n });\n\n // istanbul ignore if\n if (resolvedConfig.hostRules) {\n logger.debug('Setting hostRules from config');\n for (const rule of resolvedConfig.hostRules) {\n try {\n hostRules.add(rule);\n } catch (err) {\n logger.warn(\n { err, config: rule },\n 'Error setting hostRule from config',\n );\n }\n }\n // host rules can change concurrency\n queue.clear();\n throttle.clear();\n delete resolvedConfig.hostRules;\n }\n returnConfig = mergeChildConfig(returnConfig, resolvedConfig);\n returnConfig = await presets.resolveConfigPresets(returnConfig, config);\n returnConfig.renovateJsonPresent = true;\n // istanbul ignore if\n if (returnConfig.ignorePaths?.length) {\n logger.debug(\n { ignorePaths: returnConfig.ignorePaths },\n `Found repo ignorePaths`,\n );\n }\n\n setUserEnv(returnConfig.env);\n delete returnConfig.env;\n\n return returnConfig;\n}\n\n/** needed when using portal secrets for npmToken */\nexport function setNpmTokenInNpmrc(config: RenovateConfig): void {\n if (!isString(config.npmToken)) {\n return;\n }\n\n const token = config.npmToken;\n logger.debug({ npmToken: maskToken(token) }, 'Migrating npmToken to npmrc');\n\n if (!isString(config.npmrc)) {\n logger.debug('Adding npmrc to config');\n config.npmrc = `//registry.npmjs.org/:_authToken=${token}\\n`;\n delete config.npmToken;\n return;\n }\n\n if (config.npmrc.includes(`\\${NPM_TOKEN}`)) {\n logger.debug(`Replacing \\${NPM_TOKEN} with npmToken`);\n config.npmrc = config.npmrc.replace(regEx(/\\${NPM_TOKEN}/g), token);\n } else {\n logger.debug('Appending _authToken= to end of existing npmrc');\n config.npmrc = config.npmrc.replace(\n regEx(/\\n?$/),\n `\\n_authToken=${token}\\n`,\n );\n }\n\n delete config.npmToken;\n}\n\nexport async function resolveStaticRepoConfig(\n config: AllConfig,\n filename: string | undefined,\n): Promise<AllConfig> {\n if (!isNonEmptyString(filename)) {\n return config;\n }\n\n let staticRepoConfig: AllConfig;\n\n try {\n staticRepoConfig = await tryReadStaticRepoFileConfig(filename);\n } catch (err) {\n logger.fatal({ err }, 'Failed to load static repository config file');\n process.exit(1);\n }\n\n if (!isNonEmptyObject(staticRepoConfig)) {\n return config;\n }\n\n return mergeStaticConfig(config, staticRepoConfig);\n}\n\nexport async function tryReadStaticRepoFileConfig(\n staticRepoConfigFile: string,\n): Promise<AllConfig> {\n logger.debug(`Reading static repo config file from ${staticRepoConfigFile}`);\n\n let staticRepoConfigRaw: string;\n try {\n staticRepoConfigRaw = await readSystemFile(staticRepoConfigFile, 'utf8');\n } catch (err) {\n throw new Error(\n `Failed to read static repo config file: \"${staticRepoConfigFile}\"`,\n { cause: err },\n );\n }\n\n const staticRepoConfig = parseJson(\n staticRepoConfigRaw,\n staticRepoConfigFile,\n ) as AllConfig;\n\n // validate and log issues here to preserve context, caller handles migration and full validation.\n const { errors, warnings } = await configValidation.validateConfig(\n 'repo',\n staticRepoConfig,\n );\n\n if (isNonEmptyArray(errors) || isNonEmptyArray(warnings)) {\n logger.info(\n { errors, warnings },\n 'Static repo config validation issues detected',\n );\n } else {\n logger.debug(\n { staticRepoConfig },\n 'Static repository config file successfully parsed and validated',\n );\n }\n\n return staticRepoConfig;\n}\n\nexport function mergeStaticConfig(\n config: AllConfig,\n staticRepoConfig: AllConfig,\n): AllConfig {\n // merge extends\n if (isNonEmptyArray(staticRepoConfig.extends)) {\n config.extends = [...staticRepoConfig.extends, ...(config.extends ?? [])];\n delete staticRepoConfig.extends;\n }\n\n // renovate repo config overrides RENOVATE_STATIC_REPO_CONFIG[_FILE]\n return mergeChildConfig(staticRepoConfig, config);\n}\n"]}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CommitMessage = 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
  /**
7
6
  * @see https://git-scm.com/docs/git-commit#_discussion
8
7
  *
@@ -38,7 +37,7 @@ class CommitMessage {
38
37
  this._body,
39
38
  this._footer,
40
39
  ];
41
- return parts.filter(is_1.default.nonEmptyStringAndNotWhitespace).join('\n\n');
40
+ return parts.filter(is_1.isNonEmptyStringAndNotWhitespace).join('\n\n');
42
41
  }
43
42
  get title() {
44
43
  return [CommitMessage.formatPrefix(this.prefix), this.formatSubject()]
@@ -1 +1 @@
1
- {"version":3,"file":"commit-message.js","sourceRoot":"","sources":["../../../../lib/workers/repository/model/commit-message.ts"],"names":[],"mappings":";;;;AAAA,kEAAkC;AAGlC;;;;;;GAMG;AACH,MAAsB,aAAa;IACzB,MAAM,CAAU,SAAS,GAAW,GAAG,CAAC;IACxC,MAAM,CAAU,iBAAiB,GAAG,MAAM,CAAC;IAE3C,KAAK,GAAG,EAAE,CAAC;IACX,OAAO,GAAG,EAAE,CAAC;IACb,QAAQ,GAAG,EAAE,CAAC;IAEtB,MAAM,CAAC,YAAY,CAAC,MAAc;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,GAAG,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,OAAO,EAAE,IAAI,CAAC,QAAQ;SACvB,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,MAAM,KAAK,GAAoC;YAC7C,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,OAAO;SACb,CAAC;QAEF,OAAO,KAAK,CAAC,MAAM,CAAC,YAAE,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,KAAK;QACP,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;aACnE,IAAI,CAAC,GAAG,CAAC;aACT,IAAI,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,IAAI,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,MAAM,CAAC,KAAa;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,OAAO,CAAC,KAAa;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CACpC,aAAa,CAAC,iBAAiB,EAC/B,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC;IAIS,cAAc,CAAC,KAAgC;QACvD,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;;AA5EH,sCA6EC","sourcesContent":["import is from '@sindresorhus/is';\nimport type { CommitMessageJSON } from '../../../types';\n\n/**\n * @see https://git-scm.com/docs/git-commit#_discussion\n *\n * [optional prefix]: <suject>\n * [optional body]\n * [optional footer]\n */\nexport abstract class CommitMessage {\n private static readonly SEPARATOR: string = ':';\n private static readonly EXTRA_WHITESPACES = /\\s+/g;\n\n private _body = '';\n private _footer = '';\n private _subject = '';\n\n static formatPrefix(prefix: string): string {\n if (!prefix) {\n return '';\n }\n\n if (prefix.endsWith(CommitMessage.SEPARATOR)) {\n return prefix;\n }\n\n return `${prefix}${CommitMessage.SEPARATOR}`;\n }\n\n toJSON(): CommitMessageJSON {\n return {\n body: this._body,\n footer: this._footer,\n subject: this._subject,\n };\n }\n\n toString(): string {\n const parts: readonly (string | undefined)[] = [\n this.title,\n this._body,\n this._footer,\n ];\n\n return parts.filter(is.nonEmptyStringAndNotWhitespace).join('\\n\\n');\n }\n\n get title(): string {\n return [CommitMessage.formatPrefix(this.prefix), this.formatSubject()]\n .join(' ')\n .trim();\n }\n\n set body(value: string) {\n this._body = this.normalizeInput(value);\n }\n\n set footer(value: string) {\n this._footer = this.normalizeInput(value);\n }\n\n set subject(value: string) {\n this._subject = this.normalizeInput(value);\n this._subject = this._subject?.replace(\n CommitMessage.EXTRA_WHITESPACES,\n ' ',\n );\n }\n\n formatSubject(): string {\n if (!this._subject) {\n return '';\n }\n\n if (this.prefix) {\n return this._subject.charAt(0).toLowerCase() + this._subject.slice(1);\n }\n\n return this._subject.charAt(0).toUpperCase() + this._subject.slice(1);\n }\n\n protected abstract get prefix(): string;\n\n protected normalizeInput(value: string | null | undefined): string {\n return value?.trim() ?? '';\n }\n}\n"]}
1
+ {"version":3,"file":"commit-message.js","sourceRoot":"","sources":["../../../../lib/workers/repository/model/commit-message.ts"],"names":[],"mappings":";;;AAAA,yCAAoE;AAGpE;;;;;;GAMG;AACH,MAAsB,aAAa;IACzB,MAAM,CAAU,SAAS,GAAW,GAAG,CAAC;IACxC,MAAM,CAAU,iBAAiB,GAAG,MAAM,CAAC;IAE3C,KAAK,GAAG,EAAE,CAAC;IACX,OAAO,GAAG,EAAE,CAAC;IACb,QAAQ,GAAG,EAAE,CAAC;IAEtB,MAAM,CAAC,YAAY,CAAC,MAAc;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,GAAG,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,OAAO,EAAE,IAAI,CAAC,QAAQ;SACvB,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,MAAM,KAAK,GAAoC;YAC7C,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,OAAO;SACb,CAAC;QAEF,OAAO,KAAK,CAAC,MAAM,CAAC,qCAAgC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,KAAK;QACP,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;aACnE,IAAI,CAAC,GAAG,CAAC;aACT,IAAI,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,IAAI,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,MAAM,CAAC,KAAa;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,OAAO,CAAC,KAAa;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CACpC,aAAa,CAAC,iBAAiB,EAC/B,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC;IAIS,cAAc,CAAC,KAAgC;QACvD,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;;AA5EH,sCA6EC","sourcesContent":["import { isNonEmptyStringAndNotWhitespace } from '@sindresorhus/is';\nimport type { CommitMessageJSON } from '../../../types';\n\n/**\n * @see https://git-scm.com/docs/git-commit#_discussion\n *\n * [optional prefix]: <suject>\n * [optional body]\n * [optional footer]\n */\nexport abstract class CommitMessage {\n private static readonly SEPARATOR: string = ':';\n private static readonly EXTRA_WHITESPACES = /\\s+/g;\n\n private _body = '';\n private _footer = '';\n private _subject = '';\n\n static formatPrefix(prefix: string): string {\n if (!prefix) {\n return '';\n }\n\n if (prefix.endsWith(CommitMessage.SEPARATOR)) {\n return prefix;\n }\n\n return `${prefix}${CommitMessage.SEPARATOR}`;\n }\n\n toJSON(): CommitMessageJSON {\n return {\n body: this._body,\n footer: this._footer,\n subject: this._subject,\n };\n }\n\n toString(): string {\n const parts: readonly (string | undefined)[] = [\n this.title,\n this._body,\n this._footer,\n ];\n\n return parts.filter(isNonEmptyStringAndNotWhitespace).join('\\n\\n');\n }\n\n get title(): string {\n return [CommitMessage.formatPrefix(this.prefix), this.formatSubject()]\n .join(' ')\n .trim();\n }\n\n set body(value: string) {\n this._body = this.normalizeInput(value);\n }\n\n set footer(value: string) {\n this._footer = this.normalizeInput(value);\n }\n\n set subject(value: string) {\n this._subject = this.normalizeInput(value);\n this._subject = this._subject?.replace(\n CommitMessage.EXTRA_WHITESPACES,\n ' ',\n );\n }\n\n formatSubject(): string {\n if (!this._subject) {\n return '';\n }\n\n if (this.prefix) {\n return this._subject.charAt(0).toLowerCase() + this._subject.slice(1);\n }\n\n return this._subject.charAt(0).toUpperCase() + this._subject.slice(1);\n }\n\n protected abstract get prefix(): string;\n\n protected normalizeInput(value: string | null | undefined): string {\n return value?.trim() ?? '';\n }\n}\n"]}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.checkOnboardingBranch = checkOnboardingBranch;
4
- const tslib_1 = require("tslib");
5
- const is_1 = tslib_1.__importStar(require("@sindresorhus/is"));
4
+ const is_1 = require("@sindresorhus/is");
6
5
  const config_1 = require("../../../../config");
7
6
  const global_1 = require("../../../../config/global");
8
7
  const error_messages_1 = require("../../../../constants/error-messages");
@@ -112,7 +111,7 @@ function handleOnboardingManualRebase(onboardingPr) {
112
111
  logger_1.logger.trace(`Platform '${pl}' does not support extended markdown`);
113
112
  common_1.OnboardingState.prUpdateRequested = true;
114
113
  }
115
- else if (is_1.default.nullOrUndefined(rebaseRequested)) {
114
+ else if ((0, is_1.isNullOrUndefined)(rebaseRequested)) {
116
115
  logger_1.logger.debug('No rebase checkbox was found in the onboarding PR');
117
116
  common_1.OnboardingState.prUpdateRequested = true;
118
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/workers/repository/onboarding/branch/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is, { isNonEmptyObject } from '@sindresorhus/is';\nimport { mergeChildConfig } from '../../../../config';\nimport { GlobalConfig } from '../../../../config/global';\nimport type { RenovateConfig } from '../../../../config/types';\nimport { REPOSITORY_NO_PACKAGE_FILES } from '../../../../constants/error-messages';\nimport { logger } from '../../../../logger';\nimport { type Pr, platform } from '../../../../modules/platform';\nimport { scm } from '../../../../modules/platform/scm';\nimport { getCache } from '../../../../util/cache/repository';\nimport { getBranchCommit, setGitAuthor } from '../../../../util/git';\nimport { checkIfConfigured } from '../../configured';\nimport { extractAllDependencies } from '../../extract';\nimport { mergeRenovateConfig } from '../../init/merge';\nimport { OnboardingState } from '../common';\nimport { getOnboardingPr, isOnboarded } from './check';\nimport { getOnboardingConfig } from './config';\nimport { createOnboardingBranch } from './create';\nimport {\n deleteOnboardingCache,\n hasOnboardingBranchChanged,\n isOnboardingBranchConflicted,\n isOnboardingBranchModified,\n setOnboardingCache,\n} from './onboarding-branch-cache';\nimport { rebaseOnboardingBranch } from './rebase';\n\nexport async function checkOnboardingBranch(\n config: RenovateConfig,\n): Promise<RenovateConfig> {\n logger.debug('checkOnboarding()');\n logger.trace({ config });\n let onboardingBranch = config.onboardingBranch;\n const defaultBranch = config.defaultBranch!;\n let isConflicted = false;\n let isModified = false;\n const repoIsOnboarded = await isOnboarded(config);\n if (repoIsOnboarded) {\n logger.debug('Repo is onboarded');\n\n // delete onboarding cache\n deleteOnboardingCache();\n return { ...config, repoIsOnboarded };\n }\n checkIfConfigured(config);\n\n logger.debug('Repo is not onboarded');\n // global gitAuthor will need to be used\n setGitAuthor(config.gitAuthor);\n const onboardingPr = await getOnboardingPr(config);\n // TODO #22198\n const branchList = [onboardingBranch!];\n if (onboardingPr) {\n logger.debug('Onboarding PR already exists');\n\n isModified = await isOnboardingBranchModified(\n config.onboardingBranch!,\n defaultBranch,\n );\n // if onboarding branch is not modified, check if onboarding config has been changed and rebase if true\n if (!isModified) {\n const commit = await rebaseOnboardingBranch(\n config,\n onboardingPr.bodyStruct?.rawConfigHash,\n );\n if (commit) {\n logger.info(\n { branch: config.onboardingBranch, commit, onboarding: true },\n 'Branch updated',\n );\n }\n // istanbul ignore if\n if (platform.refreshPr) {\n await platform.refreshPr(onboardingPr.number);\n }\n }\n if (config.onboardingRebaseCheckbox) {\n handleOnboardingManualRebase(onboardingPr);\n }\n\n if (\n isConfigHashPresent(onboardingPr) && // needed so that existing onboarding PRs are updated with config hash comment\n isOnboardingCacheValid(defaultBranch, config.onboardingBranch!) &&\n !(config.onboardingRebaseCheckbox && OnboardingState.prUpdateRequested)\n ) {\n logger.debug(\n 'Skip processing since the onboarding branch is up to date and default branch has not changed',\n );\n OnboardingState.onboardingCacheValid = true;\n return { ...config, repoIsOnboarded, onboardingBranch, branchList };\n }\n OnboardingState.onboardingCacheValid = false;\n if (isModified) {\n if (hasOnboardingBranchChanged(config.onboardingBranch!)) {\n invalidateExtractCache(config.baseBranch!);\n }\n isConflicted = await isOnboardingBranchConflicted(\n config.baseBranch!,\n config.onboardingBranch!,\n );\n }\n } else {\n logger.debug('Onboarding PR does not exist');\n const onboardingConfig = await getOnboardingConfig(config);\n let mergedConfig = mergeChildConfig(config, onboardingConfig);\n mergedConfig = await mergeRenovateConfig(mergedConfig);\n onboardingBranch = mergedConfig.onboardingBranch;\n\n if (\n Object.entries((await extractAllDependencies(mergedConfig)).packageFiles)\n .length === 0\n ) {\n if (config.onboardingNoDeps !== 'enabled') {\n throw new Error(REPOSITORY_NO_PACKAGE_FILES);\n }\n }\n logger.debug('Need to create onboarding PR');\n if (config.onboardingRebaseCheckbox) {\n OnboardingState.prUpdateRequested = true;\n }\n const commit = await createOnboardingBranch(mergedConfig);\n // istanbul ignore if\n if (commit) {\n logger.info(\n { branch: onboardingBranch, commit, onboarding: true },\n 'Branch created',\n );\n }\n }\n if (!GlobalConfig.get('dryRun')) {\n // TODO #22198\n if (!isConflicted) {\n logger.debug('Merge onboarding branch in default branch');\n await scm.mergeToLocal(onboardingBranch!);\n }\n }\n setOnboardingCache(\n getBranchCommit(config.defaultBranch!)!,\n getBranchCommit(onboardingBranch!)!,\n isConflicted,\n isModified,\n );\n\n return { ...config, repoIsOnboarded, onboardingBranch, branchList };\n}\n\nfunction handleOnboardingManualRebase(onboardingPr: Pr): void {\n const pl = GlobalConfig.get('platform')!;\n const { rebaseRequested } = onboardingPr.bodyStruct ?? {};\n if (!['github', 'gitlab', 'gitea'].includes(pl)) {\n logger.trace(`Platform '${pl}' does not support extended markdown`);\n OnboardingState.prUpdateRequested = true;\n } else if (is.nullOrUndefined(rebaseRequested)) {\n logger.debug('No rebase checkbox was found in the onboarding PR');\n OnboardingState.prUpdateRequested = true;\n } else if (rebaseRequested) {\n logger.debug('Manual onboarding PR update requested');\n OnboardingState.prUpdateRequested = true;\n }\n}\n\nfunction invalidateExtractCache(baseBranch: string): void {\n const cache = getCache();\n cache.scan ??= {};\n\n if (cache.scan?.[baseBranch]) {\n delete cache.scan[baseBranch];\n }\n}\n\nfunction isOnboardingCacheValid(\n defaultBranch: string,\n onboardingBranch: string,\n): boolean {\n const cache = getCache();\n const onboardingBranchCache = cache?.onboardingBranchCache;\n return !!(\n isNonEmptyObject(onboardingBranchCache) &&\n onboardingBranchCache.defaultBranchSha === getBranchCommit(defaultBranch) &&\n onboardingBranchCache.onboardingBranchSha ===\n getBranchCommit(onboardingBranch) &&\n onboardingBranchCache.configFileName &&\n onboardingBranchCache.configFileParsed\n );\n}\n\nfunction isConfigHashPresent(pr: Pr): boolean {\n const platform = GlobalConfig.get('platform')!;\n // if platform does not support html comments return true\n if (!['github', 'gitlab', 'gitea'].includes(platform)) {\n return true;\n }\n\n return !!pr.bodyStruct?.rawConfigHash;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/workers/repository/onboarding/branch/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNonEmptyObject, isNullOrUndefined } from '@sindresorhus/is';\nimport { mergeChildConfig } from '../../../../config';\nimport { GlobalConfig } from '../../../../config/global';\nimport type { RenovateConfig } from '../../../../config/types';\nimport { REPOSITORY_NO_PACKAGE_FILES } from '../../../../constants/error-messages';\nimport { logger } from '../../../../logger';\nimport { type Pr, platform } from '../../../../modules/platform';\nimport { scm } from '../../../../modules/platform/scm';\nimport { getCache } from '../../../../util/cache/repository';\nimport { getBranchCommit, setGitAuthor } from '../../../../util/git';\nimport { checkIfConfigured } from '../../configured';\nimport { extractAllDependencies } from '../../extract';\nimport { mergeRenovateConfig } from '../../init/merge';\nimport { OnboardingState } from '../common';\nimport { getOnboardingPr, isOnboarded } from './check';\nimport { getOnboardingConfig } from './config';\nimport { createOnboardingBranch } from './create';\nimport {\n deleteOnboardingCache,\n hasOnboardingBranchChanged,\n isOnboardingBranchConflicted,\n isOnboardingBranchModified,\n setOnboardingCache,\n} from './onboarding-branch-cache';\nimport { rebaseOnboardingBranch } from './rebase';\n\nexport async function checkOnboardingBranch(\n config: RenovateConfig,\n): Promise<RenovateConfig> {\n logger.debug('checkOnboarding()');\n logger.trace({ config });\n let onboardingBranch = config.onboardingBranch;\n const defaultBranch = config.defaultBranch!;\n let isConflicted = false;\n let isModified = false;\n const repoIsOnboarded = await isOnboarded(config);\n if (repoIsOnboarded) {\n logger.debug('Repo is onboarded');\n\n // delete onboarding cache\n deleteOnboardingCache();\n return { ...config, repoIsOnboarded };\n }\n checkIfConfigured(config);\n\n logger.debug('Repo is not onboarded');\n // global gitAuthor will need to be used\n setGitAuthor(config.gitAuthor);\n const onboardingPr = await getOnboardingPr(config);\n // TODO #22198\n const branchList = [onboardingBranch!];\n if (onboardingPr) {\n logger.debug('Onboarding PR already exists');\n\n isModified = await isOnboardingBranchModified(\n config.onboardingBranch!,\n defaultBranch,\n );\n // if onboarding branch is not modified, check if onboarding config has been changed and rebase if true\n if (!isModified) {\n const commit = await rebaseOnboardingBranch(\n config,\n onboardingPr.bodyStruct?.rawConfigHash,\n );\n if (commit) {\n logger.info(\n { branch: config.onboardingBranch, commit, onboarding: true },\n 'Branch updated',\n );\n }\n // istanbul ignore if\n if (platform.refreshPr) {\n await platform.refreshPr(onboardingPr.number);\n }\n }\n if (config.onboardingRebaseCheckbox) {\n handleOnboardingManualRebase(onboardingPr);\n }\n\n if (\n isConfigHashPresent(onboardingPr) && // needed so that existing onboarding PRs are updated with config hash comment\n isOnboardingCacheValid(defaultBranch, config.onboardingBranch!) &&\n !(config.onboardingRebaseCheckbox && OnboardingState.prUpdateRequested)\n ) {\n logger.debug(\n 'Skip processing since the onboarding branch is up to date and default branch has not changed',\n );\n OnboardingState.onboardingCacheValid = true;\n return { ...config, repoIsOnboarded, onboardingBranch, branchList };\n }\n OnboardingState.onboardingCacheValid = false;\n if (isModified) {\n if (hasOnboardingBranchChanged(config.onboardingBranch!)) {\n invalidateExtractCache(config.baseBranch!);\n }\n isConflicted = await isOnboardingBranchConflicted(\n config.baseBranch!,\n config.onboardingBranch!,\n );\n }\n } else {\n logger.debug('Onboarding PR does not exist');\n const onboardingConfig = await getOnboardingConfig(config);\n let mergedConfig = mergeChildConfig(config, onboardingConfig);\n mergedConfig = await mergeRenovateConfig(mergedConfig);\n onboardingBranch = mergedConfig.onboardingBranch;\n\n if (\n Object.entries((await extractAllDependencies(mergedConfig)).packageFiles)\n .length === 0\n ) {\n if (config.onboardingNoDeps !== 'enabled') {\n throw new Error(REPOSITORY_NO_PACKAGE_FILES);\n }\n }\n logger.debug('Need to create onboarding PR');\n if (config.onboardingRebaseCheckbox) {\n OnboardingState.prUpdateRequested = true;\n }\n const commit = await createOnboardingBranch(mergedConfig);\n // istanbul ignore if\n if (commit) {\n logger.info(\n { branch: onboardingBranch, commit, onboarding: true },\n 'Branch created',\n );\n }\n }\n if (!GlobalConfig.get('dryRun')) {\n // TODO #22198\n if (!isConflicted) {\n logger.debug('Merge onboarding branch in default branch');\n await scm.mergeToLocal(onboardingBranch!);\n }\n }\n setOnboardingCache(\n getBranchCommit(config.defaultBranch!)!,\n getBranchCommit(onboardingBranch!)!,\n isConflicted,\n isModified,\n );\n\n return { ...config, repoIsOnboarded, onboardingBranch, branchList };\n}\n\nfunction handleOnboardingManualRebase(onboardingPr: Pr): void {\n const pl = GlobalConfig.get('platform')!;\n const { rebaseRequested } = onboardingPr.bodyStruct ?? {};\n if (!['github', 'gitlab', 'gitea'].includes(pl)) {\n logger.trace(`Platform '${pl}' does not support extended markdown`);\n OnboardingState.prUpdateRequested = true;\n } else if (isNullOrUndefined(rebaseRequested)) {\n logger.debug('No rebase checkbox was found in the onboarding PR');\n OnboardingState.prUpdateRequested = true;\n } else if (rebaseRequested) {\n logger.debug('Manual onboarding PR update requested');\n OnboardingState.prUpdateRequested = true;\n }\n}\n\nfunction invalidateExtractCache(baseBranch: string): void {\n const cache = getCache();\n cache.scan ??= {};\n\n if (cache.scan?.[baseBranch]) {\n delete cache.scan[baseBranch];\n }\n}\n\nfunction isOnboardingCacheValid(\n defaultBranch: string,\n onboardingBranch: string,\n): boolean {\n const cache = getCache();\n const onboardingBranchCache = cache?.onboardingBranchCache;\n return !!(\n isNonEmptyObject(onboardingBranchCache) &&\n onboardingBranchCache.defaultBranchSha === getBranchCommit(defaultBranch) &&\n onboardingBranchCache.onboardingBranchSha ===\n getBranchCommit(onboardingBranch) &&\n onboardingBranchCache.configFileName &&\n onboardingBranchCache.configFileParsed\n );\n}\n\nfunction isConfigHashPresent(pr: Pr): boolean {\n const platform = GlobalConfig.get('platform')!;\n // if platform does not support html comments return true\n if (!['github', 'gitlab', 'gitea'].includes(platform)) {\n return true;\n }\n\n return !!pr.bodyStruct?.rawConfigHash;\n}\n"]}
@@ -8,16 +8,15 @@ exports.getOnboardingFileNameFromCache = getOnboardingFileNameFromCache;
8
8
  exports.getOnboardingConfigFromCache = getOnboardingConfigFromCache;
9
9
  exports.setOnboardingConfigDetails = setOnboardingConfigDetails;
10
10
  exports.isOnboardingBranchConflicted = isOnboardingBranchConflicted;
11
- const tslib_1 = require("tslib");
12
- const is_1 = tslib_1.__importStar(require("@sindresorhus/is"));
11
+ const is_1 = require("@sindresorhus/is");
13
12
  const logger_1 = require("../../../../logger");
14
13
  const scm_1 = require("../../../../modules/platform/scm");
15
14
  const repository_1 = require("../../../../util/cache/repository");
16
15
  const git_1 = require("../../../../util/git");
17
16
  function setOnboardingCache(defaultBranchSha, onboardingBranchSha, isConflicted, isModified) {
18
17
  // do not update cache if commit is null/undefined
19
- if (!(is_1.default.nonEmptyString(defaultBranchSha) &&
20
- is_1.default.nonEmptyString(onboardingBranchSha))) {
18
+ if (!((0, is_1.isNonEmptyString)(defaultBranchSha) &&
19
+ (0, is_1.isNonEmptyString)(onboardingBranchSha))) {
21
20
  logger_1.logger.debug('Onboarding cache not updated');
22
21
  return;
23
22
  }
@@ -62,7 +61,7 @@ async function isOnboardingBranchModified(onboardingBranch, defaultBranch) {
62
61
  let isModified = false;
63
62
  if ((0, is_1.isNonEmptyObject)(onboardingCache) &&
64
63
  onboardingSha === onboardingCache.onboardingBranchSha &&
65
- !is_1.default.undefined(onboardingCache.isModified)) {
64
+ !(0, is_1.isUndefined)(onboardingCache.isModified)) {
66
65
  return onboardingCache.isModified;
67
66
  }
68
67
  else {
@@ -94,7 +93,7 @@ async function isOnboardingBranchConflicted(defaultBranch, onboardingBranch) {
94
93
  if ((0, is_1.isNonEmptyObject)(onboardingCache) &&
95
94
  defaultBranchSha === onboardingCache.defaultBranchSha &&
96
95
  onboardingSha === onboardingCache.onboardingBranchSha &&
97
- !is_1.default.undefined(onboardingCache.isConflicted)) {
96
+ !(0, is_1.isUndefined)(onboardingCache.isConflicted)) {
98
97
  return onboardingCache.isConflicted;
99
98
  }
100
99
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding-branch-cache.js","sourceRoot":"","sources":["../../../../../lib/workers/repository/onboarding/branch/onboarding-branch-cache.ts"],"names":[],"mappings":"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","sourcesContent":["import is, { isNonEmptyObject } from '@sindresorhus/is';\nimport { logger } from '../../../../logger';\nimport { scm } from '../../../../modules/platform/scm';\nimport { getCache } from '../../../../util/cache/repository';\nimport { getBranchCommit } from '../../../../util/git';\n\nexport function setOnboardingCache(\n defaultBranchSha: string,\n onboardingBranchSha: string,\n isConflicted: boolean,\n isModified: boolean,\n): void {\n // do not update cache if commit is null/undefined\n if (\n !(\n is.nonEmptyString(defaultBranchSha) &&\n is.nonEmptyString(onboardingBranchSha)\n )\n ) {\n logger.debug('Onboarding cache not updated');\n return;\n }\n\n const cache = getCache();\n const onboardingCache = {\n defaultBranchSha,\n onboardingBranchSha,\n isConflicted,\n isModified,\n };\n if (cache.onboardingBranchCache) {\n logger.debug({ onboardingCache }, 'Update Onboarding Cache');\n } else {\n logger.debug({ onboardingCache }, 'Create Onboarding Cache');\n }\n cache.onboardingBranchCache = onboardingCache;\n}\n\nexport function deleteOnboardingCache(): void {\n const cache = getCache();\n\n if (cache?.onboardingBranchCache) {\n logger.debug('Delete Onboarding Cache');\n delete cache.onboardingBranchCache;\n }\n}\n\n// checks if onboarding branch has been modified since last run\n// return true if cache isn't present\nexport function hasOnboardingBranchChanged(onboardingBranch: string): boolean {\n const cache = getCache();\n const onboardingSha = getBranchCommit(onboardingBranch);\n\n if (cache.onboardingBranchCache) {\n return onboardingSha !== cache.onboardingBranchCache.onboardingBranchSha;\n }\n return true;\n}\n\n// checks if onboarding branch has been modified by user\n// once set to true it stays true as we do not rebase onboarding branches anymore (this feature will be added in future though)\nexport async function isOnboardingBranchModified(\n onboardingBranch: string,\n defaultBranch: string,\n): Promise<boolean> {\n const cache = getCache();\n const onboardingCache = cache.onboardingBranchCache;\n const onboardingSha = getBranchCommit(onboardingBranch);\n let isModified = false;\n\n if (\n isNonEmptyObject(onboardingCache) &&\n onboardingSha === onboardingCache.onboardingBranchSha &&\n !is.undefined(onboardingCache.isModified)\n ) {\n return onboardingCache.isModified;\n } else {\n isModified = await scm.isBranchModified(onboardingBranch, defaultBranch);\n }\n\n return isModified;\n}\n\nexport function getOnboardingFileNameFromCache(): string | undefined {\n const cache = getCache();\n return cache.onboardingBranchCache?.configFileName;\n}\n\nexport function getOnboardingConfigFromCache(): string | undefined {\n const cache = getCache();\n return cache.onboardingBranchCache?.configFileParsed;\n}\n\nexport function setOnboardingConfigDetails(\n configFileName: string,\n configFileParsed: string,\n): void {\n const cache = getCache();\n if (cache.onboardingBranchCache) {\n cache.onboardingBranchCache.configFileName = configFileName;\n cache.onboardingBranchCache.configFileParsed = configFileParsed;\n }\n}\n\nexport async function isOnboardingBranchConflicted(\n defaultBranch: string,\n onboardingBranch: string,\n): Promise<boolean> {\n const cache = getCache();\n const onboardingCache = cache.onboardingBranchCache;\n const onboardingSha = getBranchCommit(onboardingBranch);\n const defaultBranchSha = getBranchCommit(defaultBranch);\n let isConflicted = false;\n\n if (\n isNonEmptyObject(onboardingCache) &&\n defaultBranchSha === onboardingCache.defaultBranchSha &&\n onboardingSha === onboardingCache.onboardingBranchSha &&\n !is.undefined(onboardingCache.isConflicted)\n ) {\n return onboardingCache.isConflicted;\n } else {\n isConflicted = await scm.isBranchConflicted(\n defaultBranch,\n onboardingBranch,\n );\n }\n\n return isConflicted;\n}\n"]}
1
+ {"version":3,"file":"onboarding-branch-cache.js","sourceRoot":"","sources":["../../../../../lib/workers/repository/onboarding/branch/onboarding-branch-cache.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n isNonEmptyObject,\n isNonEmptyString,\n isUndefined,\n} from '@sindresorhus/is';\nimport { logger } from '../../../../logger';\nimport { scm } from '../../../../modules/platform/scm';\nimport { getCache } from '../../../../util/cache/repository';\nimport { getBranchCommit } from '../../../../util/git';\n\nexport function setOnboardingCache(\n defaultBranchSha: string,\n onboardingBranchSha: string,\n isConflicted: boolean,\n isModified: boolean,\n): void {\n // do not update cache if commit is null/undefined\n if (\n !(\n isNonEmptyString(defaultBranchSha) &&\n isNonEmptyString(onboardingBranchSha)\n )\n ) {\n logger.debug('Onboarding cache not updated');\n return;\n }\n\n const cache = getCache();\n const onboardingCache = {\n defaultBranchSha,\n onboardingBranchSha,\n isConflicted,\n isModified,\n };\n if (cache.onboardingBranchCache) {\n logger.debug({ onboardingCache }, 'Update Onboarding Cache');\n } else {\n logger.debug({ onboardingCache }, 'Create Onboarding Cache');\n }\n cache.onboardingBranchCache = onboardingCache;\n}\n\nexport function deleteOnboardingCache(): void {\n const cache = getCache();\n\n if (cache?.onboardingBranchCache) {\n logger.debug('Delete Onboarding Cache');\n delete cache.onboardingBranchCache;\n }\n}\n\n// checks if onboarding branch has been modified since last run\n// return true if cache isn't present\nexport function hasOnboardingBranchChanged(onboardingBranch: string): boolean {\n const cache = getCache();\n const onboardingSha = getBranchCommit(onboardingBranch);\n\n if (cache.onboardingBranchCache) {\n return onboardingSha !== cache.onboardingBranchCache.onboardingBranchSha;\n }\n return true;\n}\n\n// checks if onboarding branch has been modified by user\n// once set to true it stays true as we do not rebase onboarding branches anymore (this feature will be added in future though)\nexport async function isOnboardingBranchModified(\n onboardingBranch: string,\n defaultBranch: string,\n): Promise<boolean> {\n const cache = getCache();\n const onboardingCache = cache.onboardingBranchCache;\n const onboardingSha = getBranchCommit(onboardingBranch);\n let isModified = false;\n\n if (\n isNonEmptyObject(onboardingCache) &&\n onboardingSha === onboardingCache.onboardingBranchSha &&\n !isUndefined(onboardingCache.isModified)\n ) {\n return onboardingCache.isModified;\n } else {\n isModified = await scm.isBranchModified(onboardingBranch, defaultBranch);\n }\n\n return isModified;\n}\n\nexport function getOnboardingFileNameFromCache(): string | undefined {\n const cache = getCache();\n return cache.onboardingBranchCache?.configFileName;\n}\n\nexport function getOnboardingConfigFromCache(): string | undefined {\n const cache = getCache();\n return cache.onboardingBranchCache?.configFileParsed;\n}\n\nexport function setOnboardingConfigDetails(\n configFileName: string,\n configFileParsed: string,\n): void {\n const cache = getCache();\n if (cache.onboardingBranchCache) {\n cache.onboardingBranchCache.configFileName = configFileName;\n cache.onboardingBranchCache.configFileParsed = configFileParsed;\n }\n}\n\nexport async function isOnboardingBranchConflicted(\n defaultBranch: string,\n onboardingBranch: string,\n): Promise<boolean> {\n const cache = getCache();\n const onboardingCache = cache.onboardingBranchCache;\n const onboardingSha = getBranchCommit(onboardingBranch);\n const defaultBranchSha = getBranchCommit(defaultBranch);\n let isConflicted = false;\n\n if (\n isNonEmptyObject(onboardingCache) &&\n defaultBranchSha === onboardingCache.defaultBranchSha &&\n onboardingSha === onboardingCache.onboardingBranchSha &&\n !isUndefined(onboardingCache.isConflicted)\n ) {\n return onboardingCache.isConflicted;\n } else {\n isConflicted = await scm.isBranchConflicted(\n defaultBranch,\n onboardingBranch,\n );\n }\n\n return isConflicted;\n}\n"]}
@@ -2,8 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getScheduleDesc = getScheduleDesc;
4
4
  exports.getConfigDesc = getConfigDesc;
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 logger_1 = require("../../../../logger");
8
7
  const emoji_1 = require("../../../../util/emoji");
9
8
  const common_1 = require("../common");
@@ -22,9 +21,7 @@ function getScheduleDesc(config) {
22
21
  function getDescriptionArray(config) {
23
22
  logger_1.logger.debug('getDescriptionArray()');
24
23
  logger_1.logger.trace({ config });
25
- const desc = is_1.default.array(config.description, is_1.default.string)
26
- ? config.description
27
- : [];
24
+ const desc = (0, is_1.isArray)(config.description, is_1.isString) ? config.description : [];
28
25
  return desc.concat(getScheduleDesc(config));
29
26
  }
30
27
  function getConfigDesc(config, packageFiles) {
@@ -1 +1 @@
1
- {"version":3,"file":"config-description.js","sourceRoot":"","sources":["../../../../../lib/workers/repository/onboarding/pr/config-description.ts"],"names":[],"mappings":";;AAOA,0CAaC;AAWD,sCA8BC;;AA7DD,kEAAkC;AAElC,+CAA4C;AAE5C,kDAAiD;AACjD,sCAAqD;AAErD,SAAgB,eAAe,CAAC,MAAsB;IACpD,eAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAClC,eAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACzB,IACE,CAAC,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,QAAkB,KAAK,aAAa;QAC5C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,aAAa,EACpC,CAAC;QACD,eAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,GAAG,uCAAuC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC9E,OAAO,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAsB;IACjD,eAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACtC,eAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,YAAE,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,YAAE,CAAC,MAAM,CAAC;QAClD,CAAC,CAAC,MAAM,CAAC,WAAW;QACpB,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAgB,aAAa,CAC3B,MAAsB,EACtB,YAA4C;IAE5C,sBAAsB;IACtB,MAAM,UAAU,GAAG,IAAA,iCAAwB,EAAC,MAAM,CAAC,CAAC;IACpD,eAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAChC,eAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACzB,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QAC3B,eAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC5C,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,eAAM,CAAC,KAAK,CAAC,uCAAuC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,IAAI,IAAI,GAAG,0FAA0F,CAAC;IACtG,IAAI,IAAI,uEAAuE,CAAC;IAChF,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IACvB,CAAC,CAAC,CAAC;IACH,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,IAAI,IAAA,eAAO,EACb,uEAAuE,CACxE,CAAC;IACF,IAAI,IAAI,gCAAgC,UAAU,oBAChD,MAAM,CAAC,wBAAwB;QAC7B,CAAC,CAAC,6CAA6C;QAC/C,CAAC,CAAC,EACN,4EAA4E,CAAC;IAC7E,IAAI,IAAI,WAAW,CAAC;IACpB,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport type { RenovateConfig } from '../../../../config/types';\nimport { logger } from '../../../../logger';\nimport type { PackageFile } from '../../../../modules/manager/types';\nimport { emojify } from '../../../../util/emoji';\nimport { getDefaultConfigFileName } from '../common';\n\nexport function getScheduleDesc(config: RenovateConfig): string[] {\n logger.debug('getScheduleDesc()');\n logger.trace({ config });\n if (\n !config.schedule ||\n (config.schedule as never) === 'at any time' ||\n config.schedule[0] === 'at any time'\n ) {\n logger.debug('No schedule');\n return [];\n }\n const desc = `Run Renovate on following schedule: ${String(config.schedule)}`;\n return [desc];\n}\n\nfunction getDescriptionArray(config: RenovateConfig): string[] {\n logger.debug('getDescriptionArray()');\n logger.trace({ config });\n const desc = is.array(config.description, is.string)\n ? config.description\n : [];\n return desc.concat(getScheduleDesc(config));\n}\n\nexport function getConfigDesc(\n config: RenovateConfig,\n packageFiles?: Record<string, PackageFile[]>,\n): string {\n // TODO: type (#22198)\n const configFile = getDefaultConfigFileName(config);\n logger.debug('getConfigDesc()');\n logger.trace({ config });\n const descriptionArr = getDescriptionArray(config);\n if (!descriptionArr.length) {\n logger.debug('No config description found');\n return '';\n }\n logger.debug(`Found description array with length:${descriptionArr.length}`);\n let desc = `\\n### Configuration Summary\\n\\nBased on the default config's presets, Renovate will:\\n\\n`;\n desc += ` - Start dependency updates only once this onboarding PR is merged\\n`;\n descriptionArr.forEach((d) => {\n desc += ` - ${d}\\n`;\n });\n desc += '\\n';\n desc += emojify(\n `:abcd: Do you want to change how Renovate upgrades your dependencies?`,\n );\n desc += ` Add your custom config to \\`${configFile}\\` in this branch${\n config.onboardingRebaseCheckbox\n ? ' and select the Retry/Rebase checkbox below'\n : ''\n }. Renovate will update the Pull Request description the next time it runs.`;\n desc += '\\n\\n---\\n';\n return desc;\n}\n"]}
1
+ {"version":3,"file":"config-description.js","sourceRoot":"","sources":["../../../../../lib/workers/repository/onboarding/pr/config-description.ts"],"names":[],"mappings":";;AAOA,0CAaC;AASD,sCA8BC;AA3DD,yCAAqD;AAErD,+CAA4C;AAE5C,kDAAiD;AACjD,sCAAqD;AAErD,SAAgB,eAAe,CAAC,MAAsB;IACpD,eAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAClC,eAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACzB,IACE,CAAC,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,QAAkB,KAAK,aAAa;QAC5C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,aAAa,EACpC,CAAC;QACD,eAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,GAAG,uCAAuC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC9E,OAAO,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAsB;IACjD,eAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACtC,eAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,IAAA,YAAO,EAAC,MAAM,CAAC,WAAW,EAAE,aAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAgB,aAAa,CAC3B,MAAsB,EACtB,YAA4C;IAE5C,sBAAsB;IACtB,MAAM,UAAU,GAAG,IAAA,iCAAwB,EAAC,MAAM,CAAC,CAAC;IACpD,eAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAChC,eAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACzB,MAAM,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QAC3B,eAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC5C,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,eAAM,CAAC,KAAK,CAAC,uCAAuC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,IAAI,IAAI,GAAG,0FAA0F,CAAC;IACtG,IAAI,IAAI,uEAAuE,CAAC;IAChF,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IACvB,CAAC,CAAC,CAAC;IACH,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,IAAI,IAAA,eAAO,EACb,uEAAuE,CACxE,CAAC;IACF,IAAI,IAAI,gCAAgC,UAAU,oBAChD,MAAM,CAAC,wBAAwB;QAC7B,CAAC,CAAC,6CAA6C;QAC/C,CAAC,CAAC,EACN,4EAA4E,CAAC;IAC7E,IAAI,IAAI,WAAW,CAAC;IACpB,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import { isArray, isString } from '@sindresorhus/is';\nimport type { RenovateConfig } from '../../../../config/types';\nimport { logger } from '../../../../logger';\nimport type { PackageFile } from '../../../../modules/manager/types';\nimport { emojify } from '../../../../util/emoji';\nimport { getDefaultConfigFileName } from '../common';\n\nexport function getScheduleDesc(config: RenovateConfig): string[] {\n logger.debug('getScheduleDesc()');\n logger.trace({ config });\n if (\n !config.schedule ||\n (config.schedule as never) === 'at any time' ||\n config.schedule[0] === 'at any time'\n ) {\n logger.debug('No schedule');\n return [];\n }\n const desc = `Run Renovate on following schedule: ${String(config.schedule)}`;\n return [desc];\n}\n\nfunction getDescriptionArray(config: RenovateConfig): string[] {\n logger.debug('getDescriptionArray()');\n logger.trace({ config });\n const desc = isArray(config.description, isString) ? config.description : [];\n return desc.concat(getScheduleDesc(config));\n}\n\nexport function getConfigDesc(\n config: RenovateConfig,\n packageFiles?: Record<string, PackageFile[]>,\n): string {\n // TODO: type (#22198)\n const configFile = getDefaultConfigFileName(config);\n logger.debug('getConfigDesc()');\n logger.trace({ config });\n const descriptionArr = getDescriptionArray(config);\n if (!descriptionArr.length) {\n logger.debug('No config description found');\n return '';\n }\n logger.debug(`Found description array with length:${descriptionArr.length}`);\n let desc = `\\n### Configuration Summary\\n\\nBased on the default config's presets, Renovate will:\\n\\n`;\n desc += ` - Start dependency updates only once this onboarding PR is merged\\n`;\n descriptionArr.forEach((d) => {\n desc += ` - ${d}\\n`;\n });\n desc += '\\n';\n desc += emojify(\n `:abcd: Do you want to change how Renovate upgrades your dependencies?`,\n );\n desc += ` Add your custom config to \\`${configFile}\\` in this branch${\n config.onboardingRebaseCheckbox\n ? ' and select the Retry/Rebase checkbox below'\n : ''\n }. Renovate will update the Pull Request description the next time it runs.`;\n desc += '\\n\\n---\\n';\n return desc;\n}\n"]}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ensureOnboardingPr = ensureOnboardingPr;
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 global_1 = require("../../../../config/global");
7
7
  const logger_1 = require("../../../../logger");
8
8
  const platform_1 = require("../../../../modules/platform");
@@ -97,10 +97,10 @@ If you need any further assistance then you can also [request help here](${confi
97
97
  prBody = prBody.replace('{{ERRORS}}\n', (0, errors_warnings_1.getErrors)(config));
98
98
  prBody = prBody.replace('{{BASEBRANCH}}\n', (0, base_branch_1.getBaseBranchDesc)(config));
99
99
  prBody = prBody.replace('{{PRLIST}}\n', (0, pr_list_1.getExpectedPrList)(config, branches));
100
- if (is_1.default.string(config.prHeader)) {
100
+ if ((0, is_1.isString)(config.prHeader)) {
101
101
  prBody = `${template.compile(config.prHeader, config)}\n\n${prBody}`;
102
102
  }
103
- if (is_1.default.string(config.prFooter)) {
103
+ if ((0, is_1.isString)(config.prFooter)) {
104
104
  prBody = `${prBody}\n---\n\n${template.compile(config.prFooter, config)}\n`;
105
105
  }
106
106
  prBody += onboardingConfigHashComment;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/workers/repository/onboarding/pr/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { GlobalConfig } from '../../../../config/global';\nimport type { RenovateConfig } from '../../../../config/types';\nimport { logger } from '../../../../logger';\nimport type { PackageFile } from '../../../../modules/manager/types';\nimport { platform } from '../../../../modules/platform';\nimport { ensureComment } from '../../../../modules/platform/comment';\nimport { hashBody } from '../../../../modules/platform/pr-body';\nimport { scm } from '../../../../modules/platform/scm';\nimport { emojify } from '../../../../util/emoji';\nimport { getFile } from '../../../../util/git';\nimport { toSha256 } from '../../../../util/hash';\nimport * as template from '../../../../util/template';\nimport type { BranchConfig } from '../../../types';\nimport {\n getDepWarningsOnboardingPR,\n getErrors,\n getWarnings,\n} from '../../errors-warnings';\nimport { getPlatformPrOptions } from '../../update/pr';\nimport { prepareLabels } from '../../update/pr/labels';\nimport { addParticipants } from '../../update/pr/participants';\nimport { isOnboardingBranchConflicted } from '../branch/onboarding-branch-cache';\nimport {\n OnboardingState,\n getDefaultConfigFileName,\n getSemanticCommitPrTitle,\n} from '../common';\nimport { getBaseBranchDesc } from './base-branch';\nimport { getConfigDesc } from './config-description';\nimport { getExpectedPrList } from './pr-list';\n\nexport async function ensureOnboardingPr(\n config: RenovateConfig,\n packageFiles: Record<string, PackageFile[]> | null,\n branches: BranchConfig[],\n): Promise<void> {\n if (\n config.repoIsOnboarded === true ||\n OnboardingState.onboardingCacheValid ||\n (config.onboardingRebaseCheckbox && !OnboardingState.prUpdateRequested)\n ) {\n return;\n }\n logger.debug('ensureOnboardingPr()');\n logger.trace({ config });\n // TODO #22198\n const existingPr = await platform.getBranchPr(\n config.onboardingBranch!,\n config.defaultBranch,\n );\n if (existingPr) {\n // skip pr-update if branch is conflicted\n if (\n await isOnboardingBranchConflicted(\n config.defaultBranch!,\n config.onboardingBranch!,\n )\n ) {\n if (GlobalConfig.get('dryRun')) {\n logger.info(\n 'DRY-RUN: Would comment that Onboarding PR is conflicted and needs manual resolving',\n );\n return;\n }\n await ensureComment({\n number: existingPr.number,\n topic: 'Branch Conflicted',\n content: emojify(\n `:warning: This PR has a merge conflict which Renovate is unable to automatically resolve, so updates to this PR description are now paused. Please resolve the merge conflict manually.\\n\\n`,\n ),\n });\n return;\n }\n }\n const onboardingConfigHashComment =\n await getOnboardingConfigHashComment(config);\n const rebaseCheckBox = getRebaseCheckbox(config.onboardingRebaseCheckbox);\n logger.debug('Filling in onboarding PR template');\n let prTemplate = `Welcome to [Renovate](${\n config.productLinks!.homepage\n })! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.\\n\\n`;\n prTemplate +=\n config.requireConfig === 'required'\n ? emojify(\n `:vertical_traffic_light: To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.\\n\\n`,\n )\n : emojify(\n `:vertical_traffic_light: Renovate will begin keeping your dependencies up-to-date only once you merge or close this Pull Request.\\n\\n`,\n );\n // TODO #22198\n prTemplate += emojify(\n `\n\n---\n{{PACKAGE FILES}}\n{{CONFIG}}\n{{BASEBRANCH}}\n{{PRLIST}}\n{{WARNINGS}}\n{{ERRORS}}\n\n---\n\n:question: Got questions? Check out Renovate's [Docs](${\n config.productLinks!.documentation\n }), particularly the Getting Started section.\nIf you need any further assistance then you can also [request help here](${\n config.productLinks!.help\n }).\n`,\n );\n prTemplate += rebaseCheckBox;\n let prBody = prTemplate;\n if (packageFiles && Object.entries(packageFiles).length) {\n let files: string[] = [];\n for (const [manager, managerFiles] of Object.entries(packageFiles)) {\n files = files.concat(\n managerFiles.map((file) => ` * \\`${file.packageFile}\\` (${manager})`),\n );\n }\n prBody =\n prBody.replace(\n '{{PACKAGE FILES}}',\n '### Detected Package Files\\n\\n' + files.join('\\n'),\n ) + '\\n';\n } else {\n prBody = prBody.replace('{{PACKAGE FILES}}\\n', '');\n }\n let configDesc = '';\n if (GlobalConfig.get('dryRun')) {\n // TODO: types (#22198)\n logger.info(`DRY-RUN: Would check branch ${config.onboardingBranch!}`);\n } else {\n configDesc = getConfigDesc(config, packageFiles!);\n }\n prBody = prBody.replace('{{CONFIG}}\\n', configDesc);\n prBody = prBody.replace(\n '{{WARNINGS}}\\n',\n getWarnings(config) + getDepWarningsOnboardingPR(packageFiles!, config),\n );\n prBody = prBody.replace('{{ERRORS}}\\n', getErrors(config));\n prBody = prBody.replace('{{BASEBRANCH}}\\n', getBaseBranchDesc(config));\n prBody = prBody.replace('{{PRLIST}}\\n', getExpectedPrList(config, branches));\n if (is.string(config.prHeader)) {\n prBody = `${template.compile(config.prHeader, config)}\\n\\n${prBody}`;\n }\n if (is.string(config.prFooter)) {\n prBody = `${prBody}\\n---\\n\\n${template.compile(config.prFooter, config)}\\n`;\n }\n\n prBody += onboardingConfigHashComment;\n\n logger.trace('prBody:\\n' + prBody);\n\n prBody = platform.massageMarkdown(prBody, config.rebaseLabel);\n\n if (existingPr) {\n logger.debug('Found open onboarding PR');\n // Check if existing PR needs updating\n const prBodyHash = hashBody(prBody);\n if (existingPr.bodyStruct?.hash === prBodyHash) {\n logger.debug(`Pull Request #${existingPr.number} does not need updating`);\n return;\n }\n // PR must need updating\n if (GlobalConfig.get('dryRun')) {\n logger.info('DRY-RUN: Would update onboarding PR');\n } else {\n await platform.updatePr({\n number: existingPr.number,\n prTitle: existingPr.title,\n prBody,\n });\n logger.info({ pr: existingPr.number }, 'Onboarding PR updated');\n }\n return;\n }\n logger.debug('Creating onboarding PR');\n const labels: string[] = prepareLabels(config);\n try {\n if (GlobalConfig.get('dryRun')) {\n logger.info('DRY-RUN: Would create onboarding PR');\n } else {\n // TODO #22198\n const prTitle =\n config.semanticCommits === 'enabled'\n ? getSemanticCommitPrTitle(config)\n : config.onboardingPrTitle!;\n const pr = await platform.createPr({\n sourceBranch: config.onboardingBranch!,\n targetBranch: config.defaultBranch!,\n prTitle,\n prBody,\n labels,\n platformPrOptions: getPlatformPrOptions({\n ...config,\n automerge: false,\n }),\n });\n logger.info(\n { pr: `Pull Request #${pr!.number}` },\n 'Onboarding PR created',\n );\n await addParticipants(config, pr!);\n }\n } catch (err) {\n if (\n err.response?.statusCode === 422 &&\n err.response?.body?.errors?.[0]?.message?.startsWith(\n 'A pull request already exists',\n )\n ) {\n logger.warn(\n 'Onboarding PR already exists but cannot find it. It was probably created by a different user.',\n );\n await scm.deleteBranch(config.onboardingBranch!);\n return;\n }\n throw err;\n }\n}\n\nfunction getRebaseCheckbox(onboardingRebaseCheckbox?: boolean): string {\n let rebaseCheckBox = '';\n if (onboardingRebaseCheckbox) {\n // Create markdown checkbox\n rebaseCheckBox = `\\n\\n---\\n\\n - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.\\n`;\n }\n\n return rebaseCheckBox;\n}\n\nasync function getOnboardingConfigHashComment(\n config: RenovateConfig,\n): Promise<string> {\n const configFile = getDefaultConfigFileName(config);\n const existingContents =\n (await getFile(configFile, config.onboardingBranch)) ?? '';\n const hash = toSha256(existingContents);\n\n return `\\n<!--renovate-config-hash:${hash}-->\\n`;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/workers/repository/onboarding/pr/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { isString } from '@sindresorhus/is';\nimport { GlobalConfig } from '../../../../config/global';\nimport type { RenovateConfig } from '../../../../config/types';\nimport { logger } from '../../../../logger';\nimport type { PackageFile } from '../../../../modules/manager/types';\nimport { platform } from '../../../../modules/platform';\nimport { ensureComment } from '../../../../modules/platform/comment';\nimport { hashBody } from '../../../../modules/platform/pr-body';\nimport { scm } from '../../../../modules/platform/scm';\nimport { emojify } from '../../../../util/emoji';\nimport { getFile } from '../../../../util/git';\nimport { toSha256 } from '../../../../util/hash';\nimport * as template from '../../../../util/template';\nimport type { BranchConfig } from '../../../types';\nimport {\n getDepWarningsOnboardingPR,\n getErrors,\n getWarnings,\n} from '../../errors-warnings';\nimport { getPlatformPrOptions } from '../../update/pr';\nimport { prepareLabels } from '../../update/pr/labels';\nimport { addParticipants } from '../../update/pr/participants';\nimport { isOnboardingBranchConflicted } from '../branch/onboarding-branch-cache';\nimport {\n OnboardingState,\n getDefaultConfigFileName,\n getSemanticCommitPrTitle,\n} from '../common';\nimport { getBaseBranchDesc } from './base-branch';\nimport { getConfigDesc } from './config-description';\nimport { getExpectedPrList } from './pr-list';\n\nexport async function ensureOnboardingPr(\n config: RenovateConfig,\n packageFiles: Record<string, PackageFile[]> | null,\n branches: BranchConfig[],\n): Promise<void> {\n if (\n config.repoIsOnboarded === true ||\n OnboardingState.onboardingCacheValid ||\n (config.onboardingRebaseCheckbox && !OnboardingState.prUpdateRequested)\n ) {\n return;\n }\n logger.debug('ensureOnboardingPr()');\n logger.trace({ config });\n // TODO #22198\n const existingPr = await platform.getBranchPr(\n config.onboardingBranch!,\n config.defaultBranch,\n );\n if (existingPr) {\n // skip pr-update if branch is conflicted\n if (\n await isOnboardingBranchConflicted(\n config.defaultBranch!,\n config.onboardingBranch!,\n )\n ) {\n if (GlobalConfig.get('dryRun')) {\n logger.info(\n 'DRY-RUN: Would comment that Onboarding PR is conflicted and needs manual resolving',\n );\n return;\n }\n await ensureComment({\n number: existingPr.number,\n topic: 'Branch Conflicted',\n content: emojify(\n `:warning: This PR has a merge conflict which Renovate is unable to automatically resolve, so updates to this PR description are now paused. Please resolve the merge conflict manually.\\n\\n`,\n ),\n });\n return;\n }\n }\n const onboardingConfigHashComment =\n await getOnboardingConfigHashComment(config);\n const rebaseCheckBox = getRebaseCheckbox(config.onboardingRebaseCheckbox);\n logger.debug('Filling in onboarding PR template');\n let prTemplate = `Welcome to [Renovate](${\n config.productLinks!.homepage\n })! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.\\n\\n`;\n prTemplate +=\n config.requireConfig === 'required'\n ? emojify(\n `:vertical_traffic_light: To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.\\n\\n`,\n )\n : emojify(\n `:vertical_traffic_light: Renovate will begin keeping your dependencies up-to-date only once you merge or close this Pull Request.\\n\\n`,\n );\n // TODO #22198\n prTemplate += emojify(\n `\n\n---\n{{PACKAGE FILES}}\n{{CONFIG}}\n{{BASEBRANCH}}\n{{PRLIST}}\n{{WARNINGS}}\n{{ERRORS}}\n\n---\n\n:question: Got questions? Check out Renovate's [Docs](${\n config.productLinks!.documentation\n }), particularly the Getting Started section.\nIf you need any further assistance then you can also [request help here](${\n config.productLinks!.help\n }).\n`,\n );\n prTemplate += rebaseCheckBox;\n let prBody = prTemplate;\n if (packageFiles && Object.entries(packageFiles).length) {\n let files: string[] = [];\n for (const [manager, managerFiles] of Object.entries(packageFiles)) {\n files = files.concat(\n managerFiles.map((file) => ` * \\`${file.packageFile}\\` (${manager})`),\n );\n }\n prBody =\n prBody.replace(\n '{{PACKAGE FILES}}',\n '### Detected Package Files\\n\\n' + files.join('\\n'),\n ) + '\\n';\n } else {\n prBody = prBody.replace('{{PACKAGE FILES}}\\n', '');\n }\n let configDesc = '';\n if (GlobalConfig.get('dryRun')) {\n // TODO: types (#22198)\n logger.info(`DRY-RUN: Would check branch ${config.onboardingBranch!}`);\n } else {\n configDesc = getConfigDesc(config, packageFiles!);\n }\n prBody = prBody.replace('{{CONFIG}}\\n', configDesc);\n prBody = prBody.replace(\n '{{WARNINGS}}\\n',\n getWarnings(config) + getDepWarningsOnboardingPR(packageFiles!, config),\n );\n prBody = prBody.replace('{{ERRORS}}\\n', getErrors(config));\n prBody = prBody.replace('{{BASEBRANCH}}\\n', getBaseBranchDesc(config));\n prBody = prBody.replace('{{PRLIST}}\\n', getExpectedPrList(config, branches));\n if (isString(config.prHeader)) {\n prBody = `${template.compile(config.prHeader, config)}\\n\\n${prBody}`;\n }\n if (isString(config.prFooter)) {\n prBody = `${prBody}\\n---\\n\\n${template.compile(config.prFooter, config)}\\n`;\n }\n\n prBody += onboardingConfigHashComment;\n\n logger.trace('prBody:\\n' + prBody);\n\n prBody = platform.massageMarkdown(prBody, config.rebaseLabel);\n\n if (existingPr) {\n logger.debug('Found open onboarding PR');\n // Check if existing PR needs updating\n const prBodyHash = hashBody(prBody);\n if (existingPr.bodyStruct?.hash === prBodyHash) {\n logger.debug(`Pull Request #${existingPr.number} does not need updating`);\n return;\n }\n // PR must need updating\n if (GlobalConfig.get('dryRun')) {\n logger.info('DRY-RUN: Would update onboarding PR');\n } else {\n await platform.updatePr({\n number: existingPr.number,\n prTitle: existingPr.title,\n prBody,\n });\n logger.info({ pr: existingPr.number }, 'Onboarding PR updated');\n }\n return;\n }\n logger.debug('Creating onboarding PR');\n const labels: string[] = prepareLabels(config);\n try {\n if (GlobalConfig.get('dryRun')) {\n logger.info('DRY-RUN: Would create onboarding PR');\n } else {\n // TODO #22198\n const prTitle =\n config.semanticCommits === 'enabled'\n ? getSemanticCommitPrTitle(config)\n : config.onboardingPrTitle!;\n const pr = await platform.createPr({\n sourceBranch: config.onboardingBranch!,\n targetBranch: config.defaultBranch!,\n prTitle,\n prBody,\n labels,\n platformPrOptions: getPlatformPrOptions({\n ...config,\n automerge: false,\n }),\n });\n logger.info(\n { pr: `Pull Request #${pr!.number}` },\n 'Onboarding PR created',\n );\n await addParticipants(config, pr!);\n }\n } catch (err) {\n if (\n err.response?.statusCode === 422 &&\n err.response?.body?.errors?.[0]?.message?.startsWith(\n 'A pull request already exists',\n )\n ) {\n logger.warn(\n 'Onboarding PR already exists but cannot find it. It was probably created by a different user.',\n );\n await scm.deleteBranch(config.onboardingBranch!);\n return;\n }\n throw err;\n }\n}\n\nfunction getRebaseCheckbox(onboardingRebaseCheckbox?: boolean): string {\n let rebaseCheckBox = '';\n if (onboardingRebaseCheckbox) {\n // Create markdown checkbox\n rebaseCheckBox = `\\n\\n---\\n\\n - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.\\n`;\n }\n\n return rebaseCheckBox;\n}\n\nasync function getOnboardingConfigHashComment(\n config: RenovateConfig,\n): Promise<string> {\n const configFile = getDefaultConfigFileName(config);\n const existingContents =\n (await getFile(configFile, config.onboardingBranch)) ?? '';\n const hash = toSha256(existingContents);\n\n return `\\n<!--renovate-config-hash:${hash}-->\\n`;\n}\n"]}