renovate 40.0.0-next.2 → 40.0.0-next.20

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 (294) hide show
  1. package/dist/config/decrypt/legacy.js +0 -1
  2. package/dist/config/decrypt/legacy.js.map +1 -1
  3. package/dist/config/decrypt.d.ts +3 -1
  4. package/dist/config/decrypt.js +56 -13
  5. package/dist/config/decrypt.js.map +1 -1
  6. package/dist/config/migrate-validate.js +3 -2
  7. package/dist/config/migrate-validate.js.map +1 -1
  8. package/dist/config/migration.js +2 -1
  9. package/dist/config/migration.js.map +1 -1
  10. package/dist/config/migrations/custom/rebase-stale-prs-migration.js +1 -1
  11. package/dist/config/migrations/custom/rebase-stale-prs-migration.js.map +1 -1
  12. package/dist/config/options/index.js +3 -3
  13. package/dist/config/options/index.js.map +1 -1
  14. package/dist/config/parse.js +2 -2
  15. package/dist/config/parse.js.map +1 -1
  16. package/dist/config/presets/gitea/index.js +0 -1
  17. package/dist/config/presets/gitea/index.js.map +1 -1
  18. package/dist/config/presets/github/index.js +0 -1
  19. package/dist/config/presets/github/index.js.map +1 -1
  20. package/dist/config/presets/gitlab/index.js +1 -1
  21. package/dist/config/presets/gitlab/index.js.map +1 -1
  22. package/dist/config/presets/http/index.js +1 -2
  23. package/dist/config/presets/http/index.js.map +1 -1
  24. package/dist/config/presets/index.js +0 -7
  25. package/dist/config/presets/index.js.map +1 -1
  26. package/dist/config/presets/internal/custom-managers.js +3 -4
  27. package/dist/config/presets/internal/custom-managers.js.map +1 -1
  28. package/dist/config/presets/internal/index.js +1 -3
  29. package/dist/config/presets/internal/index.js.map +1 -1
  30. package/dist/config/schema.d.ts +2 -2
  31. package/dist/config/validation.js +3 -5
  32. package/dist/config/validation.js.map +1 -1
  33. package/dist/config-validator.js +0 -1
  34. package/dist/config-validator.js.map +1 -1
  35. package/dist/constants/category.js +0 -1
  36. package/dist/constants/category.js.map +1 -1
  37. package/dist/data/monorepo.json +2 -1
  38. package/dist/instrumentation/index.js +5 -3
  39. package/dist/instrumentation/index.js.map +1 -1
  40. package/dist/instrumentation/utils.js +1 -1
  41. package/dist/instrumentation/utils.js.map +1 -1
  42. package/dist/logger/cmd-serializer.js +0 -1
  43. package/dist/logger/cmd-serializer.js.map +1 -1
  44. package/dist/logger/config-serializer.js +0 -1
  45. package/dist/logger/config-serializer.js.map +1 -1
  46. package/dist/logger/index.js +0 -3
  47. package/dist/logger/index.js.map +1 -1
  48. package/dist/logger/once.js +4 -2
  49. package/dist/logger/once.js.map +1 -1
  50. package/dist/logger/pretty-stdout.js +0 -1
  51. package/dist/logger/pretty-stdout.js.map +1 -1
  52. package/dist/logger/renovate-logger.js +1 -1
  53. package/dist/logger/renovate-logger.js.map +1 -1
  54. package/dist/logger/utils.js +6 -11
  55. package/dist/logger/utils.js.map +1 -1
  56. package/dist/modules/datasource/artifactory/index.js +1 -1
  57. package/dist/modules/datasource/artifactory/index.js.map +1 -1
  58. package/dist/modules/datasource/azure-pipelines-tasks/index.js +11 -1
  59. package/dist/modules/datasource/azure-pipelines-tasks/index.js.map +1 -1
  60. package/dist/modules/datasource/azure-pipelines-tasks/schema.d.ts +16 -0
  61. package/dist/modules/datasource/azure-pipelines-tasks/schema.js +2 -0
  62. package/dist/modules/datasource/azure-pipelines-tasks/schema.js.map +1 -1
  63. package/dist/modules/datasource/crate/index.js +1 -1
  64. package/dist/modules/datasource/crate/index.js.map +1 -1
  65. package/dist/modules/datasource/custom/formats/html.js +1 -1
  66. package/dist/modules/datasource/custom/formats/html.js.map +1 -1
  67. package/dist/modules/datasource/custom/formats/yaml.js +1 -1
  68. package/dist/modules/datasource/custom/formats/yaml.js.map +1 -1
  69. package/dist/modules/datasource/custom/schema.d.ts +5 -5
  70. package/dist/modules/datasource/deb/index.js +1 -1
  71. package/dist/modules/datasource/deb/index.js.map +1 -1
  72. package/dist/modules/datasource/deno/schema.d.ts +8 -8
  73. package/dist/modules/datasource/docker/common.js +1 -1
  74. package/dist/modules/datasource/docker/common.js.map +1 -1
  75. package/dist/modules/datasource/docker/index.js +5 -3
  76. package/dist/modules/datasource/docker/index.js.map +1 -1
  77. package/dist/modules/datasource/docker/schema.d.ts +32 -32
  78. package/dist/modules/datasource/galaxy/schema.d.ts +1 -1
  79. package/dist/modules/datasource/galaxy-collection/schema.d.ts +3 -3
  80. package/dist/modules/datasource/gitea-releases/schema.d.ts +4 -4
  81. package/dist/modules/datasource/gitea-tags/schema.d.ts +4 -4
  82. package/dist/modules/datasource/github-release-attachments/index.js +2 -2
  83. package/dist/modules/datasource/github-release-attachments/index.js.map +1 -1
  84. package/dist/modules/datasource/go/base.js +1 -1
  85. package/dist/modules/datasource/go/base.js.map +1 -1
  86. package/dist/modules/datasource/go/releases-goproxy.js +1 -1
  87. package/dist/modules/datasource/go/releases-goproxy.js.map +1 -1
  88. package/dist/modules/datasource/golang-version/index.js +1 -1
  89. package/dist/modules/datasource/golang-version/index.js.map +1 -1
  90. package/dist/modules/datasource/hex/schema.d.ts +11 -11
  91. package/dist/modules/datasource/hexpm-bob/index.js +1 -1
  92. package/dist/modules/datasource/hexpm-bob/index.js.map +1 -1
  93. package/dist/modules/datasource/index.js +2 -2
  94. package/dist/modules/datasource/index.js.map +1 -1
  95. package/dist/modules/datasource/maven/util.js +1 -1
  96. package/dist/modules/datasource/maven/util.js.map +1 -1
  97. package/dist/modules/datasource/nuget/v2.js +1 -1
  98. package/dist/modules/datasource/nuget/v2.js.map +1 -1
  99. package/dist/modules/datasource/nuget/v3.js +1 -1
  100. package/dist/modules/datasource/nuget/v3.js.map +1 -1
  101. package/dist/modules/datasource/packagist/schema.d.ts +30 -30
  102. package/dist/modules/datasource/pod/index.js +1 -1
  103. package/dist/modules/datasource/pod/index.js.map +1 -1
  104. package/dist/modules/datasource/pypi/index.js +1 -1
  105. package/dist/modules/datasource/pypi/index.js.map +1 -1
  106. package/dist/modules/datasource/ruby-version/index.js +1 -1
  107. package/dist/modules/datasource/ruby-version/index.js.map +1 -1
  108. package/dist/modules/datasource/rubygems/index.js +1 -1
  109. package/dist/modules/datasource/rubygems/index.js.map +1 -1
  110. package/dist/modules/datasource/rubygems/versions-endpoint-cache.js +2 -2
  111. package/dist/modules/datasource/rubygems/versions-endpoint-cache.js.map +1 -1
  112. package/dist/modules/datasource/terraform-provider/index.js +1 -1
  113. package/dist/modules/datasource/terraform-provider/index.js.map +1 -1
  114. package/dist/modules/datasource/unity3d/index.d.ts +4 -1
  115. package/dist/modules/datasource/unity3d/index.js +36 -42
  116. package/dist/modules/datasource/unity3d/index.js.map +1 -1
  117. package/dist/modules/datasource/unity3d/schema.d.ts +47 -0
  118. package/dist/modules/datasource/unity3d/schema.js +17 -0
  119. package/dist/modules/datasource/unity3d/schema.js.map +1 -0
  120. package/dist/modules/manager/argocd/schema.d.ts +10 -10
  121. package/dist/modules/manager/azure-pipelines/schema.d.ts +10 -10
  122. package/dist/modules/manager/batect/schema.d.ts +6 -6
  123. package/dist/modules/manager/batect-wrapper/artifacts.js +1 -1
  124. package/dist/modules/manager/batect-wrapper/artifacts.js.map +1 -1
  125. package/dist/modules/manager/bazel/rules/docker.d.ts +9 -9
  126. package/dist/modules/manager/bazel/rules/git.d.ts +10 -10
  127. package/dist/modules/manager/bazel/rules/git.js +7 -1
  128. package/dist/modules/manager/bazel/rules/git.js.map +1 -1
  129. package/dist/modules/manager/bazel/rules/go.d.ts +5 -5
  130. package/dist/modules/manager/bazel/rules/oci.d.ts +3 -3
  131. package/dist/modules/manager/bazel-module/parser/fragments.d.ts +40 -40
  132. package/dist/modules/manager/bazel-module/parser/maven.d.ts +27 -27
  133. package/dist/modules/manager/bazel-module/parser/oci.d.ts +17 -17
  134. package/dist/modules/manager/bazel-module/rules.d.ts +40 -40
  135. package/dist/modules/manager/bundler/artifacts.js.map +1 -1
  136. package/dist/modules/manager/cargo/schema.d.ts +100 -100
  137. package/dist/modules/manager/circleci/schema.d.ts +6 -6
  138. package/dist/modules/manager/composer/schema.d.ts +40 -40
  139. package/dist/modules/manager/composer/utils.js +9 -6
  140. package/dist/modules/manager/composer/utils.js.map +1 -1
  141. package/dist/modules/manager/crossplane/schema.d.ts +2 -2
  142. package/dist/modules/manager/custom/jsonata/index.js +4 -0
  143. package/dist/modules/manager/custom/jsonata/index.js.map +1 -1
  144. package/dist/modules/manager/custom/jsonata/schema.d.ts +7 -7
  145. package/dist/modules/manager/devbox/artifacts.d.ts +1 -1
  146. package/dist/modules/manager/devbox/artifacts.js +29 -11
  147. package/dist/modules/manager/devbox/artifacts.js.map +1 -1
  148. package/dist/modules/manager/fingerprint.generated.js +68 -68
  149. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  150. package/dist/modules/manager/fleet/schema.d.ts +12 -12
  151. package/dist/modules/manager/flux/schema.d.ts +50 -50
  152. package/dist/modules/manager/glasskube/schema.d.ts +8 -8
  153. package/dist/modules/manager/gradle-wrapper/artifacts.js +1 -1
  154. package/dist/modules/manager/gradle-wrapper/artifacts.js.map +1 -1
  155. package/dist/modules/manager/maven/extract.js +3 -1
  156. package/dist/modules/manager/maven/extract.js.map +1 -1
  157. package/dist/modules/manager/mise/extract.js +1 -1
  158. package/dist/modules/manager/mise/extract.js.map +1 -1
  159. package/dist/modules/manager/nix/schema.d.ts +24 -24
  160. package/dist/modules/manager/npm/schema.d.ts +13 -13
  161. package/dist/modules/manager/nuget/schema.d.ts +8 -8
  162. package/dist/modules/manager/ocb/schema.d.ts +6 -6
  163. package/dist/modules/manager/pep621/schema.d.ts +55 -55
  164. package/dist/modules/manager/pep621/utils.js +1 -1
  165. package/dist/modules/manager/pep621/utils.js.map +1 -1
  166. package/dist/modules/manager/poetry/artifacts.js +3 -3
  167. package/dist/modules/manager/poetry/artifacts.js.map +1 -1
  168. package/dist/modules/manager/poetry/extract.js +2 -1
  169. package/dist/modules/manager/poetry/extract.js.map +1 -1
  170. package/dist/modules/manager/poetry/schema.d.ts +48 -48
  171. package/dist/modules/manager/sveltos/schema.d.ts +12 -12
  172. package/dist/modules/manager/terraform/lockfile/hash.d.ts +1 -1
  173. package/dist/modules/manager/vendir/schema.d.ts +27 -27
  174. package/dist/modules/platform/api.d.ts +1 -1
  175. package/dist/modules/platform/bitbucket/index.d.ts +1 -0
  176. package/dist/modules/platform/bitbucket/index.js +6 -1
  177. package/dist/modules/platform/bitbucket/index.js.map +1 -1
  178. package/dist/modules/platform/bitbucket/schema.d.ts +17 -17
  179. package/dist/modules/platform/bitbucket-server/index.d.ts +1 -1
  180. package/dist/modules/platform/bitbucket-server/index.js +13 -11
  181. package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
  182. package/dist/modules/platform/bitbucket-server/schema.d.ts +75 -0
  183. package/dist/modules/platform/bitbucket-server/schema.js +14 -1
  184. package/dist/modules/platform/bitbucket-server/schema.js.map +1 -1
  185. package/dist/modules/platform/bitbucket-server/types.d.ts +2 -1
  186. package/dist/modules/platform/bitbucket-server/types.js.map +1 -1
  187. package/dist/modules/platform/bitbucket-server/utils.d.ts +0 -2
  188. package/dist/modules/platform/bitbucket-server/utils.js +1 -51
  189. package/dist/modules/platform/bitbucket-server/utils.js.map +1 -1
  190. package/dist/modules/platform/gerrit/client.js +1 -1
  191. package/dist/modules/platform/gerrit/client.js.map +1 -1
  192. package/dist/modules/platform/gitea/index.d.ts +1 -0
  193. package/dist/modules/platform/gitea/index.js +11 -0
  194. package/dist/modules/platform/gitea/index.js.map +1 -1
  195. package/dist/modules/platform/gitea/schema.d.ts +8 -8
  196. package/dist/modules/platform/github/common.d.ts +2 -0
  197. package/dist/modules/platform/github/common.js +16 -0
  198. package/dist/modules/platform/github/common.js.map +1 -1
  199. package/dist/modules/platform/github/index.d.ts +1 -1
  200. package/dist/modules/platform/github/index.js +6 -4
  201. package/dist/modules/platform/github/index.js.map +1 -1
  202. package/dist/modules/platform/github/issue.d.ts +12 -12
  203. package/dist/modules/platform/github/schema.d.ts +65 -65
  204. package/dist/modules/platform/gitlab/index.d.ts +1 -0
  205. package/dist/modules/platform/gitlab/index.js +9 -0
  206. package/dist/modules/platform/gitlab/index.js.map +1 -1
  207. package/dist/modules/platform/scm.d.ts +1 -1
  208. package/dist/modules/versioning/composer/index.js +10 -0
  209. package/dist/modules/versioning/composer/index.js.map +1 -1
  210. package/dist/modules/versioning/npm/index.js +2 -1
  211. package/dist/modules/versioning/npm/index.js.map +1 -1
  212. package/dist/modules/versioning/schema.js +1 -1
  213. package/dist/modules/versioning/schema.js.map +1 -1
  214. package/dist/modules/versioning/types.d.ts +4 -0
  215. package/dist/modules/versioning/types.js.map +1 -1
  216. package/dist/proxy.js +2 -1
  217. package/dist/proxy.js.map +1 -1
  218. package/dist/renovate.js +2 -2
  219. package/dist/renovate.js.map +1 -1
  220. package/dist/util/cache/package/decorator.js +2 -2
  221. package/dist/util/cache/package/decorator.js.map +1 -1
  222. package/dist/util/cache/package/redis.js +0 -1
  223. package/dist/util/cache/package/redis.js.map +1 -1
  224. package/dist/util/cache/repository/impl/base.d.ts +1 -1
  225. package/dist/util/exec/containerbase.js +12 -12
  226. package/dist/util/exec/containerbase.js.map +1 -1
  227. package/dist/util/github/graphql/query-adapters/releases-query-adapter.d.ts +5 -5
  228. package/dist/util/http/auth.js +0 -1
  229. package/dist/util/http/auth.js.map +1 -1
  230. package/dist/util/http/bitbucket-server.d.ts +5 -4
  231. package/dist/util/http/bitbucket-server.js +17 -20
  232. package/dist/util/http/bitbucket-server.js.map +1 -1
  233. package/dist/util/http/bitbucket.d.ts +6 -5
  234. package/dist/util/http/bitbucket.js +30 -31
  235. package/dist/util/http/bitbucket.js.map +1 -1
  236. package/dist/util/http/cache/abstract-http-cache-provider.js +1 -1
  237. package/dist/util/http/cache/abstract-http-cache-provider.js.map +1 -1
  238. package/dist/util/http/cache/schema.d.ts +2 -2
  239. package/dist/util/http/errors.d.ts +2 -0
  240. package/dist/util/http/errors.js +8 -0
  241. package/dist/util/http/errors.js.map +1 -0
  242. package/dist/util/http/gerrit.d.ts +6 -4
  243. package/dist/util/http/gerrit.js +11 -12
  244. package/dist/util/http/gerrit.js.map +1 -1
  245. package/dist/util/http/gitea.d.ts +5 -4
  246. package/dist/util/http/gitea.js +12 -13
  247. package/dist/util/http/gitea.js.map +1 -1
  248. package/dist/util/http/github.d.ts +14 -8
  249. package/dist/util/http/github.js +64 -60
  250. package/dist/util/http/github.js.map +1 -1
  251. package/dist/util/http/gitlab.d.ts +7 -5
  252. package/dist/util/http/gitlab.js +56 -46
  253. package/dist/util/http/gitlab.js.map +1 -1
  254. package/dist/util/http/got.d.ts +9 -0
  255. package/dist/util/http/got.js +54 -0
  256. package/dist/util/http/got.js.map +1 -0
  257. package/dist/util/http/host-rules.d.ts +2 -1
  258. package/dist/util/http/host-rules.js.map +1 -1
  259. package/dist/util/http/http.d.ts +93 -0
  260. package/dist/util/http/http.js +339 -0
  261. package/dist/util/http/http.js.map +1 -0
  262. package/dist/util/http/index.d.ts +6 -74
  263. package/dist/util/http/index.js +5 -359
  264. package/dist/util/http/index.js.map +1 -1
  265. package/dist/util/http/legacy.js +4 -1
  266. package/dist/util/http/legacy.js.map +1 -1
  267. package/dist/util/http/types.d.ts +9 -16
  268. package/dist/util/http/types.js.map +1 -1
  269. package/dist/util/string.d.ts +15 -0
  270. package/dist/util/string.js +75 -0
  271. package/dist/util/string.js.map +1 -1
  272. package/dist/util/toml.d.ts +1 -0
  273. package/dist/util/toml.js +6 -0
  274. package/dist/util/toml.js.map +1 -1
  275. package/dist/util/url.js +3 -8
  276. package/dist/util/url.js.map +1 -1
  277. package/dist/util/yaml.js +2 -6
  278. package/dist/util/yaml.js.map +1 -1
  279. package/dist/workers/global/config/parse/env.js +3 -2
  280. package/dist/workers/global/config/parse/env.js.map +1 -1
  281. package/dist/workers/global/config/parse/file.js +19 -9
  282. package/dist/workers/global/config/parse/file.js.map +1 -1
  283. package/dist/workers/global/config/parse/host-rules-from-env.js +6 -2
  284. package/dist/workers/global/config/parse/host-rules-from-env.js.map +1 -1
  285. package/dist/workers/repository/cache.js +0 -1
  286. package/dist/workers/repository/cache.js.map +1 -1
  287. package/dist/workers/repository/onboarding/pr/config-description.js +3 -1
  288. package/dist/workers/repository/onboarding/pr/config-description.js.map +1 -1
  289. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js +1 -1
  290. package/dist/workers/repository/update/pr/changelog/bitbucket/index.js.map +1 -1
  291. package/dist/workers/repository/update/pr/changelog/gitlab/index.js +1 -1
  292. package/dist/workers/repository/update/pr/changelog/gitlab/index.js.map +1 -1
  293. package/package.json +44 -49
  294. package/renovate-schema.json +2 -1
