diff --git a/lib/workers/global/config/parse/util.spec.ts b/lib/workers/global/config/parse/util.spec.ts new file mode 100644 index 00000000000000..5aadd8c0464aa7 --- /dev/null +++ b/lib/workers/global/config/parse/util.spec.ts @@ -0,0 +1,20 @@ +import { logger } from '../../../../logger'; +import { migrateAndValidateConfig } from './util'; + +describe('workers/global/config/parse/util', () => { + it('massages config', async () => { + const config = { + packageRules: [ + { + description: 'haha', + matchPackageNames: ['name'], + enabled: false, + }, + ], + }; + + const migratedConfig = await migrateAndValidateConfig(config, 'global'); + expect(migratedConfig?.packageRules?.[0].description).toBeArray(); + expect(logger.warn).toHaveBeenCalledTimes(0); + }); +}); diff --git a/lib/workers/global/config/parse/util.ts b/lib/workers/global/config/parse/util.ts index d64af64fffae24..9d007c8df4b4d8 100644 --- a/lib/workers/global/config/parse/util.ts +++ b/lib/workers/global/config/parse/util.ts @@ -1,3 +1,5 @@ +import { dequal } from 'dequal'; +import { massageConfig } from '../../../../config/massage'; import { migrateConfig } from '../../../../config/migration'; import type { RenovateConfig } from '../../../../config/types'; import { validateConfig } from '../../../../config/validation'; @@ -14,8 +16,13 @@ export async function migrateAndValidateConfig( `${configType} needs migrating`, ); } + const massagedConfig = massageConfig(migratedConfig); + // log only if it's changed + if (!dequal(migratedConfig, massagedConfig)) { + logger.trace({ config: massagedConfig }, 'Post-massage config'); + } - const { warnings, errors } = await validateConfig('global', migratedConfig); + const { warnings, errors } = await validateConfig('global', massagedConfig); if (warnings.length) { logger.warn( @@ -27,5 +34,5 @@ export async function migrateAndValidateConfig( logger.warn({ errors }, `Config validation errors found in ${configType}`); } - return migratedConfig; + return massagedConfig; }