function shouldClearExtensionsBySettingsContext()

in packages/vscode-bootstrap/src/cleanExtensions.ts [30:47]


function shouldClearExtensionsBySettingsContext(config: WebIdeConfig) {
  const isMarketplaceEnabled = config.extensionMarketplaceSettings?.enabled;

  if (!isMarketplaceEnabled) return false;

  const { settingsContextHash } = config;
  const lastSettingsContextHash = getFromLocalStorage(
    EXTENSION_MARKETPLACE_SETTINGS_CONTEXT_HASH_KEY,
  );

  // We want to prevent clearing extensions settings when no `lastSettingsContextHash` exists
  // so that users can migrate their extensions over to settings context hash
  return (
    settingsContextHash &&
    lastSettingsContextHash &&
    lastSettingsContextHash !== settingsContextHash
  );
}