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);