renovate 44.238.0 → 44.238.2

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 (134) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +4 -4
  2. package/dist/config/defaults.d.ts +1 -2
  3. package/dist/config/global.d.ts +1 -2
  4. package/dist/config/migrations/custom/dependency-dashboard-migration.js +38 -11
  5. package/dist/config/migrations/custom/dependency-dashboard-migration.js.map +1 -1
  6. package/dist/config/options/env-options.d.ts +1 -2
  7. package/dist/config/options/index.d.ts +1 -2
  8. package/dist/config/presets/internal/abandonments.preset.js +1 -1
  9. package/dist/config/presets/internal/auto-generate-replacements.js +4 -4
  10. package/dist/config/presets/internal/auto-generate-replacements.js.map +1 -1
  11. package/dist/config/presets/internal/monorepos.preset.js +1 -1
  12. package/dist/config/presets/internal/replacements.preset.js +1 -1
  13. package/dist/config/types.d.ts +1 -2
  14. package/dist/config/utils.d.ts +1 -2
  15. package/dist/config/validation-helpers/types.d.ts +1 -2
  16. package/dist/config-validator.d.ts +1 -3
  17. package/dist/constants/category.d.ts +1 -2
  18. package/dist/constants/error-messages.d.ts +1 -2
  19. package/dist/constants/platforms.d.ts +1 -2
  20. package/dist/data/{abandonments.js → abandonments.json.js} +1 -1
  21. package/dist/data/abandonments.json.js.map +1 -0
  22. package/dist/data/{changelog-urls.js → changelog-urls.json.js} +1 -1
  23. package/dist/data/changelog-urls.json.js.map +1 -0
  24. package/dist/data/{java-version-lts.js → java-version-lts.json.js} +1 -1
  25. package/dist/data/java-version-lts.json.js.map +1 -0
  26. package/dist/data/{mise-registry.js → mise-registry.json.js} +1 -1
  27. package/dist/data/mise-registry.json.js.map +1 -0
  28. package/dist/data/{monorepo.js → monorepo.json.js} +1 -1
  29. package/dist/data/monorepo.json.js.map +1 -0
  30. package/dist/data/{node-js-schedule.js → node-js-schedule.json.js} +1 -1
  31. package/dist/data/node-js-schedule.json.js.map +1 -0
  32. package/dist/data/{replacements.js → replacements.json.js} +2 -78
  33. package/dist/data/replacements.json.js.map +1 -0
  34. package/dist/data/{source-urls.js → source-urls.json.js} +1 -1
  35. package/dist/data/source-urls.json.js.map +1 -0
  36. package/dist/datasource-list.generated.d.ts +1 -2
  37. package/dist/instrumentation/types.d.ts +1 -2
  38. package/dist/logger/err-serializer.d.ts +1 -2
  39. package/dist/logger/index.d.ts +1 -2
  40. package/dist/logger/renovate-logger.d.ts +1 -2
  41. package/dist/logger/types.d.ts +1 -2
  42. package/dist/manager-list.generated.d.ts +1 -2
  43. package/dist/modules/datasource/common.d.ts +1 -2
  44. package/dist/modules/datasource/docker/common.js +4 -1
  45. package/dist/modules/datasource/docker/common.js.map +1 -1
  46. package/dist/modules/datasource/index.d.ts +1 -2
  47. package/dist/modules/datasource/metadata-manual.js +2 -2
  48. package/dist/modules/datasource/npm/schema.d.ts +1 -2
  49. package/dist/modules/datasource/types.d.ts +1 -2
  50. package/dist/modules/manager/custom/jsonata/types.d.ts +1 -2
  51. package/dist/modules/manager/custom/regex/types.d.ts +1 -2
  52. package/dist/modules/manager/custom/types.d.ts +1 -2
  53. package/dist/modules/manager/fingerprint.generated.d.ts +1 -2
  54. package/dist/modules/manager/index.d.ts +1 -2
  55. package/dist/modules/manager/mise/extract.js +1 -1
  56. package/dist/modules/manager/mise/upgradeable-tooling.js +1 -1
  57. package/dist/modules/manager/types.d.ts +1 -2
  58. package/dist/modules/platform/bitbucket/index.d.ts +1 -2
  59. package/dist/modules/platform/bitbucket-server/index.d.ts +1 -2
  60. package/dist/modules/platform/bitbucket-server/types.d.ts +1 -2
  61. package/dist/modules/platform/github/schema.d.ts +1 -2
  62. package/dist/modules/platform/gitlab/code-owners.d.ts +1 -2
  63. package/dist/modules/platform/gitlab/index.d.ts +1 -2
  64. package/dist/modules/platform/gitlab/types.d.ts +1 -2
  65. package/dist/modules/platform/index.d.ts +1 -2
  66. package/dist/modules/platform/types.d.ts +1 -2
  67. package/dist/modules/versioning/generic.d.ts +1 -2
  68. package/dist/modules/versioning/index.d.ts +1 -2
  69. package/dist/modules/versioning/node/schedule.js +1 -1
  70. package/dist/modules/versioning/semver-coerced/index.d.ts +1 -2
  71. package/dist/modules/versioning/types.d.ts +1 -2
  72. package/dist/modules/versioning/ubuntu/index.d.ts +1 -2
  73. package/dist/proxy.d.ts +1 -2
  74. package/dist/renovate.d.ts +1 -3
  75. package/dist/types/base.d.ts +1 -2
  76. package/dist/types/branch-status.d.ts +1 -2
  77. package/dist/types/commit-message-json.d.ts +1 -2
  78. package/dist/types/git.d.ts +1 -2
  79. package/dist/types/host-rules.d.ts +1 -2
  80. package/dist/types/index.d.ts +1 -2
  81. package/dist/types/pr-state.d.ts +1 -2
  82. package/dist/types/skip-reason.d.ts +1 -2
  83. package/dist/types/versioning.d.ts +1 -2
  84. package/dist/util/cache/package/backend.d.ts +1 -2
  85. package/dist/util/cache/package/index.d.ts +1 -2
  86. package/dist/util/cache/package/namespaces.d.ts +1 -2
  87. package/dist/util/cache/repository/types.d.ts +1 -2
  88. package/dist/util/compress.d.ts +1 -2
  89. package/dist/util/exec/common.d.ts +1 -2
  90. package/dist/util/exec/exec-error.d.ts +1 -2
  91. package/dist/util/exec/types.d.ts +1 -2
  92. package/dist/util/git/config.d.ts +2 -3
  93. package/dist/util/git/index.d.ts +1 -2
  94. package/dist/util/git/private-key.d.ts +1 -2
  95. package/dist/util/git/types.d.ts +1 -2
  96. package/dist/util/host-rules.d.ts +1 -2
  97. package/dist/util/http/cache/types.d.ts +1 -2
  98. package/dist/util/http/errors.d.ts +1 -2
  99. package/dist/util/http/github.d.ts +1 -2
  100. package/dist/util/http/gitlab.d.ts +1 -2
  101. package/dist/util/http/http.d.ts +2 -3
  102. package/dist/util/http/legacy.d.ts +1 -2
  103. package/dist/util/http/types.d.ts +1 -2
  104. package/dist/util/merge-confidence/common.d.ts +1 -2
  105. package/dist/util/merge-confidence/types.d.ts +1 -2
  106. package/dist/util/result.d.ts +1 -2
  107. package/dist/util/s3.d.ts +1 -2
  108. package/dist/util/schema-utils/git.d.ts +1 -2
  109. package/dist/util/schema-utils/index.d.ts +2 -2
  110. package/dist/util/string-match.d.ts +1 -2
  111. package/dist/util/timestamp.d.ts +1 -2
  112. package/dist/util/url.d.ts +1 -2
  113. package/dist/util/yaml.d.ts +1 -1
  114. package/dist/versioning-list.generated.d.ts +1 -2
  115. package/dist/workers/global/autodiscover.d.ts +1 -2
  116. package/dist/workers/global/config/parse/cli.js +33 -1
  117. package/dist/workers/global/config/parse/cli.js.map +1 -1
  118. package/dist/workers/global/config/parse/env.js +47 -1
  119. package/dist/workers/global/config/parse/env.js.map +1 -1
  120. package/dist/workers/global/config/parse/index.d.ts +1 -2
  121. package/dist/workers/repository/init/types.d.ts +1 -2
  122. package/dist/workers/repository/result.d.ts +1 -2
  123. package/dist/workers/repository/update/pr/changelog/types.d.ts +1 -2
  124. package/dist/workers/types.d.ts +1 -2
  125. package/package.json +2 -2
  126. package/renovate-schema.json +2 -2
  127. package/dist/data/abandonments.js.map +0 -1
  128. package/dist/data/changelog-urls.js.map +0 -1
  129. package/dist/data/java-version-lts.js.map +0 -1
  130. package/dist/data/mise-registry.js.map +0 -1
  131. package/dist/data/monorepo.js.map +0 -1
  132. package/dist/data/node-js-schedule.js.map +0 -1
  133. package/dist/data/replacements.js.map +0 -1
  134. package/dist/data/source-urls.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","names":["hostRules.find","dockerVersioning"],"sources":["../../../../lib/modules/datasource/docker/common.ts"],"sourcesContent":["import { isNonEmptyString, isString, isUndefined } from '@sindresorhus/is';\nimport {\n HOST_BLOCKED,\n HOST_DISABLED,\n PAGE_NOT_FOUND_ERROR,\n} from '../../../constants/error-messages.ts';\nimport { logger } from '../../../logger/index.ts';\nimport { ExternalHostError } from '../../../types/errors/external-host-error.ts';\nimport { coerceArray } from '../../../util/array.ts';\nimport { detectPlatform } from '../../../util/common.ts';\nimport { parseGitUrl } from '../../../util/git/url.ts';\nimport { toSha256 } from '../../../util/hash.ts';\nimport * as hostRules from '../../../util/host-rules.ts';\nimport { memCacheProvider } from '../../../util/http/cache/memory-http-cache-provider.ts';\nimport type { Http } from '../../../util/http/index.ts';\nimport {\n isForbidden,\n isNotFound,\n isOk,\n isRateLimited,\n isServerError,\n isUnauthorized,\n} from '../../../util/http/status.ts';\nimport type {\n HttpOptions,\n HttpResponse,\n OutgoingHttpHeaders,\n} from '../../../util/http/types.ts';\nimport { refusedHostMessage } from '../../../util/http/util.ts';\nimport type { ParamsChallenge } from '../../../util/http/www-authenticate.ts';\nimport { BearerScheme, parse } from '../../../util/http/www-authenticate.ts';\nimport { coerceObject } from '../../../util/object.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport { addSecretForSanitizing } from '../../../util/sanitize.ts';\nimport {\n ensureTrailingSlash,\n parseUrl,\n trimTrailingSlash,\n} from '../../../util/url.ts';\nimport { api as dockerVersioning } from '../../versioning/docker/index.ts';\nimport { getGoogleAuthToken } from '../util.ts';\nimport { ecrRegex, getECRAuthToken, isECRMaxResultsResponse } from './ecr.ts';\nimport { googleRegex } from './google.ts';\nimport type { OciHelmConfig } from './schema.ts';\nimport { RegistryAuthToken } from './schema.ts';\nimport type { RegistryRepository } from './types.ts';\n\nexport const dockerDatasourceId = 'docker';\n\nexport const imageUrlLabel = 'org.opencontainers.image.url';\n\nexport const sourceLabel = 'org.opencontainers.image.source';\nexport const sourceLabels = [sourceLabel, 'org.label-schema.vcs-url'] as const;\n\nexport const gitRefLabel = 'org.opencontainers.image.revision';\n\nexport const DOCKER_HUB = 'https://index.docker.io';\n\nexport function isDockerHost(host: string): boolean {\n const regex = regEx(/(?:^|\\.)docker\\.io$/);\n return regex.test(host);\n}\n\nexport async function getAuthHeaders(\n http: Http,\n registryHost: string,\n dockerRepository: string,\n apiCheckUrl = `${registryHost}/v2/`,\n): Promise<OutgoingHttpHeaders | undefined> {\n try {\n const options = {\n throwHttpErrors: false,\n noAuth: true,\n cacheProvider: memCacheProvider,\n };\n // Written as an if/else rather than a ternary on purpose: v8 gives the\n // branch that follows an `await` inside a ternary a negative hit count,\n // which the coverage reporters then read as uncovered.\n let apiCheckResponse: HttpResponse<unknown>;\n if (apiCheckUrl.endsWith('/v2/')) {\n apiCheckResponse = await http.get(apiCheckUrl, options);\n } else {\n // use json request, as this will be cached for tags, so it returns json\n // TODO: add cache test\n apiCheckResponse = await http.getJsonUnchecked(apiCheckUrl, options);\n }\n\n if (isOk(apiCheckResponse)) {\n logger.debug(`No registry auth required for ${apiCheckUrl}`);\n return {};\n }\n if (isNotFound(apiCheckResponse)) {\n logger.debug(`Page Not Found ${apiCheckUrl}`);\n // throw error up to be caught and potentially retried with library/ prefix\n throw new Error(PAGE_NOT_FOUND_ERROR);\n }\n // Some ECR-compatible private registries (e.g. corporate Docker proxies) reject\n // n>1000 with 405 even on the auth-probe request. Fall back to probing the base\n // /v2/ endpoint so getAuthHeaders can still obtain a valid token; the main fetch\n // loop already retries with n=1000 when it encounters this same error.\n if (isECRMaxResultsResponse(apiCheckResponse)) {\n logger.debug(\n { apiCheckUrl },\n 'Registry rejected n>1000 on auth probe; retrying auth check via base /v2/ endpoint',\n );\n return getAuthHeaders(http, registryHost, dockerRepository);\n }\n if (\n !isUnauthorized(apiCheckResponse) ||\n !isNonEmptyString(apiCheckResponse.headers['www-authenticate'])\n ) {\n logger.warn(\n { apiCheckUrl, res: apiCheckResponse },\n 'Invalid registry response',\n );\n return undefined;\n }\n\n const rule = hostRules.find({\n hostType: dockerDatasourceId,\n url: apiCheckUrl,\n });\n const opts: HttpOptions = {};\n\n if (ecrRegex.test(registryHost)) {\n logger.once.debug(`hostRules: ecr auth for ${registryHost}`);\n logger.trace(\n { registryHost, dockerRepository },\n `Using ecr auth for Docker registry`,\n );\n const [, region] = coerceArray(ecrRegex.exec(registryHost));\n const auth = await getECRAuthToken(region, rule);\n if (auth) {\n opts.headers = { authorization: `Basic ${auth}` };\n }\n } else if (\n googleRegex.test(registryHost) &&\n isUndefined(rule.username) &&\n isUndefined(rule.password) &&\n isUndefined(rule.token)\n ) {\n logger.once.debug(`hostRules: google auth for ${registryHost}`);\n logger.trace(\n { registryHost, dockerRepository },\n `Using google auth for Docker registry`,\n );\n const auth = await getGoogleAuthToken();\n if (auth) {\n opts.headers = { authorization: `Basic ${auth}` };\n } else {\n logger.once.debug(\n { registryHost, dockerRepository },\n 'Could not get Google access token, using no auth',\n );\n }\n } else if (rule.username && rule.password) {\n logger.once.debug(`hostRules: basic auth for ${registryHost}`);\n logger.trace(\n { registryHost, dockerRepository },\n `Using basic auth for Docker registry`,\n );\n const auth = Buffer.from(`${rule.username}:${rule.password}`).toString(\n 'base64',\n );\n opts.headers = { authorization: `Basic ${auth}` };\n } else if (rule.token) {\n const authType = rule.authType ?? 'Bearer';\n logger.once.debug(\n `hostRules: ${authType} token auth for ${registryHost}`,\n );\n logger.trace(\n { registryHost, dockerRepository },\n `Using ${authType} token for Docker registry`,\n );\n opts.headers = { authorization: `${authType} ${rule.token}` };\n }\n\n const challenges = parse(apiCheckResponse.headers['www-authenticate']);\n const authenticateHeader = challenges.find(\n (c): c is ParamsChallenge => c.scheme === BearerScheme,\n );\n\n // If realm isn't an url, we should directly use auth header\n // Can happen when we get a Basic auth or some other auth type\n // * WWW-Authenticate: Basic realm=\"Artifactory Realm\"\n // * Www-Authenticate: Basic realm=\"https://123456789.dkr.ecr.eu-central-1.amazonaws.com/\",service=\"ecr.amazonaws.com\"\n // * www-authenticate: Bearer realm=\"https://ghcr.io/token\",service=\"ghcr.io\",scope=\"repository:user/image:pull\"\n // * www-authenticate: Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"\n // * www-authenticate: Bearer realm=\"https://codeberg.org/v2/token\",service=\"container_registry\",scope=\"*\",Basic realm=\"https://codeberg.org/v2\",service=\"container_registry\",scope=\"*\"\n if (\n !authenticateHeader ||\n !isString(authenticateHeader.params?.realm) ||\n parseUrl(authenticateHeader.params.realm) === null\n ) {\n logger.once.debug(`hostRules: testing direct auth for ${registryHost}`);\n logger.trace(\n { registryHost, dockerRepository, authenticateHeader },\n `Invalid realm, testing direct auth`,\n );\n return opts.headers ?? undefined;\n }\n\n // already guarded by above clause\n const authUrl = parseUrl(`${authenticateHeader.params.realm}`)!;\n\n // repo isn't known to server yet, so causing wrong scope `repository:user/image:pull`\n if (\n isString(authenticateHeader.params.scope) &&\n !apiCheckUrl.endsWith('/v2/')\n ) {\n authUrl.searchParams.append('scope', authenticateHeader.params.scope);\n } else {\n authUrl.searchParams.append(\n 'scope',\n `repository:${dockerRepository}:pull`,\n );\n }\n\n if (isString(authenticateHeader.params.service)) {\n authUrl.searchParams.append('service', authenticateHeader.params.service);\n }\n\n logger.trace(\n { registryHost, dockerRepository, authUrl: authUrl.href },\n `Obtaining docker registry token`,\n );\n opts.noAuth = true;\n opts.cacheProvider = memCacheProvider;\n const authResponse = (\n await http.getJson(authUrl.href, opts, RegistryAuthToken)\n ).body;\n\n const token = authResponse.token ?? authResponse.access_token;\n /* v8 ignore next -- TODO: add test */\n if (!token) {\n logger.warn('Failed to obtain docker registry token');\n return undefined;\n }\n // sanitize token\n addSecretForSanitizing(token);\n return {\n authorization: `Bearer ${token}`,\n };\n } catch (err) /* istanbul ignore next */ {\n /* v8 ignore if -- quay.io errors are swallowed pending #9604, not reproduced in specs */\n if (err.host === 'quay.io') {\n // TODO: debug why quay throws errors (#9604)\n return undefined;\n }\n /* v8 ignore if -- registry auth rejection is logged and swallowed, not mocked in specs */\n if (isUnauthorized(err)) {\n logger.debug(\n { registryHost, dockerRepository },\n 'Unauthorized docker lookup',\n );\n logger.debug({ err });\n return undefined;\n }\n /* v8 ignore if -- registry permission rejection is logged and swallowed, not mocked in specs */\n if (isForbidden(err)) {\n logger.debug(\n { registryHost, dockerRepository },\n 'Not allowed to access docker registry',\n );\n logger.debug({ err });\n return undefined;\n }\n if (err.name === 'RequestError' && isDockerHost(registryHost)) {\n throw new ExternalHostError(err);\n }\n /* v8 ignore if -- Docker Hub rate limiting maps to ExternalHostError, not mocked in specs */\n if (isRateLimited(err) && isDockerHost(registryHost)) {\n throw new ExternalHostError(err);\n }\n /* v8 ignore if -- registry server errors map to ExternalHostError, not mocked in specs */\n if (isServerError(err)) {\n throw new ExternalHostError(err);\n }\n if (err.message === PAGE_NOT_FOUND_ERROR) {\n throw err;\n }\n /* v8 ignore if -- hostRules-disabled host is swallowed silently, not mocked in specs */\n if ([HOST_BLOCKED, HOST_DISABLED].includes(err.message)) {\n logger.trace(\n { registryHost, dockerRepository, err },\n refusedHostMessage(err),\n );\n return undefined;\n }\n logger.warn(\n { registryHost, dockerRepository, err },\n 'Error obtaining docker token',\n );\n return undefined;\n }\n}\n\nexport function getRegistryRepository(\n packageName: string,\n registryUrl: string,\n): RegistryRepository {\n if (registryUrl !== DOCKER_HUB) {\n const registryEndingWithSlash = ensureTrailingSlash(\n registryUrl.replace(regEx(/^https?:\\/\\//), ''),\n );\n if (packageName.startsWith(registryEndingWithSlash)) {\n let registryHost = trimTrailingSlash(registryUrl);\n if (!regEx(/^https?:\\/\\//).test(registryHost)) {\n registryHost = `https://${registryHost}`;\n }\n let dockerRepository = packageName.replace(registryEndingWithSlash, '');\n const fullUrl = `${registryHost}/${dockerRepository}`;\n const parsedFullUrl = parseUrl(fullUrl);\n if (!parsedFullUrl) {\n return { registryHost, dockerRepository };\n }\n registryHost = parsedFullUrl.origin;\n dockerRepository = parsedFullUrl.pathname.substring(1);\n return {\n registryHost,\n dockerRepository,\n };\n }\n }\n let registryHost = registryUrl;\n const split = packageName.split('/');\n const hasRegistryHost = split[0].includes('.') || split[0].includes(':');\n if (split.length > 1 && hasRegistryHost) {\n [registryHost] = split;\n split.shift();\n }\n let dockerRepository = split.join('/');\n\n if (!regEx(/^https?:\\/\\//).test(registryHost)) {\n registryHost = `https://${registryHost}`;\n }\n\n const { path, base } = coerceObject(\n regEx(/^(?<base>https:\\/\\/[^/]+)\\/(?<path>.+)$/).exec(registryHost)?.groups,\n );\n if (base && path) {\n registryHost = base;\n dockerRepository = `${trimTrailingSlash(path)}/${dockerRepository}`;\n }\n\n registryHost = registryHost\n .replace('https://docker.io', 'https://index.docker.io')\n .replace('https://registry-1.docker.io', 'https://index.docker.io');\n\n const opts = hostRules.find({\n hostType: dockerDatasourceId,\n url: registryHost,\n });\n if (opts?.insecureRegistry) {\n registryHost = registryHost.replace('https', 'http');\n }\n if (registryHost.endsWith('.docker.io') && !dockerRepository.includes('/')) {\n dockerRepository = `library/${dockerRepository}`;\n }\n return {\n registryHost,\n dockerRepository,\n };\n}\n\nexport function extractDigestFromResponseBody(\n manifestResponse: HttpResponse,\n): string {\n return `sha256:${toSha256(manifestResponse.body)}`;\n}\n\nexport function findLatestStable(tags: string[]): string | null {\n let stable: string | null = null;\n\n for (const tag of tags) {\n if (!dockerVersioning.isValid(tag) || !dockerVersioning.isStable(tag)) {\n continue;\n }\n\n if (!stable || dockerVersioning.isGreaterThan(tag, stable)) {\n stable = tag;\n }\n }\n\n return stable;\n}\n\nconst chartRepo = regEx(/charts?|helm|helm-charts?/i);\n\nfunction isPossibleChartRepo(url: string): boolean {\n if (detectPlatform(url) === null) {\n return false;\n }\n\n const parsed = parseGitUrl(url);\n return chartRepo.test(parsed.name);\n}\n\nexport function findHelmSourceUrl(release: OciHelmConfig): string | null {\n if (release.home && isPossibleChartRepo(release.home)) {\n return release.home;\n }\n\n if (!release.sources?.length) {\n return null;\n }\n\n for (const url of release.sources) {\n if (isPossibleChartRepo(url)) {\n return url;\n }\n }\n\n // fallback\n return release.sources[0];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA+CA,MAAa,qBAAqB;AAElC,MAAa,gBAAgB;AAE7B,MAAa,cAAc;AAC3B,MAAa,eAAe,CAAC,aAAa,0BAA0B;AAEpE,MAAa,cAAc;AAE3B,MAAa,aAAa;AAE1B,SAAgB,aAAa,MAAuB;CAElD,OADc,MAAM,qBACT,CAAC,CAAC,KAAK,IAAI;AACxB;AAEA,eAAsB,eACpB,MACA,cACA,kBACA,cAAc,GAAG,aAAa,OACY;CAC1C,IAAI;EACF,MAAM,UAAU;GACd,iBAAiB;GACjB,QAAQ;GACR,eAAe;EACjB;EAIA,IAAI;EACJ,IAAI,YAAY,SAAS,MAAM,GAC7B,mBAAmB,MAAM,KAAK,IAAI,aAAa,OAAO;OAItD,mBAAmB,MAAM,KAAK,iBAAiB,aAAa,OAAO;EAGrE,IAAI,KAAK,gBAAgB,GAAG;GAC1B,OAAO,MAAM,iCAAiC,aAAa;GAC3D,OAAO,CAAC;EACV;EACA,IAAI,WAAW,gBAAgB,GAAG;GAChC,OAAO,MAAM,kBAAkB,aAAa;GAE5C,MAAM,IAAI,MAAM,oBAAoB;EACtC;EAKA,IAAI,wBAAwB,gBAAgB,GAAG;GAC7C,OAAO,MACL,EAAE,YAAY,GACd,oFACF;GACA,OAAO,eAAe,MAAM,cAAc,gBAAgB;EAC5D;EACA,IACE,CAAC,eAAe,gBAAgB,KAChC,CAAC,iBAAiB,iBAAiB,QAAQ,mBAAmB,GAC9D;GACA,OAAO,KACL;IAAE;IAAa,KAAK;GAAiB,GACrC,2BACF;GACA;EACF;EAEA,MAAM,OAAOA,KAAe;GAC1B,UAAU;GACV,KAAK;EACP,CAAC;EACD,MAAM,OAAoB,CAAC;EAE3B,IAAI,SAAS,KAAK,YAAY,GAAG;GAC/B,OAAO,KAAK,MAAM,2BAA2B,cAAc;GAC3D,OAAO,MACL;IAAE;IAAc;GAAiB,GACjC,oCACF;GACA,MAAM,GAAG,UAAU,YAAY,SAAS,KAAK,YAAY,CAAC;GAC1D,MAAM,OAAO,MAAM,gBAAgB,QAAQ,IAAI;GAC/C,IAAI,MACF,KAAK,UAAU,EAAE,eAAe,SAAS,OAAO;EAEpD,OAAO,IACL,YAAY,KAAK,YAAY,KAC7B,YAAY,KAAK,QAAQ,KACzB,YAAY,KAAK,QAAQ,KACzB,YAAY,KAAK,KAAK,GACtB;GACA,OAAO,KAAK,MAAM,8BAA8B,cAAc;GAC9D,OAAO,MACL;IAAE;IAAc;GAAiB,GACjC,uCACF;GACA,MAAM,OAAO,MAAM,mBAAmB;GACtC,IAAI,MACF,KAAK,UAAU,EAAE,eAAe,SAAS,OAAO;QAEhD,OAAO,KAAK,MACV;IAAE;IAAc;GAAiB,GACjC,kDACF;EAEJ,OAAO,IAAI,KAAK,YAAY,KAAK,UAAU;GACzC,OAAO,KAAK,MAAM,6BAA6B,cAAc;GAC7D,OAAO,MACL;IAAE;IAAc;GAAiB,GACjC,sCACF;GAIA,KAAK,UAAU,EAAE,eAAe,SAHnB,OAAO,KAAK,GAAG,KAAK,SAAS,GAAG,KAAK,UAAU,CAAC,CAAC,SAC5D,QAE0C,IAAI;EAClD,OAAO,IAAI,KAAK,OAAO;GACrB,MAAM,WAAW,KAAK,YAAY;GAClC,OAAO,KAAK,MACV,cAAc,SAAS,kBAAkB,cAC3C;GACA,OAAO,MACL;IAAE;IAAc;GAAiB,GACjC,SAAS,SAAS,2BACpB;GACA,KAAK,UAAU,EAAE,eAAe,GAAG,SAAS,GAAG,KAAK,QAAQ;EAC9D;EAGA,MAAM,qBADa,MAAM,iBAAiB,QAAQ,mBACd,CAAC,CAAC,MACnC,MAA4B,EAAE,WAAW,YAC5C;EASA,IACE,CAAC,sBACD,CAAC,SAAS,mBAAmB,QAAQ,KAAK,KAC1C,SAAS,mBAAmB,OAAO,KAAK,MAAM,MAC9C;GACA,OAAO,KAAK,MAAM,sCAAsC,cAAc;GACtE,OAAO,MACL;IAAE;IAAc;IAAkB;GAAmB,GACrD,oCACF;GACA,OAAO,KAAK,WAAW,KAAA;EACzB;EAGA,MAAM,UAAU,SAAS,GAAG,mBAAmB,OAAO,OAAO;EAG7D,IACE,SAAS,mBAAmB,OAAO,KAAK,KACxC,CAAC,YAAY,SAAS,MAAM,GAE5B,QAAQ,aAAa,OAAO,SAAS,mBAAmB,OAAO,KAAK;OAEpE,QAAQ,aAAa,OACnB,SACA,cAAc,iBAAiB,MACjC;EAGF,IAAI,SAAS,mBAAmB,OAAO,OAAO,GAC5C,QAAQ,aAAa,OAAO,WAAW,mBAAmB,OAAO,OAAO;EAG1E,OAAO,MACL;GAAE;GAAc;GAAkB,SAAS,QAAQ;EAAK,GACxD,iCACF;EACA,KAAK,SAAS;EACd,KAAK,gBAAgB;EACrB,MAAM,gBACJ,MAAM,KAAK,QAAQ,QAAQ,MAAM,MAAM,iBAAiB,EAAA,CACxD;EAEF,MAAM,QAAQ,aAAa,SAAS,aAAa;;EAEjD,IAAI,CAAC,OAAO;GACV,OAAO,KAAK,wCAAwC;GACpD;EACF;EAEA,uBAAuB,KAAK;EAC5B,OAAO,EACL,eAAe,UAAU,QAC3B;CACF,SAAS,gCAAgC;;EAEvC,IAAI,IAAI,SAAS,WAEf;;EAGF,IAAI,eAAe,GAAG,GAAG;GACvB,OAAO,MACL;IAAE;IAAc;GAAiB,GACjC,4BACF;GACA,OAAO,MAAM,EAAE,IAAI,CAAC;GACpB;EACF;;EAEA,IAAI,YAAY,GAAG,GAAG;GACpB,OAAO,MACL;IAAE;IAAc;GAAiB,GACjC,uCACF;GACA,OAAO,MAAM,EAAE,IAAI,CAAC;GACpB;EACF;EACA,IAAI,IAAI,SAAS,kBAAkB,aAAa,YAAY,GAC1D,MAAM,IAAI,kBAAkB,GAAG;;EAGjC,IAAI,cAAc,GAAG,KAAK,aAAa,YAAY,GACjD,MAAM,IAAI,kBAAkB,GAAG;;EAGjC,IAAI,cAAc,GAAG,GACnB,MAAM,IAAI,kBAAkB,GAAG;EAEjC,IAAI,IAAI,YAAA,kBACN,MAAM;;EAGR,IAAI,CAAA,gBAAA,eAA4B,CAAC,CAAC,SAAS,IAAI,OAAO,GAAG;GACvD,OAAO,MACL;IAAE;IAAc;IAAkB;GAAI,GACtC,mBAAmB,GAAG,CACxB;GACA;EACF;EACA,OAAO,KACL;GAAE;GAAc;GAAkB;EAAI,GACtC,8BACF;EACA;CACF;AACF;AAEA,SAAgB,sBACd,aACA,aACoB;CACpB,IAAI,gBAAA,2BAA4B;EAC9B,MAAM,0BAA0B,oBAC9B,YAAY,QAAQ,MAAM,cAAc,GAAG,EAAE,CAC/C;EACA,IAAI,YAAY,WAAW,uBAAuB,GAAG;GACnD,IAAI,eAAe,kBAAkB,WAAW;GAChD,IAAI,CAAC,MAAM,cAAc,CAAC,CAAC,KAAK,YAAY,GAC1C,eAAe,WAAW;GAE5B,IAAI,mBAAmB,YAAY,QAAQ,yBAAyB,EAAE;GACtE,MAAM,UAAU,GAAG,aAAa,GAAG;GACnC,MAAM,gBAAgB,SAAS,OAAO;GACtC,IAAI,CAAC,eACH,OAAO;IAAE;IAAc;GAAiB;GAE1C,eAAe,cAAc;GAC7B,mBAAmB,cAAc,SAAS,UAAU,CAAC;GACrD,OAAO;IACL;IACA;GACF;EACF;CACF;CACA,IAAI,eAAe;CACnB,MAAM,QAAQ,YAAY,MAAM,GAAG;CACnC,MAAM,kBAAkB,MAAM,EAAE,CAAC,SAAS,GAAG,KAAK,MAAM,EAAE,CAAC,SAAS,GAAG;CACvE,IAAI,MAAM,SAAS,KAAK,iBAAiB;EACvC,CAAC,gBAAgB;EACjB,MAAM,MAAM;CACd;CACA,IAAI,mBAAmB,MAAM,KAAK,GAAG;CAErC,IAAI,CAAC,MAAM,cAAc,CAAC,CAAC,KAAK,YAAY,GAC1C,eAAe,WAAW;CAG5B,MAAM,EAAE,MAAM,SAAS,aACrB,MAAM,yCAAyC,CAAC,CAAC,KAAK,YAAY,CAAC,EAAE,MACvE;CACA,IAAI,QAAQ,MAAM;EAChB,eAAe;EACf,mBAAmB,GAAG,kBAAkB,IAAI,EAAE,GAAG;CACnD;CAEA,eAAe,aACZ,QAAQ,qBAAqB,yBAAyB,CAAC,CACvD,QAAQ,gCAAgC,yBAAyB;CAMpE,IAJaA,KAAe;EAC1B,UAAA;EACA,KAAK;CACP,CACO,CAAC,EAAE,kBACR,eAAe,aAAa,QAAQ,SAAS,MAAM;CAErD,IAAI,aAAa,SAAS,YAAY,KAAK,CAAC,iBAAiB,SAAS,GAAG,GACvE,mBAAmB,WAAW;CAEhC,OAAO;EACL;EACA;CACF;AACF;AAEA,SAAgB,8BACd,kBACQ;CACR,OAAO,UAAU,SAAS,iBAAiB,IAAI;AACjD;AAEA,SAAgB,iBAAiB,MAA+B;CAC9D,IAAI,SAAwB;CAE5B,KAAK,MAAM,OAAO,MAAM;EACtB,IAAI,CAACC,IAAiB,QAAQ,GAAG,KAAK,CAACA,IAAiB,SAAS,GAAG,GAClE;EAGF,IAAI,CAAC,UAAUA,IAAiB,cAAc,KAAK,MAAM,GACvD,SAAS;CAEb;CAEA,OAAO;AACT;AAEA,MAAM,YAAY,MAAM,4BAA4B;AAEpD,SAAS,oBAAoB,KAAsB;CACjD,IAAI,eAAe,GAAG,MAAM,MAC1B,OAAO;CAGT,MAAM,SAAS,YAAY,GAAG;CAC9B,OAAO,UAAU,KAAK,OAAO,IAAI;AACnC;AAEA,SAAgB,kBAAkB,SAAuC;CACvE,IAAI,QAAQ,QAAQ,oBAAoB,QAAQ,IAAI,GAClD,OAAO,QAAQ;CAGjB,IAAI,CAAC,QAAQ,SAAS,QACpB,OAAO;CAGT,KAAK,MAAM,OAAO,QAAQ,SACxB,IAAI,oBAAoB,GAAG,GACzB,OAAO;CAKX,OAAO,QAAQ,QAAQ;AACzB"}
