diff --git a/lib/config/presets/__snapshots__/github.spec.ts.snap b/lib/config/presets/github/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from lib/config/presets/__snapshots__/github.spec.ts.snap
rename to lib/config/presets/github/__snapshots__/index.spec.ts.snap
diff --git a/lib/config/presets/github.spec.ts b/lib/config/presets/github/index.spec.ts
similarity index 89%
rename from lib/config/presets/github.spec.ts
rename to lib/config/presets/github/index.spec.ts
index bdd4600105b0aa1c90225276c874a85fdcf0107b..a5e35c77c4ea43964d868b83727059494adbb2bc 100644
--- a/lib/config/presets/github.spec.ts
+++ b/lib/config/presets/github/index.spec.ts
@@ -1,15 +1,15 @@
-import { mocked } from '../../../test/util';
-import { PLATFORM_FAILURE } from '../../constants/error-messages';
-import { GotResponse } from '../../platform';
-import { clearRepoCache } from '../../util/cache';
-import _got from '../../util/got';
-import * as _hostRules from '../../util/host-rules';
-import * as github from './github';
+import { mocked } from '../../../../test/util';
+import { PLATFORM_FAILURE } from '../../../constants/error-messages';
+import { GotResponse } from '../../../platform';
+import { clearRepoCache } from '../../../util/cache';
+import _got from '../../../util/got';
+import * as _hostRules from '../../../util/host-rules';
+import * as github from '.';
 import { PartialDeep } from 'type-fest';
 
-jest.mock('../../platform/github/gh-got-wrapper');
-jest.mock('../../util/got');
-jest.mock('../../util/host-rules');
+jest.mock('../../../platform/github/gh-got-wrapper');
+jest.mock('../../../util/got');
+jest.mock('../../../util/host-rules');
 
 const got: jest.Mock<PartialDeep<GotResponse>> = _got as never;
 const hostRules = mocked(_hostRules);
diff --git a/lib/config/presets/github.ts b/lib/config/presets/github/index.ts
similarity index 86%
rename from lib/config/presets/github.ts
rename to lib/config/presets/github/index.ts
index f1c2bfe3e197157351181455085dd9f18b3234ef..56c7f8a691b067385807d19633165bc1007627ed 100644
--- a/lib/config/presets/github.ts
+++ b/lib/config/presets/github/index.ts
@@ -1,9 +1,9 @@
-import { PLATFORM_FAILURE } from '../../constants/error-messages';
-import { PLATFORM_TYPE_GITHUB } from '../../constants/platforms';
-import { logger } from '../../logger';
-import { Http, HttpOptions } from '../../util/http';
-import { ensureTrailingSlash } from '../../util/url';
-import { Preset } from './common';
+import { PLATFORM_FAILURE } from '../../../constants/error-messages';
+import { PLATFORM_TYPE_GITHUB } from '../../../constants/platforms';
+import { logger } from '../../../logger';
+import { Http, HttpOptions } from '../../../util/http';
+import { ensureTrailingSlash } from '../../../util/url';
+import { Preset } from '../common';
 
 const http = new Http(PLATFORM_TYPE_GITHUB);
 
diff --git a/lib/config/presets/gitlab.spec.ts b/lib/config/presets/gitlab/index.spec.ts
similarity index 88%
rename from lib/config/presets/gitlab.spec.ts
rename to lib/config/presets/gitlab/index.spec.ts
index 9138006985e9cee6d8d88f3bc236f7aa1ded7678..591b4304156838dff0b3fc028ac5d59ce02330d0 100644
--- a/lib/config/presets/gitlab.spec.ts
+++ b/lib/config/presets/gitlab/index.spec.ts
@@ -1,10 +1,10 @@
-import { GotResponse } from '../../platform';
-import { api } from '../../platform/gitlab/gl-got-wrapper';
-import * as gitlab from './gitlab';
+import { GotResponse } from '../../../platform';
+import { api } from '../../../platform/gitlab/gl-got-wrapper';
+import * as gitlab from '.';
 import { PartialDeep } from 'type-fest';
 
-jest.mock('../../platform/gitlab/gl-got-wrapper');
-jest.mock('../../util/got');
+jest.mock('../../../platform/gitlab/gl-got-wrapper');
+jest.mock('../../../util/got');
 
 const glGot: jest.Mock<Promise<PartialDeep<GotResponse>>> = api.get as never;
 
