|
|
|
@ -20,34 +20,56 @@ fi
@@ -20,34 +20,56 @@ fi
|
|
|
|
|
nvm_version() |
|
|
|
|
{ |
|
|
|
|
PATTERN=$1 |
|
|
|
|
VERSION='' |
|
|
|
|
if [ -f "$NVM_DIR/alias/$PATTERN" ]; then |
|
|
|
|
nvm_version `cat $NVM_DIR/alias/$PATTERN` |
|
|
|
|
return |
|
|
|
|
# The default version is the current one |
|
|
|
|
if [ ! "$PATTERN" ]; then |
|
|
|
|
PATTERN='current' |
|
|
|
|
fi |
|
|
|
|
# If it looks like an explicit version, don't do anything funny |
|
|
|
|
if [[ "$PATTERN" == v?*.?*.?* ]]; then |
|
|
|
|
VERSION="$PATTERN" |
|
|
|
|
|
|
|
|
|
VERSION=`nvm_ls $PATTERN | tail -n1` |
|
|
|
|
echo "$VERSION" |
|
|
|
|
|
|
|
|
|
if [ "$VERSION" = 'N/A' ]; then |
|
|
|
|
return 13 |
|
|
|
|
fi |
|
|
|
|
# The default version is the current one |
|
|
|
|
if [ ! "$PATTERN" -o "$PATTERN" = 'current' ]; then |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
nvm_ls() |
|
|
|
|
{ |
|
|
|
|
PATTERN=$1 |
|
|
|
|
VERSIONS='' |
|
|
|
|
if [ "$PATTERN" = 'current' ]; then |
|
|
|
|
VERSION=`node -v 2>/dev/null` |
|
|
|
|
fi |
|
|
|
|
if [ "$PATTERN" = 'all' ]; then |
|
|
|
|
(cd $NVM_DIR; \ls -dG v* 2>/dev/null || echo "N/A") |
|
|
|
|
|
|
|
|
|
if [ -f "$NVM_DIR/alias/$PATTERN" ]; then |
|
|
|
|
nvm_version `cat $NVM_DIR/alias/$PATTERN` |
|
|
|
|
return |
|
|
|
|
fi |
|
|
|
|
if [ ! "$VERSION" ]; then |
|
|
|
|
VERSION=`(cd $NVM_DIR; \ls -d v${PATTERN}* 2>/dev/null) | sort -t. -k 2,1n -k 2,2n -k 3,3n | tail -n1` |
|
|
|
|
# If it looks like an explicit version, don't do anything funny |
|
|
|
|
if [[ "$PATTERN" == v?*.?*.?* ]]; then |
|
|
|
|
VERSIONS="$PATTERN" |
|
|
|
|
else |
|
|
|
|
VERSIONS=`(cd $NVM_DIR; \ls -d v${PATTERN}* 2>/dev/null) | sort -t. -k 1.2,1n -k 2,2n -k 3,3n` |
|
|
|
|
fi |
|
|
|
|
if [ ! "$VERSION" ]; then |
|
|
|
|
if [ ! "$VERSIONS" ]; then |
|
|
|
|
echo "N/A" |
|
|
|
|
return 13 |
|
|
|
|
elif [ -e "$NVM_DIR/$VERSION" ]; then |
|
|
|
|
(cd $NVM_DIR; \ls -dG "$VERSION") |
|
|
|
|
else |
|
|
|
|
echo "$VERSION" |
|
|
|
|
return |
|
|
|
|
fi |
|
|
|
|
echo "$VERSIONS" |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
print_versions() |
|
|
|
|
{ |
|
|
|
|
OUTPUT='' |
|
|
|
|
for VERSION in $1; do |
|
|
|
|
PADDED_VERSION=`printf '%10s' $VERSION` |
|
|
|
|
if [[ -d "$NVM_DIR/$VERSION" ]]; then |
|
|
|
|
PADDED_VERSION="\033[0;34m$PADDED_VERSION\033[0m" |
|
|
|
|
fi |
|
|
|
|
OUTPUT="$OUTPUT\n$PADDED_VERSION" |
|
|
|
|
done |
|
|
|
|
echo -e "$OUTPUT" | column |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
nvm() |
|
|
|
@ -214,13 +236,12 @@ nvm()
@@ -214,13 +236,12 @@ nvm()
|
|
|
|
|
$NVM_DIR/$VERSION/bin/node "${@:3}" |
|
|
|
|
;; |
|
|
|
|
"ls" | "list" ) |
|
|
|
|
if [ $# -ne 1 ]; then |
|
|
|
|
nvm_version $2 |
|
|
|
|
return |
|
|
|
|
print_versions "`nvm_ls $2`" |
|
|
|
|
if [ $# -eq 1 ]; then |
|
|
|
|
echo -ne "current: \t"; nvm_version current |
|
|
|
|
nvm alias |
|
|
|
|
fi |
|
|
|
|
nvm_version all |
|
|
|
|
echo -ne "current: \t"; nvm_version current |
|
|
|
|
nvm alias |
|
|
|
|
return |
|
|
|
|
;; |
|
|
|
|
"alias" ) |
|
|
|
|
mkdir -p $NVM_DIR/alias |
|
|
|
@ -275,7 +296,7 @@ nvm()
@@ -275,7 +296,7 @@ nvm()
|
|
|
|
|
echo "Cache cleared." |
|
|
|
|
;; |
|
|
|
|
"version" ) |
|
|
|
|
nvm_version $2 |
|
|
|
|
print_versions "`nvm_version $2`" |
|
|
|
|
;; |
|
|
|
|
* ) |
|
|
|
|
nvm help |
|
|
|
|