1
+ {"version":3,"file":"common.js","names":["hostRules.find","dockerVersioning"],"sources":["../../../../lib/modules/datasource/docker/common.ts"],"sourcesContent":["import { isNonEmptyString, isString, isUndefined } from '@sindresorhus/is';\nimport {\n HOST_BLOCKED,\n HOST_DISABLED,\n PAGE_NOT_FOUND_ERROR,\n} from '../../../constants/error-messages.ts';\nimport { logger } from '../../../logger/index.ts';\nimport { ExternalHostError } from '../../../types/errors/external-host-error.ts';\nimport { coerceArray } from '../../../util/array.ts';\nimport { detectPlatform } from '../../../util/common.ts';\nimport { parseGitUrl } from '../../../util/git/url.ts';\nimport { toSha256 } from '../../../util/hash.ts';\nimport * as hostRules from '../../../util/host-rules.ts';\nimport { memCacheProvider } from '../../../util/http/cache/memory-http-cache-provider.ts';\nimport type { Http } from '../../../util/http/index.ts';\nimport {\n isForbidden,\n isNotFound,\n isOk,\n isRateLimited,\n isRateLimitedOrServerError,\n isServerError,\n isUnauthorized,\n} from '../../../util/http/status.ts';\nimport type {\n HttpOptions,\n HttpResponse,\n OutgoingHttpHeaders,\n} from '../../../util/http/types.ts';\nimport { refusedHostMessage } from '../../../util/http/util.ts';\nimport type { ParamsChallenge } from '../../../util/http/www-authenticate.ts';\nimport { BearerScheme, parse } from '../../../util/http/www-authenticate.ts';\nimport { coerceObject } from '../../../util/object.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport { addSecretForSanitizing } from '../../../util/sanitize.ts';\nimport {\n ensureTrailingSlash,\n parseUrl,\n trimTrailingSlash,\n} from '../../../util/url.ts';\nimport { api as dockerVersioning } from '../../versioning/docker/index.ts';\nimport { getGoogleAuthToken } from '../util.ts';\nimport { ecrRegex, getECRAuthToken, isECRMaxResultsResponse } from './ecr.ts';\nimport { googleRegex } from './google.ts';\nimport type { OciHelmConfig } from './schema.ts';\nimport { RegistryAuthToken } from './schema.ts';\nimport type { RegistryRepository } from './types.ts';\n\nexport const dockerDatasourceId = 'docker';\n\nexport const imageUrlLabel = 'org.opencontainers.image.url';\n\nexport const sourceLabel = 'org.opencontainers.image.source';\nexport const sourceLabels = [sourceLabel, 'org.label-schema.vcs-url'] as const;\n\nexport const gitRefLabel = 'org.opencontainers.image.revision';\n\nexport const DOCKER_HUB = 'https://index.docker.io';\n\nexport function isDockerHost(host: string): boolean {\n const regex = regEx(/(?:^|\\.)docker\\.io$/);\n return regex.test(host);\n}\n\nexport async function getAuthHeaders(\n http: Http,\n registryHost: string,\n dockerRepository: string,\n apiCheckUrl = `${registryHost}/v2/`,\n): Promise<OutgoingHttpHeaders | undefined> {\n try {\n const options = {\n throwHttpErrors: false,\n noAuth: true,\n cacheProvider: memCacheProvider,\n };\n // Written as an if/else rather than a ternary on purpose: v8 gives the\n // branch that follows an `await` inside a ternary a negative hit count,\n // which the coverage reporters then read as uncovered.\n let apiCheckResponse: HttpResponse<unknown>;\n if (apiCheckUrl.endsWith('/v2/')) {\n apiCheckResponse = await http.get(apiCheckUrl, options);\n } else {\n // use json request, as this will be cached for tags, so it returns json\n // TODO: add cache test\n apiCheckResponse = await http.getJsonUnchecked(apiCheckUrl, options);\n }\n\n if (isOk(apiCheckResponse)) {\n logger.debug(`No registry auth required for ${apiCheckUrl}`);\n return {};\n }\n if (isNotFound(apiCheckResponse)) {\n logger.debug(`Page Not Found ${apiCheckUrl}`);\n // throw error up to be caught and potentially retried with library/ prefix\n throw new Error(PAGE_NOT_FOUND_ERROR);\n }\n // Some ECR-compatible private registries (e.g. corporate Docker proxies) reject\n // n>1000 with 405 even on the auth-probe request. Fall back to probing the base\n // /v2/ endpoint so getAuthHeaders can still obtain a valid token; the main fetch\n // loop already retries with n=1000 when it encounters this same error.\n if (isECRMaxResultsResponse(apiCheckResponse)) {\n logger.debug(\n { apiCheckUrl },\n 'Registry rejected n>1000 on auth probe; retrying auth check via base /v2/ endpoint',\n );\n return getAuthHeaders(http, registryHost, dockerRepository);\n }\n if (isRateLimitedOrServerError(apiCheckResponse)) {\n throw new ExternalHostError(\n new Error(\n `Registry auth probe ${apiCheckUrl} failed with status ${apiCheckResponse.statusCode}`,\n ),\n );\n }\n if (\n !isUnauthorized(apiCheckResponse) ||\n !isNonEmptyString(apiCheckResponse.headers['www-authenticate'])\n ) {\n logger.warn(\n {\n apiCheckUrl,\n statusCode: apiCheckResponse.statusCode,\n res: apiCheckResponse,\n },\n 'Invalid registry response',\n );\n return undefined;\n }\n\n const rule = hostRules.find({\n hostType: dockerDatasourceId,\n url: apiCheckUrl,\n });\n const opts: HttpOptions = {};\n\n if (ecrRegex.test(registryHost)) {\n logger.once.debug(`hostRules: ecr auth for ${registryHost}`);\n logger.trace(\n { registryHost, dockerRepository },\n `Using ecr auth for Docker registry`,\n );\n const [, region] = coerceArray(ecrRegex.exec(registryHost));\n const auth = await getECRAuthToken(region, rule);\n if (auth) {\n opts.headers = { authorization: `Basic ${auth}` };\n }\n } else if (\n googleRegex.test(registryHost) &&\n isUndefined(rule.username) &&\n isUndefined(rule.password) &&\n isUndefined(rule.token)\n ) {\n logger.once.debug(`hostRules: google auth for ${registryHost}`);\n logger.trace(\n { registryHost, dockerRepository },\n `Using google auth for Docker registry`,\n );\n const auth = await getGoogleAuthToken();\n if (auth) {\n opts.headers = { authorization: `Basic ${auth}` };\n } else {\n logger.once.debug(\n { registryHost, dockerRepository },\n 'Could not get Google access token, using no auth',\n );\n }\n } else if (rule.username && rule.password) {\n logger.once.debug(`hostRules: basic auth for ${registryHost}`);\n logger.trace(\n { registryHost, dockerRepository },\n `Using basic auth for Docker registry`,\n );\n const auth = Buffer.from(`${rule.username}:${rule.password}`).toString(\n 'base64',\n );\n opts.headers = { authorization: `Basic ${auth}` };\n } else if (rule.token) {\n const authType = rule.authType ?? 'Bearer';\n logger.once.debug(\n `hostRules: ${authType} token auth for ${registryHost}`,\n );\n logger.trace(\n { registryHost, dockerRepository },\n `Using ${authType} token for Docker registry`,\n );\n opts.headers = { authorization: `${authType} ${rule.token}` };\n }\n\n const challenges = parse(apiCheckResponse.headers['www-authenticate']);\n const authenticateHeader = challenges.find(\n (c): c is ParamsChallenge => c.scheme === BearerScheme,\n );\n\n // If realm isn't an url, we should directly use auth header\n // Can happen when we get a Basic auth or some other auth type\n // * WWW-Authenticate: Basic realm=\"Artifactory Realm\"\n // * Www-Authenticate: Basic realm=\"https://123456789.dkr.ecr.eu-central-1.amazonaws.com/\",service=\"ecr.amazonaws.com\"\n // * www-authenticate: Bearer realm=\"https://ghcr.io/token\",service=\"ghcr.io\",scope=\"repository:user/image:pull\"\n // * www-authenticate: Bearer realm=\"https://auth.docker.io/token\",service=\"registry.docker.io\"\n // * www-authenticate: Bearer realm=\"https://codeberg.org/v2/token\",service=\"container_registry\",scope=\"*\",Basic realm=\"https://codeberg.org/v2\",service=\"container_registry\",scope=\"*\"\n if (\n !authenticateHeader ||\n !isString(authenticateHeader.params?.realm) ||\n parseUrl(authenticateHeader.params.realm) === null\n ) {\n logger.once.debug(`hostRules: testing direct auth for ${registryHost}`);\n logger.trace(\n { registryHost, dockerRepository, authenticateHeader },\n `Invalid realm, testing direct auth`,\n );\n return opts.headers ?? undefined;\n }\n\n // already guarded by above clause\n const authUrl = parseUrl(`${authenticateHeader.params.realm}`)!;\n\n // repo isn't known to server yet, so causing wrong scope `repository:user/image:pull`\n if (\n isString(authenticateHeader.params.scope) &&\n !apiCheckUrl.endsWith('/v2/')\n ) {\n authUrl.searchParams.append('scope', authenticateHeader.params.scope);\n } else {\n authUrl.searchParams.append(\n 'scope',\n `repository:${dockerRepository}:pull`,\n );\n }\n\n if (isString(authenticateHeader.params.service)) {\n authUrl.searchParams.append('service', authenticateHeader.params.service);\n }\n\n logger.trace(\n { registryHost, dockerRepository, authUrl: authUrl.href },\n `Obtaining docker registry token`,\n );\n opts.noAuth = true;\n opts.cacheProvider = memCacheProvider;\n const authResponse = (\n await http.getJson(authUrl.href, opts, RegistryAuthToken)\n ).body;\n\n const token = authResponse.token ?? authResponse.access_token;\n /* v8 ignore next -- TODO: add test */\n if (!token) {\n logger.warn('Failed to obtain docker registry token');\n return undefined;\n }\n // sanitize token\n addSecretForSanitizing(token);\n return {\n authorization: `Bearer ${token}`,\n };\n } catch (err) /* istanbul ignore next */ {\n if (err instanceof ExternalHostError) {\n throw err;\n }\n /* v8 ignore if -- quay.io errors are swallowed pending #9604, not reproduced in specs */\n if (err.host === 'quay.io') {\n // TODO: debug why quay throws errors (#9604)\n return undefined;\n }\n /* v8 ignore if -- registry auth rejection is logged and swallowed, not mocked in specs */\n if (isUnauthorized(err)) {\n logger.debug(\n { registryHost, dockerRepository },\n 'Unauthorized docker lookup',\n );\n logger.debug({ err });\n return undefined;\n }\n /* v8 ignore if -- registry permission rejection is logged and swallowed, not mocked in specs */\n if (isForbidden(err)) {\n logger.debug(\n { registryHost, dockerRepository },\n 'Not allowed to access docker registry',\n );\n logger.debug({ err });\n return undefined;\n }\n if (err.name === 'RequestError' && isDockerHost(registryHost)) {\n throw new ExternalHostError(err);\n }\n /* v8 ignore if -- Docker Hub rate limiting maps to ExternalHostError, not mocked in specs */\n if (isRateLimited(err) && isDockerHost(registryHost)) {\n throw new ExternalHostError(err);\n }\n /* v8 ignore if -- registry server errors map to ExternalHostError, not mocked in specs */\n if (isServerError(err)) {\n throw new ExternalHostError(err);\n }\n if (err.message === PAGE_NOT_FOUND_ERROR) {\n throw err;\n }\n /* v8 ignore if -- hostRules-disabled host is swallowed silently, not mocked in specs */\n if ([HOST_BLOCKED, HOST_DISABLED].includes(err.message)) {\n logger.trace(\n { registryHost, dockerRepository, err },\n refusedHostMessage(err),\n );\n return undefined;\n }\n logger.warn(\n { registryHost, dockerRepository, err },\n 'Error obtaining docker token',\n );\n return undefined;\n }\n}\n\nexport function getRegistryRepository(\n packageName: string,\n registryUrl: string,\n): RegistryRepository {\n if (registryUrl !== DOCKER_HUB) {\n const registryEndingWithSlash = ensureTrailingSlash(\n registryUrl.replace(regEx(/^https?:\\/\\//), ''),\n );\n if (packageName.startsWith(registryEndingWithSlash)) {\n let registryHost = trimTrailingSlash(registryUrl);\n if (!regEx(/^https?:\\/\\//).test(registryHost)) {\n registryHost = `https://${registryHost}`;\n }\n let dockerRepository = packageName.replace(registryEndingWithSlash, '');\n const fullUrl = `${registryHost}/${dockerRepository}`;\n const parsedFullUrl = parseUrl(fullUrl);\n if (!parsedFullUrl) {\n return { registryHost, dockerRepository };\n }\n registryHost = parsedFullUrl.origin;\n dockerRepository = parsedFullUrl.pathname.substring(1);\n return {\n registryHost,\n dockerRepository,\n };\n }\n }\n let registryHost = registryUrl;\n const split = packageName.split('/');\n const hasRegistryHost = split[0].includes('.') || split[0].includes(':');\n if (split.length > 1 && hasRegistryHost) {\n [registryHost] = split;\n split.shift();\n }\n let dockerRepository = split.join('/');\n\n if (!regEx(/^https?:\\/\\//).test(registryHost)) {\n registryHost = `https://${registryHost}`;\n }\n\n const { path, base } = coerceObject(\n regEx(/^(?<base>https:\\/\\/[^/]+)\\/(?<path>.+)$/).exec(registryHost)?.groups,\n );\n if (base && path) {\n registryHost = base;\n dockerRepository = `${trimTrailingSlash(path)}/${dockerRepository}`;\n }\n\n registryHost = registryHost\n .replace('https://docker.io', 'https://index.docker.io')\n .replace('https://registry-1.docker.io', 'https://index.docker.io');\n\n const opts = hostRules.find({\n hostType: dockerDatasourceId,\n url: registryHost,\n });\n if (opts?.insecureRegistry) {\n registryHost = registryHost.replace('https', 'http');\n }\n if (registryHost.endsWith('.docker.io') && !dockerRepository.includes('/')) {\n dockerRepository = `library/${dockerRepository}`;\n }\n return {\n registryHost,\n dockerRepository,\n };\n}\n\nexport function extractDigestFromResponseBody(\n manifestResponse: HttpResponse,\n): string {\n return `sha256:${toSha256(manifestResponse.body)}`;\n}\n\nexport function findLatestStable(tags: string[]): string | null {\n let stable: string | null = null;\n\n for (const tag of tags) {\n if (!dockerVersioning.isValid(tag) || !dockerVersioning.isStable(tag)) {\n continue;\n }\n\n if (!stable || dockerVersioning.isGreaterThan(tag, stable)) {\n stable = tag;\n }\n }\n\n return stable;\n}\n\nconst chartRepo = regEx(/charts?|helm|helm-charts?/i);\n\nfunction isPossibleChartRepo(url: string): boolean {\n if (detectPlatform(url) === null) {\n return false;\n }\n\n const parsed = parseGitUrl(url);\n return chartRepo.test(parsed.name);\n}\n\nexport function findHelmSourceUrl(release: OciHelmConfig): string | null {\n if (release.home && isPossibleChartRepo(release.home)) {\n return release.home;\n }\n\n if (!release.sources?.length) {\n return null;\n }\n\n for (const url of release.sources) {\n if (isPossibleChartRepo(url)) {\n return url;\n }\n }\n\n // fallback\n return release.sources[0];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgDA,MAAa,qBAAqB;AAElC,MAAa,gBAAgB;AAE7B,MAAa,cAAc;AAC3B,MAAa,eAAe,CAAC,aAAa,0BAA0B;AAEpE,MAAa,cAAc;AAE3B,MAAa,aAAa;AAE1B,SAAgB,aAAa,MAAuB;CAElD,OADc,MAAM,qBACT,CAAC,CAAC,KAAK,IAAI;AACxB;AAEA,eAAsB,eACpB,MACA,cACA,kBACA,cAAc,GAAG,aAAa,OACY;CAC1C,IAAI;EACF,MAAM,UAAU;GACd,iBAAiB;GACjB,QAAQ;GACR,eAAe;EACjB;EAIA,IAAI;EACJ,IAAI,YAAY,SAAS,MAAM,GAC7B,mBAAmB,MAAM,KAAK,IAAI,aAAa,OAAO;OAItD,mBAAmB,MAAM,KAAK,iBAAiB,aAAa,OAAO;EAGrE,IAAI,KAAK,gBAAgB,GAAG;GAC1B,OAAO,MAAM,iCAAiC,aAAa;GAC3D,OAAO,CAAC;EACV;EACA,IAAI,WAAW,gBAAgB,GAAG;GAChC,OAAO,MAAM,kBAAkB,aAAa;GAE5C,MAAM,IAAI,MAAM,oBAAoB;EACtC;EAKA,IAAI,wBAAwB,gBAAgB,GAAG;GAC7C,OAAO,MACL,EAAE,YAAY,GACd,oFACF;GACA,OAAO,eAAe,MAAM,cAAc,gBAAgB;EAC5D;EACA,IAAI,2BAA2B,gBAAgB,GAC7C,MAAM,IAAI,kCACR,IAAI,MACF,uBAAuB,YAAY,sBAAsB,iBAAiB,YAC5E,CACF;EAEF,IACE,CAAC,eAAe,gBAAgB,KAChC,CAAC,iBAAiB,iBAAiB,QAAQ,mBAAmB,GAC9D;GACA,OAAO,KACL;IACE;IACA,YAAY,iBAAiB;IAC7B,KAAK;GACP,GACA,2BACF;GACA;EACF;EAEA,MAAM,OAAOA,KAAe;GAC1B,UAAU;GACV,KAAK;EACP,CAAC;EACD,MAAM,OAAoB,CAAC;EAE3B,IAAI,SAAS,KAAK,YAAY,GAAG;GAC/B,OAAO,KAAK,MAAM,2BAA2B,cAAc;GAC3D,OAAO,MACL;IAAE;IAAc;GAAiB,GACjC,oCACF;GACA,MAAM,GAAG,UAAU,YAAY,SAAS,KAAK,YAAY,CAAC;GAC1D,MAAM,OAAO,MAAM,gBAAgB,QAAQ,IAAI;GAC/C,IAAI,MACF,KAAK,UAAU,EAAE,eAAe,SAAS,OAAO;EAEpD,OAAO,IACL,YAAY,KAAK,YAAY,KAC7B,YAAY,KAAK,QAAQ,KACzB,YAAY,KAAK,QAAQ,KACzB,YAAY,KAAK,KAAK,GACtB;GACA,OAAO,KAAK,MAAM,8BAA8B,cAAc;GAC9D,OAAO,MACL;IAAE;IAAc;GAAiB,GACjC,uCACF;GACA,MAAM,OAAO,MAAM,mBAAmB;GACtC,IAAI,MACF,KAAK,UAAU,EAAE,eAAe,SAAS,OAAO;QAEhD,OAAO,KAAK,MACV;IAAE;IAAc;GAAiB,GACjC,kDACF;EAEJ,OAAO,IAAI,KAAK,YAAY,KAAK,UAAU;GACzC,OAAO,KAAK,MAAM,6BAA6B,cAAc;GAC7D,OAAO,MACL;IAAE;IAAc;GAAiB,GACjC,sCACF;GAIA,KAAK,UAAU,EAAE,eAAe,SAHnB,OAAO,KAAK,GAAG,KAAK,SAAS,GAAG,KAAK,UAAU,CAAC,CAAC,SAC5D,QAE0C,IAAI;EAClD,OAAO,IAAI,KAAK,OAAO;GACrB,MAAM,WAAW,KAAK,YAAY;GAClC,OAAO,KAAK,MACV,cAAc,SAAS,kBAAkB,cAC3C;GACA,OAAO,MACL;IAAE;IAAc;GAAiB,GACjC,SAAS,SAAS,2BACpB;GACA,KAAK,UAAU,EAAE,eAAe,GAAG,SAAS,GAAG,KAAK,QAAQ;EAC9D;EAGA,MAAM,qBADa,MAAM,iBAAiB,QAAQ,mBACd,CAAC,CAAC,MACnC,MAA4B,EAAE,WAAW,YAC5C;EASA,IACE,CAAC,sBACD,CAAC,SAAS,mBAAmB,QAAQ,KAAK,KAC1C,SAAS,mBAAmB,OAAO,KAAK,MAAM,MAC9C;GACA,OAAO,KAAK,MAAM,sCAAsC,cAAc;GACtE,OAAO,MACL;IAAE;IAAc;IAAkB;GAAmB,GACrD,oCACF;GACA,OAAO,KAAK,WAAW,KAAA;EACzB;EAGA,MAAM,UAAU,SAAS,GAAG,mBAAmB,OAAO,OAAO;EAG7D,IACE,SAAS,mBAAmB,OAAO,KAAK,KACxC,CAAC,YAAY,SAAS,MAAM,GAE5B,QAAQ,aAAa,OAAO,SAAS,mBAAmB,OAAO,KAAK;OAEpE,QAAQ,aAAa,OACnB,SACA,cAAc,iBAAiB,MACjC;EAGF,IAAI,SAAS,mBAAmB,OAAO,OAAO,GAC5C,QAAQ,aAAa,OAAO,WAAW,mBAAmB,OAAO,OAAO;EAG1E,OAAO,MACL;GAAE;GAAc;GAAkB,SAAS,QAAQ;EAAK,GACxD,iCACF;EACA,KAAK,SAAS;EACd,KAAK,gBAAgB;EACrB,MAAM,gBACJ,MAAM,KAAK,QAAQ,QAAQ,MAAM,MAAM,iBAAiB,EAAA,CACxD;EAEF,MAAM,QAAQ,aAAa,SAAS,aAAa;;EAEjD,IAAI,CAAC,OAAO;GACV,OAAO,KAAK,wCAAwC;GACpD;EACF;EAEA,uBAAuB,KAAK;EAC5B,OAAO,EACL,eAAe,UAAU,QAC3B;CACF,SAAS,gCAAgC;EACvC,IAAI,eAAe,mBACjB,MAAM;;EAGR,IAAI,IAAI,SAAS,WAEf;;EAGF,IAAI,eAAe,GAAG,GAAG;GACvB,OAAO,MACL;IAAE;IAAc;GAAiB,GACjC,4BACF;GACA,OAAO,MAAM,EAAE,IAAI,CAAC;GACpB;EACF;;EAEA,IAAI,YAAY,GAAG,GAAG;GACpB,OAAO,MACL;IAAE;IAAc;GAAiB,GACjC,uCACF;GACA,OAAO,MAAM,EAAE,IAAI,CAAC;GACpB;EACF;EACA,IAAI,IAAI,SAAS,kBAAkB,aAAa,YAAY,GAC1D,MAAM,IAAI,kBAAkB,GAAG;;EAGjC,IAAI,cAAc,GAAG,KAAK,aAAa,YAAY,GACjD,MAAM,IAAI,kBAAkB,GAAG;;EAGjC,IAAI,cAAc,GAAG,GACnB,MAAM,IAAI,kBAAkB,GAAG;EAEjC,IAAI,IAAI,YAAA,kBACN,MAAM;;EAGR,IAAI,CAAA,gBAAA,eAA4B,CAAC,CAAC,SAAS,IAAI,OAAO,GAAG;GACvD,OAAO,MACL;IAAE;IAAc;IAAkB;GAAI,GACtC,mBAAmB,GAAG,CACxB;GACA;EACF;EACA,OAAO,KACL;GAAE;GAAc;GAAkB;EAAI,GACtC,8BACF;EACA;CACF;AACF;AAEA,SAAgB,sBACd,aACA,aACoB;CACpB,IAAI,gBAAA,2BAA4B;EAC9B,MAAM,0BAA0B,oBAC9B,YAAY,QAAQ,MAAM,cAAc,GAAG,EAAE,CAC/C;EACA,IAAI,YAAY,WAAW,uBAAuB,GAAG;GACnD,IAAI,eAAe,kBAAkB,WAAW;GAChD,IAAI,CAAC,MAAM,cAAc,CAAC,CAAC,KAAK,YAAY,GAC1C,eAAe,WAAW;GAE5B,IAAI,mBAAmB,YAAY,QAAQ,yBAAyB,EAAE;GACtE,MAAM,UAAU,GAAG,aAAa,GAAG;GACnC,MAAM,gBAAgB,SAAS,OAAO;GACtC,IAAI,CAAC,eACH,OAAO;IAAE;IAAc;GAAiB;GAE1C,eAAe,cAAc;GAC7B,mBAAmB,cAAc,SAAS,UAAU,CAAC;GACrD,OAAO;IACL;IACA;GACF;EACF;CACF;CACA,IAAI,eAAe;CACnB,MAAM,QAAQ,YAAY,MAAM,GAAG;CACnC,MAAM,kBAAkB,MAAM,EAAE,CAAC,SAAS,GAAG,KAAK,MAAM,EAAE,CAAC,SAAS,GAAG;CACvE,IAAI,MAAM,SAAS,KAAK,iBAAiB;EACvC,CAAC,gBAAgB;EACjB,MAAM,MAAM;CACd;CACA,IAAI,mBAAmB,MAAM,KAAK,GAAG;CAErC,IAAI,CAAC,MAAM,cAAc,CAAC,CAAC,KAAK,YAAY,GAC1C,eAAe,WAAW;CAG5B,MAAM,EAAE,MAAM,SAAS,aACrB,MAAM,yCAAyC,CAAC,CAAC,KAAK,YAAY,CAAC,EAAE,MACvE;CACA,IAAI,QAAQ,MAAM;EAChB,eAAe;EACf,mBAAmB,GAAG,kBAAkB,IAAI,EAAE,GAAG;CACnD;CAEA,eAAe,aACZ,QAAQ,qBAAqB,yBAAyB,CAAC,CACvD,QAAQ,gCAAgC,yBAAyB;CAMpE,IAJaA,KAAe;EAC1B,UAAA;EACA,KAAK;CACP,CACO,CAAC,EAAE,kBACR,eAAe,aAAa,QAAQ,SAAS,MAAM;CAErD,IAAI,aAAa,SAAS,YAAY,KAAK,CAAC,iBAAiB,SAAS,GAAG,GACvE,mBAAmB,WAAW;CAEhC,OAAO;EACL;EACA;CACF;AACF;AAEA,SAAgB,8BACd,kBACQ;CACR,OAAO,UAAU,SAAS,iBAAiB,IAAI;AACjD;AAEA,SAAgB,iBAAiB,MAA+B;CAC9D,IAAI,SAAwB;CAE5B,KAAK,MAAM,OAAO,MAAM;EACtB,IAAI,CAACC,IAAiB,QAAQ,GAAG,KAAK,CAACA,IAAiB,SAAS,GAAG,GAClE;EAGF,IAAI,CAAC,UAAUA,IAAiB,cAAc,KAAK,MAAM,GACvD,SAAS;CAEb;CAEA,OAAO;AACT;AAEA,MAAM,YAAY,MAAM,4BAA4B;AAEpD,SAAS,oBAAoB,KAAsB;CACjD,IAAI,eAAe,GAAG,MAAM,MAC1B,OAAO;CAGT,MAAM,SAAS,YAAY,GAAG;CAC9B,OAAO,UAAU,KAAK,OAAO,IAAI;AACnC;AAEA,SAAgB,kBAAkB,SAAuC;CACvE,IAAI,QAAQ,QAAQ,oBAAoB,QAAQ,IAAI,GAClD,OAAO,QAAQ;CAGjB,IAAI,CAAC,QAAQ,SAAS,QACpB,OAAO;CAGT,KAAK,MAAM,OAAO,QAAQ,SACxB,IAAI,oBAAoB,GAAG,GACzB,OAAO;CAKX,OAAO,QAAQ,QAAQ;AACzB"}
@@ -9,5 +9,4 @@ export declare function getPkgReleases(config: GetPkgReleasesConfig): Promise<Re
9
9
  export declare function supportsDigests(datasource: string | undefined): boolean;
10
10
  export declare function getDigest(config: GetDigestInputConfig, value?: string): Promise<string | null>;
11
11
  export declare function getDefaultConfig(datasource: string): Promise<Record<string, unknown>>;
12
- export { DatasourceApi, DigestConfig, GetDigestInputConfig, GetPkgReleasesConfig, GetReleasesConfig, GitHostTag, PostprocessReleaseConfig, PostprocessReleaseResult, RegistryStrategy, RegistryUrlsConfig, Release, ReleaseResult, ReleaseTags, SourceUrlSupport, isGetPkgReleasesConfig };
13
- //# sourceMappingURL=index.d.ts.map
12
+ export { DatasourceApi, DigestConfig, GetDigestInputConfig, GetPkgReleasesConfig, GetReleasesConfig, GitHostTag, PostprocessReleaseConfig, PostprocessReleaseResult, RegistryStrategy, RegistryUrlsConfig, Release, ReleaseResult, ReleaseTags, SourceUrlSupport, isGetPkgReleasesConfig };
@@ -1,5 +1,5 @@
1
- import changelog_urls_default from "../../data/changelog-urls.js";
2
- import source_urls_default from "../../data/source-urls.js";
1
+ import changelog_urls_default from "../../data/changelog-urls.json.js";
2
+ import source_urls_default from "../../data/source-urls.json.js";
3
3
  // lib/modules/datasource/metadata-manual.ts
4
4
  const { $schema: _changelogSchema, ...changelogUrls } = changelog_urls_default;
5
5
  const manualChangelogUrls = changelogUrls;
@@ -121,5 +121,4 @@ export declare const NpmResponse: z.ZodObject<{
121
121
  time: z.ZodOptional<z.ZodType<Record<string, string>, any, z.core.$ZodTypeInternals<Record<string, string>, any>>>;
122
122
  'dist-tags': z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
123
123
  }, z.core.$strip>;
124
- export type NpmResponse = z.infer<typeof NpmResponse>;
125
- //# sourceMappingURL=schema.d.ts.map
124
+ export type NpmResponse = z.infer<typeof NpmResponse>;
@@ -221,5 +221,4 @@ export interface DatasourceApi extends ModuleApi {
221
221
  * In other cases, the original `Release` parameter should be returned.
222
222
  */
223
223
  postprocessRelease?(config: PostprocessReleaseConfig, release: Release): Promise<PostprocessReleaseResult>;
224
- }
225
- //# sourceMappingURL=types.d.ts.map
224
+ }
@@ -19,5 +19,4 @@ export interface JSONataManagerTemplates {
19
19
  export interface JSONataManagerConfig extends JSONataManagerTemplates {
20
20
  fileFormat: string;
21
21
  matchStrings: string[];
22
- }
23
- //# sourceMappingURL=types.d.ts.map
22
+ }
@@ -15,5 +15,4 @@ export interface RegexManagerConfig extends RegexManagerTemplates {
15
15
  matchStrings: string[];
16
16
  matchStringsStrategy?: MatchStringsStrategy;
17
17
  autoReplaceStringTemplate?: string;
18
- }
19
- //# sourceMappingURL=types.d.ts.map
18
+ }
@@ -6,5 +6,4 @@ export type CustomManagerName = 'jsonata' | 'regex';
6
6
  export interface CustomManager extends Partial<RegexManagerConfig>, Partial<JSONataManagerConfig> {
7
7
  customType: CustomManagerName;
8
8
  managerFilePatterns: string[];
9
- }
10
- //# sourceMappingURL=types.d.ts.map
9
+ }
@@ -1,2 +1 @@
1
- export declare const hashMap: Map<string, string>;
2
- //# sourceMappingURL=fingerprint.generated.d.ts.map
1
+ export declare const hashMap: Map<string, string>;
@@ -24,5 +24,4 @@ export declare function isKnownManager(mgr: string): boolean;
24
24
  * is not provided or is an empty array, it returns the full list of managers.
