When deleting an extension, it is checked if this extension is referenced by bundles or declared as a dependency. If at least one occurrence has been found, the delete is rejected.
However there are cases where the delete still makes sense and should work imho.
Take this example:
Extension Equinusocio.vsc-community-material-theme has been deprecated for a while, but is still bundled from another extension EdwinKofler.vscode-hyperupcall-pack-themes, though not in the latest version of it.
Extension Equinusocio.vsc-community-material-theme is bundled by the following extension packs:
EdwinKofler.vscode-hyperupcall-pack-themes-0.3.1,
EdwinKofler.vscode-hyperupcall-pack-themes-0.4.2,
EdwinKofler.vscode-hyperupcall-pack-themes-0.4.1,
EdwinKofler.vscode-hyperupcall-pack-themes-0.6.0,
EdwinKofler.vscode-hyperupcall-pack-themes-0.4.0,
EdwinKofler.vscode-hyperupcall-pack-themes-0.3.0,
EdwinKofler.vscode-hyperupcall-pack-themes-0.5.2,
EdwinKofler.vscode-hyperupcall-pack-themes-0.5.1,
EdwinKofler.vscode-hyperupcall-pack-themes-0.5.0
That makes it impossible to remove such a deprecated version as long as some extension version still exists that bundles it.
We should relax that constraint only for the latest version imho.
When deleting an extension, it is checked if this extension is referenced by bundles or declared as a dependency. If at least one occurrence has been found, the delete is rejected.
However there are cases where the delete still makes sense and should work imho.
Take this example:
Extension
Equinusocio.vsc-community-material-themehas been deprecated for a while, but is still bundled from another extensionEdwinKofler.vscode-hyperupcall-pack-themes, though not in the latest version of it.That makes it impossible to remove such a deprecated version as long as some extension version still exists that bundles it.
We should relax that constraint only for the latest version imho.