diff --git a/lib/datasource/gitlab-tags/index.ts b/lib/datasource/gitlab-tags/index.ts index 2098701568b8e71de4f439c750ae52a53dfaafe0..b7c75fafcad5297834d416a32c083689559cb96e 100644 --- a/lib/datasource/gitlab-tags/index.ts +++ b/lib/datasource/gitlab-tags/index.ts @@ -1,15 +1,15 @@ import * as packageCache from '../../util/cache/package'; import { GitlabHttp } from '../../util/http/gitlab'; -import { regEx } from '../../util/regex'; import { joinUrlParts } from '../../util/url'; import type { GetReleasesConfig, ReleaseResult } from '../types'; import type { GitlabTag } from './types'; +import { defaultRegistryUrl, getDepHost, getSourceUrl } from './util'; export const id = 'gitlab-tags'; const gitlabApi = new GitlabHttp(id); export const customRegistrySupport = true; -export const defaultRegistryUrls = ['https://gitlab.com']; +export const defaultRegistryUrls = [defaultRegistryUrl]; export const registryStrategy = 'first'; const cacheNamespace = 'datasource-gitlab'; @@ -23,7 +23,7 @@ export async function getReleases({ registryUrl, lookupName: repo, }: GetReleasesConfig): Promise<ReleaseResult | null> { - const depHost = registryUrl.replace(regEx(/\/api\/v4$/), ''); + const depHost = getDepHost(registryUrl); const cachedResult = await packageCache.get<ReleaseResult>( cacheNamespace, @@ -51,7 +51,7 @@ export async function getReleases({ ).body; const dependency: ReleaseResult = { - sourceUrl: joinUrlParts(depHost, repo), + sourceUrl: getSourceUrl(repo, registryUrl), releases: null, }; dependency.releases = gitlabTags.map(({ name, commit }) => ({ diff --git a/lib/datasource/gitlab-tags/util.ts b/lib/datasource/gitlab-tags/util.ts new file mode 100644 index 0000000000000000000000000000000000000000..789424210cec7aad4993d5ec39e839457f02e924 --- /dev/null +++ b/lib/datasource/gitlab-tags/util.ts @@ -0,0 +1,13 @@ +import { regEx } from '../../util/regex'; +import { joinUrlParts } from '../../util/url'; + +export const defaultRegistryUrl = 'https://gitlab.com'; + +export function getDepHost(registryUrl: string = defaultRegistryUrl): string { + return registryUrl.replace(regEx(/\/api\/v4$/), ''); +} + +export function getSourceUrl(lookupName: string, registryUrl?: string): string { + const depHost = getDepHost(registryUrl); + return joinUrlParts(depHost, lookupName); +}