25
25
  */
26
26
  export declare function getEnabledManagersList(enabledManagers?: string[]): string[];
27
- export { hashMap };
28
- //# sourceMappingURL=index.d.ts.map
27
+ export { hashMap };
@@ -1,4 +1,4 @@
1
- import java_version_lts_default from "../../../data/java-version-lts.js";
1
+ import java_version_lts_default from "../../../data/java-version-lts.json.js";
2
2
  import { logger } from "../../../logger/index.js";
3
3
  import { readLocalFile } from "../../../util/fs/index.js";
4
4
  import { coerceObject } from "../../../util/object.js";
@@ -1,4 +1,4 @@
1
- import mise_registry_default from "../../../data/mise-registry.js";
1
+ import mise_registry_default from "../../../data/mise-registry.json.js";
2
2
  import { coerceObject } from "../../../util/object.js";
3
3
  import { regEx } from "../../../util/regex.js";
4
4
  import { GithubReleasesDatasource } from "../../datasource/github-releases/index.js";
@@ -552,5 +552,4 @@ export interface PostUpdateConfig<T = unknown> extends Record<string, any>, Mana
552
552
  toolSettings?: RepoToolSettingsOptions;
553
553
  minimumReleaseAge?: Nullish<string>;
554
554
  isLockFileMaintenance?: boolean;
