Compare commits

..

7 Commits

Author SHA1 Message Date
Chris Seitz
b3a865aef4 Merge 387d92cd4d into 4beab63631 2024-08-07 09:40:31 +00:00
Jordan Harband
4beab63631 [Fix] declare an unbound variable
Fixes #3402
2024-08-07 17:38:37 +12:00
Jordan Harband
14acd3dcdd [Fix] nvm install -b: do not attempt to download source on a failed binary download with -b
Fixes #3399
2024-08-01 10:35:37 -07:00
Jordan Harband
271720ebfc [Fix] nvm install -b: when no binary is available, fail and output a clear message 2024-08-01 13:57:22 -07:00
Jordan Harband
423ee82b4c [Tests] fix nvm ls-remote unit test 2024-08-01 10:22:28 -07:00
Chris Seitz
387d92cd4d Merge pull request #1 from cseitz-forks/cseitz-nvm-no-help-1
Added NVM_NO_HELP flag to nvm.sh
2023-06-06 13:34:03 -04:00
Chris Seitz
85e1d29fa8 Added NVM_NO_HELP flag to nvm.sh
This allows you to prevent NVM from intercepting help calls.
2023-06-06 13:31:41 -04:00
3 changed files with 57 additions and 24 deletions

27
nvm.sh
View File

@@ -503,9 +503,9 @@ $(nvm_wrap_with_color_code 'y' "${warn_text}")"
}
nvm_process_nvmrc() {
local NVMRC_PATH="$1"
local NVMRC_PATH
NVMRC_PATH="$1"
local lines
local unpaired_line
lines=$(command sed 's/#.*//' "$NVMRC_PATH" | command sed 's/^[[:space:]]*//;s/[[:space:]]*$//' | nvm_grep -v '^$')
@@ -515,8 +515,12 @@ nvm_process_nvmrc() {
fi
# Initialize key-value storage
local keys=''
local values=''
local keys
keys=''
local values
values=''
local unpaired_line
unpaired_line=''
while IFS= read -r line; do
if [ -z "${line}" ]; then
@@ -2437,7 +2441,7 @@ nvm_download_artifact() {
nvm_err "Downloading ${TARBALL_URL}..."
nvm_download -L -C - "${PROGRESS_BAR}" "${TARBALL_URL}" -o "${TARBALL}" || (
command rm -rf "${TARBALL}" "${tmpdir}"
nvm_err "Binary download from ${TARBALL_URL} failed, trying source."
nvm_err "download from ${TARBALL_URL} failed"
return 4
)
@@ -2995,6 +2999,9 @@ nvm() {
--) break ;;
'-h'|'help'|'--help')
NVM_NO_COLORS=""
if [[ "$NVM_NO_HELP" -eq 1 ]]; then
break;
fi
for j in "$@"; do
if [ "${j}" = '--no-colors' ]; then
NVM_NO_COLORS="${j}"
@@ -3558,9 +3565,13 @@ nvm() {
EXIT_CODE=$?
else
EXIT_CODE=-1
if [ $nosource -eq 1 ]; then
nvm_err "Binary download is not available for ${VERSION}"
EXIT_CODE=3
fi
fi
if [ $EXIT_CODE -ne 0 ]; then
if [ $EXIT_CODE -ne 0 ] && [ $nosource -ne 1 ]; then
if [ -z "${NVM_MAKE_JOBS-}" ]; then
nvm_get_make_jobs
fi
@@ -3575,7 +3586,8 @@ nvm() {
fi
fi
if [ $EXIT_CODE -eq 0 ] && nvm_use_if_needed "${VERSION}" && nvm_install_npm_if_needed "${VERSION}"; then
if [ $EXIT_CODE -eq 0 ]; then
if nvm_use_if_needed "${VERSION}" && nvm_install_npm_if_needed "${VERSION}"; then
if [ -n "${LTS-}" ]; then
nvm_ensure_default_set "lts/${LTS}"
else
@@ -3595,6 +3607,7 @@ nvm() {
else
EXIT_CODE=$?
fi
fi
return $EXIT_CODE
;;

View File

@@ -0,0 +1,20 @@
#!/bin/sh
die () { echo "$@" ; exit 1; }
\. ../../../nvm.sh
nvm_install_source() {
exit 42
}
VERSION="0.7.0"
EXIT_CODE=$(nvm install -b "${VERSION}" ; echo $?)
[ $EXIT_CODE -eq 3 ] || die "Expected exit code 3, got ${EXIT_CODE}"
ACTUAL="$(nvm install -b "${VERSION}" 2>&1)"
EXPECTED="Binary download is not available for v${VERSION}"
[ "${ACTUAL}" = "${EXPECTED}" ] || die "Expected >${EXPECTED}<, got >${ACTUAL}<"

View File

@@ -6,14 +6,14 @@ die () { echo "$@" ; cleanup ; exit 1; }
cleanup() {
unset -f nvm_download nvm_ls_remote nvm_ls_remote_iojs
if [ -n TEMP_NVM_COLORS ]; then
if [ -n "${TEMP_NVM_COLORS-}" ]; then
export NVM_COLORS=TEMP_NVM_COLORS
fi
unset TEMP_NVM_COLORS
}
\. ../../../nvm.sh
if [ -n ${NVM_COLORS} ]; then
if [ -n "${NVM_COLORS-}" ]; then
export TEMP_NVM_COLORS=NVM_COLORS
unset NVM_COLORS
fi