Skip to content

Commit f062cca

Browse files
committed
[Refactor] nvm install/nvm_install_default_packages: move "get" logic inside helper
1 parent 0698ede commit f062cca

File tree

1 file changed

+23
-21
lines changed

1 file changed

+23
-21
lines changed

nvm.sh

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3093,7 +3093,6 @@ nvm() {
30933093
local PROVIDED_REINSTALL_PACKAGES_FROM
30943094
local REINSTALL_PACKAGES_FROM
30953095
local SKIP_DEFAULT_PACKAGES
3096-
local DEFAULT_PACKAGES
30973096

30983097
while [ $# -ne 0 ]; do
30993098
case "$1" in
@@ -3293,14 +3292,6 @@ nvm() {
32933292
shift
32943293
done
32953294

3296-
if [ -z "${SKIP_DEFAULT_PACKAGES-}" ]; then
3297-
DEFAULT_PACKAGES="$(nvm_get_default_packages)"
3298-
EXIT_CODE=$?
3299-
if [ $EXIT_CODE -ne 0 ]; then
3300-
return $EXIT_CODE
3301-
fi
3302-
fi
3303-
33043295
if [ -n "${PROVIDED_REINSTALL_PACKAGES_FROM-}" ] && [ "$(nvm_ensure_version_prefix "${PROVIDED_REINSTALL_PACKAGES_FROM}")" = "${VERSION}" ]; then
33053296
nvm_err "You can't reinstall global packages from the same version of node you're installing."
33063297
return 4
@@ -3316,17 +3307,22 @@ nvm() {
33163307
FLAVOR="$(nvm_node_prefix)"
33173308
fi
33183309

3310+
local EXIT_CODE
3311+
33193312
if nvm_is_version_installed "${VERSION}"; then
33203313
nvm_err "${VERSION} is already installed."
33213314
if nvm use "${VERSION}"; then
33223315
if [ "${NVM_UPGRADE_NPM}" = 1 ]; then
33233316
nvm install-latest-npm
3317+
EXIT_CODE=$?
33243318
fi
3325-
if [ -z "${SKIP_DEFAULT_PACKAGES-}" ] && [ -n "${DEFAULT_PACKAGES-}" ]; then
3326-
nvm_install_default_packages "${DEFAULT_PACKAGES}"
3319+
if [ $EXIT_CODE -ne 0 ] && [ -z "${SKIP_DEFAULT_PACKAGES-}" ]; then
3320+
nvm_install_default_packages
3321+
EXIT_CODE=$?
33273322
fi
3328-
if [ -n "${REINSTALL_PACKAGES_FROM-}" ] && [ "_${REINSTALL_PACKAGES_FROM}" != "_N/A" ]; then
3323+
if [ $EXIT_CODE -ne 0 ] && [ -n "${REINSTALL_PACKAGES_FROM-}" ] && [ "_${REINSTALL_PACKAGES_FROM}" != "_N/A" ]; then
33293324
nvm reinstall-packages "${REINSTALL_PACKAGES_FROM}"
3325+
EXIT_CODE=$?
33303326
fi
33313327
fi
33323328
if [ -n "${LTS-}" ]; then
@@ -3336,15 +3332,14 @@ nvm() {
33363332
nvm_ensure_default_set "${provided_version}"
33373333
fi
33383334

3339-
if [ -n "${ALIAS-}" ]; then
3335+
if [ $EXIT_CODE -ne 0 ] && [ -n "${ALIAS-}" ]; then
33403336
nvm alias "${ALIAS}" "${provided_version}"
3337+
EXIT_CODE=$?
33413338
fi
33423339

3343-
return $?
3340+
return $EXIT_CODE
33443341
fi
33453342

3346-
local EXIT_CODE
3347-
EXIT_CODE=-1
33483343
if [ -n "${NVM_INSTALL_THIRD_PARTY_HOOK-}" ]; then
33493344
nvm_err '** $NVM_INSTALL_THIRD_PARTY_HOOK env var set; dispatching to third-party installation method **'
33503345
local NVM_METHOD_PREFERENCE
@@ -3413,10 +3408,11 @@ nvm() {
34133408
nvm install-latest-npm
34143409
EXIT_CODE=$?
34153410
fi
3416-
if [ -z "${SKIP_DEFAULT_PACKAGES-}" ] && [ -n "${DEFAULT_PACKAGES-}" ]; then
3417-
nvm_install_default_packages "${DEFAULT_PACKAGES}"
3411+
if [ $EXIT_CODE -eq 0 ] && [ -z "${SKIP_DEFAULT_PACKAGES-}" ]; then
3412+
nvm_install_default_packages
3413+
EXIT_CODE=$?
34183414
fi
3419-
if [ -n "${REINSTALL_PACKAGES_FROM-}" ] && [ "_${REINSTALL_PACKAGES_FROM}" != "_N/A" ]; then
3415+
if [ $EXIT_CODE -eq 0 ] && [ -n "${REINSTALL_PACKAGES_FROM-}" ] && [ "_${REINSTALL_PACKAGES_FROM}" != "_N/A" ]; then
34203416
nvm reinstall-packages "${REINSTALL_PACKAGES_FROM}"
34213417
EXIT_CODE=$?
34223418
fi
@@ -4286,10 +4282,16 @@ nvm_get_default_packages() {
42864282
}
42874283

42884284
nvm_install_default_packages() {
4285+
local DEFAULT_PACKAGES
4286+
DEFAULT_PACKAGES="$(nvm_get_default_packages)"
4287+
EXIT_CODE=$?
4288+
if [ $EXIT_CODE -ne 0 ] || [ -z "${DEFAULT_PACKAGES}" ]; then
4289+
return $EXIT_CODE
4290+
fi
42894291
nvm_echo "Installing default global packages from ${NVM_DIR}/default-packages..."
4290-
nvm_echo "npm install -g --quiet $1"
4292+
nvm_echo "npm install -g --quiet ${DEFAULT_PACKAGES}"
42914293

4292-
if ! nvm_echo "$1" | command xargs npm install -g --quiet; then
4294+
if ! nvm_echo "${DEFAULT_PACKAGES}" | command xargs npm install -g --quiet; then
42934295
nvm_err "Failed installing default packages. Please check if your default-packages file or a package in it has problems!"
42944296
return 1
42954297
fi

0 commit comments

Comments
 (0)