Skip to content

Commit 2ab953c

Browse files
committed
Consolidate general settings migration into single setValue call as requested in code review
1 parent 0bcf8b9 commit 2ab953c

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
@@ -843,42 +843,34 @@ export function migrateDeprecatedSettings(
843843
| (Record<string, unknown> & typeof settings.context)
844844
| undefined;
845845

846-
// Migrate general.disableAutoUpdate -> general.enableAutoUpdate
847-
if (
848-
generalSettings &&
849-
typeof generalSettings['disableAutoUpdate'] === 'boolean'
850-
) {
851-
const oldValue = generalSettings['disableAutoUpdate'] as boolean;
852-
debugLogger.log(
853-
`Migrating deprecated general.disableAutoUpdate to general.enableAutoUpdate from ${scope} settings (inverting value: ${oldValue} -> ${!oldValue})...`,
854-
);
855-
const newGeneral: Record<string, unknown> = {
856-
...generalSettings,
857-
enableAutoUpdate: !oldValue,
858-
};
859-
delete newGeneral['disableAutoUpdate'];
860-
loadedSettings.setValue(scope, 'general', newGeneral);
861-
}
846+
// Migrate general settings (disableAutoUpdate, disableUpdateNag)
847+
if (generalSettings) {
848+
const newGeneral: Record<string, unknown> = { ...generalSettings };
849+
let modified = false;
850+
851+
if (typeof newGeneral['disableAutoUpdate'] === 'boolean') {
852+
const oldValue = newGeneral['disableAutoUpdate'] as boolean;
853+
debugLogger.log(
854+
`Migrating deprecated general.disableAutoUpdate to general.enableAutoUpdate from ${scope} settings (inverting value: ${oldValue} -> ${!oldValue})...`,
855+
);
856+
newGeneral['enableAutoUpdate'] = !oldValue;
857+
delete newGeneral['disableAutoUpdate'];
858+
modified = true;
859+
}
862860

863-
// Migrate general.disableUpdateNag -> general.enableUpdatePrompts
864-
if (
865-
generalSettings &&
866-
typeof generalSettings['disableUpdateNag'] === 'boolean'
867-
) {
868-
const oldValue = generalSettings['disableUpdateNag'] as boolean;
869-
debugLogger.log(
870-
`Migrating deprecated general.disableUpdateNag to general.enableUpdatePrompts from ${scope} settings (inverting value: ${oldValue} -> ${!oldValue})...`,
871-
);
872-
// Re-read in case we just updated it above
873-
const currentGeneral = loadedSettings.forScope(scope).settings.general as
874-
| Record<string, unknown>
875-
| undefined;
876-
const newGeneral: Record<string, unknown> = {
877-
...currentGeneral,
878-
enableUpdatePrompts: !oldValue,
879-
};
880-
delete newGeneral['disableUpdateNag'];
881-
loadedSettings.setValue(scope, 'general', newGeneral);
861+
if (typeof newGeneral['disableUpdateNag'] === 'boolean') {
862+
const oldValue = newGeneral['disableUpdateNag'] as boolean;
863+
debugLogger.log(
864+
`Migrating deprecated general.disableUpdateNag to general.enableUpdatePrompts from ${scope} settings (inverting value: ${oldValue} -> ${!oldValue})...`,
865+
);
866+
newGeneral['enableUpdatePrompts'] = !oldValue;
867+
delete newGeneral['disableUpdateNag'];
868+
modified = true;
869+
}
870+
871+
if (modified) {
872+
loadedSettings.setValue(scope, 'general', newGeneral);
873+
}
882874
}
883875

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

0 commit comments

Comments
 (0)