diff --git a/lib/config/index.js b/lib/config/index.js index 72085ab93469ae6522e1433c4e531aefdaa3a8b9..623258da4459441bf5359f7de18b8b285beee191 100644 --- a/lib/config/index.js +++ b/lib/config/index.js @@ -113,6 +113,9 @@ async function parseConfigs(env, argv) { function mergeChildConfig(parentConfig, childConfig) { logger.trace({ parentConfig, childConfig }, `mergeChildConfig`); + if (!childConfig) { + return parentConfig; + } const config = { ...parentConfig, ...childConfig }; for (const option of definitions.getOptions()) { if ( diff --git a/test/config/index.spec.js b/test/config/index.spec.js index d432a21b96bd14eb3129ef2481a110acbc660ee4..8d91482c9c5cb6ebce0c599477489865efe49678 100644 --- a/test/config/index.spec.js +++ b/test/config/index.spec.js @@ -209,5 +209,11 @@ describe('config/index', () => { const config = configParser.mergeChildConfig(parentConfig, {}); expect(config.packageRules).toHaveLength(2); }); + it('handles undefined childConfig', () => { + const parentConfig = { ...defaultConfig }; + const configParser = require('../../lib/config/index.js'); + const config = configParser.mergeChildConfig(parentConfig, undefined); + expect(config).toMatchObject(parentConfig); + }); }); });