@@ -13,7 +13,7 @@ function parseFileConfig(fileName, fileContents) {
13
13
  try {
14
14
  return { success: true, parsedContents: json5_1.default.parse(fileContents) };
15
15
  }
16
- catch (err) /* istanbul ignore next */ {
16
+ catch (err) {
17
17
  logger_1.logger.debug({ fileName, fileContents }, 'Error parsing JSON5 file');
18
18
  const validationError = 'Invalid JSON5 (parsing failed)';
19
19
  const validationMessage = `JSON5.parse error: \`${err.message.replaceAll('`', "'")}\``;
@@ -53,7 +53,7 @@ function parseFileConfig(fileName, fileContents) {
53
53
  parsedContents: (0, common_1.parseJson)(fileContents, fileName),
54
54
  };
55
55
  }
56
- catch (err) /* istanbul ignore next */ {
56
+ catch (err) {
57
57
  logger_1.logger.debug({ fileContents }, 'Error parsing renovate config');
58
58
  const validationError = 'Invalid JSON (parsing failed)';
59
59
  const validationMessage = `JSON.parse error: \`${err.message.replaceAll('`', "'")}\``;
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../lib/config/parse.ts"],"names":[],"mappings":";;AAMA,0CAoEC;;AA1ED,4FAAmD;AACnD,0DAA0B;AAC1B,0DAA0B;AAC1B,sCAAmC;AACnC,2CAA2C;AAE3C,SAAgB,eAAe,CAC7B,QAAgB,EAChB,YAAoB;IAIpB,MAAM,QAAQ,GAAG,eAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEzC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,eAAK,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;QACtE,CAAC;QAAC,OAAO,GAAG,EAAE,0BAA0B,CAAC,CAAC;YACxC,eAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,0BAA0B,CAAC,CAAC;YACrE,MAAM,eAAe,GAAG,gCAAgC,CAAC;YACzD,MAAM,iBAAiB,GAAG,wBAAwB,GAAG,CAAC,OAAO,CAAC,UAAU,CACtE,GAAG,EACH,GAAG,CACJ,IAAI,CAAC;YACN,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,eAAe;gBACf,iBAAiB;aAClB,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,kBAAkB,GAAG,IAAI,CAAC;QAC9B,IAAI,mBAAmB,GAAG,gCAAa,CAAC,QAAQ,CAC9C,YAAY,EACZ,kBAAkB,CACnB,CAAC;QACF,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,eAAe,GAAG,+BAA+B,CAAC;YACxD,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;YAC9C,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,eAAe;gBACf,iBAAiB;aAClB,CAAC;QACJ,CAAC;QACD,kBAAkB,GAAG,KAAK,CAAC;QAC3B,mBAAmB,GAAG,gCAAa,CAAC,QAAQ,CAC1C,YAAY,EACZ,kBAAkB,CACnB,CAAC;QACF,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,eAAe,GAAG,wBAAwB,CAAC;YACjD,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,eAAe;gBACf,iBAAiB;aAClB,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,cAAc,EAAE,IAAA,kBAAS,EAAC,YAAY,EAAE,QAAQ,CAAC;aAClD,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,0BAA0B,CAAC,CAAC;YACxC,eAAM,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,EAAE,+BAA+B,CAAC,CAAC;YAChE,MAAM,eAAe,GAAG,+BAA+B,CAAC;YACxD,MAAM,iBAAiB,GAAG,wBAAwB,GAAG,CAAC,OAAO,CAAC,UAAU,CACtE,GAAG,EACH,GAAG,CACJ,IAAI,CAAC;YACN,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAC;QAChE,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["import jsonValidator from 'json-dup-key-validator';\nimport JSON5 from 'json5';\nimport upath from 'upath';\nimport { logger } from '../logger';\nimport { parseJson } from '../util/common';\n\nexport function parseFileConfig(\n fileName: string,\n fileContents: string,\n):\n | { success: true; parsedContents: unknown }\n | { success: false; validationError: string; validationMessage: string } {\n const fileType = upath.extname(fileName);\n\n if (fileType === '.json5') {\n try {\n return { success: true, parsedContents: JSON5.parse(fileContents) };\n } catch (err) /* istanbul ignore next */ {\n logger.debug({ fileName, fileContents }, 'Error parsing JSON5 file');\n const validationError = 'Invalid JSON5 (parsing failed)';\n const validationMessage = `JSON5.parse error: \\`${err.message.replaceAll(\n '`',\n \"'\",\n )}\\``;\n return {\n success: false,\n validationError,\n validationMessage,\n };\n }\n } else {\n let allowDuplicateKeys = true;\n let jsonValidationError = jsonValidator.validate(\n fileContents,\n allowDuplicateKeys,\n );\n if (jsonValidationError) {\n const validationError = 'Invalid JSON (parsing failed)';\n const validationMessage = jsonValidationError;\n return {\n success: false,\n validationError,\n validationMessage,\n };\n }\n allowDuplicateKeys = false;\n jsonValidationError = jsonValidator.validate(\n fileContents,\n allowDuplicateKeys,\n );\n if (jsonValidationError) {\n const validationError = 'Duplicate keys in JSON';\n const validationMessage = JSON.stringify(jsonValidationError);\n return {\n success: false,\n validationError,\n validationMessage,\n };\n }\n try {\n return {\n success: true,\n parsedContents: parseJson(fileContents, fileName),\n };\n } catch (err) /* istanbul ignore next */ {\n logger.debug({ fileContents }, 'Error parsing renovate config');\n const validationError = 'Invalid JSON (parsing failed)';\n const validationMessage = `JSON.parse error: \\`${err.message.replaceAll(\n '`',\n \"'\",\n )}\\``;\n return { success: false, validationError, validationMessage };\n }\n }\n}\n"]}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../lib/config/parse.ts"],"names":[],"mappings":";;AAMA,0CAoEC;;AA1ED,4FAAmD;AACnD,0DAA0B;AAC1B,0DAA0B;AAC1B,sCAAmC;AACnC,2CAA2C;AAE3C,SAAgB,eAAe,CAC7B,QAAgB,EAChB,YAAoB;IAIpB,MAAM,QAAQ,GAAG,eAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEzC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,eAAK,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;QACtE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,eAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,0BAA0B,CAAC,CAAC;YACrE,MAAM,eAAe,GAAG,gCAAgC,CAAC;YACzD,MAAM,iBAAiB,GAAG,wBAAwB,GAAG,CAAC,OAAO,CAAC,UAAU,CACtE,GAAG,EACH,GAAG,CACJ,IAAI,CAAC;YACN,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,eAAe;gBACf,iBAAiB;aAClB,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,kBAAkB,GAAG,IAAI,CAAC;QAC9B,IAAI,mBAAmB,GAAG,gCAAa,CAAC,QAAQ,CAC9C,YAAY,EACZ,kBAAkB,CACnB,CAAC;QACF,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,eAAe,GAAG,+BAA+B,CAAC;YACxD,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;YAC9C,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,eAAe;gBACf,iBAAiB;aAClB,CAAC;QACJ,CAAC;QACD,kBAAkB,GAAG,KAAK,CAAC;QAC3B,mBAAmB,GAAG,gCAAa,CAAC,QAAQ,CAC1C,YAAY,EACZ,kBAAkB,CACnB,CAAC;QACF,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,eAAe,GAAG,wBAAwB,CAAC;YACjD,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,eAAe;gBACf,iBAAiB;aAClB,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,cAAc,EAAE,IAAA,kBAAS,EAAC,YAAY,EAAE,QAAQ,CAAC;aAClD,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,eAAM,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,EAAE,+BAA+B,CAAC,CAAC;YAChE,MAAM,eAAe,GAAG,+BAA+B,CAAC;YACxD,MAAM,iBAAiB,GAAG,wBAAwB,GAAG,CAAC,OAAO,CAAC,UAAU,CACtE,GAAG,EACH,GAAG,CACJ,IAAI,CAAC;YACN,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAC;QAChE,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["import jsonValidator from 'json-dup-key-validator';\nimport JSON5 from 'json5';\nimport upath from 'upath';\nimport { logger } from '../logger';\nimport { parseJson } from '../util/common';\n\nexport function parseFileConfig(\n fileName: string,\n fileContents: string,\n):\n | { success: true; parsedContents: unknown }\n | { success: false; validationError: string; validationMessage: string } {\n const fileType = upath.extname(fileName);\n\n if (fileType === '.json5') {\n try {\n return { success: true, parsedContents: JSON5.parse(fileContents) };\n } catch (err) {\n logger.debug({ fileName, fileContents }, 'Error parsing JSON5 file');\n const validationError = 'Invalid JSON5 (parsing failed)';\n const validationMessage = `JSON5.parse error: \\`${err.message.replaceAll(\n '`',\n \"'\",\n )}\\``;\n return {\n success: false,\n validationError,\n validationMessage,\n };\n }\n } else {\n let allowDuplicateKeys = true;\n let jsonValidationError = jsonValidator.validate(\n fileContents,\n allowDuplicateKeys,\n );\n if (jsonValidationError) {\n const validationError = 'Invalid JSON (parsing failed)';\n const validationMessage = jsonValidationError;\n return {\n success: false,\n validationError,\n validationMessage,\n };\n }\n allowDuplicateKeys = false;\n jsonValidationError = jsonValidator.validate(\n fileContents,\n allowDuplicateKeys,\n );\n if (jsonValidationError) {\n const validationError = 'Duplicate keys in JSON';\n const validationMessage = JSON.stringify(jsonValidationError);\n return {\n success: false,\n validationError,\n validationMessage,\n };\n }\n try {\n return {\n success: true,\n parsedContents: parseJson(fileContents, fileName),\n };\n } catch (err) {\n logger.debug({ fileContents }, 'Error parsing renovate config');\n const validationError = 'Invalid JSON (parsing failed)';\n const validationMessage = `JSON.parse error: \\`${err.message.replaceAll(\n '`',\n \"'\",\n )}\\``;\n return { success: false, validationError, validationMessage };\n }\n }\n}\n"]}
@@ -18,7 +18,6 @@ async function fetchJSONFile(repo, fileName, endpoint, tag) {
18
18
  });
19
19
  }