diff --git a/lib/config/presets/gitlab.ts b/lib/config/presets/gitlab/index.ts
similarity index 90%
rename from lib/config/presets/gitlab.ts
rename to lib/config/presets/gitlab/index.ts
index eb2dff07afee5f53bf5093b95ec463b13f8fb31b..ad23589472a6dd1096ca58e9216a1d79097c3099 100644
--- a/lib/config/presets/gitlab.ts
+++ b/lib/config/presets/gitlab/index.ts
@@ -1,7 +1,7 @@
-import { logger } from '../../logger';
-import { api } from '../../platform/gitlab/gl-got-wrapper';
-import { ensureTrailingSlash } from '../../util/url';
-import { Preset } from './common';
+import { logger } from '../../../logger';
+import { api } from '../../../platform/gitlab/gl-got-wrapper';
+import { ensureTrailingSlash } from '../../../util/url';
+import { Preset } from '../common';
 
 const { get: glGot } = api;
 
diff --git a/lib/config/presets/__snapshots__/local.spec.ts.snap b/lib/config/presets/local/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from lib/config/presets/__snapshots__/local.spec.ts.snap
rename to lib/config/presets/local/__snapshots__/index.spec.ts.snap
diff --git a/lib/config/presets/local.spec.ts b/lib/config/presets/local/index.spec.ts
similarity index 93%
rename from lib/config/presets/local.spec.ts
rename to lib/config/presets/local/index.spec.ts
index 298dc4a9f7c4b1ea0e1c6261c41c9a80120d0549..b0e88d7a4ade45856f2faebb9bea39ab14f78bcb 100644
--- a/lib/config/presets/local.spec.ts
+++ b/lib/config/presets/local/index.spec.ts
@@ -1,9 +1,9 @@
-import * as github from './github';
-import * as gitlab from './gitlab';
-import * as local from './local';
+import * as github from '../github';
+import * as gitlab from '../gitlab';
+import * as local from '.';
 
-jest.mock('./gitlab');
-jest.mock('./github');
+jest.mock('../gitlab');
+jest.mock('../github');
 
 const gitlabGetPreset: jest.Mock<Promise<
   any
diff --git a/lib/config/presets/local.ts b/lib/config/presets/local/index.ts
similarity index 77%
rename from lib/config/presets/local.ts
rename to lib/config/presets/local/index.ts
index cf629ca9619039590add073532f7b84bef3494f8..7fd74b8afd9f9917960e186a778169d1a504f8e0 100644
--- a/lib/config/presets/local.ts
+++ b/lib/config/presets/local/index.ts
@@ -1,11 +1,11 @@
 import {
   PLATFORM_TYPE_GITHUB,
   PLATFORM_TYPE_GITLAB,
-} from '../../constants/platforms';
-import { RenovateConfig } from '../common';
-import { Preset } from './common';
-import * as github from './github';
-import * as gitlab from './gitlab';
+} from '../../../constants/platforms';
+import { RenovateConfig } from '../../common';
+import { Preset } from '../common';
+import * as github from '../github';
+import * as gitlab from '../gitlab';
 
 export async function getPreset(
   pkgName: string,
diff --git a/lib/config/presets/__snapshots__/npm.spec.ts.snap b/lib/config/presets/npm/__snapshots__/index.spec.ts.snap
similarity index 100%
rename from lib/config/presets/__snapshots__/npm.spec.ts.snap
rename to lib/config/presets/npm/__snapshots__/index.spec.ts.snap
diff --git a/lib/config/presets/npm.spec.ts b/lib/config/presets/npm/index.spec.ts
similarity index 99%
rename from lib/config/presets/npm.spec.ts
rename to lib/config/presets/npm/index.spec.ts
index 7ba07ce6b8b8937f51afd6259f72337cc4a707b0..74c68dab7019de418d7eea0c1eb6108e2f06d077 100644
--- a/lib/config/presets/npm.spec.ts
+++ b/lib/config/presets/npm/index.spec.ts
@@ -1,5 +1,5 @@
 import nock from 'nock';
-import * as npm from './npm';
+import * as npm from '.';
 
 jest.mock('registry-auth-token');
 jest.mock('delay');
diff --git a/lib/config/presets/npm.ts b/lib/config/presets/npm/index.ts
similarity index 81%
rename from lib/config/presets/npm.ts
rename to lib/config/presets/npm/index.ts
index eca57a43a4b39f5d01fd8ee58a5a6faf727a0142..5ec31ff6b5a8cdd8af5ce375a0ec3d0650b604b8 100644
--- a/lib/config/presets/npm.ts
+++ b/lib/config/presets/npm/index.ts
@@ -1,6 +1,6 @@
-import { getDependency } from '../../datasource/npm/get';
-import { logger } from '../../logger';
-import { Preset } from './common';
+import { getDependency } from '../../../datasource/npm/get';
+import { logger } from '../../../logger';
+import { Preset } from '../common';
 
 export async function getPreset(
   pkgName: string,