diff --git a/lib/modules/datasource/datasource.ts b/lib/modules/datasource/datasource.ts index fce559644110b4c652c2202b38e6a54615ad1a10..0e6c8c2c12deb876055639076087564951d15565 100644 --- a/lib/modules/datasource/datasource.ts +++ b/lib/modules/datasource/datasource.ts @@ -4,7 +4,10 @@ import type { DatasourceApi, DigestConfig, GetReleasesConfig, + PostprocessReleaseConfig, + PostprocessReleaseResult, RegistryStrategy, + Release, ReleaseResult, SourceUrlSupport, } from './types'; @@ -61,4 +64,12 @@ export abstract class Datasource implements DatasourceApi { throw err; } + + // istanbul ignore next: no-op implementation, never called + postprocessRelease( + _config: PostprocessReleaseConfig, + release: Release, + ): Promise<PostprocessReleaseResult> { + return Promise.resolve(release); + } } diff --git a/lib/modules/datasource/postprocess-release.spec.ts b/lib/modules/datasource/postprocess-release.spec.ts index 2f3c014adeaa5696a607642ebe930510cdd68bee..3ec6de9abd8e99781d08d2cd935ba0b53294bacf 100644 --- a/lib/modules/datasource/postprocess-release.spec.ts +++ b/lib/modules/datasource/postprocess-release.spec.ts @@ -59,7 +59,7 @@ describe('modules/datasource/postprocess-release', () => { it('returns original release for datasource with missing `packageName` field', async () => { class SomeDatasource extends DummyDatasource { - postprocessRelease( + override postprocessRelease( _config: PostprocessReleaseConfig, release: Release, ): Promise<PostprocessReleaseResult> { @@ -82,7 +82,7 @@ describe('modules/datasource/postprocess-release', () => { const releaseOrig: Release = { version: '1.2.3' }; class SomeDatasource extends DummyDatasource { - postprocessRelease( + override postprocessRelease( _config: PostprocessReleaseConfig, release: Release, ): Promise<PostprocessReleaseResult> { @@ -107,7 +107,7 @@ describe('modules/datasource/postprocess-release', () => { const releaseOrig: Release = { version: '1.2.3' }; class SomeDatasource extends DummyDatasource { - postprocessRelease( + override postprocessRelease( _config: PostprocessReleaseConfig, _release: Release, ): Promise<PostprocessReleaseResult> { @@ -128,7 +128,7 @@ describe('modules/datasource/postprocess-release', () => { const releaseOrig: Release = { version: '1.2.3' }; class SomeDatasource extends DummyDatasource { - postprocessRelease( + override postprocessRelease( _config: PostprocessReleaseConfig, _release: Release, ): Promise<PostprocessReleaseResult> { diff --git a/lib/modules/datasource/postprocess-release.ts b/lib/modules/datasource/postprocess-release.ts index fe203752c1ef6e7c4bd4666bab8f11c231adce1f..ef4a34131fe46e1bc834365ffa87145002b944c2 100644 --- a/lib/modules/datasource/postprocess-release.ts +++ b/lib/modules/datasource/postprocess-release.ts @@ -4,6 +4,7 @@ import type { UpdateResult, } from '../../workers/repository/process/lookup/types'; import { getDatasourceFor } from './common'; +import { Datasource } from './datasource'; import type { Release } from './types'; type Config = Partial<LookupUpdateConfig & UpdateResult>; @@ -23,7 +24,10 @@ export async function postprocessRelease( return release; } - if (!ds.postprocessRelease) { + if ( + ds.constructor.prototype.postprocessRelease === + Datasource.prototype.postprocessRelease + ) { return release; } diff --git a/lib/modules/datasource/types.ts b/lib/modules/datasource/types.ts index 60b9832585060fe51f3acf810e024da810c34f17..d4e8ed0b3287e2cd1f15872a4874eebbb0005d69 100644 --- a/lib/modules/datasource/types.ts +++ b/lib/modules/datasource/types.ts @@ -160,7 +160,7 @@ export interface DatasourceApi extends ModuleApi { * * In other cases, the original `Release` parameter should be returned. */ - postprocessRelease?( + postprocessRelease( config: PostprocessReleaseConfig, release: Release, ): Promise<PostprocessReleaseResult>; diff --git a/lib/workers/repository/process/lookup/filter-checks.spec.ts b/lib/workers/repository/process/lookup/filter-checks.spec.ts index fcdef36cb7ae9d5e87cac1f48ffb8554b4543b58..aa1f3d63fed6b686597707f0154376e23fe91ad9 100644 --- a/lib/workers/repository/process/lookup/filter-checks.spec.ts +++ b/lib/workers/repository/process/lookup/filter-checks.spec.ts @@ -91,7 +91,7 @@ describe('workers/repository/process/lookup/filter-checks', () => { config.internalChecksFilter = 'strict'; class SomeDatasource extends DummyDatasource { - postprocessRelease( + override postprocessRelease( _: PostprocessReleaseConfig, release: Release, ): Promise<PostprocessReleaseResult> {