555
- }
556
- //# sourceMappingURL=types.d.ts.map
555
+ }
@@ -33,5 +33,4 @@ export declare function ensureComment({ number, topic, content }: EnsureCommentC
33
33
  export declare function ensureCommentRemoval(deleteConfig: EnsureCommentRemovalConfig): Promise<void>;
34
34
  export declare function createPr({ sourceBranch, targetBranch, prTitle: title, prBody: description, draftPR, platformPrOptions }: CreatePRConfig): Promise<Pr>;
35
35
  export declare function updatePr({ number: prNo, prTitle: title, prBody: description, state, targetBranch }: UpdatePrConfig): Promise<void>;
36
- export declare function mergePr({ branchName, id: prNo, strategy: mergeStrategy }: MergePRConfig): Promise<boolean>;
37
- //# sourceMappingURL=index.d.ts.map
36
+ export declare function mergePr({ branchName, id: prNo, strategy: mergeStrategy }: MergePRConfig): Promise<boolean>;
@@ -43,5 +43,4 @@ export declare function mergePr({ branchName, id: prNo }: MergePRConfig): Promis
43
43
  export declare function expandGroupMembers(reviewers: string[]): Promise<string[]>;
44
44
  export declare function extractRulesFromCodeOwnersLines(cleanedLines: string[]): FileOwnerRule[];
45
45
  export declare function massageMarkdown(input: string): string;
46
- export declare function maxBodyLength(): number;
47
- //# sourceMappingURL=index.d.ts.map
46
+ export declare function maxBodyLength(): number;
@@ -2,5 +2,4 @@ import { Pr } from "../types.js";
2
2
  import "got";
3
3
  export interface BbsPr extends Pr {
4
4
  version?: number;
5
- }
6
- //# sourceMappingURL=types.d.ts.map
5
+ }
@@ -157,5 +157,4 @@ export declare const GithubVulnerabilityAlerts: z.ZodPipe<z.ZodType<{
157
157
  };
