diff --git a/lib/datasource/ansible-galaxy/index.ts b/lib/datasource/ansible-galaxy/index.ts
index 42223a369e8f3a4d099566befe10bb31c0421033..a150ec3a5ff65702f15e16945604d96df32f0985 100644
--- a/lib/datasource/ansible-galaxy/index.ts
+++ b/lib/datasource/ansible-galaxy/index.ts
@@ -1,10 +1,10 @@
 import { logger } from '../../logger';
 import got from '../../util/got';
-import { PkgReleaseConfig, ReleaseResult, Release } from '../common';
+import { GetReleasesConfig, ReleaseResult, Release } from '../common';
 
 export async function getPkgReleases({
   lookupName,
-}: PkgReleaseConfig): Promise<ReleaseResult | null> {
+}: GetReleasesConfig): Promise<ReleaseResult | null> {
   if (!lookupName) {
     return null;
   }
diff --git a/lib/datasource/cargo/index.ts b/lib/datasource/cargo/index.ts
index 8af33738cea652f63c1996a19befc5839ba401b8..74318592b4ab46b8ae2978c6a80d763529eeff03 100644
--- a/lib/datasource/cargo/index.ts
+++ b/lib/datasource/cargo/index.ts
@@ -2,7 +2,7 @@ import { logger } from '../../logger';
 import got from '../../util/got';
 import {
   DatasourceError,
-  PkgReleaseConfig,
+  GetReleasesConfig,
   ReleaseResult,
   Release,
 } from '../common';
@@ -10,7 +10,7 @@ import { DATASOURCE_CARGO } from '../../constants/data-binary-source';
 
 export async function getPkgReleases({
   lookupName,
-}: PkgReleaseConfig): Promise<ReleaseResult | null> {
+}: GetReleasesConfig): Promise<ReleaseResult | null> {
   if (!lookupName) {
     return null;
   }
diff --git a/lib/datasource/cdnjs/index.ts b/lib/datasource/cdnjs/index.ts
index b55f8af8d8950fb40b9e8bb4be171f12a69af919..38197558e62ce7951980f076142538bdd587454c 100644
--- a/lib/datasource/cdnjs/index.ts
+++ b/lib/datasource/cdnjs/index.ts
@@ -1,6 +1,6 @@
 import { logger } from '../../logger';
 import got from '../../util/got';
-import { DatasourceError, ReleaseResult, PkgReleaseConfig } from '../common';
+import { DatasourceError, ReleaseResult, GetReleasesConfig } from '../common';
 import { DATASOURCE_CDNJS } from '../../constants/data-binary-source';
 
 export interface CdnjsAsset {
@@ -26,7 +26,7 @@ export function depUrl(library: string): string {
 }
 
 export async function getDigest(
-  { lookupName }: PkgReleaseConfig,
+  { lookupName }: GetReleasesConfig,
   newValue?: string
 ): Promise<string | null> {
   let result = null;
@@ -48,7 +48,7 @@ export async function getDigest(
 
 export async function getPkgReleases({
   lookupName,
-}: Partial<PkgReleaseConfig>): Promise<ReleaseResult | null> {
+}: Partial<GetReleasesConfig>): Promise<ReleaseResult | null> {
   // istanbul ignore if
   if (!lookupName) {
     logger.warn('CDNJS lookup failure: empty lookupName');
diff --git a/lib/datasource/common.ts b/lib/datasource/common.ts
index 665cc551aa79c9face91fec14e844089375f6d6a..1fbea4e798b22f404699673843337400e490b8bc 100644
--- a/lib/datasource/common.ts
+++ b/lib/datasource/common.ts
@@ -1,5 +1,14 @@
 import { DATASOURCE_FAILURE } from '../constants/error-messages';
 
+export interface GetReleasesConfig {
+  lookupName: string;
+  registryUrls?: string[];
+  compatibility?: Record<string, string>;
+  depType?: string;
+  npmrc?: string;
+  versioning?: string;
+}
+
 export interface Config {
   datasource?: string;
   depName?: string;
diff --git a/lib/datasource/dart/index.ts b/lib/datasource/dart/index.ts
index 24776a8991feae994158949482f368237ae4ba29..9369b318f31f022f6df9565686693c55117bb381 100644
--- a/lib/datasource/dart/index.ts
+++ b/lib/datasource/dart/index.ts
@@ -1,10 +1,10 @@
 import got from '../../util/got';
 import { logger } from '../../logger';
-import { DatasourceError, ReleaseResult, PkgReleaseConfig } from '../common';
+import { DatasourceError, ReleaseResult, GetReleasesConfig } from '../common';
 
 export async function getPkgReleases({
   lookupName,
-}: PkgReleaseConfig): Promise<ReleaseResult | null> {
+}: GetReleasesConfig): Promise<ReleaseResult | null> {
   let result: ReleaseResult = null;
   const pkgUrl = `https://pub.dartlang.org/api/packages/${lookupName}`;
   interface DartResult {
diff --git a/lib/datasource/docker/index.ts b/lib/datasource/docker/index.ts
index 1f5a02df44c5ece39639657474856def05ac4e27..46a7b5c1e4588252848dac9bf85e6b49230aaa95 100644
--- a/lib/datasource/docker/index.ts
+++ b/lib/datasource/docker/index.ts
@@ -12,7 +12,7 @@ import AWS from 'aws-sdk';
 import { logger } from '../../logger';
 import got from '../../util/got';
 import * as hostRules from '../../util/host-rules';
-import { DatasourceError, PkgReleaseConfig, ReleaseResult } from '../common';
+import { DatasourceError, GetReleasesConfig, ReleaseResult } from '../common';
 import { GotResponse } from '../../platform';
 import { DATASOURCE_DOCKER } from '../../constants/data-binary-source';
 
@@ -276,7 +276,7 @@ async function getManifestResponse(
  *  - Return the digest as a string
  */
 export async function getDigest(
-  { registryUrls, lookupName }: PkgReleaseConfig,
+  { registryUrls, lookupName }: GetReleasesConfig,
   newValue?: string
 ): Promise<string | null> {
   const { registry, repository } = getRegistryRepository(
@@ -597,7 +597,7 @@ async function getLabels(
 export async function getPkgReleases({
   lookupName,
   registryUrls,
-}: PkgReleaseConfig): Promise<ReleaseResult | null> {
+}: GetReleasesConfig): Promise<ReleaseResult | null> {
   const { registry, repository } = getRegistryRepository(
     lookupName,
     registryUrls
diff --git a/lib/datasource/git-submodules/index.ts b/lib/datasource/git-submodules/index.ts
index 61f6358fef5e2c693a3413f2014eb78670d78be2..c27d3b9e4302aee6056c7f8dc58ea16c94e806fe 100644
--- a/lib/datasource/git-submodules/index.ts
+++ b/lib/datasource/git-submodules/index.ts
@@ -1,13 +1,13 @@
 import Git from 'simple-git/promise';
 import { URL } from 'url';
 
-import { ReleaseResult, PkgReleaseConfig, DigestConfig } from '../common';
+import { ReleaseResult, GetReleasesConfig, DigestConfig } from '../common';
 import { logger } from '../../logger';
 
 export async function getPkgReleases({
   lookupName,
   registryUrls,
-}: PkgReleaseConfig): Promise<ReleaseResult | null> {
+}: GetReleasesConfig): Promise<ReleaseResult | null> {
   const cacheNamespace = 'datasource-git-submodules';
   const cacheKey = `${registryUrls[0]}-${registryUrls[1]}`;
   const cachedResult = await renovateCache.get<ReleaseResult>(
diff --git a/lib/datasource/git-tags/index.ts b/lib/datasource/git-tags/index.ts
index 7346469cd65643e51f5e9ac27bca31f4cde249ca..a98409db0be4977ccce2fca01d96aa47620ea1e8 100644
--- a/lib/datasource/git-tags/index.ts
+++ b/lib/datasource/git-tags/index.ts
@@ -1,7 +1,7 @@
 import simpleGit from 'simple-git/promise';
 import * as semver from '../../versioning/semver';
 import { logger } from '../../logger';
-import { ReleaseResult, PkgReleaseConfig } from '../common';
+import { ReleaseResult, GetReleasesConfig } from '../common';
 
 const cacheNamespace = 'git-tags';
 const cacheMinutes = 10;
@@ -11,7 +11,7 @@ process.env.GIT_SSH_COMMAND = 'ssh -o BatchMode=yes';
 
 export async function getPkgReleases({
   lookupName,
-}: PkgReleaseConfig): Promise<ReleaseResult | null> {
+}: GetReleasesConfig): Promise<ReleaseResult | null> {
   const git = simpleGit();
   try {
     const cachedResult = await renovateCache.get<ReleaseResult>(
diff --git a/lib/datasource/github-releases/index.ts b/lib/datasource/github-releases/index.ts
index ee041ba977c3910af47fd6987b85edba2c5320f8..4a3bc442144321e1149a66ffd910350194190518 100644
--- a/lib/datasource/github-releases/index.ts
+++ b/lib/datasource/github-releases/index.ts
@@ -1,5 +1,5 @@
 import { api } from '../../platform/github/gh-got-wrapper';
-import { ReleaseResult, PkgReleaseConfig } from '../common';
+import { ReleaseResult, GetReleasesConfig } from '../common';
 import { logger } from '../../logger';
 
 const { get: ghGot } = api;
@@ -18,7 +18,7 @@ const cacheNamespace = 'datasource-github-releases';
  */
 export async function getPkgReleases({
   lookupName: repo,
-}: PkgReleaseConfig): Promise<ReleaseResult | null> {
+}: GetReleasesConfig): Promise<ReleaseResult | null> {
   let versions: string[];
   const cachedResult = await renovateCache.get<ReleaseResult>(
     cacheNamespace,
diff --git a/lib/datasource/github-tags/index.ts b/lib/datasource/github-tags/index.ts
index 95cc4154ba266cfcfdf0814fe7bb9054b7f82012..59032a2f9822c3019157f9da34c0a8ce52b95b2f 100644
--- a/lib/datasource/github-tags/index.ts
+++ b/lib/datasource/github-tags/index.ts
@@ -1,5 +1,5 @@
 import { api } from '../../platform/github/gh-got-wrapper';
-import { ReleaseResult, PkgReleaseConfig, DigestConfig } from '../common';
+import { ReleaseResult, GetReleasesConfig, DigestConfig } from '../common';
 import { logger } from '../../logger';
 
 const { get: ghGot } = api;
@@ -108,7 +108,7 @@ export async function getDigest(
  */
 export async function getPkgReleases({
   lookupName: repo,
-}: PkgReleaseConfig): Promise<ReleaseResult | null> {
+}: GetReleasesConfig): Promise<ReleaseResult | null> {
   let versions: string[];
   const cachedResult = await renovateCache.get<ReleaseResult>(
     cacheNamespace,
diff --git a/lib/datasource/gitlab-tags/__snapshots__/index.spec.ts.snap b/lib/datasource/gitlab-tags/__snapshots__/index.spec.ts.snap
index 614e2415393ab7f8e856a3a4ca88e95f23574914..73c1a863a9bf382789565979e3ac9183ac85587d 100644
--- a/lib/datasource/gitlab-tags/__snapshots__/index.spec.ts.snap
+++ b/lib/datasource/gitlab-tags/__snapshots__/index.spec.ts.snap
@@ -12,6 +12,6 @@ Object {
       "version": "v1.1.0",
     },
   ],
-  "sourceUrl": "https://gitlab.company.com/api/v4/undefined",
+  "sourceUrl": "https://gitlab.company.com/api/v4/some/dep2",
 }
 `;
diff --git a/lib/datasource/gitlab-tags/index.spec.ts b/lib/datasource/gitlab-tags/index.spec.ts
index 2885ee0f5219140a676ad49b5496201913a71f17..d53087847a7839b48a55aa4a3fadbed35e043c4f 100644
--- a/lib/datasource/gitlab-tags/index.spec.ts
+++ b/lib/datasource/gitlab-tags/index.spec.ts
@@ -18,7 +18,7 @@ describe('datasource/gitlab-tags', () => {
       glGot.mockReturnValueOnce({ headers: {}, body });
       const res = await gitlab.getPkgReleases({
         registryUrls: ['https://gitlab.company.com/api/v4/'],
-        depName: 'some/dep2',
+        lookupName: 'some/dep2',
       });
       expect(res).toMatchSnapshot();
       expect(res.releases).toHaveLength(2);
diff --git a/lib/datasource/gitlab-tags/index.ts b/lib/datasource/gitlab-tags/index.ts
index d20c8a018e44c68e16409155b116167c354d2edf..c8e15086f2442eb42afdec10d467334636897e71 100644
--- a/lib/datasource/gitlab-tags/index.ts
+++ b/lib/datasource/gitlab-tags/index.ts
@@ -1,7 +1,7 @@
 import is from '@sindresorhus/is';
 import { api } from '../../platform/gitlab/gl-got-wrapper';
 import { logger } from '../../logger';
-import { PkgReleaseConfig, ReleaseResult } from '../common';
+import { GetReleasesConfig, ReleaseResult } from '../common';
 
 const { get: glGot } = api;
 
@@ -14,7 +14,7 @@ function getCacheKey(depHost: string, repo: string): string {
 export async function getPkgReleases({
   registryUrls,
   lookupName: repo,
-}: PkgReleaseConfig): Promise<ReleaseResult | null> {
+}: GetReleasesConfig): Promise<ReleaseResult | null> {
   // Use registryUrls if present, otherwise default to publid gitlab.com
   const depHost = is.nonEmptyArray(registryUrls)
     ? registryUrls[0].replace(/\/$/, '')
diff --git a/lib/datasource/go/index.ts b/lib/datasource/go/index.ts
index c9eb10d1bce1ff864c43259b75c6b1c2c97d841f..972290716c552788dd8096193edbcf15d1b34478 100644
--- a/lib/datasource/go/index.ts
+++ b/lib/datasource/go/index.ts
@@ -1,7 +1,7 @@
 import { logger } from '../../logger';
 import got from '../../util/got';
 import * as github from '../github-tags';
-import { DigestConfig, PkgReleaseConfig, ReleaseResult } from '../common';
+import { DigestConfig, GetReleasesConfig, ReleaseResult } from '../common';
 import { regEx } from '../../util/regex';
 import {
   DATASOURCE_GITHUB_TAGS,
@@ -85,7 +85,7 @@ async function getDatasource(goModule: string): Promise<DataSource | null> {
  */
 export async function getPkgReleases({
   lookupName,
-}: Partial<PkgReleaseConfig>): Promise<ReleaseResult | null> {
+}: Partial<GetReleasesConfig>): Promise<ReleaseResult | null> {
   logger.trace(`go.getPkgReleases(${lookupName})`);
   const source = await getDatasource(lookupName);
   if (source && source.datasource === DATASOURCE_GITHUB_TAGS) {
diff --git a/lib/datasource/gradle-version/index.ts b/lib/datasource/gradle-version/index.ts
index cefc2932a5db4a766f9b80c8cc96bf6f0e9575e7..c2f6bd572da1ea746e31d3a0bb9457719e415b43 100644
--- a/lib/datasource/gradle-version/index.ts
+++ b/lib/datasource/gradle-version/index.ts
@@ -4,7 +4,7 @@ import { logger } from '../../logger';
 import got from '../../util/got';
 import {
   DatasourceError,
-  PkgReleaseConfig,
+  GetReleasesConfig,
   ReleaseResult,
   Release,
 } from '../common';
@@ -24,7 +24,7 @@ interface GradleRelease {
 
 export async function getPkgReleases({
   registryUrls,
-}: PkgReleaseConfig): Promise<ReleaseResult> {
+}: GetReleasesConfig): Promise<ReleaseResult> {
   const versionsUrls = is.nonEmptyArray(registryUrls)
     ? registryUrls
     : [GradleVersionsServiceUrl];
diff --git a/lib/datasource/helm/index.ts b/lib/datasource/helm/index.ts
index 8de3f45c02a423af717cef42a5d8e7e405d20eed..7964f53088d83b3bc3696663939a84d193a26a20 100644
--- a/lib/datasource/helm/index.ts
+++ b/lib/datasource/helm/index.ts
@@ -1,6 +1,6 @@
 import yaml from 'js-yaml';
 
-import { DatasourceError, PkgReleaseConfig, ReleaseResult } from '../common';
+import { DatasourceError, GetReleasesConfig, ReleaseResult } from '../common';
 import got from '../../util/got';
 import { logger } from '../../logger';
 
@@ -84,7 +84,7 @@ export async function getRepositoryData(
 export async function getPkgReleases({
   lookupName,
   registryUrls,
-}: PkgReleaseConfig): Promise<ReleaseResult | null> {
+}: GetReleasesConfig): Promise<ReleaseResult | null> {
   if (!lookupName) {
     logger.warn(`lookupName was not provided to getPkgReleases`);
     return null;
diff --git a/lib/datasource/hex/index.ts b/lib/datasource/hex/index.ts
index e5d0eeca9f221a7e5b35770f2f3759f57f9facce..539312f41f76692140c847a646865e005ded0e6d 100644
--- a/lib/datasource/hex/index.ts
+++ b/lib/datasource/hex/index.ts
@@ -1,6 +1,6 @@
 import { logger } from '../../logger';
 import got from '../../util/got';
-import { DatasourceError, ReleaseResult, PkgReleaseConfig } from '../common';
+import { DatasourceError, ReleaseResult, GetReleasesConfig } from '../common';
 import { DATASOURCE_HEX } from '../../constants/data-binary-source';
 
 interface HexRelease {
@@ -11,7 +11,7 @@ interface HexRelease {
 
 export async function getPkgReleases({
   lookupName,
-}: Partial<PkgReleaseConfig>): Promise<ReleaseResult | null> {
+}: Partial<GetReleasesConfig>): Promise<ReleaseResult | null> {
   // istanbul ignore if
   if (!lookupName) {
     logger.warn('hex lookup failure: No lookupName');
diff --git a/lib/datasource/maven/index.ts b/lib/datasource/maven/index.ts
index 2263755a182e8aa2914b8ccbc936190e84a4c2b7..86c677dc7b6498e91687114954ef1ec2c483bc36 100644
--- a/lib/datasource/maven/index.ts
+++ b/lib/datasource/maven/index.ts
@@ -7,7 +7,7 @@ import { compare } from '../../versioning/maven/compare';
 import mavenVersion from '../../versioning/maven';
 import { containsPlaceholder } from '../../manager/maven/extract';
 import { downloadHttpProtocol } from './util';
-import { PkgReleaseConfig, ReleaseResult } from '../common';
+import { GetReleasesConfig, ReleaseResult } from '../common';
 
 async function downloadFileProtocol(pkgUrl: url.URL): Promise<string | null> {
   const pkgPath = pkgUrl.toString().replace('file://', '');
@@ -131,7 +131,7 @@ function extractVersions(metadata: XmlDocument): string[] {
 export async function getPkgReleases({
   lookupName,
   registryUrls,
-}: PkgReleaseConfig): Promise<ReleaseResult | null> {
+}: GetReleasesConfig): Promise<ReleaseResult | null> {
   const versions: string[] = [];
   const dependency = getDependencyParts(lookupName);
   if (!is.nonEmptyArray(registryUrls)) {
diff --git a/lib/datasource/npm/releases.ts b/lib/datasource/npm/releases.ts
index e998dae7a858000b7d516df95578e181db6f4b69..3c0f080db4c45ad80e5a50a4b83fa6e1c8e4a7c4 100644
--- a/lib/datasource/npm/releases.ts
+++ b/lib/datasource/npm/releases.ts
@@ -1,11 +1,11 @@
 import { getDependency } from './get';
 import { setNpmrc } from './npmrc';
-import { PkgReleaseConfig, ReleaseResult } from '../common';
+import { GetReleasesConfig, ReleaseResult } from '../common';
 
 export async function getPkgReleases({
   lookupName,
   npmrc,
-}: PkgReleaseConfig): Promise<ReleaseResult | null> {
+}: GetReleasesConfig): Promise<ReleaseResult | null> {
   if (npmrc) {
     setNpmrc(npmrc);
   }
diff --git a/lib/datasource/nuget/index.ts b/lib/datasource/nuget/index.ts
index 7bef53a785a07aaa8fef903472986fa8f12d1438..775a709c5200c9fa0716d7653a0e8ec1f158e0ba 100644
--- a/lib/datasource/nuget/index.ts
+++ b/lib/datasource/nuget/index.ts
@@ -2,7 +2,7 @@ import urlApi from 'url';
 import { logger } from '../../logger';
 import * as v2 from './v2';
 import * as v3 from './v3';
-import { PkgReleaseConfig, ReleaseResult } from '../common';
+import { GetReleasesConfig, ReleaseResult } from '../common';
 
 function detectFeedVersion(url: string): 2 | 3 | null {
   try {
@@ -21,7 +21,7 @@ function detectFeedVersion(url: string): 2 | 3 | null {
 export async function getPkgReleases({
   lookupName,
   registryUrls,
-}: PkgReleaseConfig): Promise<ReleaseResult> {
+}: GetReleasesConfig): Promise<ReleaseResult> {
   logger.trace(`nuget.getPkgReleases(${lookupName})`);
   let dep: ReleaseResult = null;
   for (const feed of registryUrls || [v3.getDefaultFeed()]) {
diff --git a/lib/datasource/orb/index.ts b/lib/datasource/orb/index.ts
index 6a5af89bfcd9dc572087130c391bef54f33a549b..0a9e8739ad6b6ffb13d55520bdfb6bf0db91170d 100644
--- a/lib/datasource/orb/index.ts
+++ b/lib/datasource/orb/index.ts
@@ -1,6 +1,6 @@
 import { logger } from '../../logger';
 import got from '../../util/got';
-import { PkgReleaseConfig, ReleaseResult } from '../common';
+import { GetReleasesConfig, ReleaseResult } from '../common';
 
 interface OrbRelease {
   homeUrl?: string;
@@ -16,7 +16,7 @@ interface OrbRelease {
  */
 export async function getPkgReleases({
   lookupName,
-}: PkgReleaseConfig): Promise<ReleaseResult | null> {
+}: GetReleasesConfig): Promise<ReleaseResult | null> {
   logger.debug({ lookupName }, 'orb.getPkgReleases()');
   const cacheNamespace = 'orb';
   const cacheKey = lookupName;
diff --git a/lib/datasource/packagist/index.ts b/lib/datasource/packagist/index.ts
index 7210ddc048503adfa9c923c0212c67a0228bb497..4a756117454b8004e1c7eb922abd5407bb31a46e 100644
--- a/lib/datasource/packagist/index.ts
+++ b/lib/datasource/packagist/index.ts
@@ -7,7 +7,7 @@ import { logger } from '../../logger';
 
 import got, { GotJSONOptions } from '../../util/got';
 import * as hostRules from '../../util/host-rules';
-import { DatasourceError, PkgReleaseConfig, ReleaseResult } from '../common';
+import { DatasourceError, GetReleasesConfig, ReleaseResult } from '../common';
 import { DATASOURCE_PACKAGIST } from '../../constants/data-binary-source';
 
 function getHostOpts(url: string): GotJSONOptions {
@@ -307,7 +307,7 @@ async function packageLookup(
 export async function getPkgReleases({
   lookupName,
   registryUrls,
-}: PkgReleaseConfig): Promise<ReleaseResult> {
+}: GetReleasesConfig): Promise<ReleaseResult> {
   logger.trace(`getPkgReleases(${lookupName})`);
 
   let res: ReleaseResult;
diff --git a/lib/datasource/pypi/index.ts b/lib/datasource/pypi/index.ts
index 26a321b08e015a3501984a8b15099a1a8fbd1d6c..47b119fcbb60bab085bb17eee0487ca7777a42f9 100644
--- a/lib/datasource/pypi/index.ts
+++ b/lib/datasource/pypi/index.ts
@@ -4,7 +4,7 @@ import { parse } from 'node-html-parser';
 import { logger } from '../../logger';
 import { matches } from '../../versioning/pep440';
 import got from '../../util/got';
-import { PkgReleaseConfig, ReleaseResult } from '../common';
+import { GetReleasesConfig, ReleaseResult } from '../common';
 import { DATASOURCE_PYPI } from '../../constants/data-binary-source';
 
 function normalizeName(input: string): string {
@@ -160,7 +160,7 @@ export async function getPkgReleases({
   compatibility,
   lookupName,
   registryUrls,
-}: PkgReleaseConfig): Promise<ReleaseResult | null> {
+}: GetReleasesConfig): Promise<ReleaseResult | null> {
   let hostUrls = ['https://pypi.org/pypi/'];
   if (is.nonEmptyArray(registryUrls)) {
     hostUrls = registryUrls;
diff --git a/lib/datasource/ruby-version/index.ts b/lib/datasource/ruby-version/index.ts
index fb9f0304f2e20f405c70a2c93811ab846035cc43..190d0575ead4884ec2cffdd166852eb4f8ee17ab 100644
--- a/lib/datasource/ruby-version/index.ts
+++ b/lib/datasource/ruby-version/index.ts
@@ -2,12 +2,12 @@ import { parse } from 'node-html-parser';
 
 import got from '../../util/got';
 import { isVersion } from '../../versioning/ruby';
-import { DatasourceError, PkgReleaseConfig, ReleaseResult } from '../common';
+import { DatasourceError, GetReleasesConfig, ReleaseResult } from '../common';
 
 const rubyVersionsUrl = 'https://www.ruby-lang.org/en/downloads/releases/';
 
 export async function getPkgReleases(
-  _config?: PkgReleaseConfig
+  _config?: GetReleasesConfig
 ): Promise<ReleaseResult> {
   // First check the persistent cache
   const cacheNamespace = 'datasource-ruby-version';
diff --git a/lib/datasource/rubygems/releases.ts b/lib/datasource/rubygems/releases.ts
index b4405774c617bd42696a7400e45d156991265e34..017ac04d47edf257c9c8a55446d8d6ecf31055ef 100644
--- a/lib/datasource/rubygems/releases.ts
+++ b/lib/datasource/rubygems/releases.ts
@@ -1,12 +1,12 @@
 import is from '@sindresorhus/is';
 import { getDependency } from './get';
 import { getRubygemsOrgDependency } from './get-rubygems-org';
-import { PkgReleaseConfig, ReleaseResult } from '../common';
+import { GetReleasesConfig, ReleaseResult } from '../common';
 
 export async function getPkgReleases({
   lookupName,
   registryUrls,
-}: PkgReleaseConfig): Promise<ReleaseResult | null> {
+}: GetReleasesConfig): Promise<ReleaseResult | null> {
   const defaultRegistry = 'https://rubygems.org';
   const registries = is.nonEmptyArray(registryUrls)
     ? registryUrls
diff --git a/lib/datasource/sbt/index.spec.ts b/lib/datasource/sbt/index.spec.ts
index 56846cc4bf67b25fb446cedc3520d33575ddda71..d5af55a2670a78fcc84884296c22ef533227de8b 100644
--- a/lib/datasource/sbt/index.spec.ts
+++ b/lib/datasource/sbt/index.spec.ts
@@ -5,7 +5,6 @@ import { getPkgReleases } from '.';
 import { DEFAULT_MAVEN_REPO } from '../../manager/maven/extract';
 import { parseIndexDir, SBT_PLUGINS_REPO } from './util';
 import * as ivyVersioning from '../../versioning/ivy';
-import { DATASOURCE_SBT } from '../../constants/data-binary-source';
 
 const mavenIndexHtml = fs.readFileSync(
   path.resolve(__dirname, `./__fixtures__/maven-index.html`),
@@ -102,7 +101,6 @@ describe('datasource/sbt', () => {
       expect(
         await getPkgReleases({
           versioning: ivyVersioning.id,
-          datasource: DATASOURCE_SBT,
           lookupName: 'org.scalatest:scalatest',
           registryUrls: ['https://failed_repo/maven'],
         })
@@ -110,7 +108,6 @@ describe('datasource/sbt', () => {
       expect(
         await getPkgReleases({
           versioning: ivyVersioning.id,
-          datasource: DATASOURCE_SBT,
           lookupName: 'org.scalatest:scalaz',
           depType: 'plugin',
           registryUrls: [SBT_PLUGINS_REPO],
@@ -121,7 +118,6 @@ describe('datasource/sbt', () => {
       expect(
         await getPkgReleases({
           versioning: ivyVersioning.id,
-          datasource: DATASOURCE_SBT,
           lookupName: 'org.scalatest:scalatest',
           registryUrls: [
             'https://failed_repo/maven',
@@ -139,7 +135,6 @@ describe('datasource/sbt', () => {
       expect(
         await getPkgReleases({
           versioning: ivyVersioning.id,
-          datasource: DATASOURCE_SBT,
           lookupName: 'org.scalatest:scalatest_2.12',
           registryUrls: [DEFAULT_MAVEN_REPO, SBT_PLUGINS_REPO],
         })
@@ -155,7 +150,6 @@ describe('datasource/sbt', () => {
       expect(
         await getPkgReleases({
           versioning: ivyVersioning.id,
-          datasource: DATASOURCE_SBT,
           lookupName: 'org.foundweekends:sbt-bintray',
           depType: 'plugin',
           registryUrls: [DEFAULT_MAVEN_REPO, SBT_PLUGINS_REPO],
@@ -171,7 +165,6 @@ describe('datasource/sbt', () => {
       expect(
         await getPkgReleases({
           versioning: ivyVersioning.id,
-          datasource: DATASOURCE_SBT,
           lookupName: 'org.foundweekends:sbt-bintray_2.12',
           depType: 'plugin',
           registryUrls: [DEFAULT_MAVEN_REPO, SBT_PLUGINS_REPO],
diff --git a/lib/datasource/sbt/index.ts b/lib/datasource/sbt/index.ts
index b395ebe2398e850f0cc5883f6ceb8cecedf7719d..293b24e3acdfedf963d0136ec182329512b1df03 100644
--- a/lib/datasource/sbt/index.ts
+++ b/lib/datasource/sbt/index.ts
@@ -2,7 +2,7 @@ import { compare } from '../../versioning/maven/compare';
 import { downloadHttpProtocol } from '../maven/util';
 import { parseIndexDir, SBT_PLUGINS_REPO } from './util';
 import { logger } from '../../logger';
-import { PkgReleaseConfig, ReleaseResult } from '../common';
+import { GetReleasesConfig, ReleaseResult } from '../common';
 
 const ensureTrailingSlash = (str: string): string => str.replace(/\/?$/, '/');
 
@@ -96,7 +96,7 @@ async function resolvePluginReleases(
 }
 
 export async function getPkgReleases(
-  config: PkgReleaseConfig
+  config: GetReleasesConfig
 ): Promise<ReleaseResult | null> {
   const { lookupName, depType } = config;
 
diff --git a/lib/datasource/terraform-provider/index.ts b/lib/datasource/terraform-provider/index.ts
index e47da1c81bed77d2a150bbcf74641d34accf8986..072ed110bf84607ec5e48ef9f8c1332d7b2d8a50 100644
--- a/lib/datasource/terraform-provider/index.ts
+++ b/lib/datasource/terraform-provider/index.ts
@@ -1,6 +1,6 @@
 import { logger } from '../../logger';
 import got from '../../util/got';
-import { PkgReleaseConfig, ReleaseResult } from '../common';
+import { GetReleasesConfig, ReleaseResult } from '../common';
 import { DATASOURCE_TERRAFORM } from '../../constants/data-binary-source';
 
 interface TerraformProvider {
@@ -19,7 +19,7 @@ interface TerraformProvider {
 export async function getPkgReleases({
   lookupName,
   registryUrls,
-}: PkgReleaseConfig): Promise<ReleaseResult | null> {
+}: GetReleasesConfig): Promise<ReleaseResult | null> {
   const repository = `hashicorp/${lookupName}`;
 
   logger.debug({ lookupName }, 'terraform-provider.getDependencies()');
diff --git a/lib/datasource/terraform/index.ts b/lib/datasource/terraform/index.ts
index e4f5e908f3a4b08363307d7eba7194324caedb32..1eb1d79d7c558c5b00b6d713b61c04d7d957a8ab 100644
--- a/lib/datasource/terraform/index.ts
+++ b/lib/datasource/terraform/index.ts
@@ -1,7 +1,7 @@
 import is from '@sindresorhus/is';
 import { logger } from '../../logger';
 import got from '../../util/got';
-import { PkgReleaseConfig, ReleaseResult } from '../common';
+import { GetReleasesConfig, ReleaseResult } from '../common';
 import { DATASOURCE_TERRAFORM } from '../../constants/data-binary-source';
 
 interface RegistryRepository {
@@ -51,7 +51,7 @@ interface TerraformRelease {
 export async function getPkgReleases({
   lookupName,
   registryUrls,
-}: PkgReleaseConfig): Promise<ReleaseResult | null> {
+}: GetReleasesConfig): Promise<ReleaseResult | null> {
   const { registry, repository } = getRegistryRepository(
     lookupName,
     registryUrls