diff --git a/lib/config/migration.spec.ts b/lib/config/migration.spec.ts index 98337a7a57f2d8c3bbb84f14fbb5a0a4d8d47010..b2725bf220465b875ae9731da3ed333f148560b9 100644 --- a/lib/config/migration.spec.ts +++ b/lib/config/migration.spec.ts @@ -1,5 +1,4 @@ import { PlatformId } from '../constants'; -import { getConfig } from './defaults'; import { GlobalConfig } from './global'; import * as configMigration from './migration'; import type { @@ -7,9 +6,6 @@ import type { RenovateConfig, RenovateSharedConfig, } from './types'; - -const defaultConfig = getConfig(); - interface TestRenovateConfig extends RenovateConfig { node?: RenovateSharedConfig; } @@ -159,11 +155,8 @@ describe('config/migration', () => { raiseDeprecationWarnings: false, enabledManagers: ['yarn'], } as any; - const parentConfig = { ...defaultConfig, semanticCommits: 'disabled' }; - const { isMigrated, migratedConfig } = configMigration.migrateConfig( - config, - parentConfig - ); + const { isMigrated, migratedConfig } = + configMigration.migrateConfig(config); expect(migratedConfig).toMatchSnapshot(); expect(isMigrated).toBeTrue(); expect(migratedConfig.depTypes).toBeUndefined(); @@ -180,11 +173,8 @@ describe('config/migration', () => { schedule: 'after 10pm and before 7am on every weekday' as never, }, }; - const parentConfig = { ...defaultConfig }; - const { isMigrated, migratedConfig } = configMigration.migrateConfig( - config, - parentConfig - ); + const { isMigrated, migratedConfig } = + configMigration.migrateConfig(config); expect(migratedConfig).toMatchSnapshot(); expect(isMigrated).toBeTrue(); expect(migratedConfig.major.schedule).toHaveLength(2); @@ -199,11 +189,8 @@ describe('config/migration', () => { const config = { schedule: 'every friday' as never, }; - const parentConfig = { ...defaultConfig }; - const { isMigrated, migratedConfig } = configMigration.migrateConfig( - config, - parentConfig - ); + const { isMigrated, migratedConfig } = + configMigration.migrateConfig(config); expect(isMigrated).toBeTrue(); expect(migratedConfig.schedule).toBe('on friday'); }); @@ -211,11 +198,8 @@ describe('config/migration', () => { const config = { semanticPrefix: 'fix', }; - const parentConfig = { ...defaultConfig }; - const { isMigrated, migratedConfig } = configMigration.migrateConfig( - config, - parentConfig - ); + const { isMigrated, migratedConfig } = + configMigration.migrateConfig(config); expect(isMigrated).toBeTrue(); expect(migratedConfig.semanticCommitScope).toBeNull(); }); @@ -223,11 +207,8 @@ describe('config/migration', () => { const config = { schedule: 'every weekday' as never, }; - const parentConfig = { ...defaultConfig }; - const { isMigrated, migratedConfig } = configMigration.migrateConfig( - config, - parentConfig - ); + const { isMigrated, migratedConfig } = + configMigration.migrateConfig(config); expect(isMigrated).toBeFalse(); expect(migratedConfig.schedule).toEqual(config.schedule); }); @@ -235,11 +216,8 @@ describe('config/migration', () => { const config = { schedule: 'after 5:00pm on wednesday and thursday' as never, }; - const parentConfig = { ...defaultConfig }; - const { isMigrated, migratedConfig } = configMigration.migrateConfig( - config, - parentConfig - ); + const { isMigrated, migratedConfig } = + configMigration.migrateConfig(config); expect(migratedConfig).toMatchSnapshot(); expect(isMigrated).toBeFalse(); expect(migratedConfig.schedule).toEqual(config.schedule); @@ -248,11 +226,8 @@ describe('config/migration', () => { const config = { schedule: 'after 1:00pm and before 5:00pm' as never, }; - const parentConfig = { ...defaultConfig }; - const { isMigrated, migratedConfig } = configMigration.migrateConfig( - config, - parentConfig - ); + const { isMigrated, migratedConfig } = + configMigration.migrateConfig(config); expect(migratedConfig.schedule).toEqual(config.schedule); expect(isMigrated).toBeFalse(); }); @@ -265,11 +240,8 @@ describe('config/migration', () => { }, ], }; - const parentConfig = { ...defaultConfig }; - const { isMigrated, migratedConfig } = configMigration.migrateConfig( - config, - parentConfig - ); + const { isMigrated, migratedConfig } = + configMigration.migrateConfig(config); expect(isMigrated).toBeTrue(); expect(migratedConfig).toEqual({ packageRules: [ @@ -290,11 +262,8 @@ describe('config/migration', () => { }, ], }; - const parentConfig = { ...defaultConfig }; - const { isMigrated, migratedConfig } = configMigration.migrateConfig( - config, - parentConfig - ); + const { isMigrated, migratedConfig } = + configMigration.migrateConfig(config); expect(isMigrated).toBeTrue(); expect(migratedConfig).toMatchSnapshot(); expect(migratedConfig.packageRules[0].minor.automerge).toBeFalse(); @@ -321,10 +290,8 @@ describe('config/migration', () => { ], }, }; - const { isMigrated, migratedConfig } = configMigration.migrateConfig( - config, - defaultConfig - ); + const { isMigrated, migratedConfig } = + configMigration.migrateConfig(config); expect(isMigrated).toBeTrue(); expect(migratedConfig).toMatchSnapshot(); expect(migratedConfig.lockFileMaintenance.packageRules).toHaveLength(1); @@ -340,10 +307,8 @@ describe('config/migration', () => { automerge: 'none' as never, }, }; - const { isMigrated, migratedConfig } = configMigration.migrateConfig( - config, - defaultConfig - ); + const { isMigrated, migratedConfig } = + configMigration.migrateConfig(config); expect(migratedConfig).toMatchSnapshot(); expect(isMigrated).toBeTrue(); expect( @@ -366,10 +331,8 @@ describe('config/migration', () => { }, ], }; - const { isMigrated, migratedConfig } = configMigration.migrateConfig( - config, - defaultConfig - ); + const { isMigrated, migratedConfig } = + configMigration.migrateConfig(config); expect(migratedConfig).toMatchSnapshot(); expect(isMigrated).toBeTrue(); expect(migratedConfig.includePaths).toHaveLength(4); @@ -396,10 +359,8 @@ describe('config/migration', () => { }, ], }; - const { isMigrated, migratedConfig } = configMigration.migrateConfig( - config, - defaultConfig - ); + const { isMigrated, migratedConfig } = + configMigration.migrateConfig(config); expect(migratedConfig).toMatchSnapshot(); expect(isMigrated).toBeTrue(); expect(migratedConfig.includePaths).toHaveLength(1); @@ -424,10 +385,8 @@ describe('config/migration', () => { commitMessage: 'test', raiseDeprecationWarnings: undefined, }; - const { isMigrated, migratedConfig } = configMigration.migrateConfig( - config, - defaultConfig - ); + const { isMigrated, migratedConfig } = + configMigration.migrateConfig(config); expect(migratedConfig).toEqual({ baseBranches: [], commitMessage: 'test', @@ -581,10 +540,8 @@ describe('config/migration', () => { }, ], }; - const { isMigrated, migratedConfig } = configMigration.migrateConfig( - config, - defaultConfig - ); + const { isMigrated, migratedConfig } = + configMigration.migrateConfig(config); expect(isMigrated).toBeTrue(); expect(migratedConfig).toEqual({ packageRules: [ @@ -629,10 +586,8 @@ describe('config/migration', () => { }, ], }; - const { isMigrated, migratedConfig } = configMigration.migrateConfig( - config, - defaultConfig - ); + const { isMigrated, migratedConfig } = + configMigration.migrateConfig(config); expect(isMigrated).toBeTrue(); expect(migratedConfig).toMatchSnapshot(); expect(migratedConfig.packageRules).toHaveLength(3); @@ -647,10 +602,8 @@ describe('config/migration', () => { const config: RenovateConfig = { extends: ['@org', '@org2/foo'], } as any; - const { isMigrated, migratedConfig } = configMigration.migrateConfig( - config, - defaultConfig - ); + const { isMigrated, migratedConfig } = + configMigration.migrateConfig(config); expect(isMigrated).toBeTrue(); expect(migratedConfig).toEqual({ extends: ['local>org/renovate-config'] }); }); @@ -672,10 +625,8 @@ describe('config/migration', () => { } as any, ], }; - const { isMigrated, migratedConfig } = configMigration.migrateConfig( - config, - defaultConfig - ); + const { isMigrated, migratedConfig } = + configMigration.migrateConfig(config); expect(isMigrated).toBeTrue(); expect(migratedConfig).toMatchSnapshot(); }); @@ -696,10 +647,8 @@ describe('config/migration', () => { }, ], }; - const { isMigrated, migratedConfig } = configMigration.migrateConfig( - config, - defaultConfig - ); + const { isMigrated, migratedConfig } = + configMigration.migrateConfig(config); expect(isMigrated).toBeTrue(); expect(migratedConfig).toMatchSnapshot(); }); @@ -707,17 +656,15 @@ describe('config/migration', () => { const config: RenovateConfig = { requiredStatusChecks: [], }; - const { isMigrated, migratedConfig } = configMigration.migrateConfig( - config, - defaultConfig - ); + const { isMigrated, migratedConfig } = + configMigration.migrateConfig(config); expect(isMigrated).toBe(true); expect(migratedConfig).toMatchInlineSnapshot(`Object {}`); }); it('migrates azureAutoComplete', () => { const migrate = (config: RenovateConfig): MigratedConfig => - configMigration.migrateConfig(config, defaultConfig); + configMigration.migrateConfig(config); expect(migrate({ azureAutoComplete: true })).toEqual({ isMigrated: true, @@ -742,7 +689,7 @@ describe('config/migration', () => { it('migrates gitLabAutomerge', () => { const migrate = (config: RenovateConfig): MigratedConfig => - configMigration.migrateConfig(config, defaultConfig); + configMigration.migrateConfig(config); expect(migrate({ gitLabAutomerge: true })).toEqual({ isMigrated: true, diff --git a/lib/config/migration.ts b/lib/config/migration.ts index 52a4cdea3a0da94b67929e6fcff3e2defff40740..38b7637d1ac5b3f714c0f67de5cb523c29b87e27 100644 --- a/lib/config/migration.ts +++ b/lib/config/migration.ts @@ -20,11 +20,7 @@ export function fixShortHours(input: string): string { let optionTypes: Record<string, RenovateOptions['type']>; // Returns a migrated config -export function migrateConfig( - config: RenovateConfig, - // TODO: remove any type (#9611) - parentKey?: string | any -): MigratedConfig { +export function migrateConfig(config: RenovateConfig): MigratedConfig { try { if (!optionTypes) { optionTypes = {}; @@ -69,8 +65,7 @@ export function migrateConfig( ? migratedConfig.packageRules : []; const payload = migrateConfig( - packageFile as RenovateConfig, - key + packageFile as RenovateConfig ).migratedConfig; for (const subrule of payload.packageRules || []) { subrule.paths = [(packageFile as any).packageFile]; @@ -96,8 +91,7 @@ export function migrateConfig( ? migratedConfig.packageRules : []; const depTypePackageRule = migrateConfig( - val as RenovateConfig, - key + val as RenovateConfig ).migratedConfig; depTypePackageRule.depTypeList = [key]; delete depTypePackageRule.packageRules; @@ -144,8 +138,7 @@ export function migrateConfig( ? migratedConfig.packageRules : []; const newPackageRule = migrateConfig( - depType as RenovateConfig, - key + depType as RenovateConfig ).migratedConfig; delete newPackageRule.depType; newPackageRule.depTypeList = [depTypeName]; @@ -173,7 +166,7 @@ export function migrateConfig( migratedConfig.travis = migratedConfig.travis || {}; migratedConfig.travis.enabled = true; if (Object.keys(migratedConfig.node).length) { - const subMigrate = migrateConfig(migratedConfig.node, key); + const subMigrate = migrateConfig(migratedConfig.node); migratedConfig.node = subMigrate.migratedConfig; } else { delete migratedConfig.node; @@ -183,7 +176,7 @@ export function migrateConfig( const newArray = []; for (const item of migratedConfig[key] as unknown[]) { if (is.object(item) && !is.array(item)) { - const arrMigrate = migrateConfig(item as RenovateConfig, key); + const arrMigrate = migrateConfig(item as RenovateConfig); newArray.push(arrMigrate.migratedConfig); } else { newArray.push(item); @@ -192,10 +185,7 @@ export function migrateConfig( migratedConfig[key] = newArray; } } else if (is.object(val)) { - const subMigrate = migrateConfig( - migratedConfig[key] as RenovateConfig, - key - ); + const subMigrate = migrateConfig(migratedConfig[key] as RenovateConfig); if (subMigrate.isMigrated) { migratedConfig[key] = subMigrate.migratedConfig; }