From 4354dd9ed6a39ebecf9fb3aa02f052326c38d9b8 Mon Sep 17 00:00:00 2001 From: Rhys Arkins Date: Sat, 8 Jun 2024 09:12:18 +0200 Subject: [PATCH] fix(datasource/hex): allow custom registries (#29534) --- .../datasource/hex/__snapshots__/index.spec.ts.snap | 6 +++--- lib/modules/datasource/hex/index.spec.ts | 2 +- lib/modules/datasource/hex/index.ts | 11 +++++++---- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/lib/modules/datasource/hex/__snapshots__/index.spec.ts.snap b/lib/modules/datasource/hex/__snapshots__/index.spec.ts.snap index 4067953c19a138..08679d5bffbb36 100644 --- a/lib/modules/datasource/hex/__snapshots__/index.spec.ts.snap +++ b/lib/modules/datasource/hex/__snapshots__/index.spec.ts.snap @@ -3,7 +3,7 @@ exports[`modules/datasource/hex/index getReleases process public repo without auth 1`] = ` { "homepage": "https://hex.pm/packages/certifi", - "registryUrl": "https://hex.pm/", + "registryUrl": "https://hex.pm", "releases": [ { "isDeprecated": true, @@ -93,7 +93,7 @@ exports[`modules/datasource/hex/index getReleases process public repo without au exports[`modules/datasource/hex/index getReleases processes a private repo with auth 1`] = ` { "homepage": "https://hex.pm/packages/renovate_test/private_package", - "registryUrl": "https://hex.pm/", + "registryUrl": "https://hex.pm", "releases": [ { "releaseTimestamp": "2021-08-04T15:26:26.500Z", @@ -110,7 +110,7 @@ exports[`modules/datasource/hex/index getReleases processes a private repo with exports[`modules/datasource/hex/index getReleases processes real data 1`] = ` { "homepage": "https://hex.pm/packages/certifi", - "registryUrl": "https://hex.pm/", + "registryUrl": "https://hex.pm", "releases": [ { "isDeprecated": true, diff --git a/lib/modules/datasource/hex/index.spec.ts b/lib/modules/datasource/hex/index.spec.ts index cf9cbb9b565b5e..6b762cd862d44f 100644 --- a/lib/modules/datasource/hex/index.spec.ts +++ b/lib/modules/datasource/hex/index.spec.ts @@ -168,7 +168,7 @@ describe('modules/datasource/hex/index', () => { expect(result).toEqual({ homepage: 'https://hex.pm/packages/renovate_test/private_package', - registryUrl: 'https://hex.pm/', + registryUrl: 'https://hex.pm', releases: [ { releaseTimestamp: '2021-08-04T15:26:26.500Z', version: '0.1.0' }, { releaseTimestamp: '2021-08-04T17:46:00.274Z', version: '0.1.1' }, diff --git a/lib/modules/datasource/hex/index.ts b/lib/modules/datasource/hex/index.ts index c21b87785402ee..ebf03fbfb47089 100644 --- a/lib/modules/datasource/hex/index.ts +++ b/lib/modules/datasource/hex/index.ts @@ -1,5 +1,6 @@ import { logger } from '../../../logger'; import { cache } from '../../../util/cache/package/decorator'; +import { joinUrlParts } from '../../../util/url'; import * as hexVersioning from '../../versioning/hex'; import { Datasource } from '../datasource'; import type { GetReleasesConfig, ReleaseResult } from '../types'; @@ -12,9 +13,7 @@ export class HexDatasource extends Datasource { super(HexDatasource.id); } - override readonly defaultRegistryUrls = ['https://hex.pm/']; - - override readonly customRegistrySupport = false; + override readonly defaultRegistryUrls = ['https://hex.pm']; override readonly defaultVersioning = hexVersioning.id; @@ -47,7 +46,11 @@ export class HexDatasource extends Datasource { const organizationUrlPrefix = organizationName ? `repos/${organizationName}/` : ''; - const hexUrl = `${registryUrl}api/${organizationUrlPrefix}packages/${hexPackageName}`; + + const hexUrl = joinUrlParts( + registryUrl, + `/api/${organizationUrlPrefix}packages/${hexPackageName}`, + ); const { val: result, err } = await this.http .getJsonSafe(hexUrl, HexRelease)