renovate 40.0.0-next.40 → 40.0.0-next.41

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 (237) hide show
  1. package/dist/config/options/index.js +13 -0
  2. package/dist/config/options/index.js.map +1 -1
  3. package/dist/config/presets/common.js +1 -0
  4. package/dist/config/presets/common.js.map +1 -1
  5. package/dist/config/presets/internal/custom-managers.js +15 -0
  6. package/dist/config/presets/internal/custom-managers.js.map +1 -1
  7. package/dist/constants/platforms.js +5 -1
  8. package/dist/constants/platforms.js.map +1 -1
  9. package/dist/data/monorepo.json +3 -1
  10. package/dist/data-files.generated.js +2 -2
  11. package/dist/data-files.generated.js.map +1 -1
  12. package/dist/instrumentation/index.js +28 -8
  13. package/dist/instrumentation/index.js.map +1 -1
  14. package/dist/modules/datasource/api.js +2 -0
  15. package/dist/modules/datasource/api.js.map +1 -1
  16. package/dist/modules/datasource/azure-pipelines-tasks/index.js +4 -0
  17. package/dist/modules/datasource/azure-pipelines-tasks/index.js.map +1 -1
  18. package/dist/modules/datasource/azure-pipelines-tasks/schema.d.ts +8 -0
  19. package/dist/modules/datasource/azure-pipelines-tasks/schema.js +1 -0
  20. package/dist/modules/datasource/azure-pipelines-tasks/schema.js.map +1 -1
  21. package/dist/modules/datasource/bazel/index.js +18 -1
  22. package/dist/modules/datasource/bazel/index.js.map +1 -1
  23. package/dist/modules/datasource/bazel/schema.d.ts +1 -0
  24. package/dist/modules/datasource/bazel/schema.js.map +1 -1
  25. package/dist/modules/datasource/bitbucket-server-tags/index.d.ts +19 -0
  26. package/dist/modules/datasource/bitbucket-server-tags/index.js +133 -0
  27. package/dist/modules/datasource/bitbucket-server-tags/index.js.map +1 -0
  28. package/dist/modules/datasource/bitbucket-server-tags/schema.d.ts +28 -0
  29. package/dist/modules/datasource/bitbucket-server-tags/schema.js +13 -0
  30. package/dist/modules/datasource/bitbucket-server-tags/schema.js.map +1 -0
  31. package/dist/modules/datasource/conda/prefix-dev.js +1 -3
  32. package/dist/modules/datasource/conda/prefix-dev.js.map +1 -1
  33. package/dist/modules/datasource/cpan/index.js +1 -3
  34. package/dist/modules/datasource/cpan/index.js.map +1 -1
  35. package/dist/modules/datasource/custom/schema.d.ts +3 -3
  36. package/dist/modules/datasource/deb/index.d.ts +4 -5
  37. package/dist/modules/datasource/deb/index.js +8 -9
  38. package/dist/modules/datasource/deb/index.js.map +1 -1
  39. package/dist/modules/datasource/deb/url.d.ts +3 -3
  40. package/dist/modules/datasource/deb/url.js +17 -13
  41. package/dist/modules/datasource/deb/url.js.map +1 -1
  42. package/dist/modules/datasource/docker/schema.d.ts +72 -96
  43. package/dist/modules/datasource/github-runners/index.js +2 -2
  44. package/dist/modules/datasource/github-runners/index.js.map +1 -1
  45. package/dist/modules/datasource/metadata.js +9 -1
  46. package/dist/modules/datasource/metadata.js.map +1 -1
  47. package/dist/modules/datasource/npm/get.d.ts +0 -1
  48. package/dist/modules/datasource/npm/get.js +14 -68
  49. package/dist/modules/datasource/npm/get.js.map +1 -1
  50. package/dist/modules/datasource/npm/types.d.ts +0 -8
  51. package/dist/modules/datasource/npm/types.js.map +1 -1
  52. package/dist/modules/datasource/packagist/schema.d.ts +7 -7
  53. package/dist/modules/datasource/types.d.ts +1 -0
  54. package/dist/modules/datasource/types.js.map +1 -1
  55. package/dist/modules/manager/argocd/schema.d.ts +12 -12
  56. package/dist/modules/manager/bazel-module/parser/maven.d.ts +6 -52
  57. package/dist/modules/manager/bazel-module/parser/oci.d.ts +3 -26
  58. package/dist/modules/manager/bazel-module/rules.d.ts +15 -125
  59. package/dist/modules/manager/bun/extract.d.ts +1 -0
  60. package/dist/modules/manager/bun/extract.js +53 -27
  61. package/dist/modules/manager/bun/extract.js.map +1 -1
  62. package/dist/modules/manager/bun/index.js +1 -1
  63. package/dist/modules/manager/bun/index.js.map +1 -1
  64. package/dist/modules/manager/bun/utils.d.ts +2 -0
  65. package/dist/modules/manager/bun/utils.js +22 -0
  66. package/dist/modules/manager/bun/utils.js.map +1 -0
  67. package/dist/modules/manager/cargo/schema.d.ts +3 -3
  68. package/dist/modules/manager/circleci/extract.js +21 -30
  69. package/dist/modules/manager/circleci/extract.js.map +1 -1
  70. package/dist/modules/manager/circleci/schema.d.ts +33 -144
  71. package/dist/modules/manager/circleci/schema.js +21 -17
  72. package/dist/modules/manager/circleci/schema.js.map +1 -1
  73. package/dist/modules/manager/composer/schema.d.ts +6 -8
  74. package/dist/modules/manager/conan/artifacts.d.ts +2 -0
  75. package/dist/modules/manager/conan/artifacts.js +76 -0
  76. package/dist/modules/manager/conan/artifacts.js.map +1 -0
  77. package/dist/modules/manager/conan/index.d.ts +2 -0
  78. package/dist/modules/manager/conan/index.js +4 -1
  79. package/dist/modules/manager/conan/index.js.map +1 -1
  80. package/dist/modules/manager/devbox/artifacts.js +7 -0
  81. package/dist/modules/manager/devbox/artifacts.js.map +1 -1
  82. package/dist/modules/manager/dockerfile/extract.js +2 -6
  83. package/dist/modules/manager/dockerfile/extract.js.map +1 -1
  84. package/dist/modules/manager/fingerprint.generated.js +10 -10
  85. package/dist/modules/manager/fingerprint.generated.js.map +1 -1
  86. package/dist/modules/manager/flux/schema.d.ts +36 -60
  87. package/dist/modules/manager/gomod/artifacts-extra.js +12 -4
  88. package/dist/modules/manager/gomod/artifacts-extra.js.map +1 -1
  89. package/dist/modules/manager/gomod/update.js +3 -1
  90. package/dist/modules/manager/gomod/update.js.map +1 -1
  91. package/dist/modules/manager/gradle/extract.js +8 -13
  92. package/dist/modules/manager/gradle/extract.js.map +1 -1
  93. package/dist/modules/manager/gradle/parser/handlers.js +8 -0
  94. package/dist/modules/manager/gradle/parser/handlers.js.map +1 -1
  95. package/dist/modules/manager/gradle/parser/registry-urls.js +36 -10
  96. package/dist/modules/manager/gradle/parser/registry-urls.js.map +1 -1
  97. package/dist/modules/manager/gradle/types.d.ts +1 -0
  98. package/dist/modules/manager/gradle/types.js.map +1 -1
  99. package/dist/modules/manager/maven/extract.js +1 -3
  100. package/dist/modules/manager/maven/extract.js.map +1 -1
  101. package/dist/modules/manager/nix/schema.d.ts +14 -14
  102. package/dist/modules/manager/nix/schema.js +1 -0
  103. package/dist/modules/manager/nix/schema.js.map +1 -1
  104. package/dist/modules/manager/npm/extract/common/package-file.js +1 -0
  105. package/dist/modules/manager/npm/extract/common/package-file.js.map +1 -1
  106. package/dist/modules/manager/nuget/extract.js +21 -18
  107. package/dist/modules/manager/nuget/extract.js.map +1 -1
  108. package/dist/modules/manager/pep621/schema.d.ts +292 -5
  109. package/dist/modules/manager/pip_requirements/common.js +2 -6
  110. package/dist/modules/manager/pip_requirements/common.js.map +1 -1
  111. package/dist/modules/manager/pixi/artifacts.js +4 -10
  112. package/dist/modules/manager/pixi/artifacts.js.map +1 -1
  113. package/dist/modules/manager/pixi/extract.d.ts +2 -0
  114. package/dist/modules/manager/pixi/extract.js +81 -3
  115. package/dist/modules/manager/pixi/extract.js.map +1 -1
  116. package/dist/modules/manager/pixi/index.d.ts +0 -1
  117. package/dist/modules/manager/pixi/index.js +1 -3
  118. package/dist/modules/manager/pixi/index.js.map +1 -1
  119. package/dist/modules/manager/pixi/schema.d.ts +394 -3
  120. package/dist/modules/manager/pixi/schema.js +135 -2
  121. package/dist/modules/manager/pixi/schema.js.map +1 -1
  122. package/dist/modules/manager/sveltos/schema.d.ts +18 -30
  123. package/dist/modules/manager/terraform/util.js +1 -3
  124. package/dist/modules/manager/terraform/util.js.map +1 -1
  125. package/dist/modules/manager/vendir/schema.d.ts +3 -3
  126. package/dist/modules/platform/bitbucket/schema.d.ts +3 -3
  127. package/dist/modules/platform/bitbucket-server/schema.d.ts +1 -0
  128. package/dist/modules/platform/bitbucket-server/schema.js +2 -1
  129. package/dist/modules/platform/bitbucket-server/schema.js.map +1 -1
  130. package/dist/modules/platform/gerrit/client.d.ts +0 -3
  131. package/dist/modules/platform/gerrit/client.js +8 -28
  132. package/dist/modules/platform/gerrit/client.js.map +1 -1
  133. package/dist/modules/platform/gerrit/index.js +0 -6
  134. package/dist/modules/platform/gerrit/index.js.map +1 -1
  135. package/dist/modules/platform/gerrit/scm.js +5 -6
  136. package/dist/modules/platform/gerrit/scm.js.map +1 -1
  137. package/dist/modules/platform/gerrit/types.d.ts +1 -4
  138. package/dist/modules/platform/gerrit/types.js.map +1 -1
  139. package/dist/modules/platform/gerrit/utils.d.ts +3 -2
  140. package/dist/modules/platform/gerrit/utils.js +3 -7
  141. package/dist/modules/platform/gerrit/utils.js.map +1 -1
  142. package/dist/modules/platform/gitea/index.js +7 -9
  143. package/dist/modules/platform/gitea/index.js.map +1 -1
  144. package/dist/modules/platform/github/issue.d.ts +6 -6
  145. package/dist/modules/platform/github/schema.d.ts +52 -52
  146. package/dist/modules/platform/gitlab/index.js +2 -6
  147. package/dist/modules/platform/gitlab/index.js.map +1 -1
  148. package/dist/modules/versioning/distro.js +1 -3
  149. package/dist/modules/versioning/distro.js.map +1 -1
  150. package/dist/util/cache/package/types.d.ts +1 -1
  151. package/dist/util/cache/package/types.js.map +1 -1
  152. package/dist/util/cache/repository/impl/base.js +4 -0
  153. package/dist/util/cache/repository/impl/base.js.map +1 -1
  154. package/dist/util/common.d.ts +4 -2
  155. package/dist/util/common.js +17 -3
  156. package/dist/util/common.js.map +1 -1
  157. package/dist/util/exec/containerbase.js +2 -3
  158. package/dist/util/exec/containerbase.js.map +1 -1
  159. package/dist/util/git/auth.js +8 -5
  160. package/dist/util/git/auth.js.map +1 -1
  161. package/dist/util/git/index.js +2 -6
  162. package/dist/util/git/index.js.map +1 -1
  163. package/dist/util/git/private-key.js +1 -3
  164. package/dist/util/git/private-key.js.map +1 -1
  165. package/dist/util/git/types.d.ts +2 -0
  166. package/dist/util/git/types.js.map +1 -1
  167. package/dist/util/git/url.js +1 -1
  168. package/dist/util/git/url.js.map +1 -1
  169. package/dist/util/github/graphql/datasource-fetcher.js +3 -5
  170. package/dist/util/github/graphql/datasource-fetcher.js.map +1 -1
  171. package/dist/util/http/bitbucket-server.d.ts +2 -1
  172. package/dist/util/http/bitbucket-server.js +5 -3
  173. package/dist/util/http/bitbucket-server.js.map +1 -1
  174. package/dist/util/http/cache/package-http-cache-provider.d.ts +23 -0
  175. package/dist/util/http/cache/package-http-cache-provider.js +80 -0
  176. package/dist/util/http/cache/package-http-cache-provider.js.map +1 -0
  177. package/dist/util/http/host-rules.js +12 -0
  178. package/dist/util/http/host-rules.js.map +1 -1
  179. package/dist/util/schema-utils.d.ts +1 -0
  180. package/dist/util/schema-utils.js +43 -8
  181. package/dist/util/schema-utils.js.map +1 -1
  182. package/dist/util/string.d.ts +1 -0
  183. package/dist/util/string.js +4 -0
  184. package/dist/util/string.js.map +1 -1
  185. package/dist/util/yaml.js +2 -3
  186. package/dist/util/yaml.js.map +1 -1
  187. package/dist/workers/global/config/parse/index.js +10 -0
  188. package/dist/workers/global/config/parse/index.js.map +1 -1
  189. package/dist/workers/global/index.js +4 -2
  190. package/dist/workers/global/index.js.map +1 -1
  191. package/dist/workers/repository/process/lookup/index.js +2 -0
  192. package/dist/workers/repository/process/lookup/index.js.map +1 -1
  193. package/dist/workers/repository/process/lookup/timestamps.d.ts +18 -0
  194. package/dist/workers/repository/process/lookup/timestamps.js +69 -0
  195. package/dist/workers/repository/process/lookup/timestamps.js.map +1 -0
  196. package/dist/workers/repository/process/lookup/types.d.ts +1 -0
  197. package/dist/workers/repository/process/lookup/types.js.map +1 -1
  198. package/dist/workers/repository/process/lookup/utils.js +20 -9
  199. package/dist/workers/repository/process/lookup/utils.js.map +1 -1
  200. package/dist/workers/repository/process/sort.js +1 -1
  201. package/dist/workers/repository/process/sort.js.map +1 -1
  202. package/dist/workers/repository/reconfigure/utils.d.ts +2 -0
  203. package/dist/workers/repository/reconfigure/utils.js +16 -0
  204. package/dist/workers/repository/reconfigure/utils.js.map +1 -1
  205. package/dist/workers/repository/reconfigure/validate.js +5 -17
  206. package/dist/workers/repository/reconfigure/validate.js.map +1 -1
  207. package/dist/workers/repository/update/branch/auto-replace.js +25 -5
  208. package/dist/workers/repository/update/branch/auto-replace.js.map +1 -1
  209. package/dist/workers/repository/update/branch/commit.js +2 -0
  210. package/dist/workers/repository/update/branch/commit.js.map +1 -1
  211. package/dist/workers/repository/update/pr/body/config-description.js +26 -1
  212. package/dist/workers/repository/update/pr/body/config-description.js.map +1 -1
  213. package/dist/workers/repository/update/pr/body/index.js +21 -14
  214. package/dist/workers/repository/update/pr/body/index.js.map +1 -1
  215. package/dist/workers/repository/update/pr/changelog/api.js +8 -6
  216. package/dist/workers/repository/update/pr/changelog/api.js.map +1 -1
  217. package/dist/workers/repository/update/pr/changelog/bitbucket-server/index.d.ts +3 -0
  218. package/dist/workers/repository/update/pr/changelog/bitbucket-server/index.js +39 -0
  219. package/dist/workers/repository/update/pr/changelog/bitbucket-server/index.js.map +1 -0
  220. package/dist/workers/repository/update/pr/changelog/bitbucket-server/source.d.ts +8 -0
  221. package/dist/workers/repository/update/pr/changelog/bitbucket-server/source.js +31 -0
  222. package/dist/workers/repository/update/pr/changelog/bitbucket-server/source.js.map +1 -0
  223. package/dist/workers/repository/update/pr/changelog/release-notes.js +12 -8
  224. package/dist/workers/repository/update/pr/changelog/release-notes.js.map +1 -1
  225. package/dist/workers/repository/update/pr/changelog/source.d.ts +1 -1
  226. package/dist/workers/repository/update/pr/changelog/source.js.map +1 -1
  227. package/dist/workers/repository/update/pr/changelog/types.d.ts +1 -1
  228. package/dist/workers/repository/update/pr/changelog/types.js.map +1 -1
  229. package/dist/workers/repository/update/pr/index.js +2 -4
  230. package/dist/workers/repository/update/pr/index.js.map +1 -1
  231. package/dist/workers/repository/updates/generate.js +2 -0
  232. package/dist/workers/repository/updates/generate.js.map +1 -1
  233. package/package.json +40 -37
  234. package/renovate-schema.json +9 -2
  235. package/dist/modules/manager/pixi/lockfile.d.ts +0 -6
  236. package/dist/modules/manager/pixi/lockfile.js +0 -25
  237. package/dist/modules/manager/pixi/lockfile.js.map +0 -1
