From ca11767763e05e70db80f9640e9e1e9708255018 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Sun, 13 Dec 2020 10:16:37 +0100 Subject: [PATCH] fix: migrate packageRules objects to array (#7981) --- lib/config/migration.spec.ts | 17 +++++++++++++++++ lib/config/migration.ts | 2 ++ 2 files changed, 19 insertions(+) diff --git a/lib/config/migration.spec.ts b/lib/config/migration.spec.ts index 7eab999f78..28055dcc93 100644 --- a/lib/config/migration.spec.ts +++ b/lib/config/migration.spec.ts @@ -304,6 +304,23 @@ describe('config/migration', () => { migratedConfig.lockFileMaintenance.packageRules[0].respectLatest ).toBe(false); }); + + it('migrates packageRules objects', () => { + const config = { + packageRules: { + packageNames: ['typescript'], + updateTypes: ['major'], + commitMessage: + 'fix(package): update peerDependency to accept typescript ^{{newVersion}}', + }, + } as any; + const { isMigrated, migratedConfig } = configMigration.migrateConfig( + config, + defaultConfig + ); + expect(isMigrated).toBe(true); + expect(migratedConfig.packageRules).toHaveLength(1); + }); it('migrates node to travis', () => { const config: RenovateConfig = { node: { diff --git a/lib/config/migration.ts b/lib/config/migration.ts index cb2cc7e308..e7b10acfa6 100644 --- a/lib/config/migration.ts +++ b/lib/config/migration.ts @@ -109,6 +109,8 @@ export function migrateConfig( } else if (parentKey === 'hostRules' && key === 'host') { migratedConfig.hostName = val; delete migratedConfig.host; + } else if (key === 'packageRules' && is.plainObject(val)) { + migratedConfig.packageRules = [val]; } else if (key === 'packageFiles' && is.array(val)) { const fileList = []; for (const packageFile of val) { -- GitLab