158
158
  }[]>>;
159
159
  export type GithubVulnerabilityAlerts = z.infer<typeof GithubVulnerabilityAlerts>;
160
- export type GithubVulnerabilityAlert = GithubVulnerabilityAlerts[number];
161
- //# sourceMappingURL=schema.d.ts.map
160
+ export type GithubVulnerabilityAlert = GithubVulnerabilityAlerts[number];
@@ -1,3 +1,2 @@
1
1
  import { FileOwnerRule } from "../types.js";
2
- export declare function extractRulesFromCodeOwnersLines(cleanedLines: string[]): FileOwnerRule[];
3
- //# sourceMappingURL=code-owners.d.ts.map
2
+ export declare function extractRulesFromCodeOwnersLines(cleanedLines: string[]): FileOwnerRule[];
@@ -49,5 +49,4 @@ export declare function ensureComment({ number, topic, content }: EnsureCommentC
49
49
  export declare function ensureCommentRemoval(deleteConfig: EnsureCommentRemovalConfig): Promise<void>;
50
50
  export declare function filterUnavailableUsers(users: string[]): Promise<string[]>;
51
51
  export declare function expandGroupMembers(reviewersOrAssignees: string[]): Promise<string[]>;
52
- export { extractRulesFromCodeOwnersLines };
53
- //# sourceMappingURL=index.d.ts.map
52
+ export { extractRulesFromCodeOwnersLines };
@@ -9,5 +9,4 @@ export interface GitlabPr extends Pr {
9
9
  headPipelineStatus?: string;
10
10
  headPipelineSha?: string;
11
11
  headPipelineSource?: string;
12
- }
13
- //# sourceMappingURL=types.d.ts.map
12
+ }
@@ -5,5 +5,4 @@ export declare function getPlatformList(): string[];
5
5
  export declare const platform: Platform;