@@ -14,6 +14,10 @@ const exporter_trace_otlp_http_1 = require("@opentelemetry/exporter-trace-otlp-h
14
14
  const instrumentation_1 = require("@opentelemetry/instrumentation");
15
15
  const instrumentation_bunyan_1 = require("@opentelemetry/instrumentation-bunyan");
16
16
  const instrumentation_http_1 = require("@opentelemetry/instrumentation-http");
17
+ const resource_detector_aws_1 = require("@opentelemetry/resource-detector-aws");
18
+ const resource_detector_azure_1 = require("@opentelemetry/resource-detector-azure");
19
+ const resource_detector_gcp_1 = require("@opentelemetry/resource-detector-gcp");
20
+ const resource_detector_github_1 = require("@opentelemetry/resource-detector-github");
17
21
  const resources_1 = require("@opentelemetry/resources");
18
22
  const sdk_trace_base_1 = require("@opentelemetry/sdk-trace-base");
19
23
  const sdk_trace_node_1 = require("@opentelemetry/sdk-trace-node");
@@ -36,15 +40,31 @@ function init() {
36
40
  const exporter = new exporter_trace_otlp_http_1.OTLPTraceExporter();
37
41
  spanProcessors.push(new sdk_trace_base_1.BatchSpanProcessor(exporter));
38
42
  }
43
+ const baseResource = (0, resources_1.resourceFromAttributes)({
44
+ // https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/resource/semantic_conventions/README.md#semantic-attributes-with-sdk-provided-default-value
45
+ [semantic_conventions_1.ATTR_SERVICE_NAME]: process.env.OTEL_SERVICE_NAME ?? 'renovate',
46
+ // https://github.com/open-telemetry/opentelemetry-js/tree/main/semantic-conventions#unstable-semconv
47
+ // https://github.com/open-telemetry/opentelemetry-js/blob/e9d3c71918635d490b6a9ac9f8259265b38394d0/semantic-conventions/src/experimental_attributes.ts#L7688
48
+ ['service.namespace']: process.env.OTEL_SERVICE_NAMESPACE ?? 'renovatebot.com',
49
+ [semantic_conventions_1.ATTR_SERVICE_VERSION]: process.env.OTEL_SERVICE_VERSION ?? expose_cjs_1.pkg.version,
50
+ });
51
+ const detectedResource = (0, resources_1.detectResources)({
52
+ detectors: [
53
+ resource_detector_aws_1.awsBeanstalkDetector,
54
+ resource_detector_aws_1.awsEc2Detector,
55
+ resource_detector_aws_1.awsEcsDetector,
56
+ resource_detector_aws_1.awsEksDetector,
57
+ resource_detector_aws_1.awsLambdaDetector,
58
+ resource_detector_azure_1.azureAppServiceDetector,
59
+ resource_detector_azure_1.azureFunctionsDetector,
60
+ resource_detector_azure_1.azureVmDetector,
61
+ resource_detector_gcp_1.gcpDetector,
62
+ resource_detector_github_1.gitHubDetector,
63
+ resources_1.envDetector,
64
+ ],
65
+ });
39
66
  const traceProvider = new sdk_trace_node_1.NodeTracerProvider({
40
- resource: (0, resources_1.resourceFromAttributes)({
41
- // https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/resource/semantic_conventions/README.md#semantic-attributes-with-sdk-provided-default-value
42
- [semantic_conventions_1.ATTR_SERVICE_NAME]: process.env.OTEL_SERVICE_NAME ?? 'renovate',
43
- // https://github.com/open-telemetry/opentelemetry-js/tree/main/semantic-conventions#unstable-semconv
44
- // https://github.com/open-telemetry/opentelemetry-js/blob/e9d3c71918635d490b6a9ac9f8259265b38394d0/semantic-conventions/src/experimental_attributes.ts#L7688
45
- ['service.namespace']: process.env.OTEL_SERVICE_NAMESPACE ?? 'renovatebot.com',
46
- [semantic_conventions_1.ATTR_SERVICE_VERSION]: process.env.OTEL_SERVICE_VERSION ?? expose_cjs_1.pkg.version,
47
- }),
67
+ resource: baseResource.merge(detectedResource),
48
68
  spanProcessors,
49
69
  });
50
70
  const contextManager = new context_async_hooks_1.AsyncLocalStorageContextManager();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/instrumentation/index.ts"],"names":[],"mappings":";;AAwCA,oBAwDC;AAID,4BAUC;AAGD,0DAIC;AAED,8CAEC;AAeD,gCAiCC;;AAzKD,yCAA0C;AAQ1C,gEAA0C;AAC1C,4CAAyE;AACzE,4EAAqF;AACrF,sFAA4E;AAE5E,oEAA0E;AAC1E,kFAA8E;AAC9E,8EAA0E;AAC1E,wDAAkE;AAClE,kEAKuC;AACvC,kEAAmE;AACnE,8EAG6C;AAC7C,8CAAoC;AACpC,mCAKiB;AAEjB,IAAI,gBAAgB,GAAsB,EAAE,CAAC;AAE7C,IAAI,EAAE,CAAC;AAEP,SAAgB,IAAI;IAClB,IAAI,CAAC,IAAA,wBAAgB,GAAE,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAAoB,EAAE,CAAC;IAC3C,iBAAiB;IACjB,IAAI,IAAA,+BAAuB,GAAE,EAAE,CAAC;QAC9B,cAAc,CAAC,IAAI,CAAC,IAAI,oCAAmB,CAAC,IAAI,oCAAmB,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,0CAA0C;IAC1C,IAAI,IAAA,6BAAqB,GAAE,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,4CAAiB,EAAE,CAAC;QACzC,cAAc,CAAC,IAAI,CAAC,IAAI,mCAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,mCAAkB,CAAC;QAC3C,QAAQ,EAAE,IAAA,kCAAsB,EAAC;YAC/B,oLAAoL;YACpL,CAAC,wCAAiB,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,UAAU;YAChE,qGAAqG;YACrG,6JAA6J;YAC7J,CAAC,mBAAmB,CAAC,EACnB,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,iBAAiB;YACzD,CAAC,2CAAoB,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,gBAAG,CAAC,OAAO;SACxE,CAAC;QACF,cAAc;KACf,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,IAAI,qDAA+B,EAAE,CAAC;IAC7D,aAAa,CAAC,QAAQ,CAAC;QACrB,cAAc;KACf,CAAC,CAAC;IAEH,gBAAgB,GAAG;QACjB,IAAI,0CAAmB,CAAC;YACtB,4CAA4C;YAC5C,2BAA2B,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;gBACvD,yHAAyH;gBACzH,IACE,OAAO,YAAY,yBAAa;oBAChC,OAAO,CAAC,IAAI,KAAK,gBAAgB;oBACjC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;oBACpC,QAAQ,CAAC,UAAU,KAAK,GAAG,EAC3B,CAAC;oBACD,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,oBAAc,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;YACD,oBAAoB;SACrB,CAAC;QACF,IAAI,8CAAqB,EAAE;KAC5B,CAAC;IACF,IAAA,0CAAwB,EAAC;QACvB,gBAAgB;KACjB,CAAC,CAAC;AACL,CAAC;AAED,4CAA4C;AAC5C,mEAAmE;AAC5D,KAAK,UAAU,QAAQ;IAC5B,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;IAC1C,IAAI,aAAa,YAAY,mCAAkB,EAAE,CAAC;QAChD,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;SAAM,IAAI,aAAa,YAAY,yBAAmB,EAAE,CAAC;QACxD,MAAM,gBAAgB,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;QACrD,IAAI,gBAAgB,YAAY,mCAAkB,EAAE,CAAC;YACnD,MAAM,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;AACH,CAAC;AACD,oBAAoB;AAEpB,SAAgB,uBAAuB;IACrC,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE,CAAC;QAC/C,eAAe,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,SAAgB,iBAAiB;IAC/B,OAAO,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,iBAAiB,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AACnD,CAAC;AAWD,SAAgB,UAAU,CACxB,IAAY,EACZ,EAAK,EACL,UAAuB,EAAE,EACzB,UAAmB,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE;IAEvC,OAAO,SAAS,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,IAAU,EAAE,EAAE;QACxE,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE,EAAE,CAAC;YACjB,IAAI,GAAG,YAAY,OAAO,EAAE,CAAC;gBAC3B,OAAO,GAAG;qBACP,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;oBACX,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;oBACxB,IAAI,CAAC,SAAS,CAAC;wBACb,IAAI,EAAE,oBAAc,CAAC,KAAK;wBAC1B,OAAO,EAAE,IAAA,wBAAgB,EAAC,CAAC,CAAC;qBAC7B,CAAC,CAAC;oBACH,MAAM,CAAC,CAAC;gBACV,CAAC,CAAC;qBACD,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAkB,CAAC;YAChD,CAAC;YACD,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,oBAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,IAAA,wBAAgB,EAAC,CAAC,CAAC;aAC7B,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { ClientRequest } from 'node:http';\nimport type {\n Context,\n Span,\n SpanOptions,\n Tracer,\n TracerProvider,\n} from '@opentelemetry/api';\nimport * as api from '@opentelemetry/api';\nimport { ProxyTracerProvider, SpanStatusCode } from '@opentelemetry/api';\nimport { AsyncLocalStorageContextManager } from '@opentelemetry/context-async-hooks';\nimport { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';\nimport type { Instrumentation } from '@opentelemetry/instrumentation';\nimport { registerInstrumentations } from '@opentelemetry/instrumentation';\nimport { BunyanInstrumentation } from '@opentelemetry/instrumentation-bunyan';\nimport { HttpInstrumentation } from '@opentelemetry/instrumentation-http';\nimport { resourceFromAttributes } from '@opentelemetry/resources';\nimport {\n BatchSpanProcessor,\n ConsoleSpanExporter,\n SimpleSpanProcessor,\n type SpanProcessor,\n} from '@opentelemetry/sdk-trace-base';\nimport { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';\nimport {\n ATTR_SERVICE_NAME,\n ATTR_SERVICE_VERSION,\n} from '@opentelemetry/semantic-conventions';\nimport { pkg } from '../expose.cjs';\nimport {\n isTraceDebuggingEnabled,\n isTraceSendingEnabled,\n isTracingEnabled,\n massageThrowable,\n} from './utils';\n\nlet instrumentations: Instrumentation[] = [];\n\ninit();\n\nexport function init(): void {\n if (!isTracingEnabled()) {\n return;\n }\n\n const spanProcessors: SpanProcessor[] = [];\n // add processors\n if (isTraceDebuggingEnabled()) {\n spanProcessors.push(new SimpleSpanProcessor(new ConsoleSpanExporter()));\n }\n\n // OTEL specification environment variable\n if (isTraceSendingEnabled()) {\n const exporter = new OTLPTraceExporter();\n spanProcessors.push(new BatchSpanProcessor(exporter));\n }\n\n const traceProvider = new NodeTracerProvider({\n resource: resourceFromAttributes({\n // https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/resource/semantic_conventions/README.md#semantic-attributes-with-sdk-provided-default-value\n [ATTR_SERVICE_NAME]: process.env.OTEL_SERVICE_NAME ?? 'renovate',\n // https://github.com/open-telemetry/opentelemetry-js/tree/main/semantic-conventions#unstable-semconv\n // https://github.com/open-telemetry/opentelemetry-js/blob/e9d3c71918635d490b6a9ac9f8259265b38394d0/semantic-conventions/src/experimental_attributes.ts#L7688\n ['service.namespace']:\n process.env.OTEL_SERVICE_NAMESPACE ?? 'renovatebot.com',\n [ATTR_SERVICE_VERSION]: process.env.OTEL_SERVICE_VERSION ?? pkg.version,\n }),\n spanProcessors,\n });\n\n const contextManager = new AsyncLocalStorageContextManager();\n traceProvider.register({\n contextManager,\n });\n\n instrumentations = [\n new HttpInstrumentation({\n /* v8 ignore start -- not easily testable */\n applyCustomAttributesOnSpan: (span, request, response) => {\n // ignore 404 errors when the branch protection of Github could not be found. This is expected if no rules are configured\n if (\n request instanceof ClientRequest &&\n request.host === `api.github.com` &&\n request.path.endsWith(`/protection`) &&\n response.statusCode === 404\n ) {\n span.setStatus({ code: SpanStatusCode.OK });\n }\n },\n /* v8 ignore stop */\n }),\n new BunyanInstrumentation(),\n ];\n registerInstrumentations({\n instrumentations,\n });\n}\n\n/* v8 ignore start -- not easily testable */\n// https://github.com/open-telemetry/opentelemetry-js-api/issues/34\nexport async function shutdown(): Promise<void> {\n const traceProvider = getTracerProvider();\n if (traceProvider instanceof NodeTracerProvider) {\n await traceProvider.shutdown();\n } else if (traceProvider instanceof ProxyTracerProvider) {\n const delegateProvider = traceProvider.getDelegate();\n if (delegateProvider instanceof NodeTracerProvider) {\n await delegateProvider.shutdown();\n }\n }\n}\n/* v8 ignore stop */\n\nexport function disableInstrumentations(): void {\n for (const instrumentation of instrumentations) {\n instrumentation.disable();\n }\n}\n\nexport function getTracerProvider(): TracerProvider {\n return api.trace.getTracerProvider();\n}\n\nfunction getTracer(): Tracer {\n return getTracerProvider().getTracer('renovate');\n}\n\nexport function instrument<F extends () => ReturnType<F>>(\n name: string,\n fn: F,\n): ReturnType<F>;\nexport function instrument<F extends () => ReturnType<F>>(\n name: string,\n fn: F,\n options: SpanOptions,\n): ReturnType<F>;\nexport function instrument<F extends () => ReturnType<F>>(\n name: string,\n fn: F,\n options: SpanOptions = {},\n context: Context = api.context.active(),\n): ReturnType<F> {\n return getTracer().startActiveSpan(name, options, context, (span: Span) => {\n try {\n const ret = fn();\n if (ret instanceof Promise) {\n return ret\n .catch((e) => {\n span.recordException(e);\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: massageThrowable(e),\n });\n throw e;\n })\n .finally(() => span.end()) as ReturnType<F>;\n }\n span.end();\n return ret;\n } catch (e) {\n span.recordException(e);\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: massageThrowable(e),\n });\n span.end();\n throw e;\n }\n });\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/instrumentation/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { ClientRequest } from 'node:http';\nimport type {\n Context,\n Span,\n SpanOptions,\n Tracer,\n TracerProvider,\n} from '@opentelemetry/api';\nimport * as api from '@opentelemetry/api';\nimport { ProxyTracerProvider, SpanStatusCode } from '@opentelemetry/api';\nimport { AsyncLocalStorageContextManager } from '@opentelemetry/context-async-hooks';\nimport { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';\nimport type { Instrumentation } from '@opentelemetry/instrumentation';\nimport { registerInstrumentations } from '@opentelemetry/instrumentation';\nimport { BunyanInstrumentation } from '@opentelemetry/instrumentation-bunyan';\nimport { HttpInstrumentation } from '@opentelemetry/instrumentation-http';\nimport {\n awsBeanstalkDetector,\n awsEc2Detector,\n awsEcsDetector,\n awsEksDetector,\n awsLambdaDetector,\n} from '@opentelemetry/resource-detector-aws';\nimport {\n azureAppServiceDetector,\n azureFunctionsDetector,\n azureVmDetector,\n} from '@opentelemetry/resource-detector-azure';\nimport { gcpDetector } from '@opentelemetry/resource-detector-gcp';\nimport { gitHubDetector } from '@opentelemetry/resource-detector-github';\nimport {\n detectResources,\n envDetector,\n resourceFromAttributes,\n} from '@opentelemetry/resources';\nimport {\n BatchSpanProcessor,\n ConsoleSpanExporter,\n SimpleSpanProcessor,\n type SpanProcessor,\n} from '@opentelemetry/sdk-trace-base';\nimport { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';\nimport {\n ATTR_SERVICE_NAME,\n ATTR_SERVICE_VERSION,\n} from '@opentelemetry/semantic-conventions';\nimport { pkg } from '../expose.cjs';\nimport {\n isTraceDebuggingEnabled,\n isTraceSendingEnabled,\n isTracingEnabled,\n massageThrowable,\n} from './utils';\n\nlet instrumentations: Instrumentation[] = [];\n\ninit();\n\nexport function init(): void {\n if (!isTracingEnabled()) {\n return;\n }\n\n const spanProcessors: SpanProcessor[] = [];\n // add processors\n if (isTraceDebuggingEnabled()) {\n spanProcessors.push(new SimpleSpanProcessor(new ConsoleSpanExporter()));\n }\n\n // OTEL specification environment variable\n if (isTraceSendingEnabled()) {\n const exporter = new OTLPTraceExporter();\n spanProcessors.push(new BatchSpanProcessor(exporter));\n }\n\n const baseResource = resourceFromAttributes({\n // https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/resource/semantic_conventions/README.md#semantic-attributes-with-sdk-provided-default-value\n [ATTR_SERVICE_NAME]: process.env.OTEL_SERVICE_NAME ?? 'renovate',\n // https://github.com/open-telemetry/opentelemetry-js/tree/main/semantic-conventions#unstable-semconv\n // https://github.com/open-telemetry/opentelemetry-js/blob/e9d3c71918635d490b6a9ac9f8259265b38394d0/semantic-conventions/src/experimental_attributes.ts#L7688\n ['service.namespace']:\n process.env.OTEL_SERVICE_NAMESPACE ?? 'renovatebot.com',\n [ATTR_SERVICE_VERSION]: process.env.OTEL_SERVICE_VERSION ?? pkg.version,\n });\n\n const detectedResource = detectResources({\n detectors: [\n awsBeanstalkDetector,\n awsEc2Detector,\n awsEcsDetector,\n awsEksDetector,\n awsLambdaDetector,\n azureAppServiceDetector,\n azureFunctionsDetector,\n azureVmDetector,\n gcpDetector,\n gitHubDetector,\n envDetector,\n ],\n });\n\n const traceProvider = new NodeTracerProvider({\n resource: baseResource.merge(detectedResource),\n spanProcessors,\n });\n\n const contextManager = new AsyncLocalStorageContextManager();\n traceProvider.register({\n contextManager,\n });\n\n instrumentations = [\n new HttpInstrumentation({\n /* v8 ignore start -- not easily testable */\n applyCustomAttributesOnSpan: (span, request, response) => {\n // ignore 404 errors when the branch protection of Github could not be found. This is expected if no rules are configured\n if (\n request instanceof ClientRequest &&\n request.host === `api.github.com` &&\n request.path.endsWith(`/protection`) &&\n response.statusCode === 404\n ) {\n span.setStatus({ code: SpanStatusCode.OK });\n }\n },\n /* v8 ignore stop */\n }),\n new BunyanInstrumentation(),\n ];\n registerInstrumentations({\n instrumentations,\n });\n}\n\n/* v8 ignore start -- not easily testable */\n// https://github.com/open-telemetry/opentelemetry-js-api/issues/34\nexport async function shutdown(): Promise<void> {\n const traceProvider = getTracerProvider();\n if (traceProvider instanceof NodeTracerProvider) {\n await traceProvider.shutdown();\n } else if (traceProvider instanceof ProxyTracerProvider) {\n const delegateProvider = traceProvider.getDelegate();\n if (delegateProvider instanceof NodeTracerProvider) {\n await delegateProvider.shutdown();\n }\n }\n}\n/* v8 ignore stop */\n\nexport function disableInstrumentations(): void {\n for (const instrumentation of instrumentations) {\n instrumentation.disable();\n }\n}\n\nexport function getTracerProvider(): TracerProvider {\n return api.trace.getTracerProvider();\n}\n\nfunction getTracer(): Tracer {\n return getTracerProvider().getTracer('renovate');\n}\n\nexport function instrument<F extends () => ReturnType<F>>(\n name: string,\n fn: F,\n): ReturnType<F>;\nexport function instrument<F extends () => ReturnType<F>>(\n name: string,\n fn: F,\n options: SpanOptions,\n): ReturnType<F>;\nexport function instrument<F extends () => ReturnType<F>>(\n name: string,\n fn: F,\n options: SpanOptions = {},\n context: Context = api.context.active(),\n): ReturnType<F> {\n return getTracer().startActiveSpan(name, options, context, (span: Span) => {\n try {\n const ret = fn();\n if (ret instanceof Promise) {\n return ret\n .catch((e) => {\n span.recordException(e);\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: massageThrowable(e),\n });\n throw e;\n })\n .finally(() => span.end()) as ReturnType<F>;\n }\n span.end();\n return ret;\n } catch (e) {\n span.recordException(e);\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: massageThrowable(e),\n });\n span.end();\n throw e;\n }\n });\n}\n"]}
@@ -7,6 +7,7 @@ const aws_rds_1 = require("./aws-rds");
7
7
  const azure_bicep_resource_1 = require("./azure-bicep-resource");
8
8
  const azure_pipelines_tasks_1 = require("./azure-pipelines-tasks");
9
9
  const bazel_1 = require("./bazel");
10
+ const bitbucket_server_tags_1 = require("./bitbucket-server-tags");
10
11
  const bitbucket_tags_1 = require("./bitbucket-tags");
11
12
  const bitrise_1 = require("./bitrise");
12
13
  const buildpacks_registry_1 = require("./buildpacks-registry");
@@ -78,6 +79,7 @@ api.set(aws_rds_1.AwsRdsDatasource.id, new aws_rds_1.AwsRdsDatasource());
78
79
  api.set(azure_bicep_resource_1.AzureBicepResourceDatasource.id, new azure_bicep_resource_1.AzureBicepResourceDatasource());
79
80
  api.set(azure_pipelines_tasks_1.AzurePipelinesTasksDatasource.id, new azure_pipelines_tasks_1.AzurePipelinesTasksDatasource());
80
81
  api.set(bazel_1.BazelDatasource.id, new bazel_1.BazelDatasource());
82
+ api.set(bitbucket_server_tags_1.BitbucketServerTagsDatasource.id, new bitbucket_server_tags_1.BitbucketServerTagsDatasource());
81
83
  api.set(bitbucket_tags_1.BitbucketTagsDatasource.id, new bitbucket_tags_1.BitbucketTagsDatasource());
82
84
  api.set(bitrise_1.BitriseDatasource.id, new bitrise_1.BitriseDatasource());
83
85
  api.set(buildpacks_registry_1.BuildpacksRegistryDatasource.id, new buildpacks_registry_1.BuildpacksRegistryDatasource());
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../lib/modules/datasource/api.ts"],"names":[],"mappings":";;AAAA,+CAAsD;AACtD,mDAAwD;AACxD,2DAAgE;AAChE,uCAA6C;AAC7C,iEAAsE;AACtE,mEAAwE;AACxE,mCAA0C;AAC1C,qDAA2D;AAC3D,uCAA8C;AAC9C,+DAAqE;AACrE,mCAA0C;AAC1C,uCAA8C;AAC9C,mCAA0C;AAC1C,mCAA0C;AAC1C,iCAAwC;AACxC,mCAA0C;AAC1C,qCAA4C;AAC5C,iCAAwC;AACxC,iDAAuD;AACvD,+BAAsC;AACtC,iCAAwC;AACxC,qCAA4C;AAC5C,qCAA4C;AAC5C,qDAA2D;AAC3D,qDAA2D;AAC3D,uDAA6D;AAC7D,qCAA4C;AAC5C,2DAAiE;AACjE,yCAA+C;AAC/C,yCAA+C;AAC/C,qDAA2D;AAC3D,6CAAmD;AACnD,6EAAkF;AAClF,uDAA6D;AAC7D,qDAA2D;AAC3D,+CAAqD;AACrD,uDAA6D;AAC7D,uDAA6D;AAC7D,+CAAqD;AACrD,6DAAmE;AACnE,6BAAoC;AACpC,qDAA2D;AAC3D,qDAA2D;AAC3D,uCAA8C;AAC9C,iCAAwC;AACxC,qCAA4C;AAC5C,+BAAsC;AACtC,2CAAiD;AACjD,iDAAuD;AACvD,uDAA6D;AAC7D,qDAA2D;AAC3D,mCAA0C;AAC1C,iDAAuD;AACvD,+BAAsC;AACtC,mCAA0C;AAC1C,+BAAsC;AACtC,2CAAkD;AAClD,+BAAsC;AACtC,iDAAuD;AACvD,iCAAwC;AACxC,qDAA2D;AAC3D,yCAAgD;AAChD,iDAAuD;AACvD,yCAAgD;AAChD,+CAAqD;AACrD,6CAAmD;AACnD,yDAA+D;AAC/D,6DAAmE;AAEnE,uCAA8C;AAE9C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAyB,CAAC;AAC7C,kBAAe,GAAG,CAAC;AAEnB,GAAG,CAAC,GAAG,CAAC,mCAAqB,CAAC,EAAE,EAAE,IAAI,mCAAqB,EAAE,CAAC,CAAC;AAC/D,GAAG,CAAC,GAAG,CAAC,qCAAqB,CAAC,EAAE,EAAE,IAAI,qCAAqB,EAAE,CAAC,CAAC;AAC/D,GAAG,CAAC,GAAG,CAAC,6CAAyB,CAAC,EAAE,EAAE,IAAI,6CAAyB,EAAE,CAAC,CAAC;AACvE,GAAG,CAAC,GAAG,CAAC,0BAAgB,CAAC,EAAE,EAAE,IAAI,0BAAgB,EAAE,CAAC,CAAC;AACrD,GAAG,CAAC,GAAG,CAAC,mDAA4B,CAAC,EAAE,EAAE,IAAI,mDAA4B,EAAE,CAAC,CAAC;AAC7E,GAAG,CAAC,GAAG,CAAC,qDAA6B,CAAC,EAAE,EAAE,IAAI,qDAA6B,EAAE,CAAC,CAAC;AAC/E,GAAG,CAAC,GAAG,CAAC,uBAAe,CAAC,EAAE,EAAE,IAAI,uBAAe,EAAE,CAAC,CAAC;AACnD,GAAG,CAAC,GAAG,CAAC,wCAAuB,CAAC,EAAE,EAAE,IAAI,wCAAuB,EAAE,CAAC,CAAC;AACnE,GAAG,CAAC,GAAG,CAAC,2BAAiB,CAAC,EAAE,EAAE,IAAI,2BAAiB,EAAE,CAAC,CAAC;AACvD,GAAG,CAAC,GAAG,CAAC,kDAA4B,CAAC,EAAE,EAAE,IAAI,kDAA4B,EAAE,CAAC,CAAC;AAC7E,GAAG,CAAC,GAAG,CAAC,uBAAe,CAAC,EAAE,EAAE,IAAI,uBAAe,EAAE,CAAC,CAAC;AACnD,GAAG,CAAC,GAAG,CAAC,2BAAiB,CAAC,EAAE,EAAE,IAAI,2BAAiB,EAAE,CAAC,CAAC;AACvD,GAAG,CAAC,GAAG,CAAC,uBAAe,CAAC,EAAE,EAAE,IAAI,uBAAe,EAAE,CAAC,CAAC;AACnD,GAAG,CAAC,GAAG,CAAC,uBAAe,CAAC,EAAE,EAAE,IAAI,uBAAe,EAAE,CAAC,CAAC;AACnD,GAAG,CAAC,GAAG,CAAC,qBAAc,CAAC,EAAE,EAAE,IAAI,qBAAc,EAAE,CAAC,CAAC;AACjD,GAAG,CAAC,GAAG,CAAC,uBAAe,CAAC,EAAE,EAAE,IAAI,uBAAe,EAAE,CAAC,CAAC;AACnD,GAAG,CAAC,GAAG,CAAC,yBAAgB,CAAC,EAAE,EAAE,IAAI,yBAAgB,EAAE,CAAC,CAAC;AACrD,GAAG,CAAC,GAAG,CAAC,qBAAc,CAAC,EAAE,EAAE,IAAI,qBAAc,EAAE,CAAC,CAAC;AACjD,GAAG,CAAC,GAAG,CAAC,oCAAqB,CAAC,EAAE,EAAE,IAAI,oCAAqB,EAAE,CAAC,CAAC;AAC/D,GAAG,CAAC,GAAG,CAAC,mBAAa,CAAC,EAAE,EAAE,IAAI,mBAAa,EAAE,CAAC,CAAC;AAC/C,GAAG,CAAC,GAAG,CAAC,qBAAc,CAAC,EAAE,EAAE,IAAI,qBAAc,EAAE,CAAC,CAAC;AACjD,GAAG,CAAC,GAAG,CAAC,yBAAgB,CAAC,EAAE,EAAE,IAAI,yBAAgB,EAAE,CAAC,CAAC;AACrD,GAAG,CAAC,GAAG,CAAC,yBAAgB,CAAC,EAAE,EAAE,IAAI,yBAAgB,EAAE,CAAC,CAAC;AACrD,GAAG,CAAC,GAAG,CAAC,wCAAuB,CAAC,EAAE,EAAE,IAAI,wCAAuB,EAAE,CAAC,CAAC;AACnE,GAAG,CAAC,GAAG,CAAC,wCAAuB,CAAC,EAAE,EAAE,IAAI,wCAAuB,EAAE,CAAC,CAAC;AACnE,GAAG,CAAC,GAAG,CAAC,0CAAwB,CAAC,EAAE,EAAE,IAAI,0CAAwB,EAAE,CAAC,CAAC;AACrE,GAAG,CAAC,GAAG,CAAC,yBAAgB,CAAC,EAAE,EAAE,IAAI,yBAAgB,EAAE,CAAC,CAAC;AACrD,GAAG,CAAC,GAAG,CAAC,8CAA0B,CAAC,EAAE,EAAE,IAAI,8CAA0B,EAAE,CAAC,CAAC;AACzE,GAAG,CAAC,GAAG,CAAC,4BAAiB,CAAC,EAAE,EAAE,IAAI,4BAAiB,EAAE,CAAC,CAAC;AACvD,GAAG,CAAC,GAAG,CAAC,4BAAiB,CAAC,EAAE,EAAE,IAAI,4BAAiB,EAAE,CAAC,CAAC;AACvD,GAAG,CAAC,GAAG,CAAC,wCAAuB,CAAC,EAAE,EAAE,IAAI,wCAAuB,EAAE,CAAC,CAAC;AACnE,GAAG,CAAC,GAAG,CAAC,gCAAmB,CAAC,EAAE,EAAE,IAAI,gCAAmB,EAAE,CAAC,CAAC;AAC3D,GAAG,CAAC,GAAG,CACL,+DAAkC,CAAC,EAAE,EACrC,IAAI,+DAAkC,EAAE,CACzC,CAAC;AACF,GAAG,CAAC,GAAG,CAAC,0CAAwB,CAAC,EAAE,EAAE,IAAI,0CAAwB,EAAE,CAAC,CAAC;AACrE,GAAG,CAAC,GAAG,CAAC,wCAAuB,CAAC,EAAE,EAAE,IAAI,wCAAuB,EAAE,CAAC,CAAC;AACnE,GAAG,CAAC,GAAG,CAAC,kCAAoB,CAAC,EAAE,EAAE,IAAI,kCAAoB,EAAE,CAAC,CAAC;AAC7D,GAAG,CAAC,GAAG,CAAC,0CAAwB,CAAC,EAAE,EAAE,IAAI,0CAAwB,EAAE,CAAC,CAAC;AACrE,GAAG,CAAC,GAAG,CAAC,0CAAwB,CAAC,EAAE,EAAE,IAAI,0CAAwB,EAAE,CAAC,CAAC;AACrE,GAAG,CAAC,GAAG,CAAC,kCAAoB,CAAC,EAAE,EAAE,IAAI,kCAAoB,EAAE,CAAC,CAAC;AAC7D,GAAG,CAAC,GAAG,CAAC,gDAA2B,CAAC,EAAE,EAAE,IAAI,gDAA2B,EAAE,CAAC,CAAC;AAC3E,GAAG,CAAC,GAAG,CAAC,iBAAY,CAAC,EAAE,EAAE,IAAI,iBAAY,EAAE,CAAC,CAAC;AAC7C,GAAG,CAAC,GAAG,CAAC,wCAAuB,CAAC,EAAE,EAAE,IAAI,wCAAuB,EAAE,CAAC,CAAC;AACnE,GAAG,CAAC,GAAG,CAAC,wCAAuB,CAAC,EAAE,EAAE,IAAI,wCAAuB,EAAE,CAAC,CAAC;AACnE,GAAG,CAAC,GAAG,CAAC,2BAAiB,CAAC,EAAE,EAAE,IAAI,2BAAiB,EAAE,CAAC,CAAC;AACvD,GAAG,CAAC,GAAG,CAAC,qBAAc,CAAC,EAAE,EAAE,IAAI,qBAAc,EAAE,CAAC,CAAC;AACjD,GAAG,CAAC,GAAG,CAAC,yBAAgB,CAAC,EAAE,EAAE,IAAI,yBAAgB,EAAE,CAAC,CAAC;AACrD,GAAG,CAAC,GAAG,CAAC,mBAAa,CAAC,EAAE,EAAE,IAAI,mBAAa,EAAE,CAAC,CAAC;AAC/C,GAAG,CAAC,GAAG,CAAC,8BAAkB,CAAC,EAAE,EAAE,IAAI,8BAAkB,EAAE,CAAC,CAAC;AACzD,GAAG,CAAC,GAAG,CAAC,oCAAqB,CAAC,EAAE,EAAE,IAAI,oCAAqB,EAAE,CAAC,CAAC;AAC/D,GAAG,CAAC,GAAG,CAAC,0CAAwB,CAAC,EAAE,EAAE,IAAI,0CAAwB,EAAE,CAAC,CAAC;AACrE,GAAG,CAAC,GAAG,CAAC,wCAAuB,CAAC,EAAE,EAAE,IAAI,wCAAuB,EAAE,CAAC,CAAC;AACnE,GAAG,CAAC,GAAG,CAAC,uBAAe,CAAC,EAAE,EAAE,IAAI,uBAAe,EAAE,CAAC,CAAC;AACnD,GAAG,CAAC,GAAG,CAAC,oCAAqB,CAAC,EAAE,EAAE,IAAI,oCAAqB,EAAE,CAAC,CAAC;AAC/D,GAAG,CAAC,GAAG,CAAC,mBAAa,CAAC,EAAE,EAAE,IAAI,mBAAa,EAAE,CAAC,CAAC;AAC/C,GAAG,CAAC,GAAG,CAAC,uBAAe,CAAC,EAAE,EAAE,IAAI,uBAAe,EAAE,CAAC,CAAC;AACnD,GAAG,CAAC,GAAG,CAAC,mBAAa,CAAC,EAAE,EAAE,IAAI,mBAAa,EAAE,CAAC,CAAC;AAC/C,GAAG,CAAC,GAAG,CAAC,+BAAmB,CAAC,EAAE,EAAE,IAAI,+BAAmB,EAAE,CAAC,CAAC;AAC3D,GAAG,CAAC,GAAG,CAAC,mBAAa,CAAC,EAAE,EAAE,IAAI,mBAAa,EAAE,CAAC,CAAC;AAC/C,GAAG,CAAC,GAAG,CAAC,oCAAqB,CAAC,EAAE,EAAE,IAAI,oCAAqB,EAAE,CAAC,CAAC;AAC/D,GAAG,CAAC,GAAG,CAAC,qBAAc,CAAC,EAAE,EAAE,IAAI,qBAAc,EAAE,CAAC,CAAC;AACjD,GAAG,CAAC,GAAG,CAAC,wCAAuB,CAAC,EAAE,EAAE,IAAI,wCAAuB,EAAE,CAAC,CAAC;AACnE,GAAG,CAAC,GAAG,CAAC,6BAAkB,CAAC,EAAE,EAAE,IAAI,6BAAkB,EAAE,CAAC,CAAC;AACzD,GAAG,CAAC,GAAG,CAAC,oCAAqB,CAAC,EAAE,EAAE,IAAI,oCAAqB,EAAE,CAAC,CAAC;AAC/D,GAAG,CAAC,GAAG,CAAC,6BAAkB,CAAC,EAAE,EAAE,IAAI,6BAAkB,EAAE,CAAC,CAAC;AACzD,GAAG,CAAC,GAAG,CAAC,kCAAoB,CAAC,EAAE,EAAE,IAAI,kCAAoB,EAAE,CAAC,CAAC;AAC7D,GAAG,CAAC,GAAG,CAAC,gCAAmB,CAAC,EAAE,EAAE,IAAI,gCAAmB,EAAE,CAAC,CAAC;AAC3D,GAAG,CAAC,GAAG,CAAC,4CAAyB,CAAC,EAAE,EAAE,IAAI,4CAAyB,EAAE,CAAC,CAAC;AACvE,GAAG,CAAC,GAAG,CAAC,gDAA2B,CAAC,EAAE,EAAE,IAAI,gDAA2B,EAAE,CAAC,CAAC;AAC3E,GAAG,CAAC,GAAG,CAAC,2BAAiB,CAAC,EAAE,EAAE,IAAI,2BAAiB,EAAE,CAAC,CAAC","sourcesContent":["import { ArtifactoryDatasource } from './artifactory';\nimport { AwsEKSAddonDataSource } from './aws-eks-addon';\nimport { AwsMachineImageDatasource } from './aws-machine-image';\nimport { AwsRdsDatasource } from './aws-rds';\nimport { AzureBicepResourceDatasource } from './azure-bicep-resource';\nimport { AzurePipelinesTasksDatasource } from './azure-pipelines-tasks';\nimport { BazelDatasource } from './bazel';\nimport { BitbucketTagsDatasource } from './bitbucket-tags';\nimport { BitriseDatasource } from './bitrise';\nimport { BuildpacksRegistryDatasource } from './buildpacks-registry';\nimport { CdnjsDatasource } from './cdnjs';\nimport { ClojureDatasource } from './clojure';\nimport { ConanDatasource } from './conan';\nimport { CondaDatasource } from './conda';\nimport { CpanDatasource } from './cpan';\nimport { CrateDatasource } from './crate';\nimport { CustomDatasource } from './custom';\nimport { DartDatasource } from './dart';\nimport { DartVersionDatasource } from './dart-version';\nimport { DebDatasource } from './deb';\nimport { DenoDatasource } from './deno';\nimport { DevboxDatasource } from './devbox';\nimport { DockerDatasource } from './docker';\nimport { DotnetVersionDatasource } from './dotnet-version';\nimport { EndoflifeDateDatasource } from './endoflife-date';\nimport { FlutterVersionDatasource } from './flutter-version';\nimport { GalaxyDatasource } from './galaxy';\nimport { GalaxyCollectionDatasource } from './galaxy-collection';\nimport { GitRefsDatasource } from './git-refs';\nimport { GitTagsDatasource } from './git-tags';\nimport { GiteaReleasesDatasource } from './gitea-releases';\nimport { GiteaTagsDatasource } from './gitea-tags';\nimport { GithubReleaseAttachmentsDatasource } from './github-release-attachments';\nimport { GithubReleasesDatasource } from './github-releases';\nimport { GithubRunnersDatasource } from './github-runners';\nimport { GithubTagsDatasource } from './github-tags';\nimport { GitlabPackagesDatasource } from './gitlab-packages';\nimport { GitlabReleasesDatasource } from './gitlab-releases';\nimport { GitlabTagsDatasource } from './gitlab-tags';\nimport { GlasskubePackagesDatasource } from './glasskube-packages';\nimport { GoDatasource } from './go';\nimport { GolangVersionDatasource } from './golang-version';\nimport { GradleVersionDatasource } from './gradle-version';\nimport { HackageDatasource } from './hackage';\nimport { HelmDatasource } from './helm';\nimport { HermitDatasource } from './hermit';\nimport { HexDatasource } from './hex';\nimport { HexpmBobDatasource } from './hexpm-bob';\nimport { JavaVersionDatasource } from './java-version';\nimport { JenkinsPluginsDatasource } from './jenkins-plugins';\nimport { KubernetesApiDatasource } from './kubernetes-api';\nimport { MavenDatasource } from './maven';\nimport { NodeVersionDatasource } from './node-version';\nimport { NpmDatasource } from './npm';\nimport { NugetDatasource } from './nuget';\nimport { OrbDatasource } from './orb';\nimport { PackagistDatasource } from './packagist';\nimport { PodDatasource } from './pod';\nimport { PuppetForgeDatasource } from './puppet-forge';\nimport { PypiDatasource } from './pypi';\nimport { PythonVersionDatasource } from './python-version';\nimport { RepologyDatasource } from './repology';\nimport { RubyVersionDatasource } from './ruby-version';\nimport { RubygemsDatasource } from './rubygems';\nimport { SbtPackageDatasource } from './sbt-package';\nimport { SbtPluginDatasource } from './sbt-plugin';\nimport { TerraformModuleDatasource } from './terraform-module';\nimport { TerraformProviderDatasource } from './terraform-provider';\nimport type { DatasourceApi } from './types';\nimport { Unity3dDatasource } from './unity3d';\n\nconst api = new Map<string, DatasourceApi>();\nexport default api;\n\napi.set(ArtifactoryDatasource.id, new ArtifactoryDatasource());\napi.set(AwsEKSAddonDataSource.id, new AwsEKSAddonDataSource());\napi.set(AwsMachineImageDatasource.id, new AwsMachineImageDatasource());\napi.set(AwsRdsDatasource.id, new AwsRdsDatasource());\napi.set(AzureBicepResourceDatasource.id, new AzureBicepResourceDatasource());\napi.set(AzurePipelinesTasksDatasource.id, new AzurePipelinesTasksDatasource());\napi.set(BazelDatasource.id, new BazelDatasource());\napi.set(BitbucketTagsDatasource.id, new BitbucketTagsDatasource());\napi.set(BitriseDatasource.id, new BitriseDatasource());\napi.set(BuildpacksRegistryDatasource.id, new BuildpacksRegistryDatasource());\napi.set(CdnjsDatasource.id, new CdnjsDatasource());\napi.set(ClojureDatasource.id, new ClojureDatasource());\napi.set(ConanDatasource.id, new ConanDatasource());\napi.set(CondaDatasource.id, new CondaDatasource());\napi.set(CpanDatasource.id, new CpanDatasource());\napi.set(CrateDatasource.id, new CrateDatasource());\napi.set(CustomDatasource.id, new CustomDatasource());\napi.set(DartDatasource.id, new DartDatasource());\napi.set(DartVersionDatasource.id, new DartVersionDatasource());\napi.set(DebDatasource.id, new DebDatasource());\napi.set(DenoDatasource.id, new DenoDatasource());\napi.set(DevboxDatasource.id, new DevboxDatasource());\napi.set(DockerDatasource.id, new DockerDatasource());\napi.set(DotnetVersionDatasource.id, new DotnetVersionDatasource());\napi.set(EndoflifeDateDatasource.id, new EndoflifeDateDatasource());\napi.set(FlutterVersionDatasource.id, new FlutterVersionDatasource());\napi.set(GalaxyDatasource.id, new GalaxyDatasource());\napi.set(GalaxyCollectionDatasource.id, new GalaxyCollectionDatasource());\napi.set(GitRefsDatasource.id, new GitRefsDatasource());\napi.set(GitTagsDatasource.id, new GitTagsDatasource());\napi.set(GiteaReleasesDatasource.id, new GiteaReleasesDatasource());\napi.set(GiteaTagsDatasource.id, new GiteaTagsDatasource());\napi.set(\n GithubReleaseAttachmentsDatasource.id,\n new GithubReleaseAttachmentsDatasource(),\n);\napi.set(GithubReleasesDatasource.id, new GithubReleasesDatasource());\napi.set(GithubRunnersDatasource.id, new GithubRunnersDatasource());\napi.set(GithubTagsDatasource.id, new GithubTagsDatasource());\napi.set(GitlabPackagesDatasource.id, new GitlabPackagesDatasource());\napi.set(GitlabReleasesDatasource.id, new GitlabReleasesDatasource());\napi.set(GitlabTagsDatasource.id, new GitlabTagsDatasource());\napi.set(GlasskubePackagesDatasource.id, new GlasskubePackagesDatasource());\napi.set(GoDatasource.id, new GoDatasource());\napi.set(GolangVersionDatasource.id, new GolangVersionDatasource());\napi.set(GradleVersionDatasource.id, new GradleVersionDatasource());\napi.set(HackageDatasource.id, new HackageDatasource());\napi.set(HelmDatasource.id, new HelmDatasource());\napi.set(HermitDatasource.id, new HermitDatasource());\napi.set(HexDatasource.id, new HexDatasource());\napi.set(HexpmBobDatasource.id, new HexpmBobDatasource());\napi.set(JavaVersionDatasource.id, new JavaVersionDatasource());\napi.set(JenkinsPluginsDatasource.id, new JenkinsPluginsDatasource());\napi.set(KubernetesApiDatasource.id, new KubernetesApiDatasource());\napi.set(MavenDatasource.id, new MavenDatasource());\napi.set(NodeVersionDatasource.id, new NodeVersionDatasource());\napi.set(NpmDatasource.id, new NpmDatasource());\napi.set(NugetDatasource.id, new NugetDatasource());\napi.set(OrbDatasource.id, new OrbDatasource());\napi.set(PackagistDatasource.id, new PackagistDatasource());\napi.set(PodDatasource.id, new PodDatasource());\napi.set(PuppetForgeDatasource.id, new PuppetForgeDatasource());\napi.set(PypiDatasource.id, new PypiDatasource());\napi.set(PythonVersionDatasource.id, new PythonVersionDatasource());\napi.set(RepologyDatasource.id, new RepologyDatasource());\napi.set(RubyVersionDatasource.id, new RubyVersionDatasource());\napi.set(RubygemsDatasource.id, new RubygemsDatasource());\napi.set(SbtPackageDatasource.id, new SbtPackageDatasource());\napi.set(SbtPluginDatasource.id, new SbtPluginDatasource());\napi.set(TerraformModuleDatasource.id, new TerraformModuleDatasource());\napi.set(TerraformProviderDatasource.id, new TerraformProviderDatasource());\napi.set(Unity3dDatasource.id, new Unity3dDatasource());\n"]}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../lib/modules/datasource/api.ts"],"names":[],"mappings":"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","sourcesContent":["import { ArtifactoryDatasource } from './artifactory';\nimport { AwsEKSAddonDataSource } from './aws-eks-addon';\nimport { AwsMachineImageDatasource } from './aws-machine-image';\nimport { AwsRdsDatasource } from './aws-rds';\nimport { AzureBicepResourceDatasource } from './azure-bicep-resource';\nimport { AzurePipelinesTasksDatasource } from './azure-pipelines-tasks';\nimport { BazelDatasource } from './bazel';\nimport { BitbucketServerTagsDatasource } from './bitbucket-server-tags';\nimport { BitbucketTagsDatasource } from './bitbucket-tags';\nimport { BitriseDatasource } from './bitrise';\nimport { BuildpacksRegistryDatasource } from './buildpacks-registry';\nimport { CdnjsDatasource } from './cdnjs';\nimport { ClojureDatasource } from './clojure';\nimport { ConanDatasource } from './conan';\nimport { CondaDatasource } from './conda';\nimport { CpanDatasource } from './cpan';\nimport { CrateDatasource } from './crate';\nimport { CustomDatasource } from './custom';\nimport { DartDatasource } from './dart';\nimport { DartVersionDatasource } from './dart-version';\nimport { DebDatasource } from './deb';\nimport { DenoDatasource } from './deno';\nimport { DevboxDatasource } from './devbox';\nimport { DockerDatasource } from './docker';\nimport { DotnetVersionDatasource } from './dotnet-version';\nimport { EndoflifeDateDatasource } from './endoflife-date';\nimport { FlutterVersionDatasource } from './flutter-version';\nimport { GalaxyDatasource } from './galaxy';\nimport { GalaxyCollectionDatasource } from './galaxy-collection';\nimport { GitRefsDatasource } from './git-refs';\nimport { GitTagsDatasource } from './git-tags';\nimport { GiteaReleasesDatasource } from './gitea-releases';\nimport { GiteaTagsDatasource } from './gitea-tags';\nimport { GithubReleaseAttachmentsDatasource } from './github-release-attachments';\nimport { GithubReleasesDatasource } from './github-releases';\nimport { GithubRunnersDatasource } from './github-runners';\nimport { GithubTagsDatasource } from './github-tags';\nimport { GitlabPackagesDatasource } from './gitlab-packages';\nimport { GitlabReleasesDatasource } from './gitlab-releases';\nimport { GitlabTagsDatasource } from './gitlab-tags';\nimport { GlasskubePackagesDatasource } from './glasskube-packages';\nimport { GoDatasource } from './go';\nimport { GolangVersionDatasource } from './golang-version';\nimport { GradleVersionDatasource } from './gradle-version';\nimport { HackageDatasource } from './hackage';\nimport { HelmDatasource } from './helm';\nimport { HermitDatasource } from './hermit';\nimport { HexDatasource } from './hex';\nimport { HexpmBobDatasource } from './hexpm-bob';\nimport { JavaVersionDatasource } from './java-version';\nimport { JenkinsPluginsDatasource } from './jenkins-plugins';\nimport { KubernetesApiDatasource } from './kubernetes-api';\nimport { MavenDatasource } from './maven';\nimport { NodeVersionDatasource } from './node-version';\nimport { NpmDatasource } from './npm';\nimport { NugetDatasource } from './nuget';\nimport { OrbDatasource } from './orb';\nimport { PackagistDatasource } from './packagist';\nimport { PodDatasource } from './pod';\nimport { PuppetForgeDatasource } from './puppet-forge';\nimport { PypiDatasource } from './pypi';\nimport { PythonVersionDatasource } from './python-version';\nimport { RepologyDatasource } from './repology';\nimport { RubyVersionDatasource } from './ruby-version';\nimport { RubygemsDatasource } from './rubygems';\nimport { SbtPackageDatasource } from './sbt-package';\nimport { SbtPluginDatasource } from './sbt-plugin';\nimport { TerraformModuleDatasource } from './terraform-module';\nimport { TerraformProviderDatasource } from './terraform-provider';\nimport type { DatasourceApi } from './types';\nimport { Unity3dDatasource } from './unity3d';\n\nconst api = new Map<string, DatasourceApi>();\nexport default api;\n\napi.set(ArtifactoryDatasource.id, new ArtifactoryDatasource());\napi.set(AwsEKSAddonDataSource.id, new AwsEKSAddonDataSource());\napi.set(AwsMachineImageDatasource.id, new AwsMachineImageDatasource());\napi.set(AwsRdsDatasource.id, new AwsRdsDatasource());\napi.set(AzureBicepResourceDatasource.id, new AzureBicepResourceDatasource());\napi.set(AzurePipelinesTasksDatasource.id, new AzurePipelinesTasksDatasource());\napi.set(BazelDatasource.id, new BazelDatasource());\napi.set(BitbucketServerTagsDatasource.id, new BitbucketServerTagsDatasource());\napi.set(BitbucketTagsDatasource.id, new BitbucketTagsDatasource());\napi.set(BitriseDatasource.id, new BitriseDatasource());\napi.set(BuildpacksRegistryDatasource.id, new BuildpacksRegistryDatasource());\napi.set(CdnjsDatasource.id, new CdnjsDatasource());\napi.set(ClojureDatasource.id, new ClojureDatasource());\napi.set(ConanDatasource.id, new ConanDatasource());\napi.set(CondaDatasource.id, new CondaDatasource());\napi.set(CpanDatasource.id, new CpanDatasource());\napi.set(CrateDatasource.id, new CrateDatasource());\napi.set(CustomDatasource.id, new CustomDatasource());\napi.set(DartDatasource.id, new DartDatasource());\napi.set(DartVersionDatasource.id, new DartVersionDatasource());\napi.set(DebDatasource.id, new DebDatasource());\napi.set(DenoDatasource.id, new DenoDatasource());\napi.set(DevboxDatasource.id, new DevboxDatasource());\napi.set(DockerDatasource.id, new DockerDatasource());\napi.set(DotnetVersionDatasource.id, new DotnetVersionDatasource());\napi.set(EndoflifeDateDatasource.id, new EndoflifeDateDatasource());\napi.set(FlutterVersionDatasource.id, new FlutterVersionDatasource());\napi.set(GalaxyDatasource.id, new GalaxyDatasource());\napi.set(GalaxyCollectionDatasource.id, new GalaxyCollectionDatasource());\napi.set(GitRefsDatasource.id, new GitRefsDatasource());\napi.set(GitTagsDatasource.id, new GitTagsDatasource());\napi.set(GiteaReleasesDatasource.id, new GiteaReleasesDatasource());\napi.set(GiteaTagsDatasource.id, new GiteaTagsDatasource());\napi.set(\n GithubReleaseAttachmentsDatasource.id,\n new GithubReleaseAttachmentsDatasource(),\n);\napi.set(GithubReleasesDatasource.id, new GithubReleasesDatasource());\napi.set(GithubRunnersDatasource.id, new GithubRunnersDatasource());\napi.set(GithubTagsDatasource.id, new GithubTagsDatasource());\napi.set(GitlabPackagesDatasource.id, new GitlabPackagesDatasource());\napi.set(GitlabReleasesDatasource.id, new GitlabReleasesDatasource());\napi.set(GitlabTagsDatasource.id, new GitlabTagsDatasource());\napi.set(GlasskubePackagesDatasource.id, new GlasskubePackagesDatasource());\napi.set(GoDatasource.id, new GoDatasource());\napi.set(GolangVersionDatasource.id, new GolangVersionDatasource());\napi.set(GradleVersionDatasource.id, new GradleVersionDatasource());\napi.set(HackageDatasource.id, new HackageDatasource());\napi.set(HelmDatasource.id, new HelmDatasource());\napi.set(HermitDatasource.id, new HermitDatasource());\napi.set(HexDatasource.id, new HexDatasource());\napi.set(HexpmBobDatasource.id, new HexpmBobDatasource());\napi.set(JavaVersionDatasource.id, new JavaVersionDatasource());\napi.set(JenkinsPluginsDatasource.id, new JenkinsPluginsDatasource());\napi.set(KubernetesApiDatasource.id, new KubernetesApiDatasource());\napi.set(MavenDatasource.id, new MavenDatasource());\napi.set(NodeVersionDatasource.id, new NodeVersionDatasource());\napi.set(NpmDatasource.id, new NpmDatasource());\napi.set(NugetDatasource.id, new NugetDatasource());\napi.set(OrbDatasource.id, new OrbDatasource());\napi.set(PackagistDatasource.id, new PackagistDatasource());\napi.set(PodDatasource.id, new PodDatasource());\napi.set(PuppetForgeDatasource.id, new PuppetForgeDatasource());\napi.set(PypiDatasource.id, new PypiDatasource());\napi.set(PythonVersionDatasource.id, new PythonVersionDatasource());\napi.set(RepologyDatasource.id, new RepologyDatasource());\napi.set(RubyVersionDatasource.id, new RubyVersionDatasource());\napi.set(RubygemsDatasource.id, new RubygemsDatasource());\napi.set(SbtPackageDatasource.id, new SbtPackageDatasource());\napi.set(SbtPluginDatasource.id, new SbtPluginDatasource());\napi.set(TerraformModuleDatasource.id, new TerraformModuleDatasource());\napi.set(TerraformProviderDatasource.id, new TerraformProviderDatasource());\napi.set(Unity3dDatasource.id, new Unity3dDatasource());\n"]}
@@ -11,6 +11,7 @@ const schema_1 = require("./schema");
11
11
  const TASKS_URL_BASE = 'https://raw.githubusercontent.com/renovatebot/azure-devops-marketplace/main';
12
12
  const BUILT_IN_TASKS_URL = `${TASKS_URL_BASE}/azure-pipelines-builtin-tasks.json`;
13
13
  const MARKETPLACE_TASKS_URL = `${TASKS_URL_BASE}/azure-pipelines-marketplace-tasks.json`;
14
+ const BUILT_IN_TASKS_CHANGELOG_URL = 'https://github.com/microsoft/azure-pipelines-tasks/releases';
14
15
  class AzurePipelinesTasksDatasource extends datasource_1.Datasource {
15
16
  static id = 'azure-pipelines-tasks';
16
17
  constructor() {
@@ -49,6 +50,9 @@ class AzurePipelinesTasksDatasource extends datasource_1.Datasource {
49
50
  result.releases.push({
50
51
  version: `${task.version.major}.${task.version.minor}.${task.version.patch}`,
51
52
  isDeprecated: task.deprecated,
53
+ changelogUrl: task.serverOwned
54
+ ? BUILT_IN_TASKS_CHANGELOG_URL
55
+ : undefined,
52
56
  });
53
57
  });
54
58
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/azure-pipelines-tasks/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TypeOf, ZodType } from 'zod';\nimport { GlobalConfig } from '../../../config/global';\nimport { cache } from '../../../util/cache/package/decorator';\nimport * as hostRules from '../../../util/host-rules';\nimport type { HttpOptions } from '../../../util/http/types';\nimport { id as versioning } from '../../versioning/loose';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, ReleaseResult } from '../types';\nimport {\n AzurePipelinesFallbackTasks,\n AzurePipelinesJSON,\n AzurePipelinesTaskVersion,\n} from './schema';\n\nconst TASKS_URL_BASE =\n 'https://raw.githubusercontent.com/renovatebot/azure-devops-marketplace/main';\nconst BUILT_IN_TASKS_URL = `${TASKS_URL_BASE}/azure-pipelines-builtin-tasks.json`;\nconst MARKETPLACE_TASKS_URL = `${TASKS_URL_BASE}/azure-pipelines-marketplace-tasks.json`;\n\nexport class AzurePipelinesTasksDatasource extends Datasource {\n static readonly id = 'azure-pipelines-tasks';\n\n constructor() {\n super(AzurePipelinesTasksDatasource.id);\n }\n\n override readonly customRegistrySupport = false;\n\n override readonly defaultVersioning = versioning;\n\n async getReleases({\n packageName,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n const platform = GlobalConfig.get('platform');\n const endpoint = GlobalConfig.get('endpoint');\n const { token } = hostRules.find({\n hostType: AzurePipelinesTasksDatasource.id,\n url: endpoint,\n });\n\n if (platform === 'azure' && endpoint && token) {\n const auth = Buffer.from(`renovate:${token}`).toString('base64');\n const opts: HttpOptions = {\n headers: { authorization: `Basic ${auth}` },\n };\n const results = await this.getTasks(\n `${endpoint}/_apis/distributedtask/tasks/`,\n opts,\n AzurePipelinesJSON,\n );\n\n const result: ReleaseResult = { releases: [] };\n\n results.value\n .filter((task) => {\n const matchers = [\n task.id === packageName,\n task.name === packageName,\n task.contributionIdentifier !== null &&\n `${task.contributionIdentifier}.${task.id}` === packageName,\n task.contributionIdentifier !== null &&\n `${task.contributionIdentifier}.${task.name}` === packageName,\n ];\n return matchers.some((match) => match);\n })\n .sort(AzurePipelinesTasksDatasource.compareSemanticVersions('version'))\n .forEach((task) => {\n result.releases.push({\n version: `${task.version!.major}.${task.version!.minor}.${task.version!.patch}`,\n isDeprecated: task.deprecated,\n });\n });\n\n return result;\n } else {\n const versions =\n (\n await this.getTasks(\n BUILT_IN_TASKS_URL,\n {},\n AzurePipelinesFallbackTasks,\n )\n )[packageName.toLowerCase()] ??\n (\n await this.getTasks(\n MARKETPLACE_TASKS_URL,\n {},\n AzurePipelinesFallbackTasks,\n )\n )[packageName.toLowerCase()];\n\n if (versions) {\n const releases = versions.map((version) => ({ version }));\n return { releases };\n }\n }\n\n return null;\n }\n\n @cache({\n namespace: `datasource-${AzurePipelinesTasksDatasource.id}`,\n key: (url: string) => url,\n ttlMinutes: 24 * 60,\n })\n async getTasks<Schema extends ZodType>(\n url: string,\n opts: HttpOptions,\n schema: Schema,\n ): Promise<TypeOf<Schema>> {\n const { body } = await this.http.getJson(url, opts, schema);\n return body;\n }\n\n static compareSemanticVersions = (key: string) => (a: any, b: any) => {\n const a1Version = AzurePipelinesTaskVersion.safeParse(a[key]).data;\n const b1Version = AzurePipelinesTaskVersion.safeParse(b[key]).data;\n\n const a1 =\n a1Version === undefined\n ? ''\n : `${a1Version.major}.${a1Version.minor}.${a1Version.patch}`;\n const b1 =\n b1Version === undefined\n ? ''\n : `${b1Version.major}.${b1Version.minor}.${b1Version.patch}`;\n\n const len = Math.min(a1.length, b1.length);\n\n for (let i = 0; i < len; i++) {\n const a2 = +a1[i] || 0;\n const b2 = +b1[i] || 0;\n\n if (a2 !== b2) {\n return a2 > b2 ? 1 : -1;\n }\n }\n\n return b1.length - a1.length;\n };\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/azure-pipelines-tasks/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TypeOf, ZodType } from 'zod';\nimport { GlobalConfig } from '../../../config/global';\nimport { cache } from '../../../util/cache/package/decorator';\nimport * as hostRules from '../../../util/host-rules';\nimport type { HttpOptions } from '../../../util/http/types';\nimport { id as versioning } from '../../versioning/loose';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, ReleaseResult } from '../types';\nimport {\n AzurePipelinesFallbackTasks,\n AzurePipelinesJSON,\n AzurePipelinesTaskVersion,\n} from './schema';\n\nconst TASKS_URL_BASE =\n 'https://raw.githubusercontent.com/renovatebot/azure-devops-marketplace/main';\nconst BUILT_IN_TASKS_URL = `${TASKS_URL_BASE}/azure-pipelines-builtin-tasks.json`;\nconst MARKETPLACE_TASKS_URL = `${TASKS_URL_BASE}/azure-pipelines-marketplace-tasks.json`;\nconst BUILT_IN_TASKS_CHANGELOG_URL =\n 'https://github.com/microsoft/azure-pipelines-tasks/releases';\n\nexport class AzurePipelinesTasksDatasource extends Datasource {\n static readonly id = 'azure-pipelines-tasks';\n\n constructor() {\n super(AzurePipelinesTasksDatasource.id);\n }\n\n override readonly customRegistrySupport = false;\n\n override readonly defaultVersioning = versioning;\n\n async getReleases({\n packageName,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n const platform = GlobalConfig.get('platform');\n const endpoint = GlobalConfig.get('endpoint');\n const { token } = hostRules.find({\n hostType: AzurePipelinesTasksDatasource.id,\n url: endpoint,\n });\n\n if (platform === 'azure' && endpoint && token) {\n const auth = Buffer.from(`renovate:${token}`).toString('base64');\n const opts: HttpOptions = {\n headers: { authorization: `Basic ${auth}` },\n };\n const results = await this.getTasks(\n `${endpoint}/_apis/distributedtask/tasks/`,\n opts,\n AzurePipelinesJSON,\n );\n\n const result: ReleaseResult = { releases: [] };\n\n results.value\n .filter((task) => {\n const matchers = [\n task.id === packageName,\n task.name === packageName,\n task.contributionIdentifier !== null &&\n `${task.contributionIdentifier}.${task.id}` === packageName,\n task.contributionIdentifier !== null &&\n `${task.contributionIdentifier}.${task.name}` === packageName,\n ];\n return matchers.some((match) => match);\n })\n .sort(AzurePipelinesTasksDatasource.compareSemanticVersions('version'))\n .forEach((task) => {\n result.releases.push({\n version: `${task.version!.major}.${task.version!.minor}.${task.version!.patch}`,\n isDeprecated: task.deprecated,\n changelogUrl: task.serverOwned\n ? BUILT_IN_TASKS_CHANGELOG_URL\n : undefined,\n });\n });\n\n return result;\n } else {\n const versions =\n (\n await this.getTasks(\n BUILT_IN_TASKS_URL,\n {},\n AzurePipelinesFallbackTasks,\n )\n )[packageName.toLowerCase()] ??\n (\n await this.getTasks(\n MARKETPLACE_TASKS_URL,\n {},\n AzurePipelinesFallbackTasks,\n )\n )[packageName.toLowerCase()];\n\n if (versions) {\n const releases = versions.map((version) => ({ version }));\n return { releases };\n }\n }\n\n return null;\n }\n\n @cache({\n namespace: `datasource-${AzurePipelinesTasksDatasource.id}`,\n key: (url: string) => url,\n ttlMinutes: 24 * 60,\n })\n async getTasks<Schema extends ZodType>(\n url: string,\n opts: HttpOptions,\n schema: Schema,\n ): Promise<TypeOf<Schema>> {\n const { body } = await this.http.getJson(url, opts, schema);\n return body;\n }\n\n static compareSemanticVersions = (key: string) => (a: any, b: any) => {\n const a1Version = AzurePipelinesTaskVersion.safeParse(a[key]).data;\n const b1Version = AzurePipelinesTaskVersion.safeParse(b[key]).data;\n\n const a1 =\n a1Version === undefined\n ? ''\n : `${a1Version.major}.${a1Version.minor}.${a1Version.patch}`;\n const b1 =\n b1Version === undefined\n ? ''\n : `${b1Version.major}.${b1Version.minor}.${b1Version.patch}`;\n\n const len = Math.min(a1.length, b1.length);\n\n for (let i = 0; i < len; i++) {\n const a2 = +a1[i] || 0;\n const b2 = +b1[i] || 0;\n\n if (a2 !== b2) {\n return a2 > b2 ? 1 : -1;\n }\n }\n\n return b1.length - a1.length;\n };\n}\n"]}
@@ -16,6 +16,7 @@ export declare const AzurePipelinesTask: z.ZodObject<{
16
16
  id: z.ZodString;
17
17
  name: z.ZodString;
18
18
  deprecated: z.ZodOptional<z.ZodBoolean>;
19
+ serverOwned: z.ZodOptional<z.ZodBoolean>;
19
20
  version: z.ZodNullable<z.ZodObject<{
20
21
  major: z.ZodNumber;
21
22
  minor: z.ZodNumber;
@@ -39,6 +40,7 @@ export declare const AzurePipelinesTask: z.ZodObject<{
39
40
  patch: number;
40
41
  } | null;
41
42
  deprecated?: boolean | undefined;
43
+ serverOwned?: boolean | undefined;
42
44
  contributionIdentifier?: string | undefined;
43
45
  }, {
44
46
  id: string;
@@ -49,6 +51,7 @@ export declare const AzurePipelinesTask: z.ZodObject<{
49
51
  patch: number;
50
52
  } | null;
51
53
  deprecated?: boolean | undefined;
54
+ serverOwned?: boolean | undefined;
52
55
  contributionIdentifier?: string | undefined;
53
56
  }>;
54
57
  export declare const AzurePipelinesJSON: z.ZodObject<{
@@ -56,6 +59,7 @@ export declare const AzurePipelinesJSON: z.ZodObject<{
56
59
  id: z.ZodString;
57
60
  name: z.ZodString;
58
61
  deprecated: z.ZodOptional<z.ZodBoolean>;
62
+ serverOwned: z.ZodOptional<z.ZodBoolean>;
59
63
  version: z.ZodNullable<z.ZodObject<{
60
64
  major: z.ZodNumber;
61
65
  minor: z.ZodNumber;
@@ -79,6 +83,7 @@ export declare const AzurePipelinesJSON: z.ZodObject<{
79
83
  patch: number;
80
84
  } | null;
81
85
  deprecated?: boolean | undefined;
86
+ serverOwned?: boolean | undefined;
82
87
  contributionIdentifier?: string | undefined;
83
88
  }, {
84
89
  id: string;
@@ -89,6 +94,7 @@ export declare const AzurePipelinesJSON: z.ZodObject<{
89
94
  patch: number;
90
95
  } | null;
91
96
  deprecated?: boolean | undefined;
97
+ serverOwned?: boolean | undefined;
92
98
  contributionIdentifier?: string | undefined;
93
99
  }>, "many">;
94
100
  }, "strip", z.ZodTypeAny, {
@@ -101,6 +107,7 @@ export declare const AzurePipelinesJSON: z.ZodObject<{
101
107
  patch: number;
102
108
  } | null;
103
109
  deprecated?: boolean | undefined;
110
+ serverOwned?: boolean | undefined;
104
111
  contributionIdentifier?: string | undefined;
105
112
  }[];
106
113
  }, {
@@ -113,6 +120,7 @@ export declare const AzurePipelinesJSON: z.ZodObject<{
113
120
  patch: number;
114
121
  } | null;
115
122
  deprecated?: boolean | undefined;
123
+ serverOwned?: boolean | undefined;
116
124
  contributionIdentifier?: string | undefined;
117
125
  }[];
118
126
  }>;
@@ -11,6 +11,7 @@ exports.AzurePipelinesTask = zod_1.z.object({
11
11
  id: zod_1.z.string(),
12
12
  name: zod_1.z.string(),
13
13
  deprecated: zod_1.z.boolean().optional(),
14
+ serverOwned: zod_1.z.boolean().optional(),
14
15
  version: exports.AzurePipelinesTaskVersion.nullable(),
15
16
  contributionIdentifier: zod_1.z.string().optional(),
16
17
  });
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/azure-pipelines-tasks/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,yBAAyB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAEU,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,UAAU,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAClC,OAAO,EAAE,iCAAyB,CAAC,QAAQ,EAAE;IAC7C,sBAAsB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAEU,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,0BAAkB,CAAC,KAAK,EAAE;CAClC,CAAC,CAAC;AAEU,QAAA,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\n\nexport const AzurePipelinesTaskVersion = z.object({\n major: z.number(),\n minor: z.number(),\n patch: z.number(),\n});\n\nexport const AzurePipelinesTask = z.object({\n id: z.string(),\n name: z.string(),\n deprecated: z.boolean().optional(),\n version: AzurePipelinesTaskVersion.nullable(),\n contributionIdentifier: z.string().optional(),\n});\n\nexport const AzurePipelinesJSON = z.object({\n value: AzurePipelinesTask.array(),\n});\n\nexport const AzurePipelinesFallbackTasks = z.record(z.string().array());\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/azure-pipelines-tasks/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,yBAAyB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAEU,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,UAAU,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAClC,WAAW,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACnC,OAAO,EAAE,iCAAyB,CAAC,QAAQ,EAAE;IAC7C,sBAAsB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAEU,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,0BAAkB,CAAC,KAAK,EAAE;CAClC,CAAC,CAAC;AAEU,QAAA,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\n\nexport const AzurePipelinesTaskVersion = z.object({\n major: z.number(),\n minor: z.number(),\n patch: z.number(),\n});\n\nexport const AzurePipelinesTask = z.object({\n id: z.string(),\n name: z.string(),\n deprecated: z.boolean().optional(),\n serverOwned: z.boolean().optional(),\n version: AzurePipelinesTaskVersion.nullable(),\n contributionIdentifier: z.string().optional(),\n});\n\nexport const AzurePipelinesJSON = z.object({\n value: AzurePipelinesTask.array(),\n});\n\nexport const AzurePipelinesFallbackTasks = z.record(z.string().array());\n"]}
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const is_1 = tslib_1.__importDefault(require("@sindresorhus/is"));
6
6
  const external_host_error_1 = require("../../../types/errors/external-host-error");
7
7
  const decorator_1 = require("../../../util/cache/package/decorator");
8
+ const fs_1 = require("../../../util/fs");
8
9
  const http_1 = require("../../../util/http");
9
10
  const url_1 = require("../../../util/url");
10
11
  const bazel_module_1 = require("../../versioning/bazel-module");
@@ -30,7 +31,23 @@ class BazelDatasource extends datasource_1.Datasource {
30
31
  const url = (0, url_1.joinUrlParts)(registryUrl, path);
31
32
  const result = { releases: [] };
32
33
  try {
33
- const { body: metadata } = await this.http.getJson(url, schema_1.BazelModuleMetadata);
34
+ let metadata;
35
+ const FILE_PREFIX = 'file://';
36
+ if (url.startsWith(FILE_PREFIX)) {
37
+ const filePath = url.slice(FILE_PREFIX.length);
38
+ if (!(0, fs_1.isValidLocalPath)(filePath)) {
39
+ return null;
40
+ }
41
+ const fileContent = await (0, fs_1.readLocalFile)(filePath, 'utf8');
42
+ if (!fileContent) {
43
+ return null;
44
+ }
45
+ metadata = schema_1.BazelModuleMetadata.parse(JSON.parse(fileContent));
46
+ }
47
+ else {
48
+ const response = await this.http.getJson(url, schema_1.BazelModuleMetadata);
49
+ metadata = response.body;
50
+ }
34
51
  result.releases = metadata.versions
35
52
  .map((v) => new bzlmod_version_1.BzlmodVersion(v))
36
53
  .sort(bzlmod_version_1.BzlmodVersion.defaultCompare)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/bazel/index.ts"],"names":[],"mappings":";;;;AAAA,kEAAkC;AAClC,mFAA8E;AAC9E,qEAA8D;AAC9D,6CAA+C;AAC/C,2CAAiD;AACjD,gEAAwE;AACxE,iFAA6E;AAC7E,8CAA2C;AAE3C,qCAA+C;AAE/C,MAAa,eAAgB,SAAQ,uBAAU;IAC7C,MAAM,CAAU,EAAE,GAAG,OAAO,CAAC;IAE7B,MAAM,CAAU,mBAAmB,GACjC,0EAA0E,CAAC;IAE3D,mBAAmB,GAAG,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;IAC5D,gBAAgB,GAAG,MAAM,CAAC;IAC1B,qBAAqB,GAAG,IAAI,CAAC;IAC7B,OAAO,GAAG,IAAI,CAAC;IACf,iBAAiB,GAAG,iBAAiB,CAAC;IAExD,MAAM,CAAC,mBAAmB,CAAC,WAAmB;QAC5C,OAAO,YAAY,WAAW,gBAAgB,CAAC;IACjD,CAAC;IAED;QACE,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAOK,AAAN,KAAK,CAAC,WAAW,CAAC,EAChB,WAAW,EACX,WAAW,GACO;QAClB,MAAM,IAAI,GAAG,eAAe,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,IAAA,kBAAY,EAAC,WAAY,EAAE,IAAI,CAAC,CAAC;QAE7C,MAAM,MAAM,GAAkB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAChD,GAAG,EACH,4BAAmB,CACpB,CAAC;YACF,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ;iBAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,8BAAa,CAAC,CAAC,CAAC,CAAC;iBAChC,IAAI,CAAC,8BAAa,CAAC,cAAc,CAAC;iBAClC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBACV,MAAM,OAAO,GAAY,EAAE,OAAO,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAClD,IAAI,YAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;oBACvD,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC9B,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC,CAAC;YACL,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtB,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACtC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,gBAAS,EAAE,CAAC;gBAC7B,IAAI,GAAG,CAAC,QAAQ,EAAE,UAAU,KAAK,GAAG,EAAE,CAAC;oBACrC,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,IAAI,uCAAiB,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAChD,CAAC;;AA9DH,0CA+DC;AAtCO;IALL,IAAA,iBAAK,EAAC;QACL,SAAS,EAAE,cAAc,eAAe,CAAC,EAAE,EAAE;QAC7C,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,WAAW,EAAqB,EAAE,EAAE,CACvD,GAAG,WAAY,IAAI,WAAW,EAAE;KACnC,CAAC;kDAsCD","sourcesContent":["import is from '@sindresorhus/is';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { HttpError } from '../../../util/http';\nimport { joinUrlParts } from '../../../util/url';\nimport { id as bazelVersioningId } from '../../versioning/bazel-module';\nimport { BzlmodVersion } from '../../versioning/bazel-module/bzlmod-version';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, Release, ReleaseResult } from '../types';\nimport { BazelModuleMetadata } from './schema';\n\nexport class BazelDatasource extends Datasource {\n static readonly id = 'bazel';\n\n static readonly bazelCentralRepoUrl =\n 'https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main';\n\n override readonly defaultRegistryUrls = [BazelDatasource.bazelCentralRepoUrl];\n override readonly registryStrategy = 'hunt';\n override readonly customRegistrySupport = true;\n override readonly caching = true;\n override readonly defaultVersioning = bazelVersioningId;\n\n static packageMetadataPath(packageName: string): string {\n return `/modules/${packageName}/metadata.json`;\n }\n\n constructor() {\n super(BazelDatasource.id);\n }\n\n @cache({\n namespace: `datasource-${BazelDatasource.id}`,\n key: ({ registryUrl, packageName }: GetReleasesConfig) =>\n `${registryUrl!}:${packageName}`,\n })\n async getReleases({\n registryUrl,\n packageName,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n const path = BazelDatasource.packageMetadataPath(packageName);\n const url = joinUrlParts(registryUrl!, path);\n\n const result: ReleaseResult = { releases: [] };\n try {\n const { body: metadata } = await this.http.getJson(\n url,\n BazelModuleMetadata,\n );\n result.releases = metadata.versions\n .map((v) => new BzlmodVersion(v))\n .sort(BzlmodVersion.defaultCompare)\n .map((bv) => {\n const release: Release = { version: bv.original };\n if (is.truthy(metadata.yanked_versions?.[bv.original])) {\n release.isDeprecated = true;\n }\n return release;\n });\n if (metadata.homepage) {\n result.homepage = metadata.homepage;\n }\n } catch (err) {\n if (err instanceof HttpError) {\n if (err.response?.statusCode === 404) {\n return null;\n }\n throw new ExternalHostError(err);\n }\n this.handleGenericErrors(err);\n }\n\n return result.releases.length ? result : null;\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/bazel/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { cache } from '../../../util/cache/package/decorator';\nimport { isValidLocalPath, readLocalFile } from '../../../util/fs';\nimport { HttpError } from '../../../util/http';\nimport { joinUrlParts } from '../../../util/url';\nimport { id as bazelVersioningId } from '../../versioning/bazel-module';\nimport { BzlmodVersion } from '../../versioning/bazel-module/bzlmod-version';\nimport { Datasource } from '../datasource';\nimport type { GetReleasesConfig, Release, ReleaseResult } from '../types';\nimport { BazelModuleMetadata } from './schema';\n\nexport class BazelDatasource extends Datasource {\n static readonly id = 'bazel';\n\n static readonly bazelCentralRepoUrl =\n 'https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main';\n\n override readonly defaultRegistryUrls = [BazelDatasource.bazelCentralRepoUrl];\n override readonly registryStrategy = 'hunt';\n override readonly customRegistrySupport = true;\n override readonly caching = true;\n override readonly defaultVersioning = bazelVersioningId;\n\n static packageMetadataPath(packageName: string): string {\n return `/modules/${packageName}/metadata.json`;\n }\n\n constructor() {\n super(BazelDatasource.id);\n }\n\n @cache({\n namespace: `datasource-${BazelDatasource.id}`,\n key: ({ registryUrl, packageName }: GetReleasesConfig) =>\n `${registryUrl!}:${packageName}`,\n })\n async getReleases({\n registryUrl,\n packageName,\n }: GetReleasesConfig): Promise<ReleaseResult | null> {\n const path = BazelDatasource.packageMetadataPath(packageName);\n const url = joinUrlParts(registryUrl!, path);\n const result: ReleaseResult = { releases: [] };\n try {\n let metadata: BazelModuleMetadata;\n const FILE_PREFIX = 'file://';\n if (url.startsWith(FILE_PREFIX)) {\n const filePath = url.slice(FILE_PREFIX.length);\n if (!isValidLocalPath(filePath)) {\n return null;\n }\n const fileContent = await readLocalFile(filePath, 'utf8');\n if (!fileContent) {\n return null;\n }\n metadata = BazelModuleMetadata.parse(JSON.parse(fileContent));\n } else {\n const response = await this.http.getJson(url, BazelModuleMetadata);\n metadata = response.body;\n }\n\n result.releases = metadata.versions\n .map((v) => new BzlmodVersion(v))\n .sort(BzlmodVersion.defaultCompare)\n .map((bv) => {\n const release: Release = { version: bv.original };\n if (is.truthy(metadata.yanked_versions?.[bv.original])) {\n release.isDeprecated = true;\n }\n return release;\n });\n if (metadata.homepage) {\n result.homepage = metadata.homepage;\n }\n } catch (err) {\n if (err instanceof HttpError) {\n if (err.response?.statusCode === 404) {\n return null;\n }\n throw new ExternalHostError(err);\n }\n this.handleGenericErrors(err);\n }\n\n return result.releases.length ? result : null;\n }\n}\n"]}
@@ -12,3 +12,4 @@ export declare const BazelModuleMetadata: z.ZodObject<{
12
12
  homepage?: string | null | undefined;
13
13
  yanked_versions?: Record<string, string> | undefined;
14
14
  }>;
15
+ export type BazelModuleMetadata = z.infer<typeof BazelModuleMetadata>;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/bazel/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC1C,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;IAC7B,eAAe,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC7D,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\n\nexport const BazelModuleMetadata = z.object({\n homepage: z.string().optional().nullable(),\n versions: z.array(z.string()),\n yanked_versions: z.record(z.string(), z.string()).optional(),\n});\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/bazel/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC1C,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;IAC7B,eAAe,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC7D,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\n\nexport const BazelModuleMetadata = z.object({\n homepage: z.string().optional().nullable(),\n versions: z.array(z.string()),\n yanked_versions: z.record(z.string(), z.string()).optional(),\n});\n\nexport type BazelModuleMetadata = z.infer<typeof BazelModuleMetadata>;\n"]}
@@ -0,0 +1,19 @@
1
+ import type { PackageCacheNamespace } from '../../../util/cache/package/types';
2
+ import { BitbucketServerHttp } from '../../../util/http/bitbucket-server';
3
+ import { Datasource } from '../datasource';
4
+ import type { DigestConfig, GetReleasesConfig, ReleaseResult } from '../types';
5
+ export declare class BitbucketServerTagsDatasource extends Datasource {
6
+ static readonly id = "bitbucket-server-tags";
7
+ http: BitbucketServerHttp;
8
+ static readonly sourceUrlSupport = "package";
9
+ static readonly sourceUrlNote = "The source URL is determined by using the `packageName` and `registryUrl`.";
10
+ static readonly cacheNamespace: PackageCacheNamespace;
11
+ constructor();
12
+ static getRegistryURL(registryUrl: string): string;
13
+ static getSourceUrl(projectKey: string, repositorySlug: string, registryUrl: string): string;
14
+ static getApiUrl(registryUrl: string): string;
15
+ static getCacheKey(registryUrl: string | undefined, repo: string, type: string): string;
16
+ getReleases(config: GetReleasesConfig): Promise<ReleaseResult | null>;
17
+ getTagCommit(baseUrl: string, tag: string): Promise<string | null>;
18
+ getDigest(config: DigestConfig, newValue?: string): Promise<string | null>;
19
+ }
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BitbucketServerTagsDatasource = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const zod_1 = require("zod");
6
+ const logger_1 = require("../../../logger");
7
+ const decorator_1 = require("../../../util/cache/package/decorator");
8
+ const bitbucket_server_1 = require("../../../util/http/bitbucket-server");
9
+ const regex_1 = require("../../../util/regex");
10
+ const result_1 = require("../../../util/result");
11
+ const url_1 = require("../../../util/url");
12
+ const datasource_1 = require("../datasource");
13
+ const schema_1 = require("../schema");
14
+ const schema_2 = require("./schema");
15
+ class BitbucketServerTagsDatasource extends datasource_1.Datasource {
16
+ static id = 'bitbucket-server-tags';
17
+ http = new bitbucket_server_1.BitbucketServerHttp(BitbucketServerTagsDatasource.id);
18
+ static sourceUrlSupport = 'package';
19
+ static sourceUrlNote = 'The source URL is determined by using the `packageName` and `registryUrl`.';
20
+ static cacheNamespace = `datasource-${BitbucketServerTagsDatasource.id}`;
21
+ constructor() {
22
+ super(BitbucketServerTagsDatasource.id);
23
+ }
24
+ static getRegistryURL(registryUrl) {
25
+ return registryUrl?.replace((0, regex_1.regEx)(/\/rest\/api\/1.0$/), '');
26
+ }
27
+ static getSourceUrl(projectKey, repositorySlug, registryUrl) {
28
+ const url = BitbucketServerTagsDatasource.getRegistryURL(registryUrl);
29
+ return `${(0, url_1.ensureTrailingSlash)(url)}projects/${projectKey}/repos/${repositorySlug}`;
30
+ }
31
+ static getApiUrl(registryUrl) {
32
+ const res = BitbucketServerTagsDatasource.getRegistryURL(registryUrl);
33
+ return `${(0, url_1.ensureTrailingSlash)(res)}rest/api/1.0/`;
34
+ }
35
+ static getCacheKey(registryUrl, repo, type) {
36
+ return `${BitbucketServerTagsDatasource.getRegistryURL(registryUrl ?? '')}:${repo}:${type}`;
37
+ }
38
+ // getReleases fetches list of tags for the repository
39
+ async getReleases(config) {
40
+ const { registryUrl, packageName } = config;
41
+ const [projectKey, repositorySlug] = packageName.split('/');
42
+ if (!registryUrl) {
43
+ logger_1.logger.debug('Missing registryUrl');
44
+ return null;
45
+ }
46
+ const result = result_1.Result.parse(config, schema_1.ReleasesConfig)
47
+ .transform(({ registryUrl }) => {
48
+ const url = `${BitbucketServerTagsDatasource.getApiUrl(registryUrl)}projects/${projectKey}/repos/${repositorySlug}/tags`;
49
+ return this.http.getJsonSafe(url, { paginate: true }, schema_2.BitbucketServerTags);
50
+ })
51
+ .transform((tags) => tags.map(({ displayId, hash }) => ({
52
+ version: displayId,
53
+ gitRef: displayId,
54
+ newDigest: hash ?? undefined,
55
+ })))
56
+ .transform((versions) => {
57
+ return {
58
+ sourceUrl: BitbucketServerTagsDatasource.getSourceUrl(projectKey, repositorySlug, registryUrl),
59
+ registryUrl: BitbucketServerTagsDatasource.getRegistryURL(registryUrl),
60
+ releases: versions,
61
+ };
62
+ });
63
+ const { val, err } = await result.unwrap();
64
+ if (err instanceof zod_1.ZodError) {
65
+ logger_1.logger.debug({ err }, 'bitbucket-server-tags: validation error');
66
+ return null;
67
+ }
68
+ if (err) {
69
+ this.handleGenericErrors(err);
70
+ }
71
+ return val;
72
+ }
73
+ // getTagCommit fetches the commit hash for the specified tag
74
+ async getTagCommit(baseUrl, tag) {
75
+ const bitbucketServerTag = (await this.http.getJson(`${baseUrl}/tags/${tag}`, schema_2.BitbucketServerTag)).body;
76
+ return bitbucketServerTag.hash ?? null;
77
+ }
78
+ // getDigest fetches the latest commit for repository main branch.
79
+ // If newValue is provided, then getTagCommit is called
80
+ async getDigest(config, newValue) {
81
+ const { registryUrl, packageName } = config;
82
+ const [projectKey, repositorySlug] = packageName.split('/');
83
+ if (!registryUrl) {
84
+ logger_1.logger.debug('Missing registryUrl');
85
+ return null;
86
+ }
87
+ const baseUrl = `${BitbucketServerTagsDatasource.getApiUrl(registryUrl)}projects/${projectKey}/repos/${repositorySlug}`;
88
+ if (newValue?.length) {
89
+ return this.getTagCommit(baseUrl, newValue);
90
+ }
91
+ const result = result_1.Result.parse(config, schema_1.DigestsConfig)
92
+ .transform(() => {
93
+ const url = `${baseUrl}/commits?ignoreMissing=true`;
94
+ return this.http.getJsonSafe(url, {
95
+ paginate: true,
96
+ limit: 1,
97
+ maxPages: 1,
98
+ }, schema_2.BitbucketServerCommits);
99
+ })
100
+ .transform((commits) => {
101
+ return commits[0]?.id;
102
+ });
103
+ const { val = null, err } = await result.unwrap();
104
+ if (err instanceof zod_1.ZodError) {
105
+ logger_1.logger.debug({ err }, 'bitbucket-server-tags: validation error');
106
+ return null;
107
+ }
108
+ if (err) {
109
+ this.handleGenericErrors(err);
110
+ }
111
+ return val;
112
+ }
113
+ }
114
+ exports.BitbucketServerTagsDatasource = BitbucketServerTagsDatasource;
115
+ tslib_1.__decorate([
116
+ (0, decorator_1.cache)({
117
+ namespace: BitbucketServerTagsDatasource.cacheNamespace,
118
+ key: ({ registryUrl, packageName }) => BitbucketServerTagsDatasource.getCacheKey(registryUrl, packageName, 'tags'),
119
+ })
120
+ ], BitbucketServerTagsDatasource.prototype, "getReleases", null);
121
+ tslib_1.__decorate([
122
+ (0, decorator_1.cache)({
123
+ namespace: BitbucketServerTagsDatasource.cacheNamespace,
124
+ key: ({ registryUrl, packageName }, tag) => BitbucketServerTagsDatasource.getCacheKey(registryUrl, packageName, `tag-${tag}`),
125
+ })
126
+ ], BitbucketServerTagsDatasource.prototype, "getTagCommit", null);
127
+ tslib_1.__decorate([
128
+ (0, decorator_1.cache)({
129
+ namespace: BitbucketServerTagsDatasource.cacheNamespace,
130
+ key: ({ registryUrl, packageName }) => BitbucketServerTagsDatasource.getCacheKey(registryUrl, packageName, 'digest'),
131
+ })
132
+ ], BitbucketServerTagsDatasource.prototype, "getDigest", null);
133
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/bitbucket-server-tags/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { ZodError } from 'zod';\nimport { logger } from '../../../logger';\nimport { cache } from '../../../util/cache/package/decorator';\nimport type { PackageCacheNamespace } from '../../../util/cache/package/types';\nimport { BitbucketServerHttp } from '../../../util/http/bitbucket-server';\nimport { regEx } from '../../../util/regex';\nimport { Result } from '../../../util/result';\nimport { ensureTrailingSlash } from '../../../util/url';\nimport { Datasource } from '../datasource';\nimport { DigestsConfig, ReleasesConfig } from '../schema';\nimport type { DigestConfig, GetReleasesConfig, ReleaseResult } from '../types';\nimport {\n BitbucketServerCommits,\n BitbucketServerTag,\n BitbucketServerTags,\n} from './schema';\n\nexport class BitbucketServerTagsDatasource extends Datasource {\n static readonly id = 'bitbucket-server-tags';\n\n override http = new BitbucketServerHttp(BitbucketServerTagsDatasource.id);\n\n static readonly sourceUrlSupport = 'package';\n static readonly sourceUrlNote =\n 'The source URL is determined by using the `packageName` and `registryUrl`.';\n\n static readonly cacheNamespace: PackageCacheNamespace = `datasource-${BitbucketServerTagsDatasource.id}`;\n\n constructor() {\n super(BitbucketServerTagsDatasource.id);\n }\n\n static getRegistryURL(registryUrl: string): string {\n return registryUrl?.replace(regEx(/\\/rest\\/api\\/1.0$/), '');\n }\n\n static getSourceUrl(\n projectKey: string,\n repositorySlug: string,\n registryUrl: string,\n ): string {\n const url = BitbucketServerTagsDatasource.getRegistryURL(registryUrl);\n return `${ensureTrailingSlash(url)}projects/${projectKey}/repos/${repositorySlug}`;\n }\n\n static getApiUrl(registryUrl: string): string {\n const res = BitbucketServerTagsDatasource.getRegistryURL(registryUrl);\n return `${ensureTrailingSlash(res)}rest/api/1.0/`;\n }\n\n static getCacheKey(\n registryUrl: string | undefined,\n repo: string,\n type: string,\n ): string {\n return `${BitbucketServerTagsDatasource.getRegistryURL(registryUrl ?? '')}:${repo}:${type}`;\n }\n\n // getReleases fetches list of tags for the repository\n @cache({\n namespace: BitbucketServerTagsDatasource.cacheNamespace,\n key: ({ registryUrl, packageName }: GetReleasesConfig) =>\n BitbucketServerTagsDatasource.getCacheKey(\n registryUrl,\n packageName,\n 'tags',\n ),\n })\n async getReleases(config: GetReleasesConfig): Promise<ReleaseResult | null> {\n const { registryUrl, packageName } = config;\n const [projectKey, repositorySlug] = packageName.split('/');\n if (!registryUrl) {\n logger.debug('Missing registryUrl');\n return null;\n }\n\n const result = Result.parse(config, ReleasesConfig)\n .transform(({ registryUrl }) => {\n const url = `${BitbucketServerTagsDatasource.getApiUrl(registryUrl)}projects/${projectKey}/repos/${repositorySlug}/tags`;\n\n return this.http.getJsonSafe(\n url,\n { paginate: true },\n BitbucketServerTags,\n );\n })\n .transform((tags) =>\n tags.map(({ displayId, hash }) => ({\n version: displayId,\n gitRef: displayId,\n newDigest: hash ?? undefined,\n })),\n )\n .transform((versions): ReleaseResult => {\n return {\n sourceUrl: BitbucketServerTagsDatasource.getSourceUrl(\n projectKey,\n repositorySlug,\n registryUrl,\n ),\n registryUrl:\n BitbucketServerTagsDatasource.getRegistryURL(registryUrl),\n releases: versions,\n };\n });\n const { val, err } = await result.unwrap();\n\n if (err instanceof ZodError) {\n logger.debug({ err }, 'bitbucket-server-tags: validation error');\n return null;\n }\n\n if (err) {\n this.handleGenericErrors(err);\n }\n\n return val;\n }\n\n // getTagCommit fetches the commit hash for the specified tag\n @cache({\n namespace: BitbucketServerTagsDatasource.cacheNamespace,\n key: ({ registryUrl, packageName }: DigestConfig, tag: string) =>\n BitbucketServerTagsDatasource.getCacheKey(\n registryUrl,\n packageName,\n `tag-${tag}`,\n ),\n })\n async getTagCommit(baseUrl: string, tag: string): Promise<string | null> {\n const bitbucketServerTag = (\n await this.http.getJson(`${baseUrl}/tags/${tag}`, BitbucketServerTag)\n ).body;\n\n return bitbucketServerTag.hash ?? null;\n }\n\n // getDigest fetches the latest commit for repository main branch.\n // If newValue is provided, then getTagCommit is called\n @cache({\n namespace: BitbucketServerTagsDatasource.cacheNamespace,\n key: ({ registryUrl, packageName }: DigestConfig) =>\n BitbucketServerTagsDatasource.getCacheKey(\n registryUrl,\n packageName,\n 'digest',\n ),\n })\n override async getDigest(\n config: DigestConfig,\n newValue?: string,\n ): Promise<string | null> {\n const { registryUrl, packageName } = config;\n const [projectKey, repositorySlug] = packageName.split('/');\n if (!registryUrl) {\n logger.debug('Missing registryUrl');\n return null;\n }\n\n const baseUrl = `${BitbucketServerTagsDatasource.getApiUrl(registryUrl)}projects/${projectKey}/repos/${repositorySlug}`;\n\n if (newValue?.length) {\n return this.getTagCommit(baseUrl, newValue);\n }\n\n const result = Result.parse(config, DigestsConfig)\n .transform(() => {\n const url = `${baseUrl}/commits?ignoreMissing=true`;\n\n return this.http.getJsonSafe(\n url,\n {\n paginate: true,\n limit: 1,\n maxPages: 1,\n },\n BitbucketServerCommits,\n );\n })\n .transform((commits) => {\n return commits[0]?.id;\n });\n\n const { val = null, err } = await result.unwrap();\n\n if (err instanceof ZodError) {\n logger.debug({ err }, 'bitbucket-server-tags: validation error');\n return null;\n }\n\n if (err) {\n this.handleGenericErrors(err);\n }\n\n return val;\n }\n}\n"]}