diff --git a/lib/config/index.js b/lib/config/index.js
index 79e5b63821e7e870a6eb0f0ec5b55a10da7af744..a8e013d0dcb0ea7c79a004734ab4c86ea936705f 100644
--- a/lib/config/index.js
+++ b/lib/config/index.js
@@ -9,6 +9,8 @@ const fileParser = require('./file');
 const cliParser = require('./cli');
 const envParser = require('./env');
 
+const { resolveConfigPresets } = require('./presets');
+
 exports.parseConfigs = parseConfigs;
 exports.mergeChildConfig = mergeChildConfig;
 exports.filterConfig = filterConfig;
@@ -22,12 +24,12 @@ async function parseConfigs(env, argv) {
   const cliConfig = cliParser.getConfig(argv);
   const envConfig = envParser.getConfig(env);
 
-  const config = {
-    ...defaultConfig,
-    ...fileConfig,
-    ...envConfig,
-    ...cliConfig,
-  };
+  let config = mergeChildConfig(
+    await resolveConfigPresets(defaultConfig),
+    await resolveConfigPresets(fileConfig)
+  );
+  config = mergeChildConfig(config, await resolveConfigPresets(envConfig));
+  config = mergeChildConfig(config, await resolveConfigPresets(cliConfig));
 
   // Set log level
   logger.levels('stdout', config.logLevel);