20
20
  catch (err) {
21
- // istanbul ignore if: not testable with nock
22
21
  if (err instanceof external_host_error_1.ExternalHostError) {
23
22
  throw err;
24
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/config/presets/gitea/index.ts"],"names":[],"mappings":";;;AAUA,sCAsBC;AAED,sDAeC;AAED,8BAOC;AA1DD,4CAAyC;AACzC,+EAA+E;AAE/E,mFAA8E;AAC9E,iDAAkD;AAElD,kCAAyE;AAE5D,QAAA,QAAQ,GAAG,oBAAoB,CAAC;AAEtC,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,QAAgB,EAChB,QAAgB,EAChB,GAAmB;IAEnB,IAAI,GAAiB,CAAC;IACtB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,IAAA,8BAAe,EAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE;YAC/C,OAAO,EAAE,QAAQ;SAClB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,6CAA6C;QAC7C,IAAI,GAAG,YAAY,uCAAiB,EAAE,CAAC;YACrC,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,eAAM,CAAC,KAAK,CAAC,eAAe,QAAQ,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,2BAAoB,CAAC,CAAC;IACxC,CAAC;IAED,0BAA0B;IAC1B,OAAO,IAAA,kBAAW,EAAC,IAAA,mBAAU,EAAC,GAAG,CAAC,OAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED,SAAgB,qBAAqB,CACnC,IAAY,EACZ,UAAkB,EAClB,UAAmB,EACnB,QAAQ,GAAG,gBAAQ,EACnB,GAAY;IAEZ,OAAO,IAAA,kBAAW,EAAC;QACjB,IAAI;QACJ,UAAU;QACV,UAAU;QACV,QAAQ;QACR,GAAG;QACH,KAAK,EAAE,aAAa;KACrB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,UAAU,GAAG,SAAS,EACtB,UAAU,EACV,GAAG,GAAG,SAAS,GACF;IACb,OAAO,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAQ,EAAE,GAAG,CAAC,CAAC;AAC5E,CAAC","sourcesContent":["import { logger } from '../../../logger';\nimport { getRepoContents } from '../../../modules/platform/gitea/gitea-helper';\nimport type { RepoContents } from '../../../modules/platform/gitea/types';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { fromBase64 } from '../../../util/string';\nimport type { Preset, PresetConfig } from '../types';\nimport { PRESET_DEP_NOT_FOUND, fetchPreset, parsePreset } from '../util';\n\nexport const Endpoint = 'https://gitea.com/';\n\nexport async function fetchJSONFile(\n repo: string,\n fileName: string,\n endpoint: string,\n tag?: string | null,\n): Promise<Preset> {\n let res: RepoContents;\n try {\n res = await getRepoContents(repo, fileName, tag, {\n baseUrl: endpoint,\n });\n } catch (err) {\n // istanbul ignore if: not testable with nock\n if (err instanceof ExternalHostError) {\n throw err;\n }\n logger.debug(`Preset file ${fileName} not found in ${repo}`);\n throw new Error(PRESET_DEP_NOT_FOUND);\n }\n\n // TODO: null check #22198\n return parsePreset(fromBase64(res.content!), fileName);\n}\n\nexport function getPresetFromEndpoint(\n repo: string,\n filePreset: string,\n presetPath?: string,\n endpoint = Endpoint,\n tag?: string,\n): Promise<Preset | undefined> {\n return fetchPreset({\n repo,\n filePreset,\n presetPath,\n endpoint,\n tag,\n fetch: fetchJSONFile,\n });\n}\n\nexport function getPreset({\n repo,\n presetName = 'default',\n presetPath,\n tag = undefined,\n}: PresetConfig): Promise<Preset | undefined> {\n return getPresetFromEndpoint(repo, presetName, presetPath, Endpoint, tag);\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/config/presets/gitea/index.ts"],"names":[],"mappings":";;;AAUA,sCAqBC;AAED,sDAeC;AAED,8BAOC;AAzDD,4CAAyC;AACzC,+EAA+E;AAE/E,mFAA8E;AAC9E,iDAAkD;AAElD,kCAAyE;AAE5D,QAAA,QAAQ,GAAG,oBAAoB,CAAC;AAEtC,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,QAAgB,EAChB,QAAgB,EAChB,GAAmB;IAEnB,IAAI,GAAiB,CAAC;IACtB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,IAAA,8BAAe,EAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE;YAC/C,OAAO,EAAE,QAAQ;SAClB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,uCAAiB,EAAE,CAAC;YACrC,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,eAAM,CAAC,KAAK,CAAC,eAAe,QAAQ,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,2BAAoB,CAAC,CAAC;IACxC,CAAC;IAED,0BAA0B;IAC1B,OAAO,IAAA,kBAAW,EAAC,IAAA,mBAAU,EAAC,GAAG,CAAC,OAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED,SAAgB,qBAAqB,CACnC,IAAY,EACZ,UAAkB,EAClB,UAAmB,EACnB,QAAQ,GAAG,gBAAQ,EACnB,GAAY;IAEZ,OAAO,IAAA,kBAAW,EAAC;QACjB,IAAI;QACJ,UAAU;QACV,UAAU;QACV,QAAQ;QACR,GAAG;QACH,KAAK,EAAE,aAAa;KACrB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,UAAU,GAAG,SAAS,EACtB,UAAU,EACV,GAAG,GAAG,SAAS,GACF;IACb,OAAO,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAQ,EAAE,GAAG,CAAC,CAAC;AAC5E,CAAC","sourcesContent":["import { logger } from '../../../logger';\nimport { getRepoContents } from '../../../modules/platform/gitea/gitea-helper';\nimport type { RepoContents } from '../../../modules/platform/gitea/types';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { fromBase64 } from '../../../util/string';\nimport type { Preset, PresetConfig } from '../types';\nimport { PRESET_DEP_NOT_FOUND, fetchPreset, parsePreset } from '../util';\n\nexport const Endpoint = 'https://gitea.com/';\n\nexport async function fetchJSONFile(\n repo: string,\n fileName: string,\n endpoint: string,\n tag?: string | null,\n): Promise<Preset> {\n let res: RepoContents;\n try {\n res = await getRepoContents(repo, fileName, tag, {\n baseUrl: endpoint,\n });\n } catch (err) {\n if (err instanceof ExternalHostError) {\n throw err;\n }\n logger.debug(`Preset file ${fileName} not found in ${repo}`);\n throw new Error(PRESET_DEP_NOT_FOUND);\n }\n\n // TODO: null check #22198\n return parsePreset(fromBase64(res.content!), fileName);\n}\n\nexport function getPresetFromEndpoint(\n repo: string,\n filePreset: string,\n presetPath?: string,\n endpoint = Endpoint,\n tag?: string,\n): Promise<Preset | undefined> {\n return fetchPreset({\n repo,\n filePreset,\n presetPath,\n endpoint,\n tag,\n fetch: fetchJSONFile,\n });\n}\n\nexport function getPreset({\n repo,\n presetName = 'default',\n presetPath,\n tag = undefined,\n}: PresetConfig): Promise<Preset | undefined> {\n return getPresetFromEndpoint(repo, presetName, presetPath, Endpoint, tag);\n}\n"]}
@@ -25,7 +25,6 @@ async function fetchJSONFile(repo, fileName, endpoint, tag) {
25
25
  res = await http.getJsonUnchecked(url);
26
26
  }
27
27
  catch (err) {
28
- // istanbul ignore if: not testable with nock
29
28
  if (err instanceof external_host_error_1.ExternalHostError) {
30
29
  throw err;
31
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/config/presets/github/index.ts"],"names":[],"mappings":";;;AAYA,sCAyBC;AAED,sDAeC;AAED,8BAOC;;AA/DD,kEAAkC;AAClC,4CAAyC;AACzC,mFAA8E;AAC9E,sDAAuD;AACvD,iDAAkD;AAElD,kCAAyE;AAE5D,QAAA,QAAQ,GAAG,yBAAyB,CAAC;AAElD,MAAM,IAAI,GAAG,IAAI,mBAAU,EAAE,CAAC;AAEvB,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,QAAgB,EAChB,QAAgB,EAChB,GAAY;IAEZ,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,YAAE,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;IACtB,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,QAAQ,SAAS,IAAI,aAAa,QAAQ,GAAG,GAAG,EAAE,CAAC;IAClE,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;IACpC,IAAI,GAAkC,CAAC;IACvC,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,6CAA6C;QAC7C,IAAI,GAAG,YAAY,uCAAiB,EAAE,CAAC;YACrC,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,eAAM,CAAC,KAAK,CAAC,eAAe,QAAQ,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,2BAAoB,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,IAAA,kBAAW,EAAC,IAAA,mBAAU,EAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAED,SAAgB,qBAAqB,CACnC,IAAY,EACZ,UAAkB,EAClB,UAAmB,EACnB,QAAQ,GAAG,gBAAQ,EACnB,GAAY;IAEZ,OAAO,IAAA,kBAAW,EAAC;QACjB,IAAI;QACJ,UAAU;QACV,UAAU;QACV,QAAQ;QACR,GAAG;QACH,KAAK,EAAE,aAAa;KACrB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,UAAU,GAAG,SAAS,EACtB,UAAU,EACV,GAAG,GACU;IACb,OAAO,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAQ,EAAE,GAAG,CAAC,CAAC;AAC5E,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { GithubHttp } from '../../../util/http/github';\nimport { fromBase64 } from '../../../util/string';\nimport type { Preset, PresetConfig } from '../types';\nimport { PRESET_DEP_NOT_FOUND, fetchPreset, parsePreset } from '../util';\n\nexport const Endpoint = 'https://api.github.com/';\n\nconst http = new GithubHttp();\n\nexport async function fetchJSONFile(\n repo: string,\n fileName: string,\n endpoint: string,\n tag?: string,\n): Promise<Preset> {\n let ref = '';\n if (is.nonEmptyString(tag)) {\n ref = `?ref=${tag}`;\n }\n const url = `${endpoint}repos/${repo}/contents/${fileName}${ref}`;\n logger.trace({ url }, `Preset URL`);\n let res: { body: { content: string } };\n try {\n res = await http.getJsonUnchecked(url);\n } catch (err) {\n // istanbul ignore if: not testable with nock\n if (err instanceof ExternalHostError) {\n throw err;\n }\n logger.debug(`Preset file ${fileName} not found in ${repo}`);\n throw new Error(PRESET_DEP_NOT_FOUND);\n }\n\n return parsePreset(fromBase64(res.body.content), fileName);\n}\n\nexport function getPresetFromEndpoint(\n repo: string,\n filePreset: string,\n presetPath?: string,\n endpoint = Endpoint,\n tag?: string,\n): Promise<Preset | undefined> {\n return fetchPreset({\n repo,\n filePreset,\n presetPath,\n endpoint,\n tag,\n fetch: fetchJSONFile,\n });\n}\n\nexport function getPreset({\n repo,\n presetName = 'default',\n presetPath,\n tag,\n}: PresetConfig): Promise<Preset | undefined> {\n return getPresetFromEndpoint(repo, presetName, presetPath, Endpoint, tag);\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/config/presets/github/index.ts"],"names":[],"mappings":";;;AAYA,sCAwBC;AAED,sDAeC;AAED,8BAOC;;AA9DD,kEAAkC;AAClC,4CAAyC;AACzC,mFAA8E;AAC9E,sDAAuD;AACvD,iDAAkD;AAElD,kCAAyE;AAE5D,QAAA,QAAQ,GAAG,yBAAyB,CAAC;AAElD,MAAM,IAAI,GAAG,IAAI,mBAAU,EAAE,CAAC;AAEvB,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,QAAgB,EAChB,QAAgB,EAChB,GAAY;IAEZ,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,YAAE,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;IACtB,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,QAAQ,SAAS,IAAI,aAAa,QAAQ,GAAG,GAAG,EAAE,CAAC;IAClE,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;IACpC,IAAI,GAAkC,CAAC;IACvC,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,uCAAiB,EAAE,CAAC;YACrC,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,eAAM,CAAC,KAAK,CAAC,eAAe,QAAQ,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,2BAAoB,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,IAAA,kBAAW,EAAC,IAAA,mBAAU,EAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAED,SAAgB,qBAAqB,CACnC,IAAY,EACZ,UAAkB,EAClB,UAAmB,EACnB,QAAQ,GAAG,gBAAQ,EACnB,GAAY;IAEZ,OAAO,IAAA,kBAAW,EAAC;QACjB,IAAI;QACJ,UAAU;QACV,UAAU;QACV,QAAQ;QACR,GAAG;QACH,KAAK,EAAE,aAAa;KACrB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,UAAU,GAAG,SAAS,EACtB,UAAU,EACV,GAAG,GACU;IACb,OAAO,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAQ,EAAE,GAAG,CAAC,CAAC;AAC5E,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { GithubHttp } from '../../../util/http/github';\nimport { fromBase64 } from '../../../util/string';\nimport type { Preset, PresetConfig } from '../types';\nimport { PRESET_DEP_NOT_FOUND, fetchPreset, parsePreset } from '../util';\n\nexport const Endpoint = 'https://api.github.com/';\n\nconst http = new GithubHttp();\n\nexport async function fetchJSONFile(\n repo: string,\n fileName: string,\n endpoint: string,\n tag?: string,\n): Promise<Preset> {\n let ref = '';\n if (is.nonEmptyString(tag)) {\n ref = `?ref=${tag}`;\n }\n const url = `${endpoint}repos/${repo}/contents/${fileName}${ref}`;\n logger.trace({ url }, `Preset URL`);\n let res: { body: { content: string } };\n try {\n res = await http.getJsonUnchecked(url);\n } catch (err) {\n if (err instanceof ExternalHostError) {\n throw err;\n }\n logger.debug(`Preset file ${fileName} not found in ${repo}`);\n throw new Error(PRESET_DEP_NOT_FOUND);\n }\n\n return parsePreset(fromBase64(res.body.content), fileName);\n}\n\nexport function getPresetFromEndpoint(\n repo: string,\n filePreset: string,\n presetPath?: string,\n endpoint = Endpoint,\n tag?: string,\n): Promise<Preset | undefined> {\n return fetchPreset({\n repo,\n filePreset,\n presetPath,\n endpoint,\n tag,\n fetch: fetchJSONFile,\n });\n}\n\nexport function getPreset({\n repo,\n presetName = 'default',\n presetPath,\n tag,\n}: PresetConfig): Promise<Preset | undefined> {\n return getPresetFromEndpoint(repo, presetName, presetPath, Endpoint, tag);\n}\n"]}
@@ -32,7 +32,7 @@ async function fetchJSONFile(repo, fileName, endpoint, tag) {
32
32
  }
33
33
  url += `projects/${urlEncodedRepo}/repository/files/${urlEncodedPkgName}/raw${ref}`;
34
34
  logger_1.logger.trace({ url }, `Preset URL`);
35
- res = await gitlabApi.get(url);
35
+ res = await gitlabApi.getText(url);
36
36
  }
37
37
  catch (err) {
38
38
  if (err instanceof external_host_error_1.ExternalHostError) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/config/presets/gitlab/index.ts"],"names":[],"mappings":";;;AAsBA,sCAiCC;AAED,sDAeC;AAED,8BAOC;;AAjFD,kEAAkC;AAClC,4CAAyC;AACzC,mFAA8E;AAE9E,sDAAuD;AAGvD,kCAAyE;AAEzE,MAAM,SAAS,GAAG,IAAI,mBAAU,EAAE,CAAC;AACtB,QAAA,QAAQ,GAAG,4BAA4B,CAAC;AAErD,KAAK,UAAU,oBAAoB,CACjC,iBAAyB,EACzB,QAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAC1C,GAAG,QAAQ,YAAY,iBAAiB,EAAE,CAC3C,CAAC;IACF,OAAO,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,QAAQ,CAAC,CAAC,uEAAuE;AACrH,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,QAAgB,EAChB,QAAgB,EAChB,GAAY;IAEZ,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,GAAiB,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,YAAE,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAClD,cAAc,EACd,QAAQ,CACT,CAAC;YACF,GAAG,GAAG,QAAQ,iBAAiB,EAAE,CAAC;QACpC,CAAC;QACD,GAAG,IAAI,YAAY,cAAc,qBAAqB,iBAAiB,OAAO,GAAG,EAAE,CAAC;QACpF,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;QACpC,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,uCAAiB,EAAE,CAAC;YACrC,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,eAAM,CAAC,KAAK,CAAC,eAAe,QAAQ,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,2BAAoB,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,IAAA,kBAAW,EAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,qBAAqB,CACnC,IAAY,EACZ,UAAkB,EAClB,UAAmB,EACnB,QAAQ,GAAG,gBAAQ,EACnB,GAAY;IAEZ,OAAO,IAAA,kBAAW,EAAC;QACjB,IAAI;QACJ,UAAU,EAAE,UAAU;QACtB,UAAU;QACV,QAAQ;QACR,GAAG;QACH,KAAK,EAAE,aAAa;KACrB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,UAAU,EACV,UAAU,GAAG,SAAS,EACtB,GAAG,GAAG,SAAS,GACF;IACb,OAAO,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAQ,EAAE,GAAG,CAAC,CAAC;AAC5E,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport type { GitlabProject } from '../../../types/platform/gitlab';\nimport { GitlabHttp } from '../../../util/http/gitlab';\nimport type { HttpResponse } from '../../../util/http/types';\nimport type { Preset, PresetConfig } from '../types';\nimport { PRESET_DEP_NOT_FOUND, fetchPreset, parsePreset } from '../util';\n\nconst gitlabApi = new GitlabHttp();\nexport const Endpoint = 'https://gitlab.com/api/v4/';\n\nasync function getDefaultBranchName(\n urlEncodedPkgName: string,\n endpoint: string,\n): Promise<string> {\n const res = await gitlabApi.getJsonUnchecked<GitlabProject>(\n `${endpoint}projects/${urlEncodedPkgName}`,\n );\n return res.body.default_branch ?? 'master'; // should never happen, but we keep this to ensure the current behavior\n}\n\nexport async function fetchJSONFile(\n repo: string,\n fileName: string,\n endpoint: string,\n tag?: string,\n): Promise<Preset> {\n let url = endpoint;\n let ref = '';\n let res: HttpResponse;\n try {\n const urlEncodedRepo = encodeURIComponent(repo);\n const urlEncodedPkgName = encodeURIComponent(fileName);\n if (is.nonEmptyString(tag)) {\n ref = `?ref=${tag}`;\n } else {\n const defaultBranchName = await getDefaultBranchName(\n urlEncodedRepo,\n endpoint,\n );\n ref = `?ref=${defaultBranchName}`;\n }\n url += `projects/${urlEncodedRepo}/repository/files/${urlEncodedPkgName}/raw${ref}`;\n logger.trace({ url }, `Preset URL`);\n res = await gitlabApi.get(url);\n } catch (err) {\n if (err instanceof ExternalHostError) {\n throw err;\n }\n logger.debug(`Preset file ${fileName} not found in ${repo}`);\n throw new Error(PRESET_DEP_NOT_FOUND);\n }\n\n return parsePreset(res.body, fileName);\n}\n\nexport function getPresetFromEndpoint(\n repo: string,\n presetName: string,\n presetPath?: string,\n endpoint = Endpoint,\n tag?: string,\n): Promise<Preset | undefined> {\n return fetchPreset({\n repo,\n filePreset: presetName,\n presetPath,\n endpoint,\n tag,\n fetch: fetchJSONFile,\n });\n}\n\nexport function getPreset({\n repo,\n presetPath,\n presetName = 'default',\n tag = undefined,\n}: PresetConfig): Promise<Preset | undefined> {\n return getPresetFromEndpoint(repo, presetName, presetPath, Endpoint, tag);\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/config/presets/gitlab/index.ts"],"names":[],"mappings":";;;AAsBA,sCAiCC;AAED,sDAeC;AAED,8BAOC;;AAjFD,kEAAkC;AAClC,4CAAyC;AACzC,mFAA8E;AAE9E,sDAAuD;AAGvD,kCAAyE;AAEzE,MAAM,SAAS,GAAG,IAAI,mBAAU,EAAE,CAAC;AACtB,QAAA,QAAQ,GAAG,4BAA4B,CAAC;AAErD,KAAK,UAAU,oBAAoB,CACjC,iBAAyB,EACzB,QAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAC1C,GAAG,QAAQ,YAAY,iBAAiB,EAAE,CAC3C,CAAC;IACF,OAAO,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,QAAQ,CAAC,CAAC,uEAAuE;AACrH,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,QAAgB,EAChB,QAAgB,EAChB,GAAY;IAEZ,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,GAAiB,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,YAAE,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAClD,cAAc,EACd,QAAQ,CACT,CAAC;YACF,GAAG,GAAG,QAAQ,iBAAiB,EAAE,CAAC;QACpC,CAAC;QACD,GAAG,IAAI,YAAY,cAAc,qBAAqB,iBAAiB,OAAO,GAAG,EAAE,CAAC;QACpF,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;QACpC,GAAG,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,uCAAiB,EAAE,CAAC;YACrC,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,eAAM,CAAC,KAAK,CAAC,eAAe,QAAQ,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,2BAAoB,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,IAAA,kBAAW,EAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,qBAAqB,CACnC,IAAY,EACZ,UAAkB,EAClB,UAAmB,EACnB,QAAQ,GAAG,gBAAQ,EACnB,GAAY;IAEZ,OAAO,IAAA,kBAAW,EAAC;QACjB,IAAI;QACJ,UAAU,EAAE,UAAU;QACtB,UAAU;QACV,QAAQ;QACR,GAAG;QACH,KAAK,EAAE,aAAa;KACrB,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,UAAU,EACV,UAAU,GAAG,SAAS,EACtB,GAAG,GAAG,SAAS,GACF;IACb,OAAO,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAQ,EAAE,GAAG,CAAC,CAAC;AAC5E,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport { logger } from '../../../logger';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport type { GitlabProject } from '../../../types/platform/gitlab';\nimport { GitlabHttp } from '../../../util/http/gitlab';\nimport type { HttpResponse } from '../../../util/http/types';\nimport type { Preset, PresetConfig } from '../types';\nimport { PRESET_DEP_NOT_FOUND, fetchPreset, parsePreset } from '../util';\n\nconst gitlabApi = new GitlabHttp();\nexport const Endpoint = 'https://gitlab.com/api/v4/';\n\nasync function getDefaultBranchName(\n urlEncodedPkgName: string,\n endpoint: string,\n): Promise<string> {\n const res = await gitlabApi.getJsonUnchecked<GitlabProject>(\n `${endpoint}projects/${urlEncodedPkgName}`,\n );\n return res.body.default_branch ?? 'master'; // should never happen, but we keep this to ensure the current behavior\n}\n\nexport async function fetchJSONFile(\n repo: string,\n fileName: string,\n endpoint: string,\n tag?: string,\n): Promise<Preset> {\n let url = endpoint;\n let ref = '';\n let res: HttpResponse;\n try {\n const urlEncodedRepo = encodeURIComponent(repo);\n const urlEncodedPkgName = encodeURIComponent(fileName);\n if (is.nonEmptyString(tag)) {\n ref = `?ref=${tag}`;\n } else {\n const defaultBranchName = await getDefaultBranchName(\n urlEncodedRepo,\n endpoint,\n );\n ref = `?ref=${defaultBranchName}`;\n }\n url += `projects/${urlEncodedRepo}/repository/files/${urlEncodedPkgName}/raw${ref}`;\n logger.trace({ url }, `Preset URL`);\n res = await gitlabApi.getText(url);\n } catch (err) {\n if (err instanceof ExternalHostError) {\n throw err;\n }\n logger.debug(`Preset file ${fileName} not found in ${repo}`);\n throw new Error(PRESET_DEP_NOT_FOUND);\n }\n\n return parsePreset(res.body, fileName);\n}\n\nexport function getPresetFromEndpoint(\n repo: string,\n presetName: string,\n presetPath?: string,\n endpoint = Endpoint,\n tag?: string,\n): Promise<Preset | undefined> {\n return fetchPreset({\n repo,\n filePreset: presetName,\n presetPath,\n endpoint,\n tag,\n fetch: fetchJSONFile,\n });\n}\n\nexport function getPreset({\n repo,\n presetPath,\n presetName = 'default',\n tag = undefined,\n}: PresetConfig): Promise<Preset | undefined> {\n return getPresetFromEndpoint(repo, presetName, presetPath, Endpoint, tag);\n}\n"]}
@@ -15,10 +15,9 @@ async function getPreset({ repo: url, }) {
15
15
  throw new Error(util_1.PRESET_DEP_NOT_FOUND);
16
16
  }
17
17
  try {
18
- response = await http.get(url);
18
+ response = await http.getText(url);
19
19
  }
20
20
  catch (err) {
21
- // istanbul ignore if: not testable with nock
22
21
  if (err instanceof external_host_error_1.ExternalHostError) {
23
22
  throw err;
24
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/config/presets/http/index.ts"],"names":[],"mappings":";;AAUA,8BAwBC;AAlCD,4CAAyC;AACzC,mFAA8E;AAC9E,6CAA0C;AAE1C,2CAA6C;AAE7C,kCAA4D;AAE5D,MAAM,IAAI,GAAG,IAAI,WAAI,CAAC,QAAQ,CAAC,CAAC;AAEzB,KAAK,UAAU,SAAS,CAAC,EAC9B,IAAI,EAAE,GAAG,GACI;IACb,MAAM,SAAS,GAAG,IAAA,cAAQ,EAAC,GAAG,CAAC,CAAC;IAChC,IAAI,QAAsB,CAAC;IAE3B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,cAAc,GAAG,eAAe,CAAC,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,2BAAoB,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,6CAA6C;QAC7C,IAAI,GAAG,YAAY,uCAAiB,EAAE,CAAC;YACrC,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,eAAM,CAAC,KAAK,CAAC,eAAe,GAAG,YAAY,CAAC,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,2BAAoB,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,IAAA,kBAAW,EAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;AACxD,CAAC","sourcesContent":["import { logger } from '../../../logger';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { Http } from '../../../util/http';\nimport type { HttpResponse } from '../../../util/http/types';\nimport { parseUrl } from '../../../util/url';\nimport type { Preset, PresetConfig } from '../types';\nimport { PRESET_DEP_NOT_FOUND, parsePreset } from '../util';\n\nconst http = new Http('preset');\n\nexport async function getPreset({\n repo: url,\n}: PresetConfig): Promise<Preset | null | undefined> {\n const parsedUrl = parseUrl(url);\n let response: HttpResponse;\n\n if (!parsedUrl) {\n logger.debug(`Preset URL ${url} is malformed`);\n throw new Error(PRESET_DEP_NOT_FOUND);\n }\n\n try {\n response = await http.get(url);\n } catch (err) {\n // istanbul ignore if: not testable with nock\n if (err instanceof ExternalHostError) {\n throw err;\n }\n\n logger.debug(`Preset file ${url} not found`);\n throw new Error(PRESET_DEP_NOT_FOUND);\n }\n\n return parsePreset(response.body, parsedUrl.pathname);\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/config/presets/http/index.ts"],"names":[],"mappings":";;AAUA,8BAuBC;AAjCD,4CAAyC;AACzC,mFAA8E;AAC9E,6CAA0C;AAE1C,2CAA6C;AAE7C,kCAA4D;AAE5D,MAAM,IAAI,GAAG,IAAI,WAAI,CAAC,QAAQ,CAAC,CAAC;AAEzB,KAAK,UAAU,SAAS,CAAC,EAC9B,IAAI,EAAE,GAAG,GACI;IACb,MAAM,SAAS,GAAG,IAAA,cAAQ,EAAC,GAAG,CAAC,CAAC;IAChC,IAAI,QAAsB,CAAC;IAE3B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,cAAc,GAAG,eAAe,CAAC,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,2BAAoB,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,uCAAiB,EAAE,CAAC;YACrC,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,eAAM,CAAC,KAAK,CAAC,eAAe,GAAG,YAAY,CAAC,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,2BAAoB,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,IAAA,kBAAW,EAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;AACxD,CAAC","sourcesContent":["import { logger } from '../../../logger';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { Http } from '../../../util/http';\nimport type { HttpResponse } from '../../../util/http/types';\nimport { parseUrl } from '../../../util/url';\nimport type { Preset, PresetConfig } from '../types';\nimport { PRESET_DEP_NOT_FOUND, parsePreset } from '../util';\n\nconst http = new Http('preset');\n\nexport async function getPreset({\n repo: url,\n}: PresetConfig): Promise<Preset | null | undefined> {\n const parsedUrl = parseUrl(url);\n let response: HttpResponse;\n\n if (!parsedUrl) {\n logger.debug(`Preset URL ${url} is malformed`);\n throw new Error(PRESET_DEP_NOT_FOUND);\n }\n\n try {\n response = await http.getText(url);\n } catch (err) {\n if (err instanceof ExternalHostError) {\n throw err;\n }\n\n logger.debug(`Preset file ${url} not found`);\n throw new Error(PRESET_DEP_NOT_FOUND);\n }\n\n return parsePreset(response.body, parsedUrl.pathname);\n}\n"]}
@@ -110,7 +110,6 @@ async function getPreset(preset, baseConfig) {
110
110
  }
111
111
  logger_1.logger.trace({ presetConfig }, `Applied params to preset ${preset}`);
112
112
  const presetKeys = Object.keys(presetConfig);
113
- // istanbul ignore if
114
113
  if (presetKeys.length === 2 &&
115
114
  presetKeys.includes('description') &&
116
115
  presetKeys.includes('extends')) {
@@ -140,7 +139,6 @@ async function resolveConfigPresets(inputConfig, baseConfig, _ignorePresets, exi
140
139
  logger_1.logger.trace(`Resolving preset "${preset}"`);
141
140
  const fetchedPreset = await fetchPreset(preset, baseConfig, inputConfig, existingPresets);
142
141
  const presetConfig = await resolveConfigPresets(fetchedPreset, baseConfig ?? inputConfig, ignorePresets, existingPresets.concat([preset]));
143
- // istanbul ignore if
144
142
  if (inputConfig?.ignoreDeps?.length === 0) {
145
143
  delete presetConfig.description;
146
144
  }
@@ -184,11 +182,9 @@ async function fetchPreset(preset, baseConfig, inputConfig, existingPresets) {
184
182
  }
185
183
  catch (err) {
186
184
  logger_1.logger.debug({ preset, err }, 'Preset fetch error');
187
- // istanbul ignore if
188
185
  if (err instanceof external_host_error_1.ExternalHostError) {
189
186
  throw err;
190
187
  }
191
- // istanbul ignore if
192
188
  if (err.message === error_messages_1.PLATFORM_RATE_LIMIT_EXCEEDED) {
193
189
  throw err;
194
190
  }
@@ -214,7 +210,6 @@ async function fetchPreset(preset, baseConfig, inputConfig, existingPresets) {
214
210
  else {
215
211
  error.validationError = `Preset caused unexpected error (${preset})`;
216
212
  }
217
- // istanbul ignore if
218
213
  if (existingPresets.length) {
219
214
  error.validationError +=
220
215
  '. Note: this is a *nested* preset so please contact the preset author if you are unable to fix it yourself.';
@@ -224,13 +219,11 @@ async function fetchPreset(preset, baseConfig, inputConfig, existingPresets) {
224
219
  }
225
220
  }
226
221
  function shouldResolvePreset(preset, existingPresets, ignorePresets) {
227
- // istanbul ignore if
228
222
  if (existingPresets.includes(preset)) {
229
223
  logger_1.logger.debug(`Already seen preset ${preset} in [${existingPresets.join(', ')}]`);
230
224
  return false;
231
225
  }
232
226
  if (ignorePresets.includes(preset)) {
233
- // istanbul ignore next
234
227
  logger_1.logger.debug(`Ignoring preset ${preset} in [${existingPresets.join(', ')}]`);
235
228
  return false;
236
229
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/config/presets/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport {\n CONFIG_VALIDATION,\n PLATFORM_RATE_LIMIT_EXCEEDED,\n} from '../../constants/error-messages';\nimport { logger } from '../../logger';\nimport { ExternalHostError } from '../../types/errors/external-host-error';\nimport * as memCache from '../../util/cache/memory';\nimport * as packageCache from '../../util/cache/package';\nimport { getTtlOverride } from '../../util/cache/package/ttl';\nimport { clone } from '../../util/clone';\nimport { regEx } from '../../util/regex';\nimport * as template from '../../util/template';\nimport { GlobalConfig } from '../global';\nimport * as massage from '../massage';\nimport * as migration from '../migration';\nimport type { AllConfig, RenovateConfig } from '../types';\nimport { mergeChildConfig } from '../utils';\nimport { removedPresets } from './common';\nimport * as gitea from './gitea';\nimport * as github from './github';\nimport * as gitlab from './gitlab';\nimport * as http from './http';\nimport * as internal from './internal';\nimport * as local from './local';\nimport * as npm from './npm';\nimport { parsePreset } from './parse';\nimport type { Preset, PresetApi } from './types';\nimport {\n PRESET_DEP_NOT_FOUND,\n PRESET_INVALID,\n PRESET_INVALID_JSON,\n PRESET_NOT_FOUND,\n PRESET_PROHIBITED_SUBPRESET,\n PRESET_RENOVATE_CONFIG_NOT_FOUND,\n} from './util';\n\nconst presetSources: Record<string, PresetApi> = {\n github,\n npm,\n gitlab,\n gitea,\n local,\n internal,\n http,\n};\n\nconst presetCacheNamespace = 'preset';\n\nexport function replaceArgs(\n obj: string,\n argMapping: Record<string, any>,\n): string;\nexport function replaceArgs(\n obj: string[],\n argMapping: Record<string, any>,\n): string[];\nexport function replaceArgs(\n obj: Record<string, any>,\n argMapping: Record<string, any>,\n): Record<string, any>;\nexport function replaceArgs(\n obj: Record<string, any>[],\n argMapping: Record<string, any>,\n): Record<string, any>[];\n\n/**\n * TODO: fix me #22198\n * @param obj\n * @param argMapping\n */\nexport function replaceArgs(obj: any, argMapping: Record<string, any>): any;\nexport function replaceArgs(\n obj: string | string[] | Record<string, any> | Record<string, any>[],\n argMapping: Record<string, any>,\n): any {\n if (is.string(obj)) {\n let returnStr = obj;\n for (const [arg, argVal] of Object.entries(argMapping)) {\n const re = regEx(`{{${arg}}}`, 'g', false);\n returnStr = returnStr.replace(re, argVal);\n }\n return returnStr;\n }\n if (is.array(obj)) {\n const returnArray = [];\n for (const item of obj) {\n returnArray.push(replaceArgs(item, argMapping));\n }\n return returnArray;\n }\n if (is.object(obj)) {\n const returnObj: Record<string, any> = {};\n for (const [key, val] of Object.entries(obj)) {\n returnObj[key] = replaceArgs(val, argMapping);\n }\n return returnObj;\n }\n return obj;\n}\n\nexport async function getPreset(\n preset: string,\n baseConfig?: RenovateConfig,\n): Promise<RenovateConfig> {\n logger.trace(`getPreset(${preset})`);\n // Check if the preset has been removed or replaced\n const newPreset = removedPresets[preset];\n if (newPreset) {\n return getPreset(newPreset, baseConfig);\n }\n if (newPreset === null) {\n return {};\n }\n const { presetSource, repo, presetPath, presetName, tag, params } =\n parsePreset(preset);\n const cacheKey = `preset:${preset}`;\n const presetCachePersistence = GlobalConfig.get(\n 'presetCachePersistence',\n false,\n );\n\n let presetConfig: Preset | null | undefined;\n\n if (presetCachePersistence) {\n presetConfig = await packageCache.get(presetCacheNamespace, cacheKey);\n } else {\n presetConfig = memCache.get(cacheKey);\n }\n\n if (is.nullOrUndefined(presetConfig)) {\n presetConfig = await presetSources[presetSource].getPreset({\n repo,\n presetPath,\n presetName,\n tag,\n });\n if (presetCachePersistence) {\n await packageCache.set(\n presetCacheNamespace,\n cacheKey,\n presetConfig,\n getTtlOverride(presetCacheNamespace) ?? 15,\n );\n } else {\n memCache.set(cacheKey, presetConfig);\n }\n }\n if (!presetConfig) {\n throw new Error(PRESET_DEP_NOT_FOUND);\n }\n logger.trace({ presetConfig }, `Found preset ${preset}`);\n if (params) {\n const argMapping: Record<string, string> = {};\n for (const [index, value] of params.entries()) {\n argMapping[`arg${index}`] = value;\n }\n presetConfig = replaceArgs(presetConfig, argMapping);\n }\n logger.trace({ presetConfig }, `Applied params to preset ${preset}`);\n const presetKeys = Object.keys(presetConfig);\n // istanbul ignore if\n if (\n presetKeys.length === 2 &&\n presetKeys.includes('description') &&\n presetKeys.includes('extends')\n ) {\n // preset is just a collection of other presets\n delete presetConfig.description;\n }\n const packageListKeys = ['description', 'matchPackageNames'];\n if (presetKeys.every((key) => packageListKeys.includes(key))) {\n delete presetConfig.description;\n }\n const { migratedConfig } = migration.migrateConfig(presetConfig);\n return massage.massageConfig(migratedConfig);\n}\n\nexport async function resolveConfigPresets(\n inputConfig: AllConfig,\n baseConfig?: RenovateConfig,\n _ignorePresets?: string[],\n existingPresets: string[] = [],\n): Promise<AllConfig> {\n let ignorePresets = clone(_ignorePresets);\n if (!ignorePresets || ignorePresets.length === 0) {\n ignorePresets = inputConfig.ignorePresets ?? [];\n }\n logger.trace(\n { config: inputConfig, existingPresets },\n 'resolveConfigPresets',\n );\n let config: AllConfig = {};\n // First, merge all the preset configs from left to right\n if (inputConfig.extends?.length) {\n // Compile templates\n inputConfig.extends = inputConfig.extends.map((tmpl) =>\n template.compile(tmpl, {}),\n );\n for (const preset of inputConfig.extends) {\n if (shouldResolvePreset(preset, existingPresets, ignorePresets)) {\n logger.trace(`Resolving preset \"${preset}\"`);\n const fetchedPreset = await fetchPreset(\n preset,\n baseConfig,\n inputConfig,\n existingPresets,\n );\n const presetConfig = await resolveConfigPresets(\n fetchedPreset,\n baseConfig ?? inputConfig,\n ignorePresets,\n existingPresets.concat([preset]),\n );\n // istanbul ignore if\n if (inputConfig?.ignoreDeps?.length === 0) {\n delete presetConfig.description;\n }\n config = mergeChildConfig(config, presetConfig);\n }\n }\n }\n logger.trace({ config }, `Post-preset resolve config`);\n // Now assign \"regular\" config on top\n config = mergeChildConfig(config, inputConfig);\n delete config.extends;\n delete config.ignorePresets;\n logger.trace({ config }, `Post-merge resolve config`);\n for (const [key, val] of Object.entries(config)) {\n const ignoredKeys = ['content', 'onboardingConfig'];\n if (is.array(val)) {\n // Resolve nested objects inside arrays\n config[key] = [];\n for (const element of val) {\n if (is.object(element)) {\n (config[key] as RenovateConfig[]).push(\n await resolveConfigPresets(\n element as RenovateConfig,\n baseConfig,\n ignorePresets,\n existingPresets,\n ),\n );\n } else {\n (config[key] as unknown[]).push(element);\n }\n }\n } else if (is.object(val) && !ignoredKeys.includes(key)) {\n // Resolve nested objects\n logger.trace(`Resolving object \"${key}\"`);\n config[key] = await resolveConfigPresets(\n val as RenovateConfig,\n baseConfig,\n ignorePresets,\n existingPresets,\n );\n }\n }\n logger.trace({ config: inputConfig }, 'Input config');\n logger.trace({ config }, 'Resolved config');\n return config;\n}\n\nasync function fetchPreset(\n preset: string,\n baseConfig: RenovateConfig | undefined,\n inputConfig: AllConfig,\n existingPresets: string[],\n): Promise<AllConfig> {\n try {\n return await getPreset(preset, baseConfig ?? inputConfig);\n } catch (err) {\n logger.debug({ preset, err }, 'Preset fetch error');\n // istanbul ignore if\n if (err instanceof ExternalHostError) {\n throw err;\n }\n // istanbul ignore if\n if (err.message === PLATFORM_RATE_LIMIT_EXCEEDED) {\n throw err;\n }\n const error = new Error(CONFIG_VALIDATION);\n if (err.message === PRESET_DEP_NOT_FOUND) {\n error.validationError = `Cannot find preset's package (${preset})`;\n } else if (err.message === PRESET_RENOVATE_CONFIG_NOT_FOUND) {\n error.validationError = `Preset package is missing a renovate-config entry (${preset})`;\n } else if (err.message === PRESET_NOT_FOUND) {\n error.validationError = `Preset name not found within published preset config (${preset})`;\n } else if (err.message === PRESET_INVALID) {\n error.validationError = `Preset is invalid (${preset})`;\n } else if (err.message === PRESET_PROHIBITED_SUBPRESET) {\n error.validationError = `Sub-presets cannot be combined with a custom path (${preset})`;\n } else if (err.message === PRESET_INVALID_JSON) {\n error.validationError = `Preset is invalid JSON (${preset})`;\n } else {\n error.validationError = `Preset caused unexpected error (${preset})`;\n }\n // istanbul ignore if\n if (existingPresets.length) {\n error.validationError +=\n '. Note: this is a *nested* preset so please contact the preset author if you are unable to fix it yourself.';\n }\n logger.info(\n { validationError: error.validationError },\n 'Throwing preset error',\n );\n throw error;\n }\n}\n\nfunction shouldResolvePreset(\n preset: string,\n existingPresets: string[],\n ignorePresets: string[],\n): boolean {\n // istanbul ignore if\n if (existingPresets.includes(preset)) {\n logger.debug(\n `Already seen preset ${preset} in [${existingPresets.join(', ')}]`,\n );\n return false;\n }\n if (ignorePresets.includes(preset)) {\n // istanbul ignore next\n logger.debug(\n `Ignoring preset ${preset} in [${existingPresets.join(', ')}]`,\n );\n return false;\n }\n return true;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/config/presets/index.ts"],"names":[],"mappings":";;AAwEA,kCA2BC;AAED,8BA0EC;AAED,oDAkFC;;AAnQD,kEAAkC;AAClC,mEAGwC;AACxC,yCAAsC;AACtC,gFAA2E;AAC3E,0EAAoD;AACpD,+EAAyD;AACzD,sDAA8D;AAC9D,4CAAyC;AACzC,4CAAyC;AACzC,sEAAgD;AAChD,sCAAyC;AACzC,4DAAsC;AACtC,gEAA0C;AAE1C,oCAA4C;AAC5C,qCAA0C;AAC1C,uDAAiC;AACjC,yDAAmC;AACnC,yDAAmC;AACnC,qDAA+B;AAC/B,6DAAuC;AACvC,uDAAiC;AACjC,mDAA6B;AAC7B,mCAAsC;AAEtC,iCAOgB;AAEhB,MAAM,aAAa,GAA8B;IAC/C,MAAM;IACN,GAAG;IACH,MAAM;IACN,KAAK;IACL,KAAK;IACL,QAAQ;IACR,IAAI;CACL,CAAC;AAEF,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAyBtC,SAAgB,WAAW,CACzB,GAAoE,EACpE,UAA+B;IAE/B,IAAI,YAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,IAAI,SAAS,GAAG,GAAG,CAAC;QACpB,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACvD,MAAM,EAAE,GAAG,IAAA,aAAK,EAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC3C,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,YAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAClB,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACvB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,YAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,SAAS,GAAwB,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,SAAS,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAEM,KAAK,UAAU,SAAS,CAC7B,MAAc,EACd,UAA2B;IAE3B,eAAM,CAAC,KAAK,CAAC,aAAa,MAAM,GAAG,CAAC,CAAC;IACrC,mDAAmD;IACnD,MAAM,SAAS,GAAG,uBAAc,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAC/D,IAAA,mBAAW,EAAC,MAAM,CAAC,CAAC;IACtB,MAAM,QAAQ,GAAG,UAAU,MAAM,EAAE,CAAC;IACpC,MAAM,sBAAsB,GAAG,qBAAY,CAAC,GAAG,CAC7C,wBAAwB,EACxB,KAAK,CACN,CAAC;IAEF,IAAI,YAAuC,CAAC;IAE5C,IAAI,sBAAsB,EAAE,CAAC;QAC3B,YAAY,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IACxE,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,YAAE,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;QACrC,YAAY,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC;YACzD,IAAI;YACJ,UAAU;YACV,UAAU;YACV,GAAG;SACJ,CAAC,CAAC;QACH,IAAI,sBAAsB,EAAE,CAAC;YAC3B,MAAM,YAAY,CAAC,GAAG,CACpB,oBAAoB,EACpB,QAAQ,EACR,YAAY,EACZ,IAAA,oBAAc,EAAC,oBAAoB,CAAC,IAAI,EAAE,CAC3C,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,2BAAoB,CAAC,CAAC;IACxC,CAAC;IACD,eAAM,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,EAAE,gBAAgB,MAAM,EAAE,CAAC,CAAC;IACzD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,UAAU,GAA2B,EAAE,CAAC;QAC9C,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9C,UAAU,CAAC,MAAM,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC;QACpC,CAAC;QACD,YAAY,GAAG,WAAW,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;IACD,eAAM,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,EAAE,4BAA4B,MAAM,EAAE,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7C,IACE,UAAU,CAAC,MAAM,KAAK,CAAC;QACvB,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC;QAClC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC9B,CAAC;QACD,+CAA+C;QAC/C,OAAO,YAAY,CAAC,WAAW,CAAC;IAClC,CAAC;IACD,MAAM,eAAe,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC;IAC7D,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC7D,OAAO,YAAY,CAAC,WAAW,CAAC;IAClC,CAAC;IACD,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IACjE,OAAO,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;AAC/C,CAAC;AAEM,KAAK,UAAU,oBAAoB,CACxC,WAAsB,EACtB,UAA2B,EAC3B,cAAyB,EACzB,kBAA4B,EAAE;IAE9B,IAAI,aAAa,GAAG,IAAA,aAAK,EAAC,cAAc,CAAC,CAAC;IAC1C,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjD,aAAa,GAAG,WAAW,CAAC,aAAa,IAAI,EAAE,CAAC;IAClD,CAAC;IACD,eAAM,CAAC,KAAK,CACV,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,EACxC,sBAAsB,CACvB,CAAC;IACF,IAAI,MAAM,GAAc,EAAE,CAAC;IAC3B,yDAAyD;IACzD,IAAI,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAChC,oBAAoB;QACpB,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACrD,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAC3B,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACzC,IAAI,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,aAAa,CAAC,EAAE,CAAC;gBAChE,eAAM,CAAC,KAAK,CAAC,qBAAqB,MAAM,GAAG,CAAC,CAAC;gBAC7C,MAAM,aAAa,GAAG,MAAM,WAAW,CACrC,MAAM,EACN,UAAU,EACV,WAAW,EACX,eAAe,CAChB,CAAC;gBACF,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAC7C,aAAa,EACb,UAAU,IAAI,WAAW,EACzB,aAAa,EACb,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CACjC,CAAC;gBACF,IAAI,WAAW,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1C,OAAO,YAAY,CAAC,WAAW,CAAC;gBAClC,CAAC;gBACD,MAAM,GAAG,IAAA,wBAAgB,EAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;IACH,CAAC;IACD,eAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,4BAA4B,CAAC,CAAC;IACvD,qCAAqC;IACrC,MAAM,GAAG,IAAA,wBAAgB,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC,OAAO,CAAC;IACtB,OAAO,MAAM,CAAC,aAAa,CAAC;IAC5B,eAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,2BAA2B,CAAC,CAAC;IACtD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACpD,IAAI,YAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,uCAAuC;YACvC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACjB,KAAK,MAAM,OAAO,IAAI,GAAG,EAAE,CAAC;gBAC1B,IAAI,YAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBACtB,MAAM,CAAC,GAAG,CAAsB,CAAC,IAAI,CACpC,MAAM,oBAAoB,CACxB,OAAyB,EACzB,UAAU,EACV,aAAa,EACb,eAAe,CAChB,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACL,MAAM,CAAC,GAAG,CAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,YAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACxD,yBAAyB;YACzB,eAAM,CAAC,KAAK,CAAC,qBAAqB,GAAG,GAAG,CAAC,CAAC;YAC1C,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,oBAAoB,CACtC,GAAqB,EACrB,UAAU,EACV,aAAa,EACb,eAAe,CAChB,CAAC;QACJ,CAAC;IACH,CAAC;IACD,eAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,cAAc,CAAC,CAAC;IACtD,eAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAC5C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,MAAc,EACd,UAAsC,EACtC,WAAsB,EACtB,eAAyB;IAEzB,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,CAAC,MAAM,EAAE,UAAU,IAAI,WAAW,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,oBAAoB,CAAC,CAAC;QACpD,IAAI,GAAG,YAAY,uCAAiB,EAAE,CAAC;YACrC,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,KAAK,6CAA4B,EAAE,CAAC;YACjD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,kCAAiB,CAAC,CAAC;QAC3C,IAAI,GAAG,CAAC,OAAO,KAAK,2BAAoB,EAAE,CAAC;YACzC,KAAK,CAAC,eAAe,GAAG,iCAAiC,MAAM,GAAG,CAAC;QACrE,CAAC;aAAM,IAAI,GAAG,CAAC,OAAO,KAAK,uCAAgC,EAAE,CAAC;YAC5D,KAAK,CAAC,eAAe,GAAG,sDAAsD,MAAM,GAAG,CAAC;QAC1F,CAAC;aAAM,IAAI,GAAG,CAAC,OAAO,KAAK,uBAAgB,EAAE,CAAC;YAC5C,KAAK,CAAC,eAAe,GAAG,yDAAyD,MAAM,GAAG,CAAC;QAC7F,CAAC;aAAM,IAAI,GAAG,CAAC,OAAO,KAAK,qBAAc,EAAE,CAAC;YAC1C,KAAK,CAAC,eAAe,GAAG,sBAAsB,MAAM,GAAG,CAAC;QAC1D,CAAC;aAAM,IAAI,GAAG,CAAC,OAAO,KAAK,kCAA2B,EAAE,CAAC;YACvD,KAAK,CAAC,eAAe,GAAG,sDAAsD,MAAM,GAAG,CAAC;QAC1F,CAAC;aAAM,IAAI,GAAG,CAAC,OAAO,KAAK,0BAAmB,EAAE,CAAC;YAC/C,KAAK,CAAC,eAAe,GAAG,2BAA2B,MAAM,GAAG,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,eAAe,GAAG,mCAAmC,MAAM,GAAG,CAAC;QACvE,CAAC;QACD,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;YAC3B,KAAK,CAAC,eAAe;gBACnB,6GAA6G,CAAC;QAClH,CAAC;QACD,eAAM,CAAC,IAAI,CACT,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,EAC1C,uBAAuB,CACxB,CAAC;QACF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAc,EACd,eAAyB,EACzB,aAAuB;IAEvB,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrC,eAAM,CAAC,KAAK,CACV,uBAAuB,MAAM,QAAQ,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACnE,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,eAAM,CAAC,KAAK,CACV,mBAAmB,MAAM,QAAQ,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC/D,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import is from '@sindresorhus/is';\nimport {\n CONFIG_VALIDATION,\n PLATFORM_RATE_LIMIT_EXCEEDED,\n} from '../../constants/error-messages';\nimport { logger } from '../../logger';\nimport { ExternalHostError } from '../../types/errors/external-host-error';\nimport * as memCache from '../../util/cache/memory';\nimport * as packageCache from '../../util/cache/package';\nimport { getTtlOverride } from '../../util/cache/package/ttl';\nimport { clone } from '../../util/clone';\nimport { regEx } from '../../util/regex';\nimport * as template from '../../util/template';\nimport { GlobalConfig } from '../global';\nimport * as massage from '../massage';\nimport * as migration from '../migration';\nimport type { AllConfig, RenovateConfig } from '../types';\nimport { mergeChildConfig } from '../utils';\nimport { removedPresets } from './common';\nimport * as gitea from './gitea';\nimport * as github from './github';\nimport * as gitlab from './gitlab';\nimport * as http from './http';\nimport * as internal from './internal';\nimport * as local from './local';\nimport * as npm from './npm';\nimport { parsePreset } from './parse';\nimport type { Preset, PresetApi } from './types';\nimport {\n PRESET_DEP_NOT_FOUND,\n PRESET_INVALID,\n PRESET_INVALID_JSON,\n PRESET_NOT_FOUND,\n PRESET_PROHIBITED_SUBPRESET,\n PRESET_RENOVATE_CONFIG_NOT_FOUND,\n} from './util';\n\nconst presetSources: Record<string, PresetApi> = {\n github,\n npm,\n gitlab,\n gitea,\n local,\n internal,\n http,\n};\n\nconst presetCacheNamespace = 'preset';\n\nexport function replaceArgs(\n obj: string,\n argMapping: Record<string, any>,\n): string;\nexport function replaceArgs(\n obj: string[],\n argMapping: Record<string, any>,\n): string[];\nexport function replaceArgs(\n obj: Record<string, any>,\n argMapping: Record<string, any>,\n): Record<string, any>;\nexport function replaceArgs(\n obj: Record<string, any>[],\n argMapping: Record<string, any>,\n): Record<string, any>[];\n\n/**\n * TODO: fix me #22198\n * @param obj\n * @param argMapping\n */\nexport function replaceArgs(obj: any, argMapping: Record<string, any>): any;\nexport function replaceArgs(\n obj: string | string[] | Record<string, any> | Record<string, any>[],\n argMapping: Record<string, any>,\n): any {\n if (is.string(obj)) {\n let returnStr = obj;\n for (const [arg, argVal] of Object.entries(argMapping)) {\n const re = regEx(`{{${arg}}}`, 'g', false);\n returnStr = returnStr.replace(re, argVal);\n }\n return returnStr;\n }\n if (is.array(obj)) {\n const returnArray = [];\n for (const item of obj) {\n returnArray.push(replaceArgs(item, argMapping));\n }\n return returnArray;\n }\n if (is.object(obj)) {\n const returnObj: Record<string, any> = {};\n for (const [key, val] of Object.entries(obj)) {\n returnObj[key] = replaceArgs(val, argMapping);\n }\n return returnObj;\n }\n return obj;\n}\n\nexport async function getPreset(\n preset: string,\n baseConfig?: RenovateConfig,\n): Promise<RenovateConfig> {\n logger.trace(`getPreset(${preset})`);\n // Check if the preset has been removed or replaced\n const newPreset = removedPresets[preset];\n if (newPreset) {\n return getPreset(newPreset, baseConfig);\n }\n if (newPreset === null) {\n return {};\n }\n const { presetSource, repo, presetPath, presetName, tag, params } =\n parsePreset(preset);\n const cacheKey = `preset:${preset}`;\n const presetCachePersistence = GlobalConfig.get(\n 'presetCachePersistence',\n false,\n );\n\n let presetConfig: Preset | null | undefined;\n\n if (presetCachePersistence) {\n presetConfig = await packageCache.get(presetCacheNamespace, cacheKey);\n } else {\n presetConfig = memCache.get(cacheKey);\n }\n\n if (is.nullOrUndefined(presetConfig)) {\n presetConfig = await presetSources[presetSource].getPreset({\n repo,\n presetPath,\n presetName,\n tag,\n });\n if (presetCachePersistence) {\n await packageCache.set(\n presetCacheNamespace,\n cacheKey,\n presetConfig,\n getTtlOverride(presetCacheNamespace) ?? 15,\n );\n } else {\n memCache.set(cacheKey, presetConfig);\n }\n }\n if (!presetConfig) {\n throw new Error(PRESET_DEP_NOT_FOUND);\n }\n logger.trace({ presetConfig }, `Found preset ${preset}`);\n if (params) {\n const argMapping: Record<string, string> = {};\n for (const [index, value] of params.entries()) {\n argMapping[`arg${index}`] = value;\n }\n presetConfig = replaceArgs(presetConfig, argMapping);\n }\n logger.trace({ presetConfig }, `Applied params to preset ${preset}`);\n const presetKeys = Object.keys(presetConfig);\n if (\n presetKeys.length === 2 &&\n presetKeys.includes('description') &&\n presetKeys.includes('extends')\n ) {\n // preset is just a collection of other presets\n delete presetConfig.description;\n }\n const packageListKeys = ['description', 'matchPackageNames'];\n if (presetKeys.every((key) => packageListKeys.includes(key))) {\n delete presetConfig.description;\n }\n const { migratedConfig } = migration.migrateConfig(presetConfig);\n return massage.massageConfig(migratedConfig);\n}\n\nexport async function resolveConfigPresets(\n inputConfig: AllConfig,\n baseConfig?: RenovateConfig,\n _ignorePresets?: string[],\n existingPresets: string[] = [],\n): Promise<AllConfig> {\n let ignorePresets = clone(_ignorePresets);\n if (!ignorePresets || ignorePresets.length === 0) {\n ignorePresets = inputConfig.ignorePresets ?? [];\n }\n logger.trace(\n { config: inputConfig, existingPresets },\n 'resolveConfigPresets',\n );\n let config: AllConfig = {};\n // First, merge all the preset configs from left to right\n if (inputConfig.extends?.length) {\n // Compile templates\n inputConfig.extends = inputConfig.extends.map((tmpl) =>\n template.compile(tmpl, {}),\n );\n for (const preset of inputConfig.extends) {\n if (shouldResolvePreset(preset, existingPresets, ignorePresets)) {\n logger.trace(`Resolving preset \"${preset}\"`);\n const fetchedPreset = await fetchPreset(\n preset,\n baseConfig,\n inputConfig,\n existingPresets,\n );\n const presetConfig = await resolveConfigPresets(\n fetchedPreset,\n baseConfig ?? inputConfig,\n ignorePresets,\n existingPresets.concat([preset]),\n );\n if (inputConfig?.ignoreDeps?.length === 0) {\n delete presetConfig.description;\n }\n config = mergeChildConfig(config, presetConfig);\n }\n }\n }\n logger.trace({ config }, `Post-preset resolve config`);\n // Now assign \"regular\" config on top\n config = mergeChildConfig(config, inputConfig);\n delete config.extends;\n delete config.ignorePresets;\n logger.trace({ config }, `Post-merge resolve config`);\n for (const [key, val] of Object.entries(config)) {\n const ignoredKeys = ['content', 'onboardingConfig'];\n if (is.array(val)) {\n // Resolve nested objects inside arrays\n config[key] = [];\n for (const element of val) {\n if (is.object(element)) {\n (config[key] as RenovateConfig[]).push(\n await resolveConfigPresets(\n element as RenovateConfig,\n baseConfig,\n ignorePresets,\n existingPresets,\n ),\n );\n } else {\n (config[key] as unknown[]).push(element);\n }\n }\n } else if (is.object(val) && !ignoredKeys.includes(key)) {\n // Resolve nested objects\n logger.trace(`Resolving object \"${key}\"`);\n config[key] = await resolveConfigPresets(\n val as RenovateConfig,\n baseConfig,\n ignorePresets,\n existingPresets,\n );\n }\n }\n logger.trace({ config: inputConfig }, 'Input config');\n logger.trace({ config }, 'Resolved config');\n return config;\n}\n\nasync function fetchPreset(\n preset: string,\n baseConfig: RenovateConfig | undefined,\n inputConfig: AllConfig,\n existingPresets: string[],\n): Promise<AllConfig> {\n try {\n return await getPreset(preset, baseConfig ?? inputConfig);\n } catch (err) {\n logger.debug({ preset, err }, 'Preset fetch error');\n if (err instanceof ExternalHostError) {\n throw err;\n }\n if (err.message === PLATFORM_RATE_LIMIT_EXCEEDED) {\n throw err;\n }\n const error = new Error(CONFIG_VALIDATION);\n if (err.message === PRESET_DEP_NOT_FOUND) {\n error.validationError = `Cannot find preset's package (${preset})`;\n } else if (err.message === PRESET_RENOVATE_CONFIG_NOT_FOUND) {\n error.validationError = `Preset package is missing a renovate-config entry (${preset})`;\n } else if (err.message === PRESET_NOT_FOUND) {\n error.validationError = `Preset name not found within published preset config (${preset})`;\n } else if (err.message === PRESET_INVALID) {\n error.validationError = `Preset is invalid (${preset})`;\n } else if (err.message === PRESET_PROHIBITED_SUBPRESET) {\n error.validationError = `Sub-presets cannot be combined with a custom path (${preset})`;\n } else if (err.message === PRESET_INVALID_JSON) {\n error.validationError = `Preset is invalid JSON (${preset})`;\n } else {\n error.validationError = `Preset caused unexpected error (${preset})`;\n }\n if (existingPresets.length) {\n error.validationError +=\n '. Note: this is a *nested* preset so please contact the preset author if you are unable to fix it yourself.';\n }\n logger.info(\n { validationError: error.validationError },\n 'Throwing preset error',\n );\n throw error;\n }\n}\n\nfunction shouldResolvePreset(\n preset: string,\n existingPresets: string[],\n ignorePresets: string[],\n): boolean {\n if (existingPresets.includes(preset)) {\n logger.debug(\n `Already seen preset ${preset} in [${existingPresets.join(', ')}]`,\n );\n return false;\n }\n if (ignorePresets.includes(preset)) {\n logger.debug(\n `Ignoring preset ${preset} in [${existingPresets.join(', ')}]`,\n );\n return false;\n }\n return true;\n}\n"]}
@@ -6,13 +6,12 @@ exports.presets = {
6
6
  biomeVersions: {
7
7
  customManagers: [
8
8
  {
9
- customType: 'regex',
9
+ customType: 'jsonata',
10
10
  datasourceTemplate: 'npm',
11
11
  depNameTemplate: '@biomejs/biome',
12
+ fileFormat: 'json',
12
13
  fileMatch: ['(^|/)biome.jsonc?$'],
13
- matchStrings: [
14
- '"https://biomejs.dev/schemas/(?<currentValue>[^"]+)/schema.json"',
15
- ],
14
+ matchStrings: ['{"currentValue": $split($."$schema",("/"))[-2]}'],
16
15
  },
17
16
  ],
18
17
  description: 'Update `$schema` version in `biome.json` configuration files.',
@@ -1 +1 @@
1
- {"version":3,"file":"custom-managers.js","sourceRoot":"","sources":["../../../../lib/config/presets/internal/custom-managers.ts"],"names":[],"mappings":";;;AAEA,+EAA+E;AAElE,QAAA,OAAO,GAA2B;IAC7C,aAAa,EAAE;QACb,cAAc,EAAE;YACd;gBACE,UAAU,EAAE,OAAO;gBACnB,kBAAkB,EAAE,KAAK;gBACzB,eAAe,EAAE,gBAAgB;gBACjC,SAAS,EAAE,CAAC,oBAAoB,CAAC;gBACjC,YAAY,EAAE;oBACZ,kEAAkE;iBACnE;aACF;SACF;QACD,WAAW,EACT,+DAA+D;KAClE;IACD,0BAA0B,EAAE;QAC1B,cAAc,EAAE;YACd;gBACE,UAAU,EAAE,OAAO;gBACnB,SAAS,EAAE,CAAC,mCAAmC,CAAC;gBAChD,YAAY,EAAE;oBACZ,0VAA0V;iBAC3V;aACF;SACF;QACD,WAAW,EAAE,oDAAoD;KAClE;IACD,kBAAkB,EAAE;QAClB,cAAc,EAAE;YACd;gBACE,UAAU,EAAE,OAAO;gBACnB,SAAS,EAAE;oBACT,wCAAwC;oBACxC,yCAAyC;iBAC1C;gBACD,YAAY,EAAE;oBACZ,6VAA6V;iBAC9V;aACF;SACF;QACD,WAAW,EAAE,6CAA6C;KAC3D;IACD,qBAAqB,EAAE;QACrB,cAAc,EAAE;YACd;gBACE,UAAU,EAAE,OAAO;gBACnB,SAAS,EAAE;oBACT,yFAAyF;oBACzF,sBAAsB;iBACvB;gBACD,YAAY,EAAE;oBACZ,4SAA4S;iBAC7S;aACF;SACF;QACD,WAAW,EACT,iEAAiE;KACpE;IACD,sBAAsB,EAAE;QACtB,cAAc,EAAE;YACd;gBACE,UAAU,EAAE,OAAO;gBACnB,SAAS,EAAE,CAAC,uBAAuB,CAAC;gBACpC,YAAY,EAAE;oBACZ,2UAA2U;iBAC5U;aACF;SACF;QACD,WAAW,EACT,kEAAkE;KACrE;IACD,wBAAwB,EAAE;QACxB,cAAc,EAAE;YACd;gBACE,UAAU,EAAE,OAAO;gBACnB,kBAAkB,EAAE,QAAQ;gBAC5B,SAAS,EAAE,CAAC,oBAAoB,CAAC;gBACjC,YAAY,EAAE;oBACZ,6FAA6F;iBAC9F;aACF;SACF;QACD,WAAW,EAAE,uDAAuD;KACrE;IACD,gBAAgB,EAAE;QAChB,cAAc,EAAE;YACd;gBACE,UAAU,EAAE,OAAO;gBACnB,SAAS,EAAE;oBACT,gBAAgB;oBAChB,gBAAgB;oBAChB,mBAAmB;oBACnB,QAAQ;iBACT;gBACD,YAAY,EAAE;oBACZ,iVAAiV;iBAClV;aACF;SACF;QACD,WAAW,EAAE,2CAA2C;KACzD;IACD,qBAAqB,EAAE;QACrB,cAAc,EAAE;YACd;gBACE,UAAU,EAAE,OAAO;gBACnB,kBAAkB,EAChB,wDAAwD;gBAC1D,SAAS,EAAE,CAAC,iBAAiB,CAAC;gBAC9B,YAAY,EAAE;oBACZ,6RAA6R;iBAC9R;gBACD,kBAAkB,EAAE,2CAA2C;aAChE;SACF;QACD,WAAW,EAAE,mDAAmD;KACjE;IACD,cAAc,EAAE;QACd,cAAc,EAAE;YACd;gBACE,UAAU,EAAE,OAAO;gBACnB,SAAS,EAAE,CAAC,cAAc,CAAC;gBAC3B,YAAY,EAAE;oBACZ,8LAA8L;iBAC/L;gBACD,kBAAkB,EAAE,2CAA2C;aAChE;SACF;QACD,WAAW,EAAE,kDAAkD;KAChE;CACF,CAAC","sourcesContent":["import type { Preset } from '../types';\n\n/* eslint sort-keys: [\"error\", \"asc\", {caseSensitive: false, natural: true}] */\n\nexport const presets: Record<string, Preset> = {\n biomeVersions: {\n customManagers: [\n {\n customType: 'regex',\n datasourceTemplate: 'npm',\n depNameTemplate: '@biomejs/biome',\n fileMatch: ['(^|/)biome.jsonc?$'],\n matchStrings: [\n '\"https://biomejs.dev/schemas/(?<currentValue>[^\"]+)/schema.json\"',\n ],\n },\n ],\n description:\n 'Update `$schema` version in `biome.json` configuration files.',\n },\n bitbucketPipelinesVersions: {\n customManagers: [\n {\n customType: 'regex',\n fileMatch: ['(^|/)bitbucket-pipelines\\\\.ya?ml$'],\n matchStrings: [\n '# renovate: datasource=(?<datasource>[a-zA-Z0-9-._]+?) depName=(?<depName>[^\\\\s]+?)(?: (lookupName|packageName)=(?<packageName>[^\\\\s]+?))?(?: versioning=(?<versioning>[^\\\\s]+?))?(?: extractVersion=(?<extractVersion>[^\\\\s]+?))?(?: registryUrl=(?<registryUrl>[^\\\\s]+?))?\\\\s+.*\\\\s+[A-Za-z0-9_]+?_VERSION[ =:]\\\\s?[\"\\']?(?<currentValue>.+?)[\"\\']?\\\\s',\n ],\n },\n ],\n description: 'Update `_VERSION` variables in Bitbucket Pipelines',\n },\n dockerfileVersions: {\n customManagers: [\n {\n customType: 'regex',\n fileMatch: [\n '(^|/|\\\\.)([Dd]ocker|[Cc]ontainer)file$',\n '(^|/)([Dd]ocker|[Cc]ontainer)file[^/]*$',\n ],\n matchStrings: [\n '# renovate: datasource=(?<datasource>[a-zA-Z0-9-._]+?) depName=(?<depName>[^\\\\s]+?)(?: (lookupName|packageName)=(?<packageName>[^\\\\s]+?))?(?: versioning=(?<versioning>[^\\\\s]+?))?(?: extractVersion=(?<extractVersion>[^\\\\s]+?))?(?: registryUrl=(?<registryUrl>[^\\\\s]+?))?\\\\s(?:ENV|ARG)\\\\s+[A-Za-z0-9_]+?_VERSION[ =][\"\\']?(?<currentValue>.+?)[\"\\']?\\\\s',\n ],\n },\n ],\n description: 'Update `_VERSION` variables in Dockerfiles.',\n },\n githubActionsVersions: {\n customManagers: [\n {\n customType: 'regex',\n fileMatch: [\n '(^|/)(workflow-templates|\\\\.(?:github|gitea|forgejo)/(?:workflows|actions))/.+\\\\.ya?ml$',\n '(^|/)action\\\\.ya?ml$',\n ],\n matchStrings: [\n '# renovate: datasource=(?<datasource>[a-zA-Z0-9-._]+?) depName=(?<depName>[^\\\\s]+?)(?: (?:lookupName|packageName)=(?<packageName>[^\\\\s]+?))?(?: versioning=(?<versioning>[^\\\\s]+?))?(?: extractVersion=(?<extractVersion>[^\\\\s]+?))?\\\\s+[A-Za-z0-9_]+?_VERSION\\\\s*:\\\\s*[\"\\']?(?<currentValue>.+?)[\"\\']?\\\\s',\n ],\n },\n ],\n description:\n 'Update `_VERSION` environment variables in GitHub Action files.',\n },\n gitlabPipelineVersions: {\n customManagers: [\n {\n customType: 'regex',\n fileMatch: ['\\\\.gitlab-ci\\\\.ya?ml$'],\n matchStrings: [\n '# renovate: datasource=(?<datasource>[a-zA-Z0-9-._]+?) depName=(?<depName>[^\\\\s]+?)(?: (?:packageName)=(?<packageName>[^\\\\s]+?))?(?: versioning=(?<versioning>[^\\\\s]+?))?(?: extractVersion=(?<extractVersion>[^\\\\s]+?))?(?: registryUrl=(?<registryUrl>[^\\\\s]+?))?\\\\s+[A-Za-z0-9_]+?_VERSION\\\\s*:\\\\s*[\"\\']?(?<currentValue>.+?)[\"\\']?\\\\s',\n ],\n },\n ],\n description:\n 'Update `_VERSION` environment variables in GitLab pipeline file.',\n },\n helmChartYamlAppVersions: {\n customManagers: [\n {\n customType: 'regex',\n datasourceTemplate: 'docker',\n fileMatch: ['(^|/)Chart\\\\.yaml$'],\n matchStrings: [\n '#\\\\s*renovate: image=(?<depName>.*?)\\\\s+appVersion:\\\\s*[\"\\']?(?<currentValue>[\\\\w+\\\\.\\\\-]*)',\n ],\n },\n ],\n description: 'Update `appVersion` value in Helm chart `Chart.yaml`.',\n },\n makefileVersions: {\n customManagers: [\n {\n customType: 'regex',\n fileMatch: [\n '(^|/)Makefile$',\n '(^|/)makefile$',\n '(^|/)GNUMakefile$',\n '\\\\.mk$',\n ],\n matchStrings: [\n '# renovate: datasource=(?<datasource>[a-zA-Z0-9-._]+?) depName=(?<depName>[^\\\\s]+?)(?: (?:packageName)=(?<packageName>[^\\\\s]+?))?(?: versioning=(?<versioning>[^\\\\s]+?))?(?: extractVersion=(?<extractVersion>[^\\\\s]+?))?(?: registryUrl=(?<registryUrl>[^\\\\s]+?))?\\\\s+[A-Za-z0-9_]+?_VERSION\\\\s*:*\\\\??=\\\\s*[\"\\']?(?<currentValue>.+?)[\"\\']?\\\\s',\n ],\n },\n ],\n description: 'Update `_VERSION` variables in Makefiles.',\n },\n mavenPropertyVersions: {\n customManagers: [\n {\n customType: 'regex',\n datasourceTemplate:\n '{{#if datasource}}{{{datasource}}}{{else}}maven{{/if}}',\n fileMatch: ['(^|/)pom\\\\.xml$'],\n matchStrings: [\n '<!--\\\\s?renovate:( datasource=(?<datasource>[a-zA-Z0-9-._]+?))? depName=(?<depName>[^\\\\s]+?)(?: packageName=(?<packageName>[^\\\\s]+?))?(?: versioning=(?<versioning>[^\\\\s]+?))?(?: extractVersion=(?<extractVersion>[^\\\\s]+?))?\\\\s+-->\\\\s+<.+\\\\.version>(?<currentValue>.+)<\\\\/.+\\\\.version>',\n ],\n versioningTemplate: '{{#if versioning}}{{{versioning}}}{{/if}}',\n },\n ],\n description: 'Update `*.version` properties in `pom.xml` files.',\n },\n tfvarsVersions: {\n customManagers: [\n {\n customType: 'regex',\n fileMatch: ['.+\\\\.tfvars$'],\n matchStrings: [\n '#\\\\s*renovate: datasource=(?<datasource>.*?) depName=(?<depName>.*?)( versioning=(?<versioning>.*?))?(?: extractVersion=(?<extractVersion>.*?))?\\\\s.*?_version\\\\s*=\\\\s*\"(?<currentValue>.*)\"',\n ],\n versioningTemplate: '{{#if versioning}}{{{versioning}}}{{/if}}',\n },\n ],\n description: 'Update `*_version` variables in `.tfvars` files.',\n },\n};\n"]}
1
+ {"version":3,"file":"custom-managers.js","sourceRoot":"","sources":["../../../../lib/config/presets/internal/custom-managers.ts"],"names":[],"mappings":";;;AAEA,+EAA+E;AAElE,QAAA,OAAO,GAA2B;IAC7C,aAAa,EAAE;QACb,cAAc,EAAE;YACd;gBACE,UAAU,EAAE,SAAS;gBACrB,kBAAkB,EAAE,KAAK;gBACzB,eAAe,EAAE,gBAAgB;gBACjC,UAAU,EAAE,MAAM;gBAClB,SAAS,EAAE,CAAC,oBAAoB,CAAC;gBACjC,YAAY,EAAE,CAAC,iDAAiD,CAAC;aAClE;SACF;QACD,WAAW,EACT,+DAA+D;KAClE;IACD,0BAA0B,EAAE;QAC1B,cAAc,EAAE;YACd;gBACE,UAAU,EAAE,OAAO;gBACnB,SAAS,EAAE,CAAC,mCAAmC,CAAC;gBAChD,YAAY,EAAE;oBACZ,0VAA0V;iBAC3V;aACF;SACF;QACD,WAAW,EAAE,oDAAoD;KAClE;IACD,kBAAkB,EAAE;QAClB,cAAc,EAAE;YACd;gBACE,UAAU,EAAE,OAAO;gBACnB,SAAS,EAAE;oBACT,wCAAwC;oBACxC,yCAAyC;iBAC1C;gBACD,YAAY,EAAE;oBACZ,6VAA6V;iBAC9V;aACF;SACF;QACD,WAAW,EAAE,6CAA6C;KAC3D;IACD,qBAAqB,EAAE;QACrB,cAAc,EAAE;YACd;gBACE,UAAU,EAAE,OAAO;gBACnB,SAAS,EAAE;oBACT,yFAAyF;oBACzF,sBAAsB;iBACvB;gBACD,YAAY,EAAE;oBACZ,4SAA4S;iBAC7S;aACF;SACF;QACD,WAAW,EACT,iEAAiE;KACpE;IACD,sBAAsB,EAAE;QACtB,cAAc,EAAE;YACd;gBACE,UAAU,EAAE,OAAO;gBACnB,SAAS,EAAE,CAAC,uBAAuB,CAAC;gBACpC,YAAY,EAAE;oBACZ,2UAA2U;iBAC5U;aACF;SACF;QACD,WAAW,EACT,kEAAkE;KACrE;IACD,wBAAwB,EAAE;QACxB,cAAc,EAAE;YACd;gBACE,UAAU,EAAE,OAAO;gBACnB,kBAAkB,EAAE,QAAQ;gBAC5B,SAAS,EAAE,CAAC,oBAAoB,CAAC;gBACjC,YAAY,EAAE;oBACZ,6FAA6F;iBAC9F;aACF;SACF;QACD,WAAW,EAAE,uDAAuD;KACrE;IACD,gBAAgB,EAAE;QAChB,cAAc,EAAE;YACd;gBACE,UAAU,EAAE,OAAO;gBACnB,SAAS,EAAE;oBACT,gBAAgB;oBAChB,gBAAgB;oBAChB,mBAAmB;oBACnB,QAAQ;iBACT;gBACD,YAAY,EAAE;oBACZ,iVAAiV;iBAClV;aACF;SACF;QACD,WAAW,EAAE,2CAA2C;KACzD;IACD,qBAAqB,EAAE;QACrB,cAAc,EAAE;YACd;gBACE,UAAU,EAAE,OAAO;gBACnB,kBAAkB,EAChB,wDAAwD;gBAC1D,SAAS,EAAE,CAAC,iBAAiB,CAAC;gBAC9B,YAAY,EAAE;oBACZ,6RAA6R;iBAC9R;gBACD,kBAAkB,EAAE,2CAA2C;aAChE;SACF;QACD,WAAW,EAAE,mDAAmD;KACjE;IACD,cAAc,EAAE;QACd,cAAc,EAAE;YACd;gBACE,UAAU,EAAE,OAAO;gBACnB,SAAS,EAAE,CAAC,cAAc,CAAC;gBAC3B,YAAY,EAAE;oBACZ,8LAA8L;iBAC/L;gBACD,kBAAkB,EAAE,2CAA2C;aAChE;SACF;QACD,WAAW,EAAE,kDAAkD;KAChE;CACF,CAAC","sourcesContent":["import type { Preset } from '../types';\n\n/* eslint sort-keys: [\"error\", \"asc\", {caseSensitive: false, natural: true}] */\n\nexport const presets: Record<string, Preset> = {\n biomeVersions: {\n customManagers: [\n {\n customType: 'jsonata',\n datasourceTemplate: 'npm',\n depNameTemplate: '@biomejs/biome',\n fileFormat: 'json',\n fileMatch: ['(^|/)biome.jsonc?$'],\n matchStrings: ['{\"currentValue\": $split($.\"$schema\",(\"/\"))[-2]}'],\n },\n ],\n description:\n 'Update `$schema` version in `biome.json` configuration files.',\n },\n bitbucketPipelinesVersions: {\n customManagers: [\n {\n customType: 'regex',\n fileMatch: ['(^|/)bitbucket-pipelines\\\\.ya?ml$'],\n matchStrings: [\n '# renovate: datasource=(?<datasource>[a-zA-Z0-9-._]+?) depName=(?<depName>[^\\\\s]+?)(?: (lookupName|packageName)=(?<packageName>[^\\\\s]+?))?(?: versioning=(?<versioning>[^\\\\s]+?))?(?: extractVersion=(?<extractVersion>[^\\\\s]+?))?(?: registryUrl=(?<registryUrl>[^\\\\s]+?))?\\\\s+.*\\\\s+[A-Za-z0-9_]+?_VERSION[ =:]\\\\s?[\"\\']?(?<currentValue>.+?)[\"\\']?\\\\s',\n ],\n },\n ],\n description: 'Update `_VERSION` variables in Bitbucket Pipelines',\n },\n dockerfileVersions: {\n customManagers: [\n {\n customType: 'regex',\n fileMatch: [\n '(^|/|\\\\.)([Dd]ocker|[Cc]ontainer)file$',\n '(^|/)([Dd]ocker|[Cc]ontainer)file[^/]*$',\n ],\n matchStrings: [\n '# renovate: datasource=(?<datasource>[a-zA-Z0-9-._]+?) depName=(?<depName>[^\\\\s]+?)(?: (lookupName|packageName)=(?<packageName>[^\\\\s]+?))?(?: versioning=(?<versioning>[^\\\\s]+?))?(?: extractVersion=(?<extractVersion>[^\\\\s]+?))?(?: registryUrl=(?<registryUrl>[^\\\\s]+?))?\\\\s(?:ENV|ARG)\\\\s+[A-Za-z0-9_]+?_VERSION[ =][\"\\']?(?<currentValue>.+?)[\"\\']?\\\\s',\n ],\n },\n ],\n description: 'Update `_VERSION` variables in Dockerfiles.',\n },\n githubActionsVersions: {\n customManagers: [\n {\n customType: 'regex',\n fileMatch: [\n '(^|/)(workflow-templates|\\\\.(?:github|gitea|forgejo)/(?:workflows|actions))/.+\\\\.ya?ml$',\n '(^|/)action\\\\.ya?ml$',\n ],\n matchStrings: [\n '# renovate: datasource=(?<datasource>[a-zA-Z0-9-._]+?) depName=(?<depName>[^\\\\s]+?)(?: (?:lookupName|packageName)=(?<packageName>[^\\\\s]+?))?(?: versioning=(?<versioning>[^\\\\s]+?))?(?: extractVersion=(?<extractVersion>[^\\\\s]+?))?\\\\s+[A-Za-z0-9_]+?_VERSION\\\\s*:\\\\s*[\"\\']?(?<currentValue>.+?)[\"\\']?\\\\s',\n ],\n },\n ],\n description:\n 'Update `_VERSION` environment variables in GitHub Action files.',\n },\n gitlabPipelineVersions: {\n customManagers: [\n {\n customType: 'regex',\n fileMatch: ['\\\\.gitlab-ci\\\\.ya?ml$'],\n matchStrings: [\n '# renovate: datasource=(?<datasource>[a-zA-Z0-9-._]+?) depName=(?<depName>[^\\\\s]+?)(?: (?:packageName)=(?<packageName>[^\\\\s]+?))?(?: versioning=(?<versioning>[^\\\\s]+?))?(?: extractVersion=(?<extractVersion>[^\\\\s]+?))?(?: registryUrl=(?<registryUrl>[^\\\\s]+?))?\\\\s+[A-Za-z0-9_]+?_VERSION\\\\s*:\\\\s*[\"\\']?(?<currentValue>.+?)[\"\\']?\\\\s',\n ],\n },\n ],\n description:\n 'Update `_VERSION` environment variables in GitLab pipeline file.',\n },\n helmChartYamlAppVersions: {\n customManagers: [\n {\n customType: 'regex',\n datasourceTemplate: 'docker',\n fileMatch: ['(^|/)Chart\\\\.yaml$'],\n matchStrings: [\n '#\\\\s*renovate: image=(?<depName>.*?)\\\\s+appVersion:\\\\s*[\"\\']?(?<currentValue>[\\\\w+\\\\.\\\\-]*)',\n ],\n },\n ],\n description: 'Update `appVersion` value in Helm chart `Chart.yaml`.',\n },\n makefileVersions: {\n customManagers: [\n {\n customType: 'regex',\n fileMatch: [\n '(^|/)Makefile$',\n '(^|/)makefile$',\n '(^|/)GNUMakefile$',\n '\\\\.mk$',\n ],\n matchStrings: [\n '# renovate: datasource=(?<datasource>[a-zA-Z0-9-._]+?) depName=(?<depName>[^\\\\s]+?)(?: (?:packageName)=(?<packageName>[^\\\\s]+?))?(?: versioning=(?<versioning>[^\\\\s]+?))?(?: extractVersion=(?<extractVersion>[^\\\\s]+?))?(?: registryUrl=(?<registryUrl>[^\\\\s]+?))?\\\\s+[A-Za-z0-9_]+?_VERSION\\\\s*:*\\\\??=\\\\s*[\"\\']?(?<currentValue>.+?)[\"\\']?\\\\s',\n ],\n },\n ],\n description: 'Update `_VERSION` variables in Makefiles.',\n },\n mavenPropertyVersions: {\n customManagers: [\n {\n customType: 'regex',\n datasourceTemplate:\n '{{#if datasource}}{{{datasource}}}{{else}}maven{{/if}}',\n fileMatch: ['(^|/)pom\\\\.xml$'],\n matchStrings: [\n '<!--\\\\s?renovate:( datasource=(?<datasource>[a-zA-Z0-9-._]+?))? depName=(?<depName>[^\\\\s]+?)(?: packageName=(?<packageName>[^\\\\s]+?))?(?: versioning=(?<versioning>[^\\\\s]+?))?(?: extractVersion=(?<extractVersion>[^\\\\s]+?))?\\\\s+-->\\\\s+<.+\\\\.version>(?<currentValue>.+)<\\\\/.+\\\\.version>',\n ],\n versioningTemplate: '{{#if versioning}}{{{versioning}}}{{/if}}',\n },\n ],\n description: 'Update `*.version` properties in `pom.xml` files.',\n },\n tfvarsVersions: {\n customManagers: [\n {\n customType: 'regex',\n fileMatch: ['.+\\\\.tfvars$'],\n matchStrings: [\n '#\\\\s*renovate: datasource=(?<datasource>.*?) depName=(?<depName>.*?)( versioning=(?<versioning>.*?))?(?: extractVersion=(?<extractVersion>.*?))?\\\\s.*?_version\\\\s*=\\\\s*\"(?<currentValue>.*)\"',\n ],\n versioningTemplate: '{{#if versioning}}{{{versioning}}}{{/if}}',\n },\n ],\n description: 'Update `*_version` variables in `.tfvars` files.',\n },\n};\n"]}
@@ -39,8 +39,6 @@ exports.groups = {
39
39
  workarounds: workaroundsPreset.presets,
40
40
  };
41
41
  function getPreset({ repo, presetName, }) {
42
- return exports.groups[repo] && presetName
43
- ? exports.groups[repo][presetName]
44
- : /* istanbul ignore next */ undefined;
42
+ return exports.groups[repo] && presetName ? exports.groups[repo][presetName] : undefined;
45
43
  }
46
44
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/config/presets/internal/index.ts"],"names":[],"mappings":";;;AAuCA,8BAOC;;AA7CD,+DAAyC;AACzC,gFAA0D;AAC1D,iEAA2C;AAC3C,+DAAyC;AACzC,+DAAyC;AACzC,6DAAuC;AACvC,iEAA2C;AAC3C,4EAAsD;AACtD,oEAA8C;AAC9C,mDAA6B;AAC7B,mEAA6C;AAC7C,iEAA2C;AAC3C,qEAA+C;AAC/C,mEAA6C;AAC7C,mEAA6C;AAC7C,yEAAmD;AAEnD,+EAA+E;AAElE,QAAA,MAAM,GAA2C;IAC5D,MAAM,EAAE,YAAY,CAAC,OAAO;IAC5B,cAAc,EAAE,oBAAoB,CAAC,OAAO;IAC5C,OAAO,EAAE,aAAa,CAAC,OAAO;IAC9B,MAAM,EAAE,YAAY,CAAC,OAAO;IAC5B,MAAM,EAAE,YAAY,CAAC,OAAO;IAC5B,KAAK,EAAE,WAAW,CAAC,OAAO;IAC1B,OAAO,EAAE,aAAa,CAAC,OAAO;IAC9B,eAAe,EAAE,eAAe,CAAC,OAAO;IACxC,QAAQ,EAAE,cAAc,CAAC,OAAO;IAChC,GAAG,EAAE,GAAG,CAAC,OAAO;IAChB,QAAQ,EAAE,cAAc,CAAC,OAAO;IAChC,OAAO,EAAE,aAAa,CAAC,OAAO;IAC9B,YAAY,EAAE,YAAY,CAAC,OAAO;IAClC,QAAQ,EAAE,cAAc,CAAC,OAAO;IAChC,QAAQ,EAAE,cAAc,CAAC,OAAO;IAChC,WAAW,EAAE,iBAAiB,CAAC,OAAO;CACvC,CAAC;AAEF,SAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,UAAU,GACG;IACb,OAAO,cAAM,CAAC,IAAI,CAAC,IAAI,UAAU;QAC/B,CAAC,CAAC,cAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC;QAC1B,CAAC,CAAC,0BAA0B,CAAC,SAAS,CAAC;AAC3C,CAAC","sourcesContent":["import type { Preset, PresetConfig } from '../types';\nimport * as configPreset from './config';\nimport * as customManagersPreset from './custom-managers';\nimport * as defaultPreset from './default';\nimport * as dockerPreset from './docker';\nimport * as globalPreset from './global';\nimport * as groupPreset from './group';\nimport * as helpersPreset from './helpers';\nimport * as mergeConfidence from './merge-confidence';\nimport * as monorepoPreset from './monorepos';\nimport * as npm from './npm';\nimport * as packagesPreset from './packages';\nimport * as previewPreset from './preview';\nimport * as replacements from './replacements';\nimport * as schedulePreset from './schedule';\nimport * as securityPreset from './security';\nimport * as workaroundsPreset from './workarounds';\n\n/* eslint sort-keys: [\"error\", \"asc\", {caseSensitive: false, natural: true}] */\n\nexport const groups: Record<string, Record<string, Preset>> = {\n config: configPreset.presets,\n customManagers: customManagersPreset.presets,\n default: defaultPreset.presets,\n docker: dockerPreset.presets,\n global: globalPreset.presets,\n group: groupPreset.presets,\n helpers: helpersPreset.presets,\n mergeConfidence: mergeConfidence.presets,\n monorepo: monorepoPreset.presets,\n npm: npm.presets,\n packages: packagesPreset.presets,\n preview: previewPreset.presets,\n replacements: replacements.presets,\n schedule: schedulePreset.presets,\n security: securityPreset.presets,\n workarounds: workaroundsPreset.presets,\n};\n\nexport function getPreset({\n repo,\n presetName,\n}: PresetConfig): Preset | undefined {\n return groups[repo] && presetName\n ? groups[repo][presetName]\n : /* istanbul ignore next */ undefined;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/config/presets/internal/index.ts"],"names":[],"mappings":";;;AAuCA,8BAKC;;AA3CD,+DAAyC;AACzC,gFAA0D;AAC1D,iEAA2C;AAC3C,+DAAyC;AACzC,+DAAyC;AACzC,6DAAuC;AACvC,iEAA2C;AAC3C,4EAAsD;AACtD,oEAA8C;AAC9C,mDAA6B;AAC7B,mEAA6C;AAC7C,iEAA2C;AAC3C,qEAA+C;AAC/C,mEAA6C;AAC7C,mEAA6C;AAC7C,yEAAmD;AAEnD,+EAA+E;AAElE,QAAA,MAAM,GAA2C;IAC5D,MAAM,EAAE,YAAY,CAAC,OAAO;IAC5B,cAAc,EAAE,oBAAoB,CAAC,OAAO;IAC5C,OAAO,EAAE,aAAa,CAAC,OAAO;IAC9B,MAAM,EAAE,YAAY,CAAC,OAAO;IAC5B,MAAM,EAAE,YAAY,CAAC,OAAO;IAC5B,KAAK,EAAE,WAAW,CAAC,OAAO;IAC1B,OAAO,EAAE,aAAa,CAAC,OAAO;IAC9B,eAAe,EAAE,eAAe,CAAC,OAAO;IACxC,QAAQ,EAAE,cAAc,CAAC,OAAO;IAChC,GAAG,EAAE,GAAG,CAAC,OAAO;IAChB,QAAQ,EAAE,cAAc,CAAC,OAAO;IAChC,OAAO,EAAE,aAAa,CAAC,OAAO;IAC9B,YAAY,EAAE,YAAY,CAAC,OAAO;IAClC,QAAQ,EAAE,cAAc,CAAC,OAAO;IAChC,QAAQ,EAAE,cAAc,CAAC,OAAO;IAChC,WAAW,EAAE,iBAAiB,CAAC,OAAO;CACvC,CAAC;AAEF,SAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,UAAU,GACG;IACb,OAAO,cAAM,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,cAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC","sourcesContent":["import type { Preset, PresetConfig } from '../types';\nimport * as configPreset from './config';\nimport * as customManagersPreset from './custom-managers';\nimport * as defaultPreset from './default';\nimport * as dockerPreset from './docker';\nimport * as globalPreset from './global';\nimport * as groupPreset from './group';\nimport * as helpersPreset from './helpers';\nimport * as mergeConfidence from './merge-confidence';\nimport * as monorepoPreset from './monorepos';\nimport * as npm from './npm';\nimport * as packagesPreset from './packages';\nimport * as previewPreset from './preview';\nimport * as replacements from './replacements';\nimport * as schedulePreset from './schedule';\nimport * as securityPreset from './security';\nimport * as workaroundsPreset from './workarounds';\n\n/* eslint sort-keys: [\"error\", \"asc\", {caseSensitive: false, natural: true}] */\n\nexport const groups: Record<string, Record<string, Preset>> = {\n config: configPreset.presets,\n customManagers: customManagersPreset.presets,\n default: defaultPreset.presets,\n docker: dockerPreset.presets,\n global: globalPreset.presets,\n group: groupPreset.presets,\n helpers: helpersPreset.presets,\n mergeConfidence: mergeConfidence.presets,\n monorepo: monorepoPreset.presets,\n npm: npm.presets,\n packages: packagesPreset.presets,\n preview: previewPreset.presets,\n replacements: replacements.presets,\n schedule: schedulePreset.presets,\n security: securityPreset.presets,\n workarounds: workaroundsPreset.presets,\n};\n\nexport function getPreset({\n repo,\n presetName,\n}: PresetConfig): Preset | undefined {\n return groups[repo] && presetName ? groups[repo][presetName] : undefined;\n}\n"]}
@@ -4,11 +4,11 @@ export declare const DecryptedObject: z.ZodPipeline<z.ZodEffects<z.ZodString, st
4
4
  r: z.ZodOptional<z.ZodString>;
5
5
  v: z.ZodOptional<z.ZodString>;
6
6
  }, "strip", z.ZodTypeAny, {
7
+ v?: string | undefined;
7
8
  r?: string | undefined;
8
9
  o?: string | undefined;
9
- v?: string | undefined;
10
10
  }, {
11
+ v?: string | undefined;
11
12
  r?: string | undefined;
12
13
  o?: string | undefined;
13
- v?: string | undefined;
14
14
  }>>;
@@ -113,7 +113,7 @@ async function validateConfig(configType, config, isPreset, parentPath) {
113
113
  let warnings = [];
114
114
  for (const [key, val] of Object.entries(config)) {
115
115
  const currentPath = parentPath ? `${parentPath}.${key}` : key;
116
- // istanbul ignore if
116
+ /* v8 ignore next 7: TODO: test me */
117
117
  if (key === '__proto__') {
118
118
  errors.push({
119
119
  topic: 'Config security error',
@@ -561,7 +561,7 @@ async function validateConfig(configType, config, isPreset, parentPath) {
561
561
  message: `Invalid \`${currentPath}.${key}.${statusCheckKey}\` configuration: key is not allowed.`,
562
562
  });
563
563
  }
564
- if (!(is_1.default.string(statusCheckValue) || is_1.default.null_(statusCheckValue))) {
564
+ if (!(is_1.default.string(statusCheckValue) || null === statusCheckValue)) {
565
565
  errors.push({
566
566
  topic: 'Configuration Error',
567
567
  message: `Invalid \`${currentPath}.${statusCheckKey}\` configuration: status check is not a string.`,
@@ -690,11 +690,9 @@ async function validateConfig(configType, config, isPreset, parentPath) {
690
690
  }
691
691
  }
692
692
  function sortAll(a, b) {
693
- // istanbul ignore else: currently never happen
694
693
  if (a.topic === b.topic) {
695
694
  return a.message > b.message ? 1 : -1;
696
695
  }
697
- // istanbul ignore next: currently never happen
698
696
  return a.topic > b.topic ? 1 : -1;
699
697
  }
700
698
  errors.sort(sortAll);
@@ -705,7 +703,7 @@ async function validateConfig(configType, config, isPreset, parentPath) {
705
703
  * Basic validation for global config options
706
704
  */
707
705
  async function validateGlobalConfig(key, val, type, warnings, errors, currentPath, config) {
708
- // istanbul ignore if
706
+ /* v8 ignore next 5: not testable yet */
709
707
  if (getDeprecationMessage(key)) {
710
708
  warnings.push({
711
709
  topic: 'Deprecation Warning',