mirror of
https://github.com/asdf-vm/asdf-nodejs.git
synced 2024-10-05 15:25:28 +08:00
feat: add resolve command for resolving legacy version queries (#353)
This commit is contained in:
parent
fd780d5084
commit
4f8aa3d9eb
28
lib/commands/command-resolve.bash
Normal file
28
lib/commands/command-resolve.bash
Normal 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
|
@ -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
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user