Skip to content

Commit 8e12c88

Browse files
committed
Consolidate general settings migration into single setValue call as requested in code review
1 parent fbdabb5 commit 8e12c88

File tree

1 file changed

+27
-35
lines changed

1 file changed

+27
-35
lines changed

packages/cli/src/config/settings.ts

Lines changed: 27 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -823,42 +823,34 @@ export function migrateDeprecatedSettings(
823823
| (Record<string, unknown> & typeof settings.context)
824824
| undefined;
825825

826-
// Migrate general.disableAutoUpdate -> general.enableAutoUpdate
827-
if (
828-
generalSettings &&
829-
typeof generalSettings['disableAutoUpdate'] === 'boolean'
830-
) {
831-
const oldValue = generalSettings['disableAutoUpdate'] as boolean;
832-
debugLogger.log(
833-
`Migrating deprecated general.disableAutoUpdate to general.enableAutoUpdate from ${scope} settings (inverting value: ${oldValue} -> ${!oldValue})...`,
834-
);
835-
const newGeneral: Record<string, unknown> = {
836-
...generalSettings,
837-
enableAutoUpdate: !oldValue,
838-
};
839-
delete newGeneral['disableAutoUpdate'];
840-
loadedSettings.setValue(scope, 'general', newGeneral);
841-
}
826+
// Migrate general settings (disableAutoUpdate, disableUpdateNag)
827+
if (generalSettings) {
828+
const newGeneral: Record<string, unknown> = { ...generalSettings };
829+
let modified = false;
830+
831+
if (typeof newGeneral['disableAutoUpdate'] === 'boolean') {
832+
const oldValue = newGeneral['disableAutoUpdate'] as boolean;
833+
debugLogger.log(
834+
`Migrating deprecated general.disableAutoUpdate to general.enableAutoUpdate from ${scope} settings (inverting value: ${oldValue} -> ${!oldValue})...`,
835+
);
836+
newGeneral['enableAutoUpdate'] = !oldValue;
837+
delete newGeneral['disableAutoUpdate'];
838+
modified = true;
839+
}
842840

843-
// Migrate general.disableUpdateNag -> general.enableUpdatePrompts
844-
if (
845-
generalSettings &&
846-
typeof generalSettings['disableUpdateNag'] === 'boolean'
847-
) {
848-
const oldValue = generalSettings['disableUpdateNag'] as boolean;
849-
debugLogger.log(
850-
`Migrating deprecated general.disableUpdateNag to general.enableUpdatePrompts from ${scope} settings (inverting value: ${oldValue} -> ${!oldValue})...`,
851-
);
852-
// Re-read in case we just updated it above
853-
const currentGeneral = loadedSettings.forScope(scope).settings.general as
854-
| Record<string, unknown>
855-
| undefined;
856-
const newGeneral: Record<string, unknown> = {
857-
...currentGeneral,
858-
enableUpdatePrompts: !oldValue,
859-
};
860-
delete newGeneral['disableUpdateNag'];
861-
loadedSettings.setValue(scope, 'general', newGeneral);
841+
if (typeof newGeneral['disableUpdateNag'] === 'boolean') {
842+
const oldValue = newGeneral['disableUpdateNag'] as boolean;
843+
debugLogger.log(
844+
`Migrating deprecated general.disableUpdateNag to general.enableUpdatePrompts from ${scope} settings (inverting value: ${oldValue} -> ${!oldValue})...`,
845+
);
846+
newGeneral['enableUpdatePrompts'] = !oldValue;
847+
delete newGeneral['disableUpdateNag'];
848+
modified = true;
849+
}
850+
851+
if (modified) {
852+
loadedSettings.setValue(scope, 'general', newGeneral);
853+
}
862854
}
863855

864856
// Migrate ui.accessibility.disableLoadingPhrases -> ui.accessibility.enableLoadingPhrases

0 commit comments

Comments
 (0)