6
6
  export declare function setPlatformApi(name: PlatformId): void;
7
7
  export declare function initPlatform(config: AllConfig): Promise<AllConfig>;
8
- export type { AutodiscoverConfig, BranchStatusConfig, CancelPlatformAutomergeConfig, CreatePRConfig, EnsureCommentConfig, EnsureCommentRemovalConfig, EnsureCommentRemovalConfigByContent, EnsureCommentRemovalConfigByTopic, EnsureIssueConfig, EnsureIssueResult, FileOwnerRule, FindPRConfig, GitUrlOption, Issue, MergePRConfig, Platform, PlatformParams, PlatformPrOptions, PlatformResult, PlatformScm, Pr, PrBodyStruct, PrDebugData, ReattemptPlatformAutomergeConfig, RepoConfigParams, RepoParams, RepoResult, RepoSortMethod, SortMethod, StatusCheckConfig, UpdatePrConfig, VulnerabilityAlert };
9
- //# sourceMappingURL=index.d.ts.map
8
+ export type { AutodiscoverConfig, BranchStatusConfig, CancelPlatformAutomergeConfig, CreatePRConfig, EnsureCommentConfig, EnsureCommentRemovalConfig, EnsureCommentRemovalConfigByContent, EnsureCommentRemovalConfigByTopic, EnsureIssueConfig, EnsureIssueResult, FileOwnerRule, FindPRConfig, GitUrlOption, Issue, MergePRConfig, Platform, PlatformParams, PlatformPrOptions, PlatformResult, PlatformScm, Pr, PrBodyStruct, PrDebugData, ReattemptPlatformAutomergeConfig, RepoConfigParams, RepoParams, RepoResult, RepoSortMethod, SortMethod, StatusCheckConfig, UpdatePrConfig, VulnerabilityAlert };
@@ -314,5 +314,4 @@ export interface PlatformScm {
314
314
  mergeToLocal(branchName: string): Promise<void>;
315
315
  mergeAndPush(branchName: string): Promise<void>;
316
316
  syncForkWithUpstream?(baseBranch: string): Promise<void>;
317
- }
318
- //# sourceMappingURL=types.d.ts.map
317
+ }
@@ -21,5 +21,4 @@ export declare abstract class GenericVersioningApi<T extends GenericVersion = Ge
21
21
  sortVersions(version: string, other: string): number;
