Add `nvm_ls_remote_iojs` and `nvm ls-remote` support for iojs.
parent
5143de9653
commit
d70f0357f5
48
nvm.sh
48
nvm.sh
|
@ -71,6 +71,13 @@ if [ -z "$NVM_NODEJS_ORG_MIRROR" ]; then
|
|||
export NVM_NODEJS_ORG_MIRROR="https://nodejs.org/dist"
|
||||
fi
|
||||
|
||||
if [ -z "$NVM_IOJS_ORG_MIRROR" ]; then
|
||||
export NVM_IOJS_ORG_MIRROR="https://iojs.org/dist"
|
||||
fi
|
||||
if [ -z "$NVM_IOJS_ORG_VERSION_LISTING" ]; then
|
||||
export NVM_IOJS_ORG_VERSION_LISTING="$NVM_IOJS_ORG_MIRROR/index.tab"
|
||||
fi
|
||||
|
||||
nvm_tree_contains_path() {
|
||||
local tree
|
||||
tree="$1"
|
||||
|
@ -490,7 +497,28 @@ nvm_ls_remote() {
|
|||
return 3
|
||||
fi
|
||||
echo "$VERSIONS"
|
||||
return
|
||||
}
|
||||
|
||||
nvm_ls_remote_iojs() {
|
||||
local PATTERN
|
||||
PATTERN="$1"
|
||||
local VERSIONS
|
||||
if [ -n "$PATTERN" ]; then
|
||||
PATTERN="$(nvm_ensure_version_prefix $(nvm_strip_iojs_prefix "$PATTERN"))"
|
||||
else
|
||||
PATTERN=".*"
|
||||
fi
|
||||
VERSIONS="$(nvm_download -L -s $NVM_IOJS_ORG_VERSION_LISTING -o - \
|
||||
| command sed 1d \
|
||||
| command sed "s/^/$(nvm_iojs_prefix)-/" \
|
||||
| command cut -f1 \
|
||||
| command grep -w "$PATTERN" \
|
||||
| command sort)"
|
||||
if [ -z "$VERSIONS" ]; then
|
||||
echo "N/A"
|
||||
return 3
|
||||
fi
|
||||
echo "$VERSIONS"
|
||||
}
|
||||
|
||||
nvm_checksum() {
|
||||
|
@ -1083,11 +1111,19 @@ nvm() {
|
|||
return $NVM_LS_EXIT_CODE
|
||||
;;
|
||||
"ls-remote" | "list-remote" )
|
||||
local NVM_LS_EXIT_CODE
|
||||
NVM_LS_OUTPUT=$(nvm_ls_remote "$2")
|
||||
NVM_LS_EXIT_CODE=$?
|
||||
nvm_print_versions "$NVM_LS_OUTPUT"
|
||||
return $NVM_LS_EXIT_CODE
|
||||
local NVM_LS_REMOTE_OUTPUT
|
||||
local NVM_LS_REMOTE_EXIT_CODE
|
||||
NVM_LS_REMOTE_OUTPUT=$(nvm_ls_remote "$2")
|
||||
NVM_LS_REMOTE_EXIT_CODE=$?
|
||||
nvm_print_versions "$NVM_LS_REMOTE_OUTPUT"
|
||||
|
||||
local NVM_LS_REMOTE_IOJS_OUTPUT
|
||||
local NVM_LS_REMOTE_IOJS_EXIT_CODE
|
||||
NVM_LS_REMOTE_IOJS_OUTPUT=$(nvm_ls_remote_iojs "$2")
|
||||
NVM_LS_REMOTE_IOJS_EXIT_CODE=$?
|
||||
nvm_print_versions "$NVM_LS_REMOTE_IOJS_OUTPUT"
|
||||
|
||||
return $NVM_LS_REMOTE_EXIT_CODE && $NVM_LS_REMOTE_IOJS_EXIT_CODE
|
||||
;;
|
||||
"current" )
|
||||
nvm_version current
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
#!/bin/sh
|
||||
|
||||
die () { echo $@ ; cleanup ; exit 1; }
|
||||
|
||||
cleanup() {
|
||||
unset -f nvm_download
|
||||
}
|
||||
|
||||
. ../../../nvm.sh
|
||||
|
||||
# sample output at the time the test was written
|
||||
nvm_download() {
|
||||
echo 'version date files npm v8 uv zlib openssl modules'
|
||||
echo 'v1.0.1 2015-01-14 linux-armv7l,linux-x64,linux-x86,osx-x64-tar,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi'
|
||||
echo 'v1.0.0 2015-01-14 linux-armv7l,linux-x64,linux-x86,osx-x64-tar,win-x64-exe,win-x64-msi,win-x86-exe,win-x86-msi'
|
||||
}
|
||||
|
||||
OUTPUT="$(nvm_ls_remote_iojs foo)"
|
||||
EXIT_CODE="$(nvm_ls_remote_iojs foo >/dev/null 2>&1 ; echo $?)"
|
||||
[ "_$OUTPUT" = "_N/A" ] || die "nonexistent version did not report N/A"
|
||||
[ "_$EXIT_CODE" = "_3" ] || die "nonexistent version did not exit with code 3, got $EXIT_CODE"
|
||||
|
||||
OUTPUT="$(nvm_ls_remote_iojs)"
|
||||
EXPECTED_OUTPUT="$(nvm_download | \egrep -o 'v[0-9]+\.[0-9]+\.[0-9]+' | sort -t. -u -k 1.2,1n -k 2,2n -k 3,3n | sed -e 's/^/iojs-/')"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "bare nvm_ls_remote_iojs did not output expected sorted versions; got $(echo "$OUTPUT") expected $(echo "$EXPECTED_OUTPUT")"
|
||||
|
||||
OUTPUT="$(nvm_ls_remote_iojs 1.0)"
|
||||
EXPECTED_OUTPUT="iojs-v1.0.0
|
||||
iojs-v1.0.1"
|
||||
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_ls_remote_iojs 1.0 did not output 1.0.x versions; got $OUTPUT"
|
||||
|
||||
cleanup
|
||||
|
Loading…
Reference in New Issue