mirror of
https://github.com/nvm-sh/nvm.git
synced 2025-08-17 19:13:43 +00:00
Compare commits
2 Commits
8283b91ede
...
759f70f196
Author | SHA1 | Date | |
---|---|---|---|
![]() |
759f70f196 | ||
![]() |
06a9179309 |
74
nvm.sh
74
nvm.sh
@ -63,11 +63,13 @@ nvm_command_info() {
|
|||||||
local INFO
|
local INFO
|
||||||
COMMAND="${1}"
|
COMMAND="${1}"
|
||||||
if type "${COMMAND}" | nvm_grep -q hashed; then
|
if type "${COMMAND}" | nvm_grep -q hashed; then
|
||||||
INFO="$(type "${COMMAND}" | command awk '{ gsub(/[()]/,""); print $4 }')"
|
INFO="$(type "${COMMAND}" | command sed -E 's/\(|\)//g' | command awk '{print $4}')"
|
||||||
elif type "${COMMAND}" | nvm_grep -q aliased; then
|
elif type "${COMMAND}" | nvm_grep -q aliased; then
|
||||||
INFO="$(which "${COMMAND}") ($(type "${COMMAND}" | command awk "{ \$1=\$2=\$3=\$4=\"\"; sub(/^ */, \"\"); gsub(/[\\\`']/, \"\"); print}"))"
|
# shellcheck disable=SC2230
|
||||||
|
INFO="$(which "${COMMAND}") ($(type "${COMMAND}" | command awk '{ $1=$2=$3=$4="" ;print }' | command sed -e 's/^\ *//g' -Ee "s/\`|'//g"))"
|
||||||
elif type "${COMMAND}" | nvm_grep -q "^${COMMAND} is an alias for"; then
|
elif type "${COMMAND}" | nvm_grep -q "^${COMMAND} is an alias for"; then
|
||||||
INFO="$(which "${COMMAND}") ($(type "${COMMAND}" | command awk "{ \$1=\$2=\$3=\$4=\$5=\"\"; sub(/^ */, \"\"); print }"))"
|
# shellcheck disable=SC2230
|
||||||
|
INFO="$(which "${COMMAND}") ($(type "${COMMAND}" | command awk '{ $1=$2=$3=$4=$5="" ;print }' | command sed 's/^\ *//g'))"
|
||||||
elif type "${COMMAND}" | nvm_grep -q "^${COMMAND} is /"; then
|
elif type "${COMMAND}" | nvm_grep -q "^${COMMAND} is /"; then
|
||||||
INFO="$(type "${COMMAND}" | command awk '{print $3}')"
|
INFO="$(type "${COMMAND}" | command awk '{print $3}')"
|
||||||
else
|
else
|
||||||
@ -85,7 +87,7 @@ nvm_has_colors() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
nvm_curl_libz_support() {
|
nvm_curl_libz_support() {
|
||||||
curl -V 2>/dev/null | command awk '/^Features:.*libz/ { found=1; exit } END { exit (found ? 0 : 1) }'
|
curl -V 2>/dev/null | nvm_grep "^Features:" | nvm_grep -q "libz"
|
||||||
}
|
}
|
||||||
|
|
||||||
nvm_curl_use_compression() {
|
nvm_curl_use_compression() {
|
||||||
@ -532,13 +534,9 @@ $(nvm_wrap_with_color_code 'y' "${warn_text}")"
|
|||||||
nvm_process_nvmrc() {
|
nvm_process_nvmrc() {
|
||||||
local NVMRC_PATH
|
local NVMRC_PATH
|
||||||
NVMRC_PATH="$1"
|
NVMRC_PATH="$1"
|
||||||
|
|
||||||
local lines
|
local lines
|
||||||
lines=$(command awk '{
|
|
||||||
sub(/#.*/, "")
|
lines=$(command sed 's/#.*//' "$NVMRC_PATH" | command sed 's/^[[:space:]]*//;s/[[:space:]]*$//' | nvm_grep -v '^$')
|
||||||
gsub(/^[[:space:]]+|[[:space:]]+$/, "")
|
|
||||||
if (length($0) > 0) print
|
|
||||||
}' "$NVMRC_PATH")
|
|
||||||
|
|
||||||
if [ -z "$lines" ]; then
|
if [ -z "$lines" ]; then
|
||||||
nvm_nvmrc_invalid_msg "${lines}"
|
nvm_nvmrc_invalid_msg "${lines}"
|
||||||
@ -1417,11 +1415,11 @@ nvm_add_iojs_prefix() {
|
|||||||
nvm_strip_iojs_prefix() {
|
nvm_strip_iojs_prefix() {
|
||||||
local NVM_IOJS_PREFIX
|
local NVM_IOJS_PREFIX
|
||||||
NVM_IOJS_PREFIX="$(nvm_iojs_prefix)"
|
NVM_IOJS_PREFIX="$(nvm_iojs_prefix)"
|
||||||
if [ "${1-}" = "${NVM_IOJS_PREFIX}" ]; then
|
|
||||||
nvm_echo
|
case "${1-}" in
|
||||||
else
|
"${NVM_IOJS_PREFIX}") nvm_echo ;;
|
||||||
nvm_echo "${1#"${NVM_IOJS_PREFIX}"-}"
|
*) nvm_echo "${1#"${NVM_IOJS_PREFIX}"-}" ;;
|
||||||
fi
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
nvm_ls() {
|
nvm_ls() {
|
||||||
@ -1553,12 +1551,15 @@ nvm_ls() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${NVM_ADD_SYSTEM-}" = true ]; then
|
if [ "${NVM_ADD_SYSTEM-}" = true ]; then
|
||||||
if [ -z "${PATTERN}" ] || [ "${PATTERN}" = 'v' ]; then
|
case "${PATTERN}" in
|
||||||
|
'' | v)
|
||||||
VERSIONS="${VERSIONS}
|
VERSIONS="${VERSIONS}
|
||||||
system"
|
system"
|
||||||
elif [ "${PATTERN}" = 'system' ]; then
|
;;
|
||||||
|
system)
|
||||||
VERSIONS="system"
|
VERSIONS="system"
|
||||||
fi
|
;;
|
||||||
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "${VERSIONS}" ]; then
|
if [ -z "${VERSIONS}" ]; then
|
||||||
@ -1997,28 +1998,7 @@ nvm_print_implicit_alias() {
|
|||||||
NVM_IOJS_VERSION="$(${NVM_COMMAND})" &&:
|
NVM_IOJS_VERSION="$(${NVM_COMMAND})" &&:
|
||||||
EXIT_CODE="$?"
|
EXIT_CODE="$?"
|
||||||
if [ "_${EXIT_CODE}" = "_0" ]; then
|
if [ "_${EXIT_CODE}" = "_0" ]; then
|
||||||
NVM_IOJS_VERSION="$(nvm_echo "${NVM_IOJS_VERSION}" | command awk -v prefix="^${NVM_IMPLICIT}-" '
|
NVM_IOJS_VERSION="$(nvm_echo "${NVM_IOJS_VERSION}" | command sed "s/^${NVM_IMPLICIT}-//" | nvm_grep -e '^v' | command cut -c2- | command cut -d . -f 1,2 | uniq | command tail -1)"
|
||||||
BEGIN {
|
|
||||||
last = ""
|
|
||||||
prev = ""
|
|
||||||
}
|
|
||||||
{
|
|
||||||
sub(prefix, "")
|
|
||||||
# skip lines that do not start with "v"
|
|
||||||
if ($0 !~ /^v/) next
|
|
||||||
# remove leading "v"
|
|
||||||
sub(/^v/, "")
|
|
||||||
# keep only major.minor
|
|
||||||
split($0, parts, "\\.")
|
|
||||||
short = parts[1] "." parts[2]
|
|
||||||
# replicate "uniq" by only updating if changed
|
|
||||||
if (short != prev) {
|
|
||||||
last = short
|
|
||||||
prev = short
|
|
||||||
}
|
|
||||||
}
|
|
||||||
END { print last }
|
|
||||||
')"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "_$NVM_IOJS_VERSION" = "_N/A" ]; then
|
if [ "_$NVM_IOJS_VERSION" = "_N/A" ]; then
|
||||||
@ -2040,7 +2020,7 @@ nvm_print_implicit_alias() {
|
|||||||
|
|
||||||
nvm_is_zsh && setopt local_options shwordsplit
|
nvm_is_zsh && setopt local_options shwordsplit
|
||||||
|
|
||||||
LAST_TWO="$($NVM_COMMAND | command awk '/^v/ { sub(/^v/, ""); split($0, parts, "\\."); short=parts[1]"."parts[2]; if (!seen[short]++) print short }')"
|
LAST_TWO=$($NVM_COMMAND | nvm_grep -e '^v' | command cut -c2- | command cut -d . -f 1,2 | uniq)
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
local MINOR
|
local MINOR
|
||||||
@ -2757,19 +2737,13 @@ nvm_npm_global_modules() {
|
|||||||
local NPMLIST
|
local NPMLIST
|
||||||
local VERSION
|
local VERSION
|
||||||
VERSION="$1"
|
VERSION="$1"
|
||||||
NPMLIST="$(nvm use "${VERSION}" >/dev/null && npm list -g --depth=0 2>/dev/null | command awk 'NR == 1 { next } /UNMET PEER DEPENDENCY/ { next } { print }')"
|
NPMLIST=$(nvm use "${VERSION}" >/dev/null && npm list -g --depth=0 2>/dev/null | command sed -e '1d' -e '/UNMET PEER DEPENDENCY/d')
|
||||||
|
|
||||||
local INSTALLS
|
local INSTALLS
|
||||||
INSTALLS="$(nvm_echo "${NPMLIST}" | command awk '
|
INSTALLS=$(nvm_echo "${NPMLIST}" | command sed -e '/ -> / d' -e '/\(empty\)/ d' -e 's/^.* \(.*@[^ ]*\).*/\1/' -e '/^npm@[^ ]*.*$/ d' | command xargs)
|
||||||
/ -> / { next }
|
|
||||||
/\(empty\)/ { next }
|
|
||||||
/^npm@/ { next }
|
|
||||||
{ sub(/^.* (.*@[^ ]*).*/,"\\1"); if (length($0) > 0) print }
|
|
||||||
' | command xargs
|
|
||||||
)"
|
|
||||||
|
|
||||||
local LINKS
|
local LINKS
|
||||||
LINKS="$(nvm_echo "${NPMLIST}" | command awk '/ -> / { sub(/.* -> /,""); print } ')"
|
LINKS="$(nvm_echo "${NPMLIST}" | command sed -n 's/.* -> \(.*\)/\1/ p')"
|
||||||
|
|
||||||
nvm_echo "${INSTALLS} //// ${LINKS}"
|
nvm_echo "${INSTALLS} //// ${LINKS}"
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user