[New] add support for $NVM_DIR/default-packages file

This commit is contained in:
Weston Ganger
2017-03-28 09:37:14 -07:00
committed by Jordan Harband
parent dc5dfe3bc1
commit 7f3145bc98
7 changed files with 186 additions and 6 deletions

View File

@@ -10,7 +10,9 @@ die () { echo "$@" ; cleanup ; exit 1; }
typeset -f | awk '/ \(\) $/ && !/^main / {print $1}' > "${BEFORE}"
set +e # TODO: fix
\. ../../nvm.sh
set -e
type nvm > /dev/null 2>&1 || die "nvm not loaded"

View File

@@ -0,0 +1,115 @@
#!/bin/sh
FILE="$NVM_DIR/default-packages"
die () { echo "$@" ; cleanup ; exit 1; }
setup () {
if [ -f $FILE ]; then
ORIG_DEFAULT_PACKAGES=$(cat $FILE)
mkdir ./tmp/ ||:
mv $FILE ./tmp/default-packages ||:
fi
touch $FILE
}
cleanup () {
rm -rf "$(nvm_version_path v6.10.1)" $FILE
if [ "$ORIG_DEFAULT_PACKAGES" != "" ]; then
rm -rf ./tmp/
echo "$ORIG_DEFAULT_PACKAGES" > $FILE
fi
}
setup
\. ../../../nvm.sh
cat > $FILE << EOF
rimraf
object-inspect@1.0.2
# commented-package
stevemao/left-pad
EOF
nvm install v6.10.1 2>&1
EXIT_CODE=$?
[ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm install v6.10.1' to exit with 0, got $EXIT_CODE"
nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'rimraf'
if [ -z "$?" ]; then
die "expected 'nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'rimraf'' to exit with 0, got $?"
fi
cleanup
setup
\. ../../../nvm.sh
cat > $FILE << EOF
rimraf
object-inspect@1.0.2
# commented-package
stevemao/left-pad
EOF
nvm install v6.10.1 --skip-default-packages 2>&1
EXIT_CODE=$?
[ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm install v6.10.1' to exit with 0, got $EXIT_CODE"
if nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'rimraf'; then
die "expected 'nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'rimraf'' to be empty"
fi
cleanup
setup
cat > $FILE << EOF
not~a~package~name
EOF
nvm install v6.10.1
EXIT_CODE=$?
[ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm install v6.10.1' to exit with 0, got $EXIT_CODE"
if nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'not~a~package~name'; then
die "expected 'nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'not~a~package~name'' to exit with 1, got $?"
fi
cleanup
setup
cat > $FILE << EOF
object-inspect @ 1.0.2
EOF
nvm install v6.10.1 2>&1
EXIT_CODE=$?
[ "_$EXIT_CODE" = "_1" ] || die "expected 'nvm install v6.10.1' to exit with 1, got $EXIT_CODE"
if nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'object-inspect'; then
die "expected 'nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'object-inspect'' to exit with 1, got $?"
fi
cleanup
setup
rm -rf $FILE
nvm install v6.10.1 2>&1
EXIT_CODE=$?
[ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm install v6.10.1' to exit with 0, got $EXIT_CODE"
if nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'object-inspect'; then
die "expected 'nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'object-inspect'' to exit with 1, got $?"
fi
touch $FILE
cleanup

View File

@@ -4,7 +4,9 @@ set -ex
die () { echo "$@" ; exit 1; }
set +e # TODO: fix
\. ../../../nvm.sh
set -e
ALG="$(nvm_get_checksum_alg)"

View File

@@ -7,7 +7,9 @@ die () { echo "$@" ; exit 1; }
unset NVM_NODEJS_ORG_MIRROR
unset NVM_IOJS_ORG_MIRROR
set +e # TODO: fix
\. ../../../nvm.sh
set -e
! nvm_get_mirror || die 'unknown release type did not error'
! nvm_get_mirror node || die 'unknown release type did not error'
@@ -28,4 +30,3 @@ unset NVM_NODEJS_ORG_MIRROR
NVM_IOJS_ORG_MIRROR="test://domain"
[ "$(nvm_get_mirror iojs std)" = "test://domain" ] || die "iojs-std mirror should respect NVM_IOJS_ORG_MIRROR"
unset NVM_IOJS_ORG_MIRROR