From 10f24d6d4be28ba0d3e0e7e2e043d108382d8d96 Mon Sep 17 00:00:00 2001 From: Peter Dave Hello Date: Tue, 22 May 2018 20:57:40 +0800 Subject: [PATCH] [Refactor] `nvm.sh`: make coding style more consistent --- nvm.sh | 579 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 282 insertions(+), 297 deletions(-) diff --git a/nvm.sh b/nvm.sh index 9fa2fb6..2232d85 100644 --- a/nvm.sh +++ b/nvm.sh @@ -34,7 +34,7 @@ nvm_grep() { } nvm_has() { - type "${1-}" > /dev/null 2>&1 + type "${1-}" >/dev/null 2>&1 } nvm_has_non_aliased() { @@ -44,7 +44,7 @@ nvm_has_non_aliased() { nvm_is_alias() { # this is intentionally not "command alias" so it works in zsh. # shellcheck disable=SC1001 - \alias "${1-}" > /dev/null 2>&1 + \alias "${1-}" >/dev/null 2>&1 } nvm_command_info() { @@ -55,7 +55,7 @@ nvm_command_info() { INFO="$(type "${COMMAND}" | command sed -E 's/\(|\)//g' | command awk '{print $4}')" elif type "${COMMAND}" | nvm_grep -q aliased; then # shellcheck disable=SC2230 - INFO="$(which "${COMMAND}") ($(type "${COMMAND}" | command awk '{ $1=$2=$3=$4="" ;print }' | command sed -e 's/^\ *//g' -Ee "s/\`|'//g" ))" + 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 # shellcheck disable=SC2230 INFO="$(which "${COMMAND}") ($(type "${COMMAND}" | command awk '{ $1=$2=$3=$4=$5="" ;print }' | command sed 's/^\ *//g'))" @@ -80,7 +80,7 @@ nvm_curl_libz_support() { } nvm_curl_use_compression() { - nvm_curl_libz_support && nvm_version_greater_than_or_equal_to "$(nvm_curl_version)" 7.21.0; + nvm_curl_libz_support && nvm_version_greater_than_or_equal_to "$(nvm_curl_version)" 7.21.0 } nvm_get_latest() { @@ -136,7 +136,7 @@ nvm_has_system_iojs() { } nvm_is_version_installed() { - [ -n "${1-}" ] && [ -x "$(nvm_version_path "$1" 2> /dev/null)"/bin/node ] + [ -n "${1-}" ] && [ -x "$(nvm_version_path "$1" 2>/dev/null)"/bin/node ] } nvm_print_npm_version() { @@ -226,7 +226,7 @@ nvm_install_latest_npm() { fi if [ $NVM_IS_4_4_OR_BELOW -eq 1 ] || (\ - [ $NVM_IS_5_OR_ABOVE -eq 1 ] && nvm_version_greater 5.10.0 "${NODE_VERSION}"\ + [ $NVM_IS_5_OR_ABOVE -eq 1 ] && nvm_version_greater 5.10.0 "${NODE_VERSION}" \ ); then nvm_echo '* `npm` `v5.3.x` is the last version that works on `node` 4.x versions below v4.4, or 5.x versions below v5.10, due to `Buffer.alloc`' $NVM_NPM_CMD install -g npm@5.3 @@ -261,7 +261,7 @@ if [ -z "${NVM_DIR-}" ]; then NVM_SCRIPT_SOURCE="${BASH_SOURCE[0]}" fi # shellcheck disable=SC1001 - NVM_DIR="$(nvm_cd ${NVM_CD_FLAGS} "$(dirname "${NVM_SCRIPT_SOURCE:-$0}")" > /dev/null && \pwd)" + NVM_DIR="$(nvm_cd ${NVM_CD_FLAGS} "$(dirname "${NVM_SCRIPT_SOURCE:-$0}")" >/dev/null && \pwd)" export NVM_DIR else # https://unix.stackexchange.com/a/198289 @@ -273,7 +273,7 @@ else ;; esac fi -unset NVM_SCRIPT_SOURCE 2> /dev/null +unset NVM_SCRIPT_SOURCE 2>/dev/null nvm_tree_contains_path() { local tree @@ -304,7 +304,6 @@ nvm_find_up() { nvm_echo "${path_}" } - nvm_find_nvmrc() { local dir dir="$(nvm_find_up '.nvmrc')" @@ -350,7 +349,7 @@ nvm_version_greater() { else if (a[i] > b[i]) exit(0); } exit(4) - }' "${1#v}" "${2#v}"; + }' "${1#v}" "${2#v}" } nvm_version_greater_than_or_equal_to() { @@ -364,7 +363,7 @@ nvm_version_greater_than_or_equal_to() { else if (a[i] > b[i]) exit(0); } exit(0) - }' "${1#v}" "${2#v}"; + }' "${1#v}" "${2#v}" } nvm_version_dir() { @@ -455,7 +454,7 @@ nvm_version() { VERSION="$(nvm_ls "${PATTERN}" | command tail -1)" if [ -z "${VERSION}" ] || [ "_${VERSION}" = "_N/A" ]; then nvm_echo "N/A" - return 3; + return 3 fi nvm_echo "${VERSION}" } @@ -464,7 +463,7 @@ nvm_remote_version() { local PATTERN PATTERN="${1-}" local VERSION - if nvm_validate_implicit_alias "${PATTERN}" 2> /dev/null ; then + if nvm_validate_implicit_alias "${PATTERN}" 2>/dev/null; then case "${PATTERN}" in "$(nvm_iojs_prefix)") VERSION="$(NVM_LTS="${NVM_LTS-}" nvm_ls_remote_iojs | command tail -1)" &&: @@ -514,7 +513,7 @@ nvm_remote_versions() { ;; esac - if nvm_validate_implicit_alias "${PATTERN-}" 2> /dev/null ; then + if nvm_validate_implicit_alias "${PATTERN-}" 2>/dev/null; then nvm_err 'Implicit aliases are not supported in nvm_remote_versions.' return 1 fi @@ -558,7 +557,7 @@ ${NVM_LS_REMOTE_POST_MERGED_OUTPUT}" | nvm_grep -v "N/A" | command sed '/^$/d')" } nvm_is_valid_version() { - if nvm_validate_implicit_alias "${1-}" 2> /dev/null; then + if nvm_validate_implicit_alias "${1-}" 2>/dev/null; then return 0 fi case "${1-}" in @@ -711,7 +710,7 @@ nvm_print_formatted_alias() { if [ "_${DEST%/*}" = "_lts" ]; then DEST_FORMAT='\033[1;33m%s\033[0m' fi - elif [ "_$VERSION" != '_∞' ] && [ "_$VERSION" != '_N/A' ]; then + elif [ "_${VERSION}" != '_∞' ] && [ "_${VERSION}" != '_N/A' ]; then VERSION_FORMAT='%s *' fi if [ "${DEST}" = "${VERSION}" ]; then @@ -737,7 +736,7 @@ nvm_print_alias_path() { local ALIAS ALIAS="${ALIAS_PATH##${NVM_ALIAS_DIR}\/}" local DEST - DEST="$(nvm_alias "${ALIAS}" 2> /dev/null)" ||: + DEST="$(nvm_alias "${ALIAS}" 2>/dev/null)" ||: if [ -n "${DEST}" ]; then NVM_NO_COLORS="${NVM_NO_COLORS-}" NVM_LTS="${NVM_LTS-}" DEFAULT=false nvm_print_formatted_alias "${ALIAS}" "${DEST}" fi @@ -842,7 +841,7 @@ nvm_alias() { nvm_ls_current() { local NVM_LS_CURRENT_NODE_PATH - if ! NVM_LS_CURRENT_NODE_PATH="$(command which node 2> /dev/null)"; then + if ! NVM_LS_CURRENT_NODE_PATH="$(command which node 2>/dev/null)"; then nvm_echo 'none' elif nvm_tree_contains_path "$(nvm_version_dir iojs)" "${NVM_LS_CURRENT_NODE_PATH}"; then nvm_add_iojs_prefix "$(iojs --version 2>/dev/null)" @@ -874,13 +873,13 @@ nvm_resolve_alias() { local SEEN_ALIASES SEEN_ALIASES="${ALIAS}" while true; do - ALIAS_TEMP="$(nvm_alias "${ALIAS}" 2> /dev/null || nvm_echo)" + ALIAS_TEMP="$(nvm_alias "${ALIAS}" 2>/dev/null || nvm_echo)" if [ -z "${ALIAS_TEMP}" ]; then break fi - if command printf "${SEEN_ALIASES}" | nvm_grep -q -e "^${ALIAS_TEMP}$" ; then + if command printf "${SEEN_ALIASES}" | nvm_grep -q -e "^${ALIAS_TEMP}$"; then ALIAS="∞" break fi @@ -897,7 +896,7 @@ nvm_resolve_alias() { case "${ALIAS}" in '∞' | \ "${NVM_IOJS_PREFIX}" | "${NVM_IOJS_PREFIX}-" | \ - "${NVM_NODE_PREFIX}" ) + "${NVM_NODE_PREFIX}") nvm_echo "${ALIAS}" ;; *) @@ -907,9 +906,9 @@ nvm_resolve_alias() { return 0 fi - if nvm_validate_implicit_alias "${PATTERN}" 2> /dev/null ; then + if nvm_validate_implicit_alias "${PATTERN}" 2>/dev/null; then local IMPLICIT - IMPLICIT="$(nvm_print_implicit_alias local "${PATTERN}" 2> /dev/null)" + IMPLICIT="$(nvm_print_implicit_alias local "${PATTERN}" 2>/dev/null)" if [ -n "${IMPLICIT}" ]; then nvm_ensure_version_prefix "${IMPLICIT}" fi @@ -985,7 +984,7 @@ nvm_ls() { NVM_VERSION_DIR_OLD="$(nvm_version_dir old)" case "${PATTERN}" in - "${NVM_IOJS_PREFIX}" | "${NVM_NODE_PREFIX}" ) + "${NVM_IOJS_PREFIX}" | "${NVM_NODE_PREFIX}") PATTERN="${PATTERN}-" ;; *) @@ -1109,7 +1108,7 @@ nvm_ls() { nvm_ls_remote() { local PATTERN PATTERN="${1-}" - if nvm_validate_implicit_alias "${PATTERN}" 2> /dev/null ; then + if nvm_validate_implicit_alias "${PATTERN}" 2>/dev/null ; then local IMPLICIT IMPLICIT="$(nvm_print_implicit_alias remote "${PATTERN}")" if [ -z "${IMPLICIT-}" ] || [ "${IMPLICIT}" = 'N/A' ]; then @@ -1214,7 +1213,7 @@ nvm_ls_remote_index_tab() { | while read -r LTS_ALIAS_LINE; do LTS_ALIAS="${LTS_ALIAS_LINE%% *}" LTS_VERSION="${LTS_ALIAS_LINE#* }" - nvm_make_alias "$LTS_ALIAS" "$LTS_VERSION" >/dev/null 2>&1 + nvm_make_alias "${LTS_ALIAS}" "${LTS_VERSION}" >/dev/null 2>&1 done VERSIONS="$({ command awk -v pattern="${PATTERN-}" -v lts="${LTS-}" '{ @@ -1425,17 +1424,17 @@ nvm_print_versions() { VERSION="${VERSION_LINE%% *}" LTS="${VERSION_LINE#* }" FORMAT='%15s' - if [ "_$VERSION" = "_$NVM_CURRENT" ]; then + if [ "_${VERSION}" = "_${NVM_CURRENT}" ]; then if [ "${NVM_HAS_COLORS-}" = '1' ]; then FORMAT='\033[0;32m-> %12s\033[0m' else FORMAT='-> %12s *' fi - elif [ "$VERSION" = "system" ]; then + elif [ "${VERSION}" = "system" ]; then if [ "${NVM_HAS_COLORS-}" = '1' ]; then FORMAT='\033[0;33m%15s\033[0m' fi - elif nvm_is_version_installed "$VERSION"; then + elif nvm_is_version_installed "${VERSION}"; then if [ "${NVM_HAS_COLORS-}" = '1' ]; then FORMAT='\033[0;34m%15s\033[0m' else @@ -1462,9 +1461,9 @@ nvm_print_versions() { fi ;; esac - command printf -- "${FORMAT}${LTS_FORMAT}\\n" "$VERSION" " $LTS" + command printf -- "${FORMAT}${LTS_FORMAT}\\n" "${VERSION}" " ${LTS}" else - command printf -- "${FORMAT}\\n" "$VERSION" + command printf -- "${FORMAT}\\n" "${VERSION}" fi done } @@ -1476,11 +1475,11 @@ nvm_validate_implicit_alias() { NVM_NODE_PREFIX="$(nvm_node_prefix)" case "$1" in - "stable" | "unstable" | "$NVM_IOJS_PREFIX" | "$NVM_NODE_PREFIX" ) + "stable" | "unstable" | "${NVM_IOJS_PREFIX}" | "${NVM_NODE_PREFIX}") return ;; *) - nvm_err "Only implicit aliases 'stable', 'unstable', '$NVM_IOJS_PREFIX', and '$NVM_NODE_PREFIX' are supported." + nvm_err "Only implicit aliases 'stable', 'unstable', '${NVM_IOJS_PREFIX}', and '${NVM_NODE_PREFIX}' are supported." return 1 ;; esac @@ -1494,7 +1493,7 @@ nvm_print_implicit_alias() { local NVM_IMPLICIT NVM_IMPLICIT="$2" - if ! nvm_validate_implicit_alias "$NVM_IMPLICIT"; then + if ! nvm_validate_implicit_alias "${NVM_IMPLICIT}"; then return 2 fi @@ -1505,32 +1504,32 @@ nvm_print_implicit_alias() { local NVM_COMMAND local NVM_ADD_PREFIX_COMMAND local LAST_TWO - case "$NVM_IMPLICIT" in - "$NVM_IOJS_PREFIX") + case "${NVM_IMPLICIT}" in + "${NVM_IOJS_PREFIX}") NVM_COMMAND="nvm_ls_remote_iojs" NVM_ADD_PREFIX_COMMAND="nvm_add_iojs_prefix" if [ "_$1" = "_local" ]; then - NVM_COMMAND="nvm_ls $NVM_IMPLICIT" + NVM_COMMAND="nvm_ls ${NVM_IMPLICIT}" fi nvm_is_zsh && setopt local_options shwordsplit local NVM_IOJS_VERSION local EXIT_CODE - NVM_IOJS_VERSION="$($NVM_COMMAND)" &&: + NVM_IOJS_VERSION="$(${NVM_COMMAND})" &&: EXIT_CODE="$?" - if [ "_$EXIT_CODE" = "_0" ]; then - 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)" + if [ "_${EXIT_CODE}" = "_0" ]; then + 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)" fi if [ "_$NVM_IOJS_VERSION" = "_N/A" ]; then nvm_echo 'N/A' else - $NVM_ADD_PREFIX_COMMAND "$NVM_IOJS_VERSION" + ${NVM_ADD_PREFIX_COMMAND} "${NVM_IOJS_VERSION}" fi return $EXIT_CODE ;; - "$NVM_NODE_PREFIX") + "${NVM_NODE_PREFIX}") nvm_echo 'stable' return ;; @@ -1557,11 +1556,11 @@ nvm_print_implicit_alias() { if [ "_0${NORMALIZED_VERSION#?}" != "_$NORMALIZED_VERSION" ]; then STABLE="$MINOR" else - MOD="$(awk 'BEGIN { print int(ARGV[1] / 1000000) % 2 ; exit(0) }' "$NORMALIZED_VERSION")" - if [ "$MOD" -eq 0 ]; then - STABLE="$MINOR" - elif [ "$MOD" -eq 1 ]; then - UNSTABLE="$MINOR" + MOD="$(awk 'BEGIN { print int(ARGV[1] / 1000000) % 2 ; exit(0) }' "${NORMALIZED_VERSION}")" + if [ "${MOD}" -eq 0 ]; then + STABLE="${MINOR}" + elif [ "${MOD}" -eq 1 ]; then + UNSTABLE="${MINOR}" fi fi done @@ -1577,7 +1576,7 @@ nvm_get_os() { local NVM_UNAME NVM_UNAME="$(command uname -a)" local NVM_OS - case "$NVM_UNAME" in + case "${NVM_UNAME}" in Linux\ *) NVM_OS=linux ;; Darwin\ *) NVM_OS=darwin ;; SunOS\ *) NVM_OS=sunos ;; @@ -1597,24 +1596,24 @@ nvm_get_arch() { # the most appropriate arch. If it's not available, use # isainfo to get the instruction set supported by the # kernel. - if [ "_$NVM_OS" = "_sunos" ]; then + if [ "_${NVM_OS}" = "_sunos" ]; then if HOST_ARCH=$(pkg_info -Q MACHINE_ARCH pkg_install); then HOST_ARCH=$(nvm_echo "${HOST_ARCH}" | command tail -1) else HOST_ARCH=$(isainfo -n) fi - elif [ "_$NVM_OS" = "_aix" ]; then + elif [ "_${NVM_OS}" = "_aix" ]; then HOST_ARCH=ppc64 else HOST_ARCH="$(command uname -m)" fi local NVM_ARCH - case "$HOST_ARCH" in + case "${HOST_ARCH}" in x86_64 | amd64) NVM_ARCH="x64" ;; i*86) NVM_ARCH="x86" ;; aarch64) NVM_ARCH="arm64" ;; - *) NVM_ARCH="$HOST_ARCH" ;; + *) NVM_ARCH="${HOST_ARCH}" ;; esac nvm_echo "${NVM_ARCH}" } @@ -1623,12 +1622,12 @@ nvm_get_minor_version() { local VERSION VERSION="$1" - if [ -z "$VERSION" ]; then + if [ -z "${VERSION}" ]; then nvm_err 'a version is required' return 1 fi - case "$VERSION" in + case "${VERSION}" in v | .* | *..* | v*[!.0123456789]* | [!v]*[!.0123456789]* | [!v0123456789]* | v[!0123456789]*) nvm_err 'invalid version number' return 2 @@ -1636,11 +1635,11 @@ nvm_get_minor_version() { esac local PREFIXED_VERSION - PREFIXED_VERSION="$(nvm_format_version "$VERSION")" + PREFIXED_VERSION="$(nvm_format_version "${VERSION}")" local MINOR - MINOR="$(nvm_echo "$PREFIXED_VERSION" | nvm_grep -e '^v' | command cut -c2- | command cut -d . -f 1,2)" - if [ -z "$MINOR" ]; then + MINOR="$(nvm_echo "${PREFIXED_VERSION}" | nvm_grep -e '^v' | command cut -c2- | command cut -d . -f 1,2)" + if [ -z "${MINOR}" ]; then nvm_err 'invalid version number! (please report this)' return 3 fi @@ -1650,7 +1649,7 @@ nvm_get_minor_version() { nvm_ensure_default_set() { local VERSION VERSION="$1" - if [ -z "$VERSION" ]; then + if [ -z "${VERSION}" ]; then nvm_err 'nvm_ensure_default_set: a version is required' return 1 elif nvm_alias default >/dev/null 2>&1; then @@ -1658,10 +1657,10 @@ nvm_ensure_default_set() { return 0 fi local OUTPUT - OUTPUT="$(nvm alias default "$VERSION")" + OUTPUT="$(nvm alias default "${VERSION}")" local EXIT_CODE EXIT_CODE="$?" - nvm_echo "Creating default alias: $OUTPUT" + nvm_echo "Creating default alias: ${OUTPUT}" return $EXIT_CODE } @@ -1894,8 +1893,8 @@ nvm_download_artifact() { ) if nvm_grep '404 Not Found' "${TARBALL}" >/dev/null; then - command rm -rf "${TARBALL}" "$tmpdir" - nvm_err "HTTP 404 at URL ${TARBALL_URL}"; + command rm -rf "${TARBALL}" "${tmpdir}" + nvm_err "HTTP 404 at URL ${TARBALL_URL}" return 5 fi @@ -1910,7 +1909,7 @@ nvm_download_artifact() { nvm_get_make_jobs() { if nvm_is_natural_num "${1-}"; then NVM_MAKE_JOBS="$1" - nvm_echo "number of \`make\` jobs: $NVM_MAKE_JOBS" + nvm_echo "number of \`make\` jobs: ${NVM_MAKE_JOBS}" return elif [ -n "${1-}" ]; then unset NVM_MAKE_JOBS @@ -1919,7 +1918,7 @@ nvm_get_make_jobs() { local NVM_OS NVM_OS="$(nvm_get_os)" local NVM_CPU_CORES - case "_$NVM_OS" in + case "_${NVM_OS}" in "_linux") NVM_CPU_CORES="$(nvm_grep -c -E '^processor.+: [0-9]+' /proc/cpuinfo)" ;; @@ -1933,15 +1932,15 @@ nvm_get_make_jobs() { NVM_CPU_CORES="$(pmcycles -m | wc -l)" ;; esac - if ! nvm_is_natural_num "$NVM_CPU_CORES" ; then + if ! nvm_is_natural_num "${NVM_CPU_CORES}"; then nvm_err 'Can not determine how many core(s) are available, running in single-threaded mode.' nvm_err 'Please report an issue on GitHub to help us make nvm run faster on your computer!' NVM_MAKE_JOBS=1 else - nvm_echo "Detected that you have $NVM_CPU_CORES CPU core(s)" - if [ "$NVM_CPU_CORES" -gt 2 ]; then + nvm_echo "Detected that you have ${NVM_CPU_CORES} CPU core(s)" + if [ "${NVM_CPU_CORES}" -gt 2 ]; then NVM_MAKE_JOBS=$((NVM_CPU_CORES - 1)) - nvm_echo "Running with $NVM_MAKE_JOBS threads to speed up the build" + nvm_echo "Running with ${NVM_MAKE_JOBS} threads to speed up the build" else NVM_MAKE_JOBS=1 nvm_echo 'Number of CPU core(s) less than or equal to 2, running in single-threaded mode' @@ -2012,7 +2011,7 @@ nvm_install_source() { ;; esac if nvm_has "clang++" && nvm_has "clang" && nvm_version_greater_than_or_equal_to "$(nvm_clang_version)" 3.5; then - if [ -z "${CC-}" ] || [ -z "${CXX-}" ] ; then + if [ -z "${CC-}" ] || [ -z "${CXX-}" ]; then nvm_echo "Clang v3.5+ detected! CC or CXX not specified, will use Clang as C/C++ compiler!" MAKE_CXX="CC=${CC:-cc} CXX=${CXX:-c++}" fi @@ -2076,10 +2075,10 @@ nvm_install_npm_if_needed() { VERSION="$(nvm_ls_current)" if ! nvm_has "npm"; then nvm_echo 'Installing npm...' - if nvm_version_greater 0.2.0 "$VERSION"; then + if nvm_version_greater 0.2.0 "${VERSION}"; then nvm_err 'npm requires node v0.2.3 or higher' - elif nvm_version_greater_than_or_equal_to "$VERSION" 0.2.0; then - if nvm_version_greater 0.2.3 "$VERSION"; then + elif nvm_version_greater_than_or_equal_to "${VERSION}" 0.2.0; then + if nvm_version_greater 0.2.3 "${VERSION}"; then nvm_err 'npm requires node v0.2.3 or higher' else nvm_download -L https://npmjs.org/install.sh -o - | clean=yes npm_install=0.2.19 sh @@ -2096,15 +2095,15 @@ nvm_match_version() { NVM_IOJS_PREFIX="$(nvm_iojs_prefix)" local PROVIDED_VERSION PROVIDED_VERSION="$1" - case "_$PROVIDED_VERSION" in - "_$NVM_IOJS_PREFIX" | '_io.js') - nvm_version "$NVM_IOJS_PREFIX" + case "_${PROVIDED_VERSION}" in + "_${NVM_IOJS_PREFIX}" | '_io.js') + nvm_version "${NVM_IOJS_PREFIX}" ;; '_system') nvm_echo 'system' ;; *) - nvm_version "$PROVIDED_VERSION" + nvm_version "${PROVIDED_VERSION}" ;; esac } @@ -2113,22 +2112,22 @@ nvm_npm_global_modules() { local NPMLIST local VERSION VERSION="$1" - NPMLIST=$(nvm use "$VERSION" > /dev/null && npm list -g --depth=0 2> /dev/null | command sed 1,1d) + NPMLIST=$(nvm use "${VERSION}" >/dev/null && npm list -g --depth=0 2>/dev/null | command sed 1,1d) local INSTALLS - INSTALLS=$(nvm_echo "$NPMLIST" | command sed -e '/ -> / d' -e '/\(empty\)/ d' -e 's/^.* \(.*@[^ ]*\).*/\1/' -e '/^npm@[^ ]*.*$/ d' | command xargs) + INSTALLS=$(nvm_echo "${NPMLIST}" | command sed -e '/ -> / d' -e '/\(empty\)/ d' -e 's/^.* \(.*@[^ ]*\).*/\1/' -e '/^npm@[^ ]*.*$/ d' | command xargs) local LINKS - LINKS="$(nvm_echo "$NPMLIST" | command sed -n 's/.* -> \(.*\)/\1/ p')" + LINKS="$(nvm_echo "${NPMLIST}" | command sed -n 's/.* -> \(.*\)/\1/ p')" - nvm_echo "$INSTALLS //// $LINKS" + nvm_echo "${INSTALLS} //// ${LINKS}" } nvm_die_on_prefix() { local NVM_DELETE_PREFIX NVM_DELETE_PREFIX="$1" - case "$NVM_DELETE_PREFIX" in - 0|1) ;; + case "${NVM_DELETE_PREFIX}" in + 0 | 1) ;; *) nvm_err 'First argument "delete the prefix" must be zero or one' return 1 @@ -2136,7 +2135,7 @@ nvm_die_on_prefix() { esac local NVM_COMMAND NVM_COMMAND="$2" - if [ -z "$NVM_COMMAND" ]; then + if [ -z "${NVM_COMMAND}" ]; then nvm_err 'Second argument "nvm command" must be nonempty' return 2 fi @@ -2175,16 +2174,16 @@ nvm_die_on_prefix() { local NVM_NPM_PREFIX NVM_NPM_PREFIX="$(npm config --loglevel=warn get prefix)" - if ! (nvm_tree_contains_path "$NVM_DIR" "$NVM_NPM_PREFIX" >/dev/null 2>&1); then - if [ "_$NVM_DELETE_PREFIX" = "_1" ]; then + if ! (nvm_tree_contains_path "${NVM_DIR}" "${NVM_NPM_PREFIX}" >/dev/null 2>&1); then + if [ "_${NVM_DELETE_PREFIX}" = "_1" ]; then npm config --loglevel=warn delete prefix else nvm deactivate >/dev/null 2>&1 - nvm_err "nvm is not compatible with the npm config \"prefix\" option: currently set to \"$NVM_NPM_PREFIX\"" + nvm_err "nvm is not compatible with the npm config \"prefix\" option: currently set to \"${NVM_NPM_PREFIX}\"" if nvm_has 'npm'; then - nvm_err "Run \`npm config delete prefix\` or \`$NVM_COMMAND\` to unset it." + nvm_err "Run \`npm config delete prefix\` or \`${NVM_COMMAND}\` to unset it." else - nvm_err "Run \`$NVM_COMMAND\` to unset it." + nvm_err "Run \`${NVM_COMMAND}\` to unset it." fi return 10 fi @@ -2200,13 +2199,13 @@ iojs_version_has_solaris_binary() { local IOJS_VERSION IOJS_VERSION="$1" local STRIPPED_IOJS_VERSION - STRIPPED_IOJS_VERSION="$(nvm_strip_iojs_prefix "$IOJS_VERSION")" - if [ "_$STRIPPED_IOJS_VERSION" = "$IOJS_VERSION" ]; then + STRIPPED_IOJS_VERSION="$(nvm_strip_iojs_prefix "${IOJS_VERSION}")" + if [ "_${STRIPPED_IOJS_VERSION}" = "${IOJS_VERSION}" ]; then return 1 fi # io.js started shipping Solaris binaries with io.js v3.3.1 - nvm_version_greater_than_or_equal_to "$STRIPPED_IOJS_VERSION" v3.3.1 + nvm_version_greater_than_or_equal_to "${STRIPPED_IOJS_VERSION}" v3.3.1 } # Succeeds if $NODE_VERSION represents a node version that has a @@ -2218,41 +2217,41 @@ node_version_has_solaris_binary() { NODE_VERSION="$1" # Error out if $NODE_VERSION is actually an io.js version local STRIPPED_IOJS_VERSION - STRIPPED_IOJS_VERSION="$(nvm_strip_iojs_prefix "$NODE_VERSION")" - if [ "_$STRIPPED_IOJS_VERSION" != "_$NODE_VERSION" ]; then + STRIPPED_IOJS_VERSION="$(nvm_strip_iojs_prefix "${NODE_VERSION}")" + if [ "_${STRIPPED_IOJS_VERSION}" != "_${NODE_VERSION}" ]; then return 1 fi # node (unmerged) started shipping Solaris binaries with v0.8.6 and # node versions v1.0.0 or greater are not considered valid "unmerged" node # versions. - nvm_version_greater_than_or_equal_to "$NODE_VERSION" v0.8.6 && - ! nvm_version_greater_than_or_equal_to "$NODE_VERSION" v1.0.0 + nvm_version_greater_than_or_equal_to "${NODE_VERSION}" v0.8.6 \ + && ! nvm_version_greater_than_or_equal_to "${NODE_VERSION}" v1.0.0 } # Succeeds if $VERSION represents a version (node, io.js or merged) that has a # Solaris binary, fails otherwise. nvm_has_solaris_binary() { local VERSION=$1 - if nvm_is_merged_node_version "$VERSION"; then + if nvm_is_merged_node_version "${VERSION}"; then return 0 # All merged node versions have a Solaris binary - elif nvm_is_iojs_version "$VERSION"; then - iojs_version_has_solaris_binary "$VERSION" + elif nvm_is_iojs_version "${VERSION}"; then + iojs_version_has_solaris_binary "${VERSION}" else - node_version_has_solaris_binary "$VERSION" + node_version_has_solaris_binary "${VERSION}" fi } nvm_sanitize_path() { local SANITIZED_PATH SANITIZED_PATH="${1-}" - if [ "_$SANITIZED_PATH" != "_$NVM_DIR" ]; then - SANITIZED_PATH="$(nvm_echo "$SANITIZED_PATH" | command sed -e "s#$NVM_DIR#\$NVM_DIR#g")" + if [ "_${SANITIZED_PATH}" != "_${NVM_DIR}" ]; then + SANITIZED_PATH="$(nvm_echo "${SANITIZED_PATH}" | command sed -e "s#${NVM_DIR}#\${NVM_DIR}#g")" fi - if [ "_$SANITIZED_PATH" != "_$HOME" ]; then - SANITIZED_PATH="$(nvm_echo "$SANITIZED_PATH" | command sed -e "s#$HOME#\$HOME#g")" + if [ "_${SANITIZED_PATH}" != "_${HOME}" ]; then + SANITIZED_PATH="$(nvm_echo "${SANITIZED_PATH}" | command sed -e "s#${HOME}#\${HOME}#g")" fi - nvm_echo "$SANITIZED_PATH" + nvm_echo "${SANITIZED_PATH}" } nvm_is_natural_num() { @@ -2263,7 +2262,7 @@ nvm_is_natural_num() { 0) return 1 ;; -*) return 3 ;; # some BSDs return false positives for double-negated args *) - [ "$1" -eq "$1" ] 2> /dev/null # returns 2 if it doesn't match + [ "$1" -eq "$1" ] 2>/dev/null # returns 2 if it doesn't match ;; esac } @@ -2311,7 +2310,7 @@ nvm() { local ADDITIONAL_PARAMETERS case $COMMAND in - 'help' | '--help' ) + 'help' | '--help') local NVM_IOJS_PREFIX NVM_IOJS_PREFIX="$(nvm_iojs_prefix)" local NVM_NODE_PREFIX @@ -2321,7 +2320,7 @@ nvm() { nvm_echo nvm_echo 'Note: refers to any version-like string nvm understands. This includes:' nvm_echo ' - full or partial version numbers, starting with an optional "v" (0.10, v0.1.2, v1)' - nvm_echo " - default (built-in) aliases: $NVM_NODE_PREFIX, stable, unstable, $NVM_IOJS_PREFIX, system" + nvm_echo " - default (built-in) aliases: ${NVM_NODE_PREFIX}, stable, unstable, ${NVM_IOJS_PREFIX}, system" nvm_echo ' - custom aliases you define with `nvm alias foo`' nvm_echo nvm_echo ' Any options that produce colorized output should respect the `--no-colors` option.' @@ -2384,7 +2383,7 @@ nvm() { nvm_echo ;; - "cache" ) + "cache") case "${1-}" in dir) nvm_cache_dir ;; clear) @@ -2404,21 +2403,21 @@ nvm() { esac ;; - "debug" ) + "debug") local OS_VERSION nvm_is_zsh && setopt local_options shwordsplit nvm_err "nvm --version: v$(nvm --version)" if [ -n "${TERM_PROGRAM-}" ]; then - nvm_err "\$TERM_PROGRAM: $TERM_PROGRAM" + nvm_err "\$TERM_PROGRAM: ${TERM_PROGRAM}" fi - nvm_err "\$SHELL: $SHELL" + nvm_err "\$SHELL: ${SHELL}" # shellcheck disable=SC2169 nvm_err "\$SHLVL: ${SHLVL-}" - nvm_err "\$HOME: $HOME" - nvm_err "\$NVM_DIR: '$(nvm_sanitize_path "$NVM_DIR")'" - nvm_err "\$PATH: $(nvm_sanitize_path "$PATH")" - nvm_err "\$PREFIX: '$(nvm_sanitize_path "$PREFIX")'" - nvm_err "\$NPM_CONFIG_PREFIX: '$(nvm_sanitize_path "$NPM_CONFIG_PREFIX")'" + nvm_err "\${HOME}: ${HOME}" + nvm_err "\${NVM_DIR}: '$(nvm_sanitize_path "${NVM_DIR}")'" + nvm_err "\${PATH}: $(nvm_sanitize_path "${PATH}")" + nvm_err "\$PREFIX: '$(nvm_sanitize_path "${PREFIX}")'" + nvm_err "\${NPM_CONFIG_PREFIX}: '$(nvm_sanitize_path "${NPM_CONFIG_PREFIX}")'" nvm_err "\$NVM_NODEJS_ORG_MIRROR: '${NVM_NODEJS_ORG_MIRROR}'" nvm_err "\$NVM_IOJS_ORG_MIRROR: '${NVM_IOJS_ORG_MIRROR}'" nvm_err "shell version: '$(${SHELL} --version | command head -n 1)'" @@ -2427,7 +2426,7 @@ nvm() { OS_VERSION="$(sw_vers | command awk '{print $2}' | command xargs)" elif [ -r "/etc/issue" ]; then OS_VERSION="$(command head -n 1 /etc/issue | command sed 's/\\.//g')" - if [ -z "${OS_VERSION}" ] && [ -r "/etc/os-release" ] ; then + if [ -z "${OS_VERSION}" ] && [ -r "/etc/os-release" ]; then # shellcheck disable=SC1091 OS_VERSION="$(. /etc/os-release && echo "${NAME}" "${VERSION}")" fi @@ -2477,15 +2476,14 @@ nvm() { unset TEST_TOOLS ADD_TEST_TOOLS local NVM_DEBUG_OUTPUT - for NVM_DEBUG_COMMAND in 'nvm current' 'which node' 'which iojs' 'which npm' 'npm config get prefix' 'npm root -g' - do - NVM_DEBUG_OUTPUT="$($NVM_DEBUG_COMMAND 2>&1)" - nvm_err "$NVM_DEBUG_COMMAND: $(nvm_sanitize_path "$NVM_DEBUG_OUTPUT")" + for NVM_DEBUG_COMMAND in 'nvm current' 'which node' 'which iojs' 'which npm' 'npm config get prefix' 'npm root -g'; do + NVM_DEBUG_OUTPUT="$(${NVM_DEBUG_COMMAND} 2>&1)" + nvm_err "${NVM_DEBUG_COMMAND}: $(nvm_sanitize_path "${NVM_DEBUG_OUTPUT}")" done return 42 ;; - "install" | "i" ) + "install" | "i") local version_not_provided version_not_provided=0 local NVM_OS @@ -2507,8 +2505,7 @@ nvm() { local LTS local NVM_UPGRADE_NPM NVM_UPGRADE_NPM=0 - while [ $# -ne 0 ] - do + while [ $# -ne 0 ]; do case "$1" in -s) shift # consume "-s" @@ -2544,25 +2541,25 @@ nvm() { local provided_version provided_version="${1-}" - if [ -z "$provided_version" ]; then + if [ -z "${provided_version}" ]; then if [ "_${LTS-}" = '_*' ]; then nvm_echo 'Installing latest LTS version.' if [ $# -gt 0 ]; then shift fi elif [ "_${LTS-}" != '_' ]; then - nvm_echo "Installing with latest version of LTS line: $LTS" + nvm_echo "Installing with latest version of LTS line: ${LTS}" if [ $# -gt 0 ]; then shift fi else nvm_rc_version - if [ $version_not_provided -eq 1 ] && [ -z "$NVM_RC_VERSION" ]; then + if [ $version_not_provided -eq 1 ] && [ -z "${NVM_RC_VERSION}" ]; then unset NVM_RC_VERSION >&2 nvm --help return 127 fi - provided_version="$NVM_RC_VERSION" + provided_version="${NVM_RC_VERSION}" unset NVM_RC_VERSION fi elif [ $# -gt 0 ]; then @@ -2589,12 +2586,12 @@ nvm() { LTS_MSG='(with LTS filter) ' REMOTE_CMD='nvm ls-remote --lts' elif [ -n "${LTS-}" ]; then - LTS_MSG="(with LTS filter '$LTS') " + LTS_MSG="(with LTS filter '${LTS}') " REMOTE_CMD="nvm ls-remote --lts=${LTS}" else REMOTE_CMD='nvm ls-remote' fi - nvm_err "Version '$provided_version' ${LTS_MSG-}not found - try \`${REMOTE_CMD}\` to browse available versions." + nvm_err "Version '${provided_version}' ${LTS_MSG-}not found - try \`${REMOTE_CMD}\` to browse available versions." return 3 fi @@ -2604,8 +2601,7 @@ nvm() { local SKIP_DEFAULT_PACKAGES local DEFAULT_PACKAGES - while [ $# -ne 0 ] - do + while [ $# -ne 0 ]; do case "$1" in --reinstall-packages-from=*) PROVIDED_REINSTALL_PACKAGES_FROM="$(nvm_echo "$1" | command cut -c 27-)" @@ -2613,7 +2609,7 @@ nvm() { nvm_err 'If --reinstall-packages-from is provided, it must point to an installed version of node.' return 6 fi - REINSTALL_PACKAGES_FROM="$(nvm_version "$PROVIDED_REINSTALL_PACKAGES_FROM")" ||: + REINSTALL_PACKAGES_FROM="$(nvm_version "${PROVIDED_REINSTALL_PACKAGES_FROM}")" ||: ;; --reinstall-packages-from) nvm_err 'If --reinstall-packages-from is provided, it must point to an installed version of node using `=`.' @@ -2621,13 +2617,13 @@ nvm() { ;; --copy-packages-from=*) PROVIDED_REINSTALL_PACKAGES_FROM="$(nvm_echo "$1" | command cut -c 22-)" - REINSTALL_PACKAGES_FROM="$(nvm_version "$PROVIDED_REINSTALL_PACKAGES_FROM")" ||: + REINSTALL_PACKAGES_FROM="$(nvm_version "${PROVIDED_REINSTALL_PACKAGES_FROM}")" ||: ;; --skip-default-packages) SKIP_DEFAULT_PACKAGES=true ;; *) - ADDITIONAL_PARAMETERS="$ADDITIONAL_PARAMETERS $1" + ADDITIONAL_PARAMETERS="${ADDITIONAL_PARAMETERS} $1" ;; esac shift @@ -2643,11 +2639,11 @@ nvm() { [ -n "${line}" ] || continue # Skip comment lines that begin with `#`. - [ "$(nvm_echo "$line" | command cut -c1)" != "#" ] || continue + [ "$(nvm_echo "${line}" | command cut -c1)" != "#" ] || continue # Fail on lines that have multiple space-separated words - case ${line} in - *\ * ) + case $line in + *\ *) nvm_err "Only one package per line is allowed in the ${NVM_DIR}/default-packages file. Please remove any lines with multiple space-separated values." return 1 ;; @@ -2666,30 +2662,30 @@ nvm() { fi local FLAVOR - if nvm_is_iojs_version "$VERSION"; then + if nvm_is_iojs_version "${VERSION}"; then FLAVOR="$(nvm_iojs_prefix)" else FLAVOR="$(nvm_node_prefix)" fi - if nvm_is_version_installed "$VERSION"; then - nvm_err "$VERSION is already installed." - if nvm use "$VERSION"; then + if nvm_is_version_installed "${VERSION}"; then + nvm_err "${VERSION} is already installed." + if nvm use "${VERSION}"; then if [ "${NVM_UPGRADE_NPM}" = 1 ]; then nvm install-latest-npm fi if [ -z "${SKIP_DEFAULT_PACKAGES-}" ] && [ -n "${DEFAULT_PACKAGES-}" ]; then - nvm_install_default_packages "$DEFAULT_PACKAGES" + nvm_install_default_packages "${DEFAULT_PACKAGES}" fi - if [ -n "${REINSTALL_PACKAGES_FROM-}" ] && [ "_$REINSTALL_PACKAGES_FROM" != "_N/A" ]; then - nvm reinstall-packages "$REINSTALL_PACKAGES_FROM" + if [ -n "${REINSTALL_PACKAGES_FROM-}" ] && [ "_${REINSTALL_PACKAGES_FROM}" != "_N/A" ]; then + nvm reinstall-packages "${REINSTALL_PACKAGES_FROM}" fi fi if [ -n "${LTS-}" ]; then LTS="$(echo "${LTS}" | tr '[:upper:]' '[:lower:]')" nvm_ensure_default_set "lts/${LTS}" else - nvm_ensure_default_set "$provided_version" + nvm_ensure_default_set "${provided_version}" fi return $? fi @@ -2717,24 +2713,24 @@ nvm() { EXIT_CODE=0 else - if [ "_$NVM_OS" = "_freebsd" ]; then + if [ "_${NVM_OS}" = "_freebsd" ]; then # node.js and io.js do not have a FreeBSD binary nobinary=1 nvm_err "Currently, there is no binary for FreeBSD" - elif [ "_$NVM_OS" = "_sunos" ]; then + elif [ "_${NVM_OS}" = "_sunos" ]; then # Not all node/io.js versions have a Solaris binary - if ! nvm_has_solaris_binary "$VERSION"; then + if ! nvm_has_solaris_binary "${VERSION}"; then nobinary=1 - nvm_err "Currently, there is no binary of version $VERSION for SunOS" + nvm_err "Currently, there is no binary of version ${VERSION} for SunOS" fi fi # skip binary install if "nobinary" option specified. - if [ $nobinary -ne 1 ] && nvm_binary_available "$VERSION"; then + if [ $nobinary -ne 1 ] && nvm_binary_available "${VERSION}"; then NVM_NO_PROGRESS="${NVM_NO_PROGRESS:-${noprogress}}" nvm_install_binary "${FLAVOR}" std "${VERSION}" EXIT_CODE=$? fi - if [ "$EXIT_CODE" -ne 0 ]; then + if [ $EXIT_CODE -ne 0 ]; then if [ -z "${NVM_MAKE_JOBS-}" ]; then nvm_get_make_jobs fi @@ -2745,21 +2741,21 @@ nvm() { fi - if [ "$EXIT_CODE" -eq 0 ] && nvm_use_if_needed "${VERSION}" && nvm_install_npm_if_needed "${VERSION}"; then + if [ $EXIT_CODE -eq 0 ] && nvm_use_if_needed "${VERSION}" && nvm_install_npm_if_needed "${VERSION}"; then if [ -n "${LTS-}" ]; then nvm_ensure_default_set "lts/${LTS}" else - nvm_ensure_default_set "$provided_version" + nvm_ensure_default_set "${provided_version}" fi if [ "${NVM_UPGRADE_NPM}" = 1 ]; then nvm install-latest-npm EXIT_CODE=$? fi if [ -z "${SKIP_DEFAULT_PACKAGES-}" ] && [ -n "${DEFAULT_PACKAGES-}" ]; then - nvm_install_default_packages "$DEFAULT_PACKAGES" + nvm_install_default_packages "${DEFAULT_PACKAGES}" fi - if [ -n "${REINSTALL_PACKAGES_FROM-}" ] && [ "_$REINSTALL_PACKAGES_FROM" != "_N/A" ]; then - nvm reinstall-packages "$REINSTALL_PACKAGES_FROM" + if [ -n "${REINSTALL_PACKAGES_FROM-}" ] && [ "_${REINSTALL_PACKAGES_FROM}" != "_N/A" ]; then + nvm reinstall-packages "${REINSTALL_PACKAGES_FROM}" EXIT_CODE=$? fi else @@ -2767,7 +2763,7 @@ nvm() { fi return $EXIT_CODE ;; - "uninstall" ) + "uninstall") if [ $# -ne 1 ]; then >&2 nvm --help return 127 @@ -2802,7 +2798,7 @@ nvm() { if ! nvm_is_version_installed "${VERSION}"; then nvm_err "${VERSION} version is not installed..." - return; + return fi local SLUG_BINARY @@ -2843,42 +2839,41 @@ nvm() { nvm_echo "${NVM_SUCCESS_MSG}" # rm any aliases that point to uninstalled version. - for ALIAS in $(nvm_grep -l "$VERSION" "$(nvm_alias_path)/*" 2>/dev/null) - do - nvm unalias "$(command basename "$ALIAS")" + for ALIAS in $(nvm_grep -l "${VERSION}" "$(nvm_alias_path)/*" 2>/dev/null); do + nvm unalias "$(command basename "${ALIAS}")" done ;; - "deactivate" ) + "deactivate") local NEWPATH - NEWPATH="$(nvm_strip_path "$PATH" "/bin")" - if [ "_$PATH" = "_$NEWPATH" ]; then - nvm_err "Could not find $NVM_DIR/*/bin in \$PATH" + NEWPATH="$(nvm_strip_path "${PATH}" "/bin")" + if [ "_${PATH}" = "_${NEWPATH}" ]; then + nvm_err "Could not find ${NVM_DIR}/*/bin in \${PATH}" else - export PATH="$NEWPATH" + export PATH="${NEWPATH}" hash -r - nvm_echo "$NVM_DIR/*/bin removed from \$PATH" + nvm_echo "${NVM_DIR}/*/bin removed from \${PATH}" fi if [ -n "${MANPATH-}" ]; then - NEWPATH="$(nvm_strip_path "$MANPATH" "/share/man")" - if [ "_$MANPATH" = "_$NEWPATH" ]; then - nvm_err "Could not find $NVM_DIR/*/share/man in \$MANPATH" + NEWPATH="$(nvm_strip_path "${MANPATH}" "/share/man")" + if [ "_${MANPATH}" = "_${NEWPATH}" ]; then + nvm_err "Could not find ${NVM_DIR}/*/share/man in \${MANPATH}" else - export MANPATH="$NEWPATH" - nvm_echo "$NVM_DIR/*/share/man removed from \$MANPATH" + export MANPATH="${NEWPATH}" + nvm_echo "${NVM_DIR}/*/share/man removed from \${MANPATH}" fi fi if [ -n "${NODE_PATH-}" ]; then - NEWPATH="$(nvm_strip_path "$NODE_PATH" "/lib/node_modules")" - if [ "_$NODE_PATH" != "_$NEWPATH" ]; then - export NODE_PATH="$NEWPATH" - nvm_echo "$NVM_DIR/*/lib/node_modules removed from \$NODE_PATH" + NEWPATH="$(nvm_strip_path "${NODE_PATH}" "/lib/node_modules")" + if [ "_${NODE_PATH}" != "_${NEWPATH}" ]; then + export NODE_PATH="${NEWPATH}" + nvm_echo "${NVM_DIR}/*/lib/node_modules removed from \${NODE_PATH}" fi fi unset NVM_BIN ;; - "use" ) + "use") local PROVIDED_VERSION local NVM_USE_SILENT NVM_USE_SILENT=0 @@ -2886,8 +2881,7 @@ nvm() { NVM_DELETE_PREFIX=0 local NVM_LTS - while [ $# -ne 0 ] - do + while [ $# -ne 0 ]; do case "$1" in --silent) NVM_USE_SILENT=1 ;; --delete-prefix) NVM_DELETE_PREFIX=1 ;; @@ -2909,12 +2903,12 @@ nvm() { elif [ -z "${PROVIDED_VERSION-}" ]; then nvm_rc_version if [ -n "${NVM_RC_VERSION-}" ]; then - PROVIDED_VERSION="$NVM_RC_VERSION" - VERSION="$(nvm_version "$PROVIDED_VERSION")" + PROVIDED_VERSION="${NVM_RC_VERSION}" + VERSION="$(nvm_version "${PROVIDED_VERSION}")" fi unset NVM_RC_VERSION else - VERSION="$(nvm_match_version "$PROVIDED_VERSION")" + VERSION="$(nvm_match_version "${PROVIDED_VERSION}")" fi if [ -z "${VERSION}" ]; then @@ -2922,7 +2916,7 @@ nvm() { return 127 fi - if [ "_$VERSION" = '_system' ]; then + if [ "_${VERSION}" = '_system' ]; then if nvm_has_system_node && nvm deactivate >/dev/null 2>&1; then if [ $NVM_USE_SILENT -ne 1 ]; then nvm_echo "Now using system version of node: $(node -v 2>/dev/null)$(nvm_print_npm_version)" @@ -2937,9 +2931,9 @@ nvm() { nvm_err 'System version of node not found.' fi return 127 - elif [ "_$VERSION" = "_∞" ]; then + elif [ "_${VERSION}" = "_∞" ]; then if [ $NVM_USE_SILENT -ne 1 ]; then - nvm_err "The alias \"$PROVIDED_VERSION\" leads to an infinite loop. Aborting." + nvm_err "The alias \"${PROVIDED_VERSION}\" leads to an infinite loop. Aborting." fi return 8 fi @@ -2955,52 +2949,52 @@ nvm() { fi local NVM_VERSION_DIR - NVM_VERSION_DIR="$(nvm_version_path "$VERSION")" + NVM_VERSION_DIR="$(nvm_version_path "${VERSION}")" # Change current version - PATH="$(nvm_change_path "$PATH" "/bin" "$NVM_VERSION_DIR")" + PATH="$(nvm_change_path "${PATH}" "/bin" "${NVM_VERSION_DIR}")" if nvm_has manpath; then if [ -z "${MANPATH-}" ]; then local MANPATH MANPATH=$(manpath) fi # Change current version - MANPATH="$(nvm_change_path "$MANPATH" "/share/man" "$NVM_VERSION_DIR")" + MANPATH="$(nvm_change_path "${MANPATH}" "/share/man" "${NVM_VERSION_DIR}")" export MANPATH fi export PATH hash -r - export NVM_BIN="$NVM_VERSION_DIR/bin" + export NVM_BIN="${NVM_VERSION_DIR}/bin" if [ "${NVM_SYMLINK_CURRENT-}" = true ]; then - command rm -f "$NVM_DIR/current" && ln -s "$NVM_VERSION_DIR" "$NVM_DIR/current" + command rm -f "${NVM_DIR}/current" && ln -s "${NVM_VERSION_DIR}" "${NVM_DIR}/current" fi local NVM_USE_OUTPUT NVM_USE_OUTPUT='' if [ $NVM_USE_SILENT -ne 1 ]; then - if nvm_is_iojs_version "$VERSION"; then - NVM_USE_OUTPUT="Now using io.js $(nvm_strip_iojs_prefix "$VERSION")$(nvm_print_npm_version)" + if nvm_is_iojs_version "${VERSION}"; then + NVM_USE_OUTPUT="Now using io.js $(nvm_strip_iojs_prefix "${VERSION}")$(nvm_print_npm_version)" else - NVM_USE_OUTPUT="Now using node $VERSION$(nvm_print_npm_version)" + NVM_USE_OUTPUT="Now using node ${VERSION}$(nvm_print_npm_version)" fi fi - if [ "_$VERSION" != "_system" ]; then + if [ "_${VERSION}" != "_system" ]; then local NVM_USE_CMD NVM_USE_CMD="nvm use --delete-prefix" - if [ -n "$PROVIDED_VERSION" ]; then - NVM_USE_CMD="$NVM_USE_CMD $VERSION" + if [ -n "${PROVIDED_VERSION}" ]; then + NVM_USE_CMD="${NVM_USE_CMD} ${VERSION}" fi if [ $NVM_USE_SILENT -eq 1 ]; then - NVM_USE_CMD="$NVM_USE_CMD --silent" + NVM_USE_CMD="${NVM_USE_CMD} --silent" fi - if ! nvm_die_on_prefix "$NVM_DELETE_PREFIX" "$NVM_USE_CMD"; then + if ! nvm_die_on_prefix "${NVM_DELETE_PREFIX}" "${NVM_USE_CMD}"; then return 11 fi fi if [ -n "${NVM_USE_OUTPUT-}" ]; then - nvm_echo "$NVM_USE_OUTPUT" + nvm_echo "${NVM_USE_OUTPUT}" fi ;; - "run" ) + "run") local provided_version local has_checked_nvmrc has_checked_nvmrc=0 @@ -3008,8 +3002,7 @@ nvm() { local NVM_SILENT local NVM_LTS - while [ $# -gt 0 ] - do + while [ $# -gt 0 ]; do case "$1" in --silent) NVM_SILENT='--silent' ; shift ;; --lts) NVM_LTS='*' ; shift ;; @@ -3030,8 +3023,8 @@ nvm() { else nvm_rc_version && has_checked_nvmrc=1 fi - if [ -n "$NVM_RC_VERSION" ]; then - VERSION="$(nvm_version "$NVM_RC_VERSION")" ||: + if [ -n "${NVM_RC_VERSION-}" ]; then + VERSION="$(nvm_version "${NVM_RC_VERSION-}")" ||: fi unset NVM_RC_VERSION if [ "${VERSION:-N/A}" = 'N/A' ]; then @@ -3042,9 +3035,9 @@ nvm() { if [ -z "${NVM_LTS-}" ]; then provided_version="$1" - if [ -n "$provided_version" ]; then - VERSION="$(nvm_version "$provided_version")" ||: - if [ "_${VERSION:-N/A}" = '_N/A' ] && ! nvm_is_valid_version "$provided_version"; then + if [ -n "${provided_version}" ]; then + VERSION="$(nvm_version "${provided_version}")" ||: + if [ "_${VERSION:-N/A}" = '_N/A' ] && ! nvm_is_valid_version "${provided_version}"; then provided_version='' if [ $has_checked_nvmrc -ne 1 ]; then if [ -n "${NVM_SILENT-}" ]; then @@ -3053,7 +3046,7 @@ nvm() { nvm_rc_version && has_checked_nvmrc=1 fi fi - VERSION="$(nvm_version "$NVM_RC_VERSION")" ||: + VERSION="$(nvm_version "${NVM_RC_VERSION}")" ||: unset NVM_RC_VERSION else shift @@ -3062,7 +3055,7 @@ nvm() { fi local NVM_IOJS - if nvm_is_iojs_version "$VERSION"; then + if nvm_is_iojs_version "${VERSION}"; then NVM_IOJS=true fi @@ -3074,21 +3067,20 @@ nvm() { LTS_ARG="--lts=${NVM_LTS-}" VERSION='' fi - if [ "_$VERSION" = "_N/A" ]; then - nvm_ensure_version_installed "$provided_version" - elif [ "$NVM_IOJS" = true ]; then - nvm exec "${NVM_SILENT-}" "${LTS_ARG-}" "$VERSION" iojs "$@" + if [ "_${VERSION}" = "_N/A" ]; then + nvm_ensure_version_installed "${provided_version}" + elif [ "${NVM_IOJS}" = true ]; then + nvm exec "${NVM_SILENT-}" "${LTS_ARG-}" "${VERSION}" iojs "$@" else - nvm exec "${NVM_SILENT-}" "${LTS_ARG-}" "$VERSION" node "$@" + nvm exec "${NVM_SILENT-}" "${LTS_ARG-}" "${VERSION}" node "$@" fi EXIT_CODE="$?" return $EXIT_CODE ;; - "exec" ) + "exec") local NVM_SILENT local NVM_LTS - while [ $# -gt 0 ] - do + while [ $# -gt 0 ]; do case "$1" in --silent) NVM_SILENT='--silent' ; shift ;; --lts) NVM_LTS='*' ; shift ;; @@ -3112,53 +3104,52 @@ nvm() { provided_version="$1" if [ "${NVM_LTS-}" != '' ]; then provided_version="lts/${NVM_LTS:-*}" - VERSION="$provided_version" - elif [ -n "$provided_version" ]; then - VERSION="$(nvm_version "$provided_version")" ||: - if [ "_$VERSION" = '_N/A' ] && ! nvm_is_valid_version "$provided_version"; then + VERSION="${provided_version}" + elif [ -n "${provided_version}" ]; then + VERSION="$(nvm_version "${provided_version}")" ||: + if [ "_${VERSION}" = '_N/A' ] && ! nvm_is_valid_version "${provided_version}"; then if [ -n "${NVM_SILENT-}" ]; then nvm_rc_version >/dev/null 2>&1 else nvm_rc_version fi - provided_version="$NVM_RC_VERSION" + provided_version="${NVM_RC_VERSION}" unset NVM_RC_VERSION - VERSION="$(nvm_version "$provided_version")" ||: + VERSION="$(nvm_version "${provided_version}")" ||: else shift fi fi - nvm_ensure_version_installed "$provided_version" + nvm_ensure_version_installed "${provided_version}" EXIT_CODE=$? - if [ "$EXIT_CODE" != "0" ]; then + if [ "${EXIT_CODE}" != "0" ]; then return $EXIT_CODE fi if [ -z "${NVM_SILENT-}" ]; then if [ "${NVM_LTS-}" = '*' ]; then - nvm_echo "Running node latest LTS -> $(nvm_version "$VERSION")$(nvm use --silent "$VERSION" && nvm_print_npm_version)" + nvm_echo "Running node latest LTS -> $(nvm_version "${VERSION}")$(nvm use --silent "${VERSION}" && nvm_print_npm_version)" elif [ -n "${NVM_LTS-}" ]; then - nvm_echo "Running node LTS \"${NVM_LTS-}\" -> $(nvm_version "$VERSION")$(nvm use --silent "$VERSION" && nvm_print_npm_version)" - elif nvm_is_iojs_version "$VERSION"; then - nvm_echo "Running io.js $(nvm_strip_iojs_prefix "$VERSION")$(nvm use --silent "$VERSION" && nvm_print_npm_version)" + nvm_echo "Running node LTS \"${NVM_LTS-}\" -> $(nvm_version "${VERSION}")$(nvm use --silent "${VERSION}" && nvm_print_npm_version)" + elif nvm_is_iojs_version "${VERSION}"; then + nvm_echo "Running io.js $(nvm_strip_iojs_prefix "${VERSION}")$(nvm use --silent "${VERSION}" && nvm_print_npm_version)" else - nvm_echo "Running node $VERSION$(nvm use --silent "$VERSION" && nvm_print_npm_version)" + nvm_echo "Running node ${VERSION}$(nvm use --silent "${VERSION}" && nvm_print_npm_version)" fi fi - NODE_VERSION="$VERSION" "$NVM_DIR/nvm-exec" "$@" + NODE_VERSION="${VERSION}" "${NVM_DIR}/nvm-exec" "$@" ;; - "ls" | "list" ) + "ls" | "list") local PATTERN local NVM_NO_COLORS - while [ $# -gt 0 ] - do + while [ $# -gt 0 ]; do case "${1}" in --) ;; --no-colors) NVM_NO_COLORS="${1}" ;; --*) nvm_err "Unsupported option \"${1}\"." - return 55; + return 55 ;; *) PATTERN="${PATTERN:-$1}" @@ -3170,7 +3161,7 @@ nvm() { local NVM_LS_EXIT_CODE NVM_LS_OUTPUT=$(nvm_ls "${PATTERN-}") NVM_LS_EXIT_CODE=$? - NVM_NO_COLORS="${NVM_NO_COLORS-}" nvm_print_versions "$NVM_LS_OUTPUT" + NVM_NO_COLORS="${NVM_NO_COLORS-}" nvm_print_versions "${NVM_LS_OUTPUT}" if [ -z "${PATTERN-}" ]; then if [ -n "${NVM_NO_COLORS-}" ]; then nvm alias --no-colors @@ -3180,12 +3171,11 @@ nvm() { fi return $NVM_LS_EXIT_CODE ;; - "ls-remote" | "list-remote" ) + "ls-remote" | "list-remote") local NVM_LTS local PATTERN local NVM_NO_COLORS - while [ $# -gt 0 ] - do + while [ $# -gt 0 ]; do case "${1-}" in --) ;; --lts) @@ -3197,7 +3187,7 @@ nvm() { --no-colors) NVM_NO_COLORS="${1}" ;; --*) nvm_err "Unsupported option \"${1}\"." - return 55; + return 55 ;; *) if [ -z "${PATTERN-}" ]; then @@ -3218,17 +3208,17 @@ nvm() { local EXIT_CODE NVM_OUTPUT="$(NVM_LTS="${NVM_LTS-}" nvm_remote_versions "${PATTERN}" &&:)" EXIT_CODE=$? - if [ -n "$NVM_OUTPUT" ]; then - NVM_NO_COLORS="${NVM_NO_COLORS-}" nvm_print_versions "$NVM_OUTPUT" + if [ -n "${NVM_OUTPUT}" ]; then + NVM_NO_COLORS="${NVM_NO_COLORS-}" nvm_print_versions "${NVM_OUTPUT}" return $EXIT_CODE fi NVM_NO_COLORS="${NVM_NO_COLORS-}" nvm_print_versions "N/A" return 3 ;; - "current" ) + "current") nvm_version current ;; - "which" ) + "which") local provided_version provided_version="${1-}" if [ $# -eq 0 ]; then @@ -3248,33 +3238,33 @@ nvm() { return 127 fi - if [ "_$VERSION" = '_system' ]; then + if [ "_${VERSION}" = '_system' ]; then if nvm_has_system_iojs >/dev/null 2>&1 || nvm_has_system_node >/dev/null 2>&1; then local NVM_BIN NVM_BIN="$(nvm use system >/dev/null 2>&1 && command which node)" - if [ -n "$NVM_BIN" ]; then - nvm_echo "$NVM_BIN" + if [ -n "${NVM_BIN}" ]; then + nvm_echo "${NVM_BIN}" return fi return 1 fi nvm_err 'System version of node not found.' return 127 - elif [ "_$VERSION" = "_∞" ]; then + elif [ "_${VERSION}" = "_∞" ]; then nvm_err "The alias \"$2\" leads to an infinite loop. Aborting." return 8 fi - nvm_ensure_version_installed "$provided_version" + nvm_ensure_version_installed "${provided_version}" EXIT_CODE=$? - if [ "$EXIT_CODE" != "0" ]; then + if [ "${EXIT_CODE}" != "0" ]; then return $EXIT_CODE fi local NVM_VERSION_DIR - NVM_VERSION_DIR="$(nvm_version_path "$VERSION")" - nvm_echo "$NVM_VERSION_DIR/bin/node" + NVM_VERSION_DIR="$(nvm_version_path "${VERSION}")" + nvm_echo "${NVM_VERSION_DIR}/bin/node" ;; - "alias" ) + "alias") local NVM_ALIAS_DIR NVM_ALIAS_DIR="$(nvm_alias_path)" local NVM_CURRENT @@ -3287,8 +3277,7 @@ nvm() { local NVM_NO_COLORS ALIAS='--' TARGET='--' - while [ $# -gt 0 ] - do + while [ $# -gt 0 ]; do case "${1-}" in --) ;; --no-colors) NVM_NO_COLORS="${1}" ;; @@ -3323,7 +3312,7 @@ nvm() { nvm_err "! WARNING: Version '${TARGET}' does not exist." fi nvm_make_alias "${ALIAS}" "${TARGET}" - NVM_NO_COLORS="${NVM_NO_COLORS-}" NVM_CURRENT="${NVM_CURRENT-}" DEFAULT=false nvm_print_formatted_alias "${ALIAS}" "${TARGET}" "$VERSION" + NVM_NO_COLORS="${NVM_NO_COLORS-}" NVM_CURRENT="${NVM_CURRENT-}" DEFAULT=false nvm_print_formatted_alias "${ALIAS}" "${TARGET}" "${VERSION}" else if [ "${ALIAS-}" = '--' ]; then unset ALIAS @@ -3332,10 +3321,10 @@ nvm() { nvm_list_aliases "${ALIAS-}" fi ;; - "unalias" ) + "unalias") local NVM_ALIAS_DIR NVM_ALIAS_DIR="$(nvm_alias_path)" - command mkdir -p "$NVM_ALIAS_DIR" + command mkdir -p "${NVM_ALIAS_DIR}" if [ $# -ne 1 ]; then >&2 nvm --help return 127 @@ -3344,11 +3333,11 @@ nvm() { nvm_err 'Aliases in subdirectories are not supported.' return 1 fi - [ ! -f "$NVM_ALIAS_DIR/${1-}" ] && nvm_err "Alias ${1-} doesn't exist!" && return + [ ! -f "${NVM_ALIAS_DIR}/${1-}" ] && nvm_err "Alias ${1-} doesn't exist!" && return local NVM_ALIAS_ORIGINAL NVM_ALIAS_ORIGINAL="$(nvm_alias "${1}")" - command rm -f "$NVM_ALIAS_DIR/${1}" - nvm_echo "Deleted alias ${1} - restore it with \`nvm alias \"${1}\" \"$NVM_ALIAS_ORIGINAL\"\`" + command rm -f "${NVM_ALIAS_DIR}/${1}" + nvm_echo "Deleted alias ${1} - restore it with \`nvm alias \"${1}\" \"${NVM_ALIAS_ORIGINAL}\"\`" ;; "install-latest-npm") if [ $# -ne 0 ]; then @@ -3358,7 +3347,7 @@ nvm() { nvm_install_latest_npm ;; - "reinstall-packages" | "copy-packages" ) + "reinstall-packages" | "copy-packages") if [ $# -ne 1 ]; then >&2 nvm --help return 127 @@ -3367,45 +3356,45 @@ nvm() { local PROVIDED_VERSION PROVIDED_VERSION="${1-}" - if [ "$PROVIDED_VERSION" = "$(nvm_ls_current)" ] || [ "$(nvm_version "$PROVIDED_VERSION" ||:)" = "$(nvm_ls_current)" ]; then + if [ "${PROVIDED_VERSION}" = "$(nvm_ls_current)" ] || [ "$(nvm_version "${PROVIDED_VERSION}" ||:)" = "$(nvm_ls_current)" ]; then nvm_err 'Can not reinstall packages from the current version of node.' return 2 fi local VERSION - if [ "_$PROVIDED_VERSION" = "_system" ]; then + if [ "_${PROVIDED_VERSION}" = "_system" ]; then if ! nvm_has_system_node && ! nvm_has_system_iojs; then nvm_err 'No system version of node or io.js detected.' return 3 fi VERSION="system" else - VERSION="$(nvm_version "$PROVIDED_VERSION")" ||: + VERSION="$(nvm_version "${PROVIDED_VERSION}")" ||: fi local NPMLIST - NPMLIST="$(nvm_npm_global_modules "$VERSION")" + NPMLIST="$(nvm_npm_global_modules "${VERSION}")" local INSTALLS local LINKS INSTALLS="${NPMLIST%% //// *}" LINKS="${NPMLIST##* //// }" - nvm_echo "Reinstalling global packages from $VERSION..." + nvm_echo "Reinstalling global packages from ${VERSION}..." if [ -n "${INSTALLS}" ]; then - nvm_echo "$INSTALLS" | command xargs npm install -g --quiet + nvm_echo "${INSTALLS}" | command xargs npm install -g --quiet else nvm_echo "No installed global packages found..." fi - nvm_echo "Linking global packages from $VERSION..." + nvm_echo "Linking global packages from ${VERSION}..." if [ -n "${LINKS}" ]; then ( set -f; IFS=' ' # necessary to turn off variable expansion except for newlines - for LINK in $LINKS; do + for LINK in ${LINKS}; do set +f; unset IFS # restore variable expansion - if [ -n "$LINK" ]; then - (nvm_cd "$LINK" && npm link) + if [ -n "${LINK}" ]; then + (nvm_cd "${LINK}" && npm link) fi done ) @@ -3413,18 +3402,17 @@ nvm() { nvm_echo "No linked global packages found..." fi ;; - "clear-cache" ) - command rm -f "$NVM_DIR/v*" "$(nvm_version_dir)" 2>/dev/null + "clear-cache") + command rm -f "${NVM_DIR}/v*" "$(nvm_version_dir)" 2>/dev/null nvm_echo 'nvm cache cleared.' ;; - "version" ) + "version") nvm_version "${1}" ;; - "version-remote" ) + "version-remote") local NVM_LTS local PATTERN - while [ $# -gt 0 ] - do + while [ $# -gt 0 ]; do case "${1-}" in --) ;; --lts) @@ -3435,7 +3423,7 @@ nvm() { ;; --*) nvm_err "Unsupported option \"${1}\"." - return 55; + return 55 ;; *) PATTERN="${PATTERN:-${1}}" @@ -3455,10 +3443,10 @@ nvm() { esac NVM_VERSION_ONLY=true NVM_LTS="${NVM_LTS-}" nvm_remote_version "${PATTERN:-node}" ;; - "--version" ) + "--version") nvm_echo '0.34.0' ;; - "unload" ) + "unload") nvm deactivate >/dev/null 2>&1 unset -f nvm \ nvm_iojs_prefix nvm_node_prefix \ @@ -3495,12 +3483,12 @@ nvm() { nvm_sanitize_path nvm_has_colors nvm_process_parameters \ node_version_has_solaris_binary iojs_version_has_solaris_binary \ nvm_curl_libz_support nvm_command_info nvm_is_zsh \ - > /dev/null 2>&1 + >/dev/null 2>&1 unset NVM_RC_VERSION NVM_NODEJS_ORG_MIRROR NVM_IOJS_ORG_MIRROR NVM_DIR \ NVM_CD_FLAGS NVM_BIN NVM_MAKE_JOBS \ - > /dev/null 2>&1 + >/dev/null 2>&1 ;; - * ) + *) >&2 nvm --help return 127 ;; @@ -3518,7 +3506,7 @@ nvm_install_default_packages() { nvm_supports_source_options() { # shellcheck disable=SC1091 - [ "_$(nvm_echo '[ $# -gt 0 ] && nvm_echo $1' | . /dev/stdin yes 2> /dev/null)" = "_yes" ] + [ "_$(nvm_echo '[ $# -gt 0 ] && nvm_echo $1' | . /dev/stdin yes 2>/dev/null)" = "_yes" ] } nvm_supports_xz() { @@ -3532,14 +3520,12 @@ nvm_supports_xz() { fi # 0.12x: node v0.12.10 and later have xz - if nvm_version_greater_than_or_equal_to "${1}" "0.12.10" \ - && nvm_version_greater "0.13.0" "${1}"; then + if nvm_version_greater_than_or_equal_to "${1}" "0.12.10" && nvm_version_greater "0.13.0" "${1}"; then return 0 fi # 0.10x: node v0.10.42 and later have xz - if nvm_version_greater_than_or_equal_to "${1}" "0.10.42" \ - && nvm_version_greater "0.11.0" "${1}"; then + if nvm_version_greater_than_or_equal_to "${1}" "0.10.42" && nvm_version_greater "0.11.0" "${1}"; then return 0 fi @@ -3563,10 +3549,10 @@ nvm_auto() { local NVM_MODE NVM_MODE="${1-}" local VERSION - if [ "_$NVM_MODE" = '_install' ]; then + if [ "_${NVM_MODE}" = '_install' ]; then VERSION="$(nvm_alias default 2>/dev/null || nvm_echo)" - if [ -n "$VERSION" ]; then - nvm install "$VERSION" >/dev/null + if [ -n "${VERSION}" ]; then + nvm install "${VERSION}" >/dev/null elif nvm_rc_version >/dev/null 2>&1; then nvm install >/dev/null fi @@ -3581,7 +3567,7 @@ nvm_auto() { else nvm use --silent "${NVM_CURRENT}" >/dev/null fi - elif [ "_$NVM_MODE" != '_none' ]; then + elif [ "_${NVM_MODE}" != '_none' ]; then nvm_err 'Invalid auto mode supplied.' return 1 fi @@ -3591,8 +3577,7 @@ nvm_process_parameters() { local NVM_AUTO_MODE NVM_AUTO_MODE='use' if nvm_supports_source_options; then - while [ $# -ne 0 ] - do + while [ $# -ne 0 ]; do case "$1" in --install) NVM_AUTO_MODE='install' ;; --no-use) NVM_AUTO_MODE='none' ;; @@ -3600,7 +3585,7 @@ nvm_process_parameters() { shift done fi - nvm_auto "$NVM_AUTO_MODE" + nvm_auto "${NVM_AUTO_MODE}" } nvm_process_parameters "$@"