22
22
  matches(version: string, range: string): boolean;
23
23
  isSame(type: 'major' | 'minor' | 'patch', a: string, b: string): boolean;
24
- }
25
- //# sourceMappingURL=generic.d.ts.map
24
+ }
@@ -7,5 +7,4 @@ export declare function getVersioningList(): string[];
7
7
  */
8
8
  export declare function getVersionings(): Map<string, VersioningApi | VersioningApiConstructor>;
9
9
  export declare function get(versioning: string | null | undefined): VersioningApi;
10
- export { DistroDataFile, DistroInfoRecord, DistroInfoRecordWithVersion, DistroSchedule, GenericVersion, NewValueConfig, RangeComparator, VersionComparator, VersionParser, VersioningApi, VersioningApiConstructor };
11
- //# sourceMappingURL=index.d.ts.map
10
+ export { DistroDataFile, DistroInfoRecord, DistroInfoRecordWithVersion, DistroSchedule, GenericVersion, NewValueConfig, RangeComparator, VersionComparator, VersionParser, VersioningApi, VersioningApiConstructor };
@@ -1,4 +1,4 @@
1
- import node_js_schedule_default from "../../../data/node-js-schedule.js";
1
+ import node_js_schedule_default from "../../../data/node-js-schedule.json.js";
2
2
  import { api } from "../semver/index.js";
3
3
  // lib/modules/versioning/node/schedule.ts
4
4
  const nodeSchedule = node_js_schedule_default;
@@ -9,5 +9,4 @@ export declare const supportsRanges = false;
9
9
  declare function getSatisfyingVersion(versions: string[], range: string): string | null;
10
10
  export declare function isVersion(input: string): boolean;
11
11
  export declare const api: VersioningApi;
12
- export { api as default, getSatisfyingVersion, index_d_exports, isVersion as isValid };
13
- //# sourceMappingURL=index.d.ts.map
12
+ export { api as default, getSatisfyingVersion, index_d_exports, isVersion as isValid };
@@ -161,5 +161,4 @@ export type VersioningApiConstructor = new (config?: string) => VersioningApi;
161
161
  export interface RangeComparator {
162
162
  operator: string;
163
163
  version: string;
164
- }
165
- //# sourceMappingURL=types.d.ts.map
164
+ }
@@ -4,5 +4,4 @@ export declare const displayName = "Ubuntu";
4
4
  export declare const urls: string[];
5
5
  export declare const supportsRanges = false;
6
6
  export declare const api: VersioningApi;
7
- export { api as default };
8
- //# sourceMappingURL=index.d.ts.map
7
+ export { api as default };
package/dist/proxy.d.ts CHANGED
@@ -1,3 +1,2 @@
1
1
  export declare function bootstrap(): void;
2
- export declare function hasProxy(): boolean;
3
- //# sourceMappingURL=proxy.d.ts.map
2
+ export declare function hasProxy(): boolean;
@@ -1,3 +1 @@
1
- import { require_punycode } from "./punycode.js";
2
- import "source-map-support/register.js";
3
- //# sourceMappingURL=renovate.d.ts.map
1
+ import "source-map-support/register.js";
@@ -3,5 +3,4 @@ export interface ModuleApi {
3
3
  url?: string;
4
4
  /** optional URLs to add to docs as references */
5
5
  urls?: string[];
6
- }
7
- //# sourceMappingURL=base.d.ts.map
6
+ }
@@ -1,2 +1 @@
1
- export type BranchStatus = 'green' | 'yellow' | 'red';
2
- //# sourceMappingURL=branch-status.d.ts.map
1
+ export type BranchStatus = 'green' | 'yellow' | 'red';
@@ -2,5 +2,4 @@ export interface CommitMessageJSON {
2
2
  body?: string;
3
3
  footer?: string;
4
4
  subject?: string;
5
- }
6
- //# sourceMappingURL=commit-message-json.d.ts.map
5
+ }
@@ -1,3 +1,2 @@
1
1
  export type GitProtocol = 'ssh' | 'http' | 'https';
2
- export type GitOptions = Record<string, null | string | number>;
3
- //# sourceMappingURL=git.d.ts.map
2
+ export type GitOptions = Record<string, null | string | number>;
@@ -57,5 +57,4 @@ export interface InternalHostGrant {
57
57
  export type CombinedHostRule = Omit<HostRule, 'encrypted' | 'hostType' | 'matchHost' | 'resolvedHost' | 'readOnly' | 'allowInternal'> & {
58
58
  /** computed by `find()` - see {@link InternalHostGrant} */
59
59
  internalHostGrant?: InternalHostGrant;
60
- };
61
- //# sourceMappingURL=host-rules.d.ts.map
60
+ };
@@ -31,5 +31,4 @@ export type MaybePromise<T> = T | Promise<T>;
31
31
  * type IsBroken = Extends<AutoMergeType, 'pr' | 'branch' | 'oh-no' >; // This will give a typescript error
32
32
  */
33
33
  export type Extends<T, U extends T> = U;
34
- export type { BranchCache, BranchResult, BranchStatus, BranchUpgradeCache, BunyanRecord, CombinedHostRule, CommitMessageJSON, HostRule, InternalHostGrant, MergeStrategy, ModuleApi, PrBlockedBy, PrState, ProcessResult, ProcessStatus, RangeStrategy, RenovateSplit, RepositoryResult, SkipReason, StageName, UpdateType, ValidationMessage };
35
- //# sourceMappingURL=index.d.ts.map
34
+ export type { BranchCache, BranchResult, BranchStatus, BranchUpgradeCache, BunyanRecord, CombinedHostRule, CommitMessageJSON, HostRule, InternalHostGrant, MergeStrategy, ModuleApi, PrBlockedBy, PrState, ProcessResult, ProcessStatus, RangeStrategy, RenovateSplit, RepositoryResult, SkipReason, StageName, UpdateType, ValidationMessage };
@@ -1,2 +1 @@
1
- export type PrState = 'merged' | 'open' | 'closed' | 'all' | '!open';
2
- //# sourceMappingURL=pr-state.d.ts.map
1
+ export type PrState = 'merged' | 'open' | 'closed' | 'all' | '!open';
@@ -21,5 +21,4 @@ export type StageName = 'current-timestamp' | 'datasource-merge' | 'extract' | '
21
21
  /**
22
22
  * The update was skipped during one of the Enrichment modules.
23
23
  */
24
- 'enrichment';
25
- //# sourceMappingURL=skip-reason.d.ts.map
24
+ 'enrichment';
@@ -1,2 +1 @@
1
- export type RangeStrategy = 'auto' | 'bump' | 'future' | 'pin' | 'replace' | 'update-lockfile' | 'in-range-only' | 'widen';
2
- //# sourceMappingURL=versioning.d.ts.map
1
+ export type RangeStrategy = 'auto' | 'bump' | 'future' | 'pin' | 'replace' | 'update-lockfile' | 'in-range-only' | 'widen';
@@ -6,5 +6,4 @@ export declare function init(config: AllConfig): Promise<void>;
6
6
  export declare function get<T = unknown>(namespace: PackageCacheNamespace, key: string): Promise<T | undefined>;
7
7
  export declare function set(namespace: PackageCacheNamespace, key: string, value: unknown, hardTtlMinutes: number): Promise<void>;
8
8
  export declare function destroy(): Promise<void>;
9
- export {};
10
- //# sourceMappingURL=backend.d.ts.map
9
+ export {};
@@ -13,5 +13,4 @@ export declare function set(namespace: PackageCacheNamespace, key: string, value
13
13
  */
14
14
  export declare function setWithRawTtl(namespace: PackageCacheNamespace, key: string, value: unknown, hardTtlMinutes: number): Promise<void>;
15
15
  export declare function init(config: AllConfig): Promise<void>;
16
- export declare function cleanup(_config: AllConfig): Promise<void>;
17
- //# sourceMappingURL=index.d.ts.map
16
+ export declare function cleanup(_config: AllConfig): Promise<void>;
@@ -1,3 +1,2 @@
1
1
  export declare const packageCacheNamespaces: readonly ['_test-namespace', 'changelog-bitbucket-notes@v2', 'changelog-bitbucket-release', 'changelog-bitbucket-server-notes@v2', 'changelog-bitbucket-server-release', 'changelog-forgejo-notes@v2', 'changelog-forgejo-release', 'changelog-gitea-notes@v2', 'changelog-gitea-release', 'changelog-github-notes@v2', 'changelog-github-release', 'changelog-gitlab-notes@v2', 'changelog-gitlab-release', 'datasource-apk', 'datasource-artifactory', 'datasource-aws-machine-image', 'datasource-aws-rds', 'datasource-aws-eks-addon', 'datasource-azure-bicep-resource', 'datasource-azure-pipelines-tasks', 'datasource-azure-tags', 'datasource-bazel', 'datasource-bitbucket-tags', 'datasource-bitbucket-server-tags', 'datasource-bitrise', 'datasource-buildpacks-registry', 'datasource-cdnjs', 'datasource-conan', 'datasource-conda', 'datasource-cpan', 'datasource-crate-metadata', 'datasource-crate-registry-api', 'datasource-crate', 'datasource-deb', 'datasource-deno', 'datasource-docker-architecture', 'datasource-docker-hub-cache', 'datasource-docker-digest', 'datasource-docker-hub-tags', 'datasource-docker-imageconfig', 'datasource-docker-labels', 'datasource-docker-releases-v2', 'datasource-docker-tags', 'datasource-dotnet-version', 'datasource-elm-package', 'datasource-endoflife-date', 'datasource-galaxy-collection', 'datasource-galaxy', 'datasource-git-refs', 'datasource-git-tags', 'datasource-git', 'datasource-forgejo-releases', 'datasource-forgejo-tags', 'datasource-gitea-releases', 'datasource-gitea-tags', 'datasource-github-digest', 'datasource-github-release-attachments', 'datasource-gitlab-packages', 'datasource-gitlab-releases', 'datasource-gitlab-tags', 'datasource-glasskube-packages', 'datasource-go-direct', 'datasource-go-proxy-timestamps', 'datasource-go-proxy', 'datasource-go', 'datasource-golang-version', 'datasource-gradle-version', 'datasource-helm', 'datasource-hermit', 'datasource-hex', 'datasource-hexpm-bob', 'datasource-java-version', 'datasource-jenkins-plugins', 'datasource-jsr', 'datasource-julia-general-metadata', 'datasource-maven:cache-provider', 'datasource-maven:metadata-not-found', 'datasource-maven:pom-cache-provider', 'datasource-maven:postprocess-reject', 'datasource-nextcloud', 'datasource-node-version', 'datasource-npm:cache-provider', 'datasource-nuget-v3', 'datasource-orb', 'datasource-packagist', 'datasource-pod', 'datasource-python-version', 'datasource-repology', 'datasource-rpm', 'datasource-ruby-version', 'datasource-rubygems', 'datasource-rust-version', 'datasource-sbt-package', 'datasource-terraform-module', 'datasource-terraform-provider', 'datasource-terraform', 'datasource-typst:cache-provider', 'datasource-typst:registry-releases', 'datasource-unity3d', 'datasource-unity3d-packages', 'github-branches-datasource-v1', 'github-releases-datasource-v2', 'github-tags-datasource-v2', 'merge-confidence', 'preset', 'terraform-provider-hash', 'url-sha256'];
2
- export type PackageCacheNamespace = (typeof packageCacheNamespaces)[number] | `datasource-releases-${string}`;
3
- //# sourceMappingURL=namespaces.d.ts.map
2
+ export type PackageCacheNamespace = (typeof packageCacheNamespaces)[number] | `datasource-releases-${string}`;
@@ -179,5 +179,4 @@ export interface RepoCacheConfig {
179
179
  repositoryCache?: RepositoryCacheConfig;
180
180
  repositoryCacheType?: RepositoryCacheType;
181
181
  repoFingerprint: string;
182
- }
183
- //# sourceMappingURL=types.d.ts.map
182
+ }
@@ -3,5 +3,4 @@ export declare function compressToBuffer(input: string, quality?: number): Promi
3
3
  export declare function decompressFromBuffer(input: Buffer): Promise<string>;
4
4
  export declare function compressToBase64(input: string): Promise<string>;
5
5
  export declare function decompressFromBase64(input: string): Promise<string>;
6
- export declare function createDecompressStream(input: Readable): Promise<Readable>;
7
- //# sourceMappingURL=compress.d.ts.map
6
+ export declare function createDecompressStream(input: Readable): Promise<Readable>;
@@ -1,4 +1,3 @@
1
1
  import { CommandWithOptions, ExecResult, RawExecOptions } from "./types.js";
2
2
  export declare function exec(commandArgument: string | CommandWithOptions, opts: RawExecOptions): Promise<ExecResult>;
3
- export declare function rawExec(cmd: string | CommandWithOptions, opts: RawExecOptions): Promise<ExecResult>;
4
- //# sourceMappingURL=common.d.ts.map
3
+ export declare function rawExec(cmd: string | CommandWithOptions, opts: RawExecOptions): Promise<ExecResult>;
@@ -16,5 +16,4 @@ export declare class ExecError extends Error {
16
16
  signal?: NodeJS.Signals;
17
17
  err?: Error;
18
18
  constructor(message: string, data: ExecErrorData, err?: Error);
19
- }
20
- //# sourceMappingURL=exec-error.d.ts.map
19
+ }
@@ -161,5 +161,4 @@ export interface CommandWithOptions {
161
161
  * **/
162
162
  shell?: boolean | string;
163
163
  }
164
- export {};
165
- //# sourceMappingURL=types.d.ts.map
164
+ export {};
@@ -1,5 +1,4 @@
1
1
  import "../exec/utils.js";
2
2
  import { GitNoVerifyOption } from "./types.js";
3
- import { SimpleGitOptions } from "simple-git";
4
- export declare function setNoVerify(value: GitNoVerifyOption[]): void;
5
- //# sourceMappingURL=config.d.ts.map
3
+ import "simple-git";
4
+ export declare function setNoVerify(value: GitNoVerifyOption[]): void;
@@ -162,5 +162,4 @@ export declare function diffCommitTree(parentCommitSha: LongCommitSha, commitSha
162
162
  */
163
163
  export declare function syncForkWithUpstream(branchName: string): Promise<void>;
164
164
  export declare function getRemotes(): Promise<string[]>;
165
- export { setNoVerify, setPrivateKey };
166
- //# sourceMappingURL=index.d.ts.map
165
+ export { setNoVerify, setPrivateKey };
@@ -1,2 +1 @@
1
- export declare function setPrivateKey(key: string | undefined, passphrase: string | undefined): void;
2
- //# sourceMappingURL=private-key.d.ts.map
1
+ export declare function setPrivateKey(key: string | undefined, passphrase: string | undefined): void;
@@ -162,5 +162,4 @@ export type GitOperationType =
162
162
  * See also: https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain
163
163
  */
164
164
  'other';
165
- export type { StatusResult };
166
- //# sourceMappingURL=types.d.ts.map
165
+ export type { StatusResult };
@@ -97,5 +97,4 @@ export declare function findAll({ hostType }: {
97
97
  * @returns a deep copy of all host rules other than those registered by {@link detachUrlCredentials}
98
98
  */
99
99
  export declare function getAll(): HostRule[];
100
- export declare function clear(): void;
101
- //# sourceMappingURL=host-rules.d.ts.map
100
+ export declare function clear(): void;
@@ -3,5 +3,4 @@ export interface HttpCacheProvider {
3
3
  setCacheHeaders<T extends Pick<GotOptions, 'headers'>>(method: string, url: string, opts: T): Promise<void>;
4
4
  bypassServer<T>(method: string, url: string, ignoreSoftTtl?: boolean): Promise<HttpResponse<T> | null>;
5
5
  wrapServerResponse<T>(method: string, url: string, resp: HttpResponse<T>): Promise<HttpResponse<T>>;
6
- }
7
- //# sourceMappingURL=types.d.ts.map
6
+ }
@@ -1,2 +1 @@
1
- export declare class EmptyResultError extends Error {}
2
- //# sourceMappingURL=errors.d.ts.map
1
+ export declare class EmptyResultError extends Error {}
@@ -52,5 +52,4 @@ export declare class GithubHttp extends HttpBase<GithubHttpOptions> {
52
52
  */
53
53
  getRawTextFile(url: string, options?: InternalHttpOptions & GithubBaseHttpOptions): Promise<HttpResponse>;
54
54
  }
55
- export {};
56
- //# sourceMappingURL=github.d.ts.map
55
+ export {};
@@ -12,5 +12,4 @@ export declare class GitlabHttp extends HttpBase<GitlabHttpOptions> {
12
12
  protected requestJsonUnsafe<T = unknown>(method: HttpMethod, options: InternalJsonUnsafeOptions<GitlabHttpOptions>): Promise<HttpResponse<T>>;
13
13
  protected handleError(url: string | URL, _httpOptions: HttpOptions, err: Error): never;
14
14
  protected calculateRetryDelay(retryObject: RetryObject): number;
15
- }
16
- //# sourceMappingURL=gitlab.d.ts.map
15
+ }
@@ -1,6 +1,6 @@
1
1
  import { AsyncResult } from "../result.js";
2
2
  import { HttpMethod, HttpOptions, HttpResponse, SafeJsonError } from "./types.js";
3
- import { Options, OptionsInit, RetryObject } from "got";
3
+ import { Options, RetryObject } from "got";
4
4
  import { ZodType, z } from "zod/v4";
5
5
  import "type-fest";
6
6
  export interface InternalJsonUnsafeOptions<Opts extends HttpOptions = HttpOptions> {
@@ -101,5 +101,4 @@ export declare abstract class HttpBase<JSONOpts extends HttpOptions = HttpOption
101
101
  stream(url: string, options?: HttpOptions): NodeJS.ReadableStream;
102
102
  getToml<Schema extends ZodType<any, any, any>>(url: string, schema?: Schema): Promise<HttpResponse<z.infer<Schema>>>;
103
103
  getToml<Schema extends ZodType<any, any, any>>(url: string, options: JSONOpts, schema: Schema): Promise<HttpResponse<z.infer<Schema>>>;
104
- }
105
- //# sourceMappingURL=http.d.ts.map
104
+ }
@@ -6,5 +6,4 @@ export type GotLegacyError<E = unknown, T = unknown> = RequestError & {
6
6
  errors?: E[];
7
7
  };
8
8
  headers?: Record<string, T>;
9
- };
10
- //# sourceMappingURL=legacy.d.ts.map
9
+ };
@@ -92,5 +92,4 @@ export interface ConcurrencyLimitRule {
92
92
  matchHost: string;
93
93
  concurrency: number;
94
94
  }
95
- export type SafeJsonError = RequestError | ZodError | EmptyResultError;
96
- //# sourceMappingURL=types.d.ts.map
95
+ export type SafeJsonError = RequestError | ZodError | EmptyResultError;
@@ -1,2 +1 @@
1
- export declare const MERGE_CONFIDENCE: readonly ['low', 'neutral', 'high', 'very high'];
2
- //# sourceMappingURL=common.d.ts.map
1
+ export declare const MERGE_CONFIDENCE: readonly ['low', 'neutral', 'high', 'very high'];
@@ -1,3 +1,2 @@
1
1
  import { MERGE_CONFIDENCE } from "./common.js";
2
- export type MergeConfidence = (typeof MERGE_CONFIDENCE)[number];
3
- //# sourceMappingURL=types.d.ts.map
2
+ export type MergeConfidence = (typeof MERGE_CONFIDENCE)[number];
@@ -293,5 +293,4 @@ export declare class AsyncResult<T extends Val, E extends Val> implements Promis
293
293
  onValue(fn: (value: T) => void): AsyncResult<T, E>;
294
294
  onError(fn: (err: E) => void): AsyncResult<T, E>;
295
295
  }
296
- export {};
297
- //# sourceMappingURL=result.d.ts.map
296
+ export {};