renovate 40.11.7 → 40.11.8

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.
@@ -59,7 +59,7 @@ function isUnsupportedHostError(err) {
59
59
  }
60
60
  const cacheProvider = new package_http_cache_provider_1.PackageHttpCacheProvider({
61
61
  namespace: 'datasource-maven:cache-provider',
62
- ttlMinutes: 7 * 24 * 60,
62
+ ttlMinutes: 15,
63
63
  checkAuthorizationHeader: true,
64
64
  checkCacheControlHeader: false, // Maven doesn't respond with `cache-control` headers
65
65
  });
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/maven/util.ts"],"names":[],"mappings":"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","sourcesContent":["import { Readable } from 'node:stream';\nimport { GetObjectCommand } from '@aws-sdk/client-s3';\nimport { XmlDocument } from 'xmldoc';\nimport { HOST_DISABLED } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { type Http, HttpError } from '../../../util/http';\nimport { PackageHttpCacheProvider } from '../../../util/http/cache/package-http-cache-provider';\nimport type { HttpOptions, HttpResponse } from '../../../util/http/types';\nimport { regEx } from '../../../util/regex';\nimport { Result } from '../../../util/result';\nimport { getS3Client, parseS3Url } from '../../../util/s3';\nimport { streamToString } from '../../../util/streams';\nimport { asTimestamp } from '../../../util/timestamp';\nimport { ensureTrailingSlash, isHttpUrl, parseUrl } from '../../../util/url';\nimport { getGoogleAuthToken } from '../util';\nimport { MAVEN_REPO } from './common';\nimport type {\n DependencyInfo,\n MavenDependency,\n MavenFetchResult,\n MavenFetchSuccess,\n} from './types';\n\nfunction getHost(url: string): string | undefined {\n return parseUrl(url)?.host;\n}\n\nfunction isTemporaryError(err: HttpError): boolean {\n if (err.code === 'ECONNRESET') {\n return true;\n }\n\n if (err.response) {\n const status = err.response.statusCode;\n return status === 429 || (status >= 500 && status < 600);\n }\n\n return false;\n}\n\nfunction isHostError(err: HttpError): boolean {\n return err.code === 'ETIMEDOUT';\n}\n\nfunction isNotFoundError(err: HttpError): boolean {\n return err.code === 'ENOTFOUND' || err.response?.statusCode === 404;\n}\n\nfunction isPermissionsIssue(err: HttpError): boolean {\n const status = err.response?.statusCode;\n return status === 401 || status === 403;\n}\n\nfunction isConnectionError(err: HttpError): boolean {\n return (\n err.code === 'EAI_AGAIN' ||\n err.code === 'ERR_TLS_CERT_ALTNAME_INVALID' ||\n err.code === 'ECONNREFUSED'\n );\n}\n\nfunction isUnsupportedHostError(err: HttpError): boolean {\n return err.name === 'UnsupportedProtocolError';\n}\n\nconst cacheProvider = new PackageHttpCacheProvider({\n namespace: 'datasource-maven:cache-provider',\n ttlMinutes: 7 * 24 * 60,\n checkAuthorizationHeader: true,\n checkCacheControlHeader: false, // Maven doesn't respond with `cache-control` headers\n});\n\nexport async function downloadHttpProtocol(\n http: Http,\n pkgUrl: URL | string,\n opts: HttpOptions = {},\n): Promise<MavenFetchResult> {\n const url = pkgUrl.toString();\n const fetchResult = await Result.wrap<HttpResponse, Error>(\n http.getText(url, { ...opts, cacheProvider }),\n )\n .transform((res): MavenFetchSuccess => {\n const result: MavenFetchSuccess = { data: res.body };\n\n if (!res.authorization) {\n result.isCacheable = true;\n }\n\n const lastModified = asTimestamp(res?.headers?.['last-modified']);\n if (lastModified) {\n result.lastModified = lastModified;\n }\n\n return result;\n })\n .catch((err): MavenFetchResult => {\n /* v8 ignore start: never happens, needs for type narrowing */\n if (!(err instanceof HttpError)) {\n return Result.err({ type: 'unknown', err });\n } /* v8 ignore stop */\n\n const failedUrl = url;\n if (err.message === HOST_DISABLED) {\n logger.trace({ failedUrl }, 'Host disabled');\n return Result.err({ type: 'host-disabled' });\n }\n\n if (isNotFoundError(err)) {\n logger.trace({ failedUrl }, `Url not found`);\n return Result.err({ type: 'not-found' });\n }\n\n if (isHostError(err)) {\n logger.debug(`Cannot connect to host ${failedUrl}`);\n return Result.err({ type: 'host-error' });\n }\n\n if (isPermissionsIssue(err)) {\n logger.debug(\n `Dependency lookup unauthorized. Please add authentication with a hostRule for ${failedUrl}`,\n );\n return Result.err({ type: 'permission-issue' });\n }\n\n if (isTemporaryError(err)) {\n logger.debug({ failedUrl, err }, 'Temporary error');\n if (getHost(url) === getHost(MAVEN_REPO)) {\n return Result.err({ type: 'maven-central-temporary-error', err });\n } else {\n return Result.err({ type: 'temporary-error' });\n }\n }\n\n if (isConnectionError(err)) {\n logger.debug(`Connection refused to maven registry ${failedUrl}`);\n return Result.err({ type: 'connection-error' });\n }\n\n if (isUnsupportedHostError(err)) {\n logger.debug(`Unsupported host ${failedUrl}`);\n return Result.err({ type: 'unsupported-host' });\n }\n\n logger.info({ failedUrl, err }, 'Unknown HTTP download error');\n return Result.err({ type: 'unknown', err });\n });\n\n const { err } = fetchResult.unwrap();\n if (err?.type === 'maven-central-temporary-error') {\n throw new ExternalHostError(err.err);\n }\n\n return fetchResult;\n}\n\nexport async function downloadHttpContent(\n http: Http,\n pkgUrl: URL | string,\n opts: HttpOptions = {},\n): Promise<string | null> {\n const fetchResult = await downloadHttpProtocol(http, pkgUrl, opts);\n return fetchResult.transform(({ data }) => data).unwrapOrNull();\n}\n\nfunction isS3NotFound(err: Error): boolean {\n return err.message === 'NotFound' || err.message === 'NoSuchKey';\n}\n\nexport async function downloadS3Protocol(\n pkgUrl: URL,\n): Promise<MavenFetchResult> {\n logger.trace({ url: pkgUrl.toString() }, `Attempting to load S3 dependency`);\n\n const s3Url = parseS3Url(pkgUrl);\n if (!s3Url) {\n return Result.err({ type: 'invalid-url' });\n }\n\n return await Result.wrap(() => {\n const command = new GetObjectCommand(s3Url);\n const client = getS3Client();\n return client.send(command);\n })\n .transform(\n async ({\n Body,\n LastModified,\n DeleteMarker,\n }): Promise<MavenFetchResult> => {\n if (DeleteMarker) {\n logger.trace(\n { failedUrl: pkgUrl.toString() },\n 'Maven S3 lookup error: DeleteMarker encountered',\n );\n return Result.err({ type: 'not-found' });\n }\n\n if (!(Body instanceof Readable)) {\n logger.debug(\n { failedUrl: pkgUrl.toString() },\n 'Maven S3 lookup error: unsupported Body type',\n );\n return Result.err({ type: 'unsupported-format' });\n }\n\n const data = await streamToString(Body);\n const result: MavenFetchSuccess = { data };\n\n const lastModified = asTimestamp(LastModified);\n if (lastModified) {\n result.lastModified = lastModified;\n }\n\n return Result.ok(result);\n },\n )\n .catch((err): MavenFetchResult => {\n if (!(err instanceof Error)) {\n return Result.err(err);\n }\n\n const failedUrl = pkgUrl.toString();\n\n if (err.name === 'CredentialsProviderError') {\n logger.debug(\n { failedUrl },\n 'Maven S3 lookup error: credentials provider error, check \"AWS_ACCESS_KEY_ID\" and \"AWS_SECRET_ACCESS_KEY\" variables',\n );\n return Result.err({ type: 'credentials-error' });\n }\n\n if (err.message === 'Region is missing') {\n logger.debug(\n { failedUrl },\n 'Maven S3 lookup error: missing region, check \"AWS_REGION\" variable',\n );\n return Result.err({ type: 'missing-aws-region' });\n }\n\n if (isS3NotFound(err)) {\n logger.trace({ failedUrl }, 'Maven S3 lookup error: object not found');\n return Result.err({ type: 'not-found' });\n }\n\n logger.debug({ failedUrl, err }, 'Maven S3 lookup error: unknown error');\n return Result.err({ type: 'unknown', err });\n });\n}\n\nexport async function downloadArtifactRegistryProtocol(\n http: Http,\n pkgUrl: URL,\n): Promise<MavenFetchResult> {\n const opts: HttpOptions = {};\n const host = pkgUrl.host;\n const path = pkgUrl.pathname;\n\n logger.trace({ host, path }, `Using google auth for Maven repository`);\n const auth = await getGoogleAuthToken();\n if (auth) {\n opts.headers = { authorization: `Basic ${auth}` };\n } else {\n logger.once.debug(\n { host, path },\n 'Could not get Google access token, using no auth',\n );\n }\n\n const url = pkgUrl.toString().replace('artifactregistry:', 'https:');\n\n return downloadHttpProtocol(http, url, opts);\n}\n\nfunction containsPlaceholder(str: string): boolean {\n return regEx(/\\${.*?}/g).test(str);\n}\n\nexport function getMavenUrl(\n dependency: MavenDependency,\n repoUrl: string,\n path: string,\n): URL {\n return new URL(\n `${dependency.dependencyUrl}/${path}`,\n ensureTrailingSlash(repoUrl),\n );\n}\n\nexport async function downloadMaven(\n http: Http,\n url: URL,\n): Promise<MavenFetchResult> {\n const protocol = url.protocol;\n\n let result: MavenFetchResult = Result.err({ type: 'unsupported-protocol' });\n\n if (isHttpUrl(url)) {\n result = await downloadHttpProtocol(http, url);\n }\n\n if (protocol === 'artifactregistry:') {\n result = await downloadArtifactRegistryProtocol(http, url);\n }\n\n if (protocol === 's3:') {\n result = await downloadS3Protocol(url);\n }\n\n return result.onError((err) => {\n if (err.type === 'unsupported-protocol') {\n logger.debug(\n { url: url.toString() },\n `Maven lookup error: unsupported protocol (${protocol})`,\n );\n }\n });\n}\n\nexport async function downloadMavenXml(\n http: Http,\n url: URL,\n): Promise<MavenFetchResult<XmlDocument>> {\n const rawResult = await downloadMaven(http, url);\n return rawResult.transform((result): MavenFetchResult<XmlDocument> => {\n try {\n return Result.ok({\n ...result,\n data: new XmlDocument(result.data),\n });\n } catch (err) {\n return Result.err({ type: 'xml-parse-error', err });\n }\n });\n}\n\nexport function getDependencyParts(packageName: string): MavenDependency {\n const [group, name] = packageName.split(':');\n const dependencyUrl = `${group.replace(regEx(/\\./g), '/')}/${name}`;\n return {\n display: packageName,\n group,\n name,\n dependencyUrl,\n };\n}\n\nfunction extractSnapshotVersion(metadata: XmlDocument): string | null {\n // Parse the maven-metadata.xml for the snapshot version and determine\n // the fixed version of the latest deployed snapshot.\n // The metadata descriptor can be found at\n // https://maven.apache.org/ref/3.3.3/maven-repository-metadata/repository-metadata.html\n //\n // Basically, we need to replace -SNAPSHOT with the artifact timestanp & build number,\n // so for example 1.0.0-SNAPSHOT will become 1.0.0-<timestamp>-<buildNumber>\n const version = metadata\n .descendantWithPath('version')\n ?.val?.replace('-SNAPSHOT', '');\n\n const snapshot = metadata.descendantWithPath('versioning.snapshot');\n const timestamp = snapshot?.childNamed('timestamp')?.val;\n const build = snapshot?.childNamed('buildNumber')?.val;\n\n // If we weren't able to parse out the required 3 version elements,\n // return null because we can't determine the fixed version of the latest snapshot.\n if (!version || !timestamp || !build) {\n return null;\n }\n return `${version}-${timestamp}-${build}`;\n}\n\nasync function getSnapshotFullVersion(\n http: Http,\n version: string,\n dependency: MavenDependency,\n repoUrl: string,\n): Promise<string | null> {\n // To determine what actual files are available for the snapshot, first we have to fetch and parse\n // the metadata located at http://<repo>/<group>/<artifact>/<version-SNAPSHOT>/maven-metadata.xml\n const metadataUrl = getMavenUrl(\n dependency,\n repoUrl,\n `${version}/maven-metadata.xml`,\n );\n\n const metadataXmlResult = await downloadMavenXml(http, metadataUrl);\n\n return metadataXmlResult\n .transform(({ data }) =>\n Result.wrapNullable(extractSnapshotVersion(data), {\n type: 'snapshot-extract-error',\n }),\n )\n .unwrapOrNull();\n}\n\nfunction isSnapshotVersion(version: string): boolean {\n if (version.endsWith('-SNAPSHOT')) {\n return true;\n }\n return false;\n}\n\nexport async function createUrlForDependencyPom(\n http: Http,\n version: string,\n dependency: MavenDependency,\n repoUrl: string,\n): Promise<string> {\n if (isSnapshotVersion(version)) {\n // By default, Maven snapshots are deployed to the repository with fixed file names.\n // Resolve the full, actual pom file name for the version.\n const fullVersion = await getSnapshotFullVersion(\n http,\n version,\n dependency,\n repoUrl,\n );\n\n // If we were able to resolve the version, use that, otherwise fall back to using -SNAPSHOT\n if (fullVersion !== null) {\n // TODO: types (#22198)\n return `${version}/${dependency.name}-${fullVersion}.pom`;\n }\n }\n\n // TODO: types (#22198)\n return `${version}/${dependency.name}-${version}.pom`;\n}\n\nexport async function getDependencyInfo(\n http: Http,\n dependency: MavenDependency,\n repoUrl: string,\n version: string,\n recursionLimit = 5,\n): Promise<DependencyInfo> {\n const path = await createUrlForDependencyPom(\n http,\n version,\n dependency,\n repoUrl,\n );\n\n const pomUrl = getMavenUrl(dependency, repoUrl, path);\n const pomXmlResult = await downloadMavenXml(http, pomUrl);\n const dependencyInfoResult = await pomXmlResult.transform(\n async ({ data: pomContent }) => {\n const result: DependencyInfo = {};\n\n const homepage = pomContent.valueWithPath('url');\n if (homepage && !containsPlaceholder(homepage)) {\n result.homepage = homepage;\n }\n\n const sourceUrl = pomContent.valueWithPath('scm.url');\n if (sourceUrl && !containsPlaceholder(sourceUrl)) {\n result.sourceUrl = sourceUrl\n .replace(regEx(/^scm:/), '')\n .replace(regEx(/^git:/), '')\n .replace(regEx(/^git@github.com:/), 'https://github.com/')\n .replace(regEx(/^git@github.com\\//), 'https://github.com/');\n\n if (result.sourceUrl.startsWith('//')) {\n // most likely the result of us stripping scm:, git: etc\n // going with prepending https: here which should result in potential information retrival\n result.sourceUrl = `https:${result.sourceUrl}`;\n }\n }\n\n const relocation = pomContent.descendantWithPath(\n 'distributionManagement.relocation',\n );\n if (relocation) {\n const relocationGroup =\n relocation.valueWithPath('groupId') ?? dependency.group;\n const relocationName =\n relocation.valueWithPath('artifactId') ?? dependency.name;\n result.replacementName = `${relocationGroup}:${relocationName}`;\n const relocationVersion = relocation.valueWithPath('version');\n result.replacementVersion = relocationVersion ?? version;\n const relocationMessage = relocation.valueWithPath('message');\n if (relocationMessage) {\n result.deprecationMessage = relocationMessage;\n }\n }\n\n const groupId = pomContent.valueWithPath('groupId');\n if (groupId) {\n result.packageScope = groupId;\n }\n\n const parent = pomContent.childNamed('parent');\n if (\n recursionLimit > 0 &&\n parent &&\n (!result.sourceUrl || !result.homepage)\n ) {\n // if we found a parent and are missing some information\n // trying to get the scm/homepage information from it\n const [parentGroupId, parentArtifactId, parentVersion] = [\n 'groupId',\n 'artifactId',\n 'version',\n ].map((k) => parent.valueWithPath(k)?.replace(/\\s+/g, ''));\n if (parentGroupId && parentArtifactId && parentVersion) {\n const parentDisplayId = `${parentGroupId}:${parentArtifactId}`;\n const parentDependency = getDependencyParts(parentDisplayId);\n const parentInformation = await getDependencyInfo(\n http,\n parentDependency,\n repoUrl,\n parentVersion,\n recursionLimit - 1,\n );\n if (!result.sourceUrl && parentInformation.sourceUrl) {\n result.sourceUrl = parentInformation.sourceUrl;\n }\n if (!result.homepage && parentInformation.homepage) {\n result.homepage = parentInformation.homepage;\n }\n }\n }\n\n return result;\n },\n );\n\n return dependencyInfoResult.unwrapOr({});\n}\n"]}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../lib/modules/datasource/maven/util.ts"],"names":[],"mappings":"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","sourcesContent":["import { Readable } from 'node:stream';\nimport { GetObjectCommand } from '@aws-sdk/client-s3';\nimport { XmlDocument } from 'xmldoc';\nimport { HOST_DISABLED } from '../../../constants/error-messages';\nimport { logger } from '../../../logger';\nimport { ExternalHostError } from '../../../types/errors/external-host-error';\nimport { type Http, HttpError } from '../../../util/http';\nimport { PackageHttpCacheProvider } from '../../../util/http/cache/package-http-cache-provider';\nimport type { HttpOptions, HttpResponse } from '../../../util/http/types';\nimport { regEx } from '../../../util/regex';\nimport { Result } from '../../../util/result';\nimport { getS3Client, parseS3Url } from '../../../util/s3';\nimport { streamToString } from '../../../util/streams';\nimport { asTimestamp } from '../../../util/timestamp';\nimport { ensureTrailingSlash, isHttpUrl, parseUrl } from '../../../util/url';\nimport { getGoogleAuthToken } from '../util';\nimport { MAVEN_REPO } from './common';\nimport type {\n DependencyInfo,\n MavenDependency,\n MavenFetchResult,\n MavenFetchSuccess,\n} from './types';\n\nfunction getHost(url: string): string | undefined {\n return parseUrl(url)?.host;\n}\n\nfunction isTemporaryError(err: HttpError): boolean {\n if (err.code === 'ECONNRESET') {\n return true;\n }\n\n if (err.response) {\n const status = err.response.statusCode;\n return status === 429 || (status >= 500 && status < 600);\n }\n\n return false;\n}\n\nfunction isHostError(err: HttpError): boolean {\n return err.code === 'ETIMEDOUT';\n}\n\nfunction isNotFoundError(err: HttpError): boolean {\n return err.code === 'ENOTFOUND' || err.response?.statusCode === 404;\n}\n\nfunction isPermissionsIssue(err: HttpError): boolean {\n const status = err.response?.statusCode;\n return status === 401 || status === 403;\n}\n\nfunction isConnectionError(err: HttpError): boolean {\n return (\n err.code === 'EAI_AGAIN' ||\n err.code === 'ERR_TLS_CERT_ALTNAME_INVALID' ||\n err.code === 'ECONNREFUSED'\n );\n}\n\nfunction isUnsupportedHostError(err: HttpError): boolean {\n return err.name === 'UnsupportedProtocolError';\n}\n\nconst cacheProvider = new PackageHttpCacheProvider({\n namespace: 'datasource-maven:cache-provider',\n ttlMinutes: 15,\n checkAuthorizationHeader: true,\n checkCacheControlHeader: false, // Maven doesn't respond with `cache-control` headers\n});\n\nexport async function downloadHttpProtocol(\n http: Http,\n pkgUrl: URL | string,\n opts: HttpOptions = {},\n): Promise<MavenFetchResult> {\n const url = pkgUrl.toString();\n const fetchResult = await Result.wrap<HttpResponse, Error>(\n http.getText(url, { ...opts, cacheProvider }),\n )\n .transform((res): MavenFetchSuccess => {\n const result: MavenFetchSuccess = { data: res.body };\n\n if (!res.authorization) {\n result.isCacheable = true;\n }\n\n const lastModified = asTimestamp(res?.headers?.['last-modified']);\n if (lastModified) {\n result.lastModified = lastModified;\n }\n\n return result;\n })\n .catch((err): MavenFetchResult => {\n /* v8 ignore start: never happens, needs for type narrowing */\n if (!(err instanceof HttpError)) {\n return Result.err({ type: 'unknown', err });\n } /* v8 ignore stop */\n\n const failedUrl = url;\n if (err.message === HOST_DISABLED) {\n logger.trace({ failedUrl }, 'Host disabled');\n return Result.err({ type: 'host-disabled' });\n }\n\n if (isNotFoundError(err)) {\n logger.trace({ failedUrl }, `Url not found`);\n return Result.err({ type: 'not-found' });\n }\n\n if (isHostError(err)) {\n logger.debug(`Cannot connect to host ${failedUrl}`);\n return Result.err({ type: 'host-error' });\n }\n\n if (isPermissionsIssue(err)) {\n logger.debug(\n `Dependency lookup unauthorized. Please add authentication with a hostRule for ${failedUrl}`,\n );\n return Result.err({ type: 'permission-issue' });\n }\n\n if (isTemporaryError(err)) {\n logger.debug({ failedUrl, err }, 'Temporary error');\n if (getHost(url) === getHost(MAVEN_REPO)) {\n return Result.err({ type: 'maven-central-temporary-error', err });\n } else {\n return Result.err({ type: 'temporary-error' });\n }\n }\n\n if (isConnectionError(err)) {\n logger.debug(`Connection refused to maven registry ${failedUrl}`);\n return Result.err({ type: 'connection-error' });\n }\n\n if (isUnsupportedHostError(err)) {\n logger.debug(`Unsupported host ${failedUrl}`);\n return Result.err({ type: 'unsupported-host' });\n }\n\n logger.info({ failedUrl, err }, 'Unknown HTTP download error');\n return Result.err({ type: 'unknown', err });\n });\n\n const { err } = fetchResult.unwrap();\n if (err?.type === 'maven-central-temporary-error') {\n throw new ExternalHostError(err.err);\n }\n\n return fetchResult;\n}\n\nexport async function downloadHttpContent(\n http: Http,\n pkgUrl: URL | string,\n opts: HttpOptions = {},\n): Promise<string | null> {\n const fetchResult = await downloadHttpProtocol(http, pkgUrl, opts);\n return fetchResult.transform(({ data }) => data).unwrapOrNull();\n}\n\nfunction isS3NotFound(err: Error): boolean {\n return err.message === 'NotFound' || err.message === 'NoSuchKey';\n}\n\nexport async function downloadS3Protocol(\n pkgUrl: URL,\n): Promise<MavenFetchResult> {\n logger.trace({ url: pkgUrl.toString() }, `Attempting to load S3 dependency`);\n\n const s3Url = parseS3Url(pkgUrl);\n if (!s3Url) {\n return Result.err({ type: 'invalid-url' });\n }\n\n return await Result.wrap(() => {\n const command = new GetObjectCommand(s3Url);\n const client = getS3Client();\n return client.send(command);\n })\n .transform(\n async ({\n Body,\n LastModified,\n DeleteMarker,\n }): Promise<MavenFetchResult> => {\n if (DeleteMarker) {\n logger.trace(\n { failedUrl: pkgUrl.toString() },\n 'Maven S3 lookup error: DeleteMarker encountered',\n );\n return Result.err({ type: 'not-found' });\n }\n\n if (!(Body instanceof Readable)) {\n logger.debug(\n { failedUrl: pkgUrl.toString() },\n 'Maven S3 lookup error: unsupported Body type',\n );\n return Result.err({ type: 'unsupported-format' });\n }\n\n const data = await streamToString(Body);\n const result: MavenFetchSuccess = { data };\n\n const lastModified = asTimestamp(LastModified);\n if (lastModified) {\n result.lastModified = lastModified;\n }\n\n return Result.ok(result);\n },\n )\n .catch((err): MavenFetchResult => {\n if (!(err instanceof Error)) {\n return Result.err(err);\n }\n\n const failedUrl = pkgUrl.toString();\n\n if (err.name === 'CredentialsProviderError') {\n logger.debug(\n { failedUrl },\n 'Maven S3 lookup error: credentials provider error, check \"AWS_ACCESS_KEY_ID\" and \"AWS_SECRET_ACCESS_KEY\" variables',\n );\n return Result.err({ type: 'credentials-error' });\n }\n\n if (err.message === 'Region is missing') {\n logger.debug(\n { failedUrl },\n 'Maven S3 lookup error: missing region, check \"AWS_REGION\" variable',\n );\n return Result.err({ type: 'missing-aws-region' });\n }\n\n if (isS3NotFound(err)) {\n logger.trace({ failedUrl }, 'Maven S3 lookup error: object not found');\n return Result.err({ type: 'not-found' });\n }\n\n logger.debug({ failedUrl, err }, 'Maven S3 lookup error: unknown error');\n return Result.err({ type: 'unknown', err });\n });\n}\n\nexport async function downloadArtifactRegistryProtocol(\n http: Http,\n pkgUrl: URL,\n): Promise<MavenFetchResult> {\n const opts: HttpOptions = {};\n const host = pkgUrl.host;\n const path = pkgUrl.pathname;\n\n logger.trace({ host, path }, `Using google auth for Maven repository`);\n const auth = await getGoogleAuthToken();\n if (auth) {\n opts.headers = { authorization: `Basic ${auth}` };\n } else {\n logger.once.debug(\n { host, path },\n 'Could not get Google access token, using no auth',\n );\n }\n\n const url = pkgUrl.toString().replace('artifactregistry:', 'https:');\n\n return downloadHttpProtocol(http, url, opts);\n}\n\nfunction containsPlaceholder(str: string): boolean {\n return regEx(/\\${.*?}/g).test(str);\n}\n\nexport function getMavenUrl(\n dependency: MavenDependency,\n repoUrl: string,\n path: string,\n): URL {\n return new URL(\n `${dependency.dependencyUrl}/${path}`,\n ensureTrailingSlash(repoUrl),\n );\n}\n\nexport async function downloadMaven(\n http: Http,\n url: URL,\n): Promise<MavenFetchResult> {\n const protocol = url.protocol;\n\n let result: MavenFetchResult = Result.err({ type: 'unsupported-protocol' });\n\n if (isHttpUrl(url)) {\n result = await downloadHttpProtocol(http, url);\n }\n\n if (protocol === 'artifactregistry:') {\n result = await downloadArtifactRegistryProtocol(http, url);\n }\n\n if (protocol === 's3:') {\n result = await downloadS3Protocol(url);\n }\n\n return result.onError((err) => {\n if (err.type === 'unsupported-protocol') {\n logger.debug(\n { url: url.toString() },\n `Maven lookup error: unsupported protocol (${protocol})`,\n );\n }\n });\n}\n\nexport async function downloadMavenXml(\n http: Http,\n url: URL,\n): Promise<MavenFetchResult<XmlDocument>> {\n const rawResult = await downloadMaven(http, url);\n return rawResult.transform((result): MavenFetchResult<XmlDocument> => {\n try {\n return Result.ok({\n ...result,\n data: new XmlDocument(result.data),\n });\n } catch (err) {\n return Result.err({ type: 'xml-parse-error', err });\n }\n });\n}\n\nexport function getDependencyParts(packageName: string): MavenDependency {\n const [group, name] = packageName.split(':');\n const dependencyUrl = `${group.replace(regEx(/\\./g), '/')}/${name}`;\n return {\n display: packageName,\n group,\n name,\n dependencyUrl,\n };\n}\n\nfunction extractSnapshotVersion(metadata: XmlDocument): string | null {\n // Parse the maven-metadata.xml for the snapshot version and determine\n // the fixed version of the latest deployed snapshot.\n // The metadata descriptor can be found at\n // https://maven.apache.org/ref/3.3.3/maven-repository-metadata/repository-metadata.html\n //\n // Basically, we need to replace -SNAPSHOT with the artifact timestanp & build number,\n // so for example 1.0.0-SNAPSHOT will become 1.0.0-<timestamp>-<buildNumber>\n const version = metadata\n .descendantWithPath('version')\n ?.val?.replace('-SNAPSHOT', '');\n\n const snapshot = metadata.descendantWithPath('versioning.snapshot');\n const timestamp = snapshot?.childNamed('timestamp')?.val;\n const build = snapshot?.childNamed('buildNumber')?.val;\n\n // If we weren't able to parse out the required 3 version elements,\n // return null because we can't determine the fixed version of the latest snapshot.\n if (!version || !timestamp || !build) {\n return null;\n }\n return `${version}-${timestamp}-${build}`;\n}\n\nasync function getSnapshotFullVersion(\n http: Http,\n version: string,\n dependency: MavenDependency,\n repoUrl: string,\n): Promise<string | null> {\n // To determine what actual files are available for the snapshot, first we have to fetch and parse\n // the metadata located at http://<repo>/<group>/<artifact>/<version-SNAPSHOT>/maven-metadata.xml\n const metadataUrl = getMavenUrl(\n dependency,\n repoUrl,\n `${version}/maven-metadata.xml`,\n );\n\n const metadataXmlResult = await downloadMavenXml(http, metadataUrl);\n\n return metadataXmlResult\n .transform(({ data }) =>\n Result.wrapNullable(extractSnapshotVersion(data), {\n type: 'snapshot-extract-error',\n }),\n )\n .unwrapOrNull();\n}\n\nfunction isSnapshotVersion(version: string): boolean {\n if (version.endsWith('-SNAPSHOT')) {\n return true;\n }\n return false;\n}\n\nexport async function createUrlForDependencyPom(\n http: Http,\n version: string,\n dependency: MavenDependency,\n repoUrl: string,\n): Promise<string> {\n if (isSnapshotVersion(version)) {\n // By default, Maven snapshots are deployed to the repository with fixed file names.\n // Resolve the full, actual pom file name for the version.\n const fullVersion = await getSnapshotFullVersion(\n http,\n version,\n dependency,\n repoUrl,\n );\n\n // If we were able to resolve the version, use that, otherwise fall back to using -SNAPSHOT\n if (fullVersion !== null) {\n // TODO: types (#22198)\n return `${version}/${dependency.name}-${fullVersion}.pom`;\n }\n }\n\n // TODO: types (#22198)\n return `${version}/${dependency.name}-${version}.pom`;\n}\n\nexport async function getDependencyInfo(\n http: Http,\n dependency: MavenDependency,\n repoUrl: string,\n version: string,\n recursionLimit = 5,\n): Promise<DependencyInfo> {\n const path = await createUrlForDependencyPom(\n http,\n version,\n dependency,\n repoUrl,\n );\n\n const pomUrl = getMavenUrl(dependency, repoUrl, path);\n const pomXmlResult = await downloadMavenXml(http, pomUrl);\n const dependencyInfoResult = await pomXmlResult.transform(\n async ({ data: pomContent }) => {\n const result: DependencyInfo = {};\n\n const homepage = pomContent.valueWithPath('url');\n if (homepage && !containsPlaceholder(homepage)) {\n result.homepage = homepage;\n }\n\n const sourceUrl = pomContent.valueWithPath('scm.url');\n if (sourceUrl && !containsPlaceholder(sourceUrl)) {\n result.sourceUrl = sourceUrl\n .replace(regEx(/^scm:/), '')\n .replace(regEx(/^git:/), '')\n .replace(regEx(/^git@github.com:/), 'https://github.com/')\n .replace(regEx(/^git@github.com\\//), 'https://github.com/');\n\n if (result.sourceUrl.startsWith('//')) {\n // most likely the result of us stripping scm:, git: etc\n // going with prepending https: here which should result in potential information retrival\n result.sourceUrl = `https:${result.sourceUrl}`;\n }\n }\n\n const relocation = pomContent.descendantWithPath(\n 'distributionManagement.relocation',\n );\n if (relocation) {\n const relocationGroup =\n relocation.valueWithPath('groupId') ?? dependency.group;\n const relocationName =\n relocation.valueWithPath('artifactId') ?? dependency.name;\n result.replacementName = `${relocationGroup}:${relocationName}`;\n const relocationVersion = relocation.valueWithPath('version');\n result.replacementVersion = relocationVersion ?? version;\n const relocationMessage = relocation.valueWithPath('message');\n if (relocationMessage) {\n result.deprecationMessage = relocationMessage;\n }\n }\n\n const groupId = pomContent.valueWithPath('groupId');\n if (groupId) {\n result.packageScope = groupId;\n }\n\n const parent = pomContent.childNamed('parent');\n if (\n recursionLimit > 0 &&\n parent &&\n (!result.sourceUrl || !result.homepage)\n ) {\n // if we found a parent and are missing some information\n // trying to get the scm/homepage information from it\n const [parentGroupId, parentArtifactId, parentVersion] = [\n 'groupId',\n 'artifactId',\n 'version',\n ].map((k) => parent.valueWithPath(k)?.replace(/\\s+/g, ''));\n if (parentGroupId && parentArtifactId && parentVersion) {\n const parentDisplayId = `${parentGroupId}:${parentArtifactId}`;\n const parentDependency = getDependencyParts(parentDisplayId);\n const parentInformation = await getDependencyInfo(\n http,\n parentDependency,\n repoUrl,\n parentVersion,\n recursionLimit - 1,\n );\n if (!result.sourceUrl && parentInformation.sourceUrl) {\n result.sourceUrl = parentInformation.sourceUrl;\n }\n if (!result.homepage && parentInformation.homepage) {\n result.homepage = parentInformation.homepage;\n }\n }\n }\n\n return result;\n },\n );\n\n return dependencyInfoResult.unwrapOr({});\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "renovate",
3
3
  "description": "Automated dependency updates. Flexible so you don't need to be.",
4
- "version": "40.11.7",
4
+ "version": "40.11.8",
5
5
  "type": "commonjs",
6
6
  "bin": {
7
7
  "renovate": "dist/renovate.js",
@@ -347,7 +347,7 @@
347
347
  "typescript": "5.8.3",
348
348
  "typescript-eslint": "8.31.1",
349
349
  "unified": "9.2.2",
350
- "vite": "6.3.4",
350
+ "vite": "6.3.5",
351
351
  "vite-tsconfig-paths": "5.1.4",
352
352
  "vitest": "3.1.2",
353
353
  "vitest-mock-extended": "3.1.0"