From ac7d8ea11271073f56126ed37a82b84abf9df55a Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Sun, 25 Oct 2020 07:49:34 +0100 Subject: [PATCH] fix: resolve repoConfig.extends with repo config (#7541) --- lib/workers/repository/init/config.spec.ts | 1 + lib/workers/repository/init/config.ts | 14 ++++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/lib/workers/repository/init/config.spec.ts b/lib/workers/repository/init/config.spec.ts index d5bb81a07a..b89fdd4567 100644 --- a/lib/workers/repository/init/config.spec.ts +++ b/lib/workers/repository/init/config.spec.ts @@ -121,6 +121,7 @@ describe('workers/repository/init/config', () => { warnings: [], errors: [], }); + config.extends = [':automergeDisabled']; expect(await mergeRenovateConfig(config)).not.toBeUndefined(); }); }); diff --git a/lib/workers/repository/init/config.ts b/lib/workers/repository/init/config.ts index 7d907e83d2..57d2a41360 100644 --- a/lib/workers/repository/init/config.ts +++ b/lib/workers/repository/init/config.ts @@ -1,4 +1,5 @@ import path from 'path'; +import is from '@sindresorhus/is'; import jsonValidator from 'json-dup-key-validator'; import JSON5 from 'json5'; @@ -149,11 +150,16 @@ export async function mergeRenovateConfig( ): Promise<RenovateConfig> { let returnConfig = { ...config }; const repoConfig = await detectRepoFileConfig(); + const configFileParsed = repoConfig?.configFileParsed || {}; + if (is.nonEmptyArray(returnConfig.extends)) { + configFileParsed.extends = [ + ...returnConfig.extends, + ...(configFileParsed.extends || []), + ]; + delete returnConfig.extends; + } checkForRepoConfigError(repoConfig); - const migratedConfig = await migrateAndValidate( - config, - repoConfig?.configFileParsed || {} - ); + const migratedConfig = await migrateAndValidate(config, configFileParsed); if (migratedConfig.errors.length) { const error = new Error(CONFIG_VALIDATION); error.configFile = repoConfig.configFileName; -- GitLab