Skip to content

Commit

Permalink
fix(config): migrate empty array check (#11713)
Browse files Browse the repository at this point in the history
  • Loading branch information
rarkins committed Sep 13, 2021
1 parent f937f73 commit e108537
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 8 deletions.
11 changes: 11 additions & 0 deletions lib/config/migration.spec.ts
Expand Up @@ -772,4 +772,15 @@ describe('config/migration', () => {
expect(isMigrated).toBe(true);
expect(migratedConfig).toMatchSnapshot();
});
it('migrates empty requiredStatusChecks', () => {
const config: RenovateConfig = {
requiredStatusChecks: [],
};
const { isMigrated, migratedConfig } = configMigration.migrateConfig(
config,
defaultConfig
);
expect(isMigrated).toBe(true);
expect(migratedConfig).toMatchInlineSnapshot(`Object {}`);
});
});
18 changes: 10 additions & 8 deletions lib/config/migration.ts
Expand Up @@ -490,16 +490,18 @@ export function migrateConfig(
delete migratedConfig.node;
}
} else if (is.array(val)) {
const newArray = [];
for (const item of migratedConfig[key] as unknown[]) {
if (is.object(item) && !is.array(item)) {
const arrMigrate = migrateConfig(item as RenovateConfig, key);
newArray.push(arrMigrate.migratedConfig);
} else {
newArray.push(item);
if (is.array(migratedConfig?.[key])) {
const newArray = [];
for (const item of migratedConfig[key] as unknown[]) {
if (is.object(item) && !is.array(item)) {
const arrMigrate = migrateConfig(item as RenovateConfig, key);
newArray.push(arrMigrate.migratedConfig);
} else {
newArray.push(item);
}
}
migratedConfig[key] = newArray;
}
migratedConfig[key] = newArray;
} else if (key === 'compatibility' && is.object(val)) {
migratedConfig.constraints = migratedConfig.compatibility;
delete migratedConfig.compatibility;
Expand Down

0 comments on commit e108537

Please sign in to comment.