feat: add resolve command for resolving legacy version queries (#353)

This commit is contained in:
Augusto Moura 2023-05-31 01:22:44 -03:00 committed by GitHub
parent fd780d5084
commit 4f8aa3d9eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 32 additions and 1 deletions

View File

@ -0,0 +1,28 @@
#! /usr/bin/env bash
set -eu -o pipefail
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/../utils.sh"
legacy_strat="${ASDF_NODEJS_LEGACY_FILE_DYNAMIC_STRATEGY-}"
queries=()
for arg; do
case "$arg" in
--latest-installed)
legacy_strat=latest_installed
;;
--latest-available)
legacy_strat=latest_available
;;
*)
queries+=("$arg")
;;
esac
done
for query in "${queries[@]}"; do
ASDF_NODEJS_LEGACY_FILE_DYNAMIC_STRATEGY="$legacy_strat" resolve_version "$query"
done

View File

@ -104,9 +104,12 @@ resolve_legacy_version() {
if [ "$resolved" ]; then
printf "%s\n" "$resolved"
else
elif [ "$strategy" != latest_available ]; then
# If no version is installed, fallback to latest_available, so `asdf install nodejs` works
resolve_legacy_version latest_available "$query"
else
# Give up and pretty the query itself
printf "%s\n" "$query"
fi
}