fix(siren): handle --force-latest better

This commit is contained in:
2025-08-09 01:07:35 +01:00
parent 84bed8c98a
commit 591beaefa9
2 changed files with 14 additions and 3 deletions

View File

@@ -1,5 +1,5 @@
# cursor Extensions
# Generated on Fri Aug 8 12:00:48 BST 2025
# Generated on Fri Aug 8 12:05:22 BST 2025
alefragnani.project-manager@12.8.0
anthropic.claude-code@1.0.71
@@ -73,7 +73,6 @@ ms-dotnettools.vscode-dotnet-runtime@2.3.6
ms-kubernetes-tools.vscode-kubernetes-tools@1.3.25
ms-python.debugpy@2025.6.0
ms-python.python@2025.6.1
ms-python.vscode-pylance@2024.8.1
ms-vscode.cmake-tools@1.21.36
ms-vscode.extension-test-runner@0.0.12
ms-vscode.hexeditor@1.11.1

14
siren
View File

@@ -1021,6 +1021,7 @@ install_extension() {
current_version="$(get_installed_version "${editor_cmd}" "${extension}")"
local target_version="${version}"
local latest_version
if [[ "${use_latest}" != "false" ]]; then
target_version="latest"
fi
@@ -1028,6 +1029,11 @@ install_extension() {
if [[ -z "${current_version}" ]]; then
# Extension not installed.
info "Installing ${extension}@${target_version}"
elif [[ "${use_latest}" == "force" ]]; then
# Force install latest version.
info "Extension ${extension} is installed (current: ${current_version})," \
"attempting to force-reinstall latest version"
force_install="true"
elif [[ "${current_version}" == "${version}" ]]; then
# Exact version already installed.
info "Extension ${extension}@${version} is already installed, skipping"
@@ -1048,9 +1054,9 @@ install_extension() {
if ! install_extension_direct "${editor_cmd}" "${extension}" \
"${target_version}" "${force_install}"; then
local latest_version
if [[ "${use_latest}" != "false" ]]; then
info "Checking latest version for ${extension}..."
local latest_version
latest_version=$(query_latest_version "${extension}")
if [[ -n "${latest_version}" ]]; then
info " - Latest available version: ${latest_version}"
@@ -1061,6 +1067,12 @@ install_extension() {
fi
fi
if [[ "${current_version}" == "${version}" ]]; then
info "Extension ${extension} is already installed" \
"(current: ${current_version}), skipping"
return 0
fi
warn "Direct installation failed, trying .vsix download method..."
install_extension_via_vsix "${editor_cmd}" "${extension}" \
"${version}" "${extensions_cache_dir}"