mirror of
https://github.com/nvm-sh/nvm.git
synced 2025-06-27 11:38:43 +00:00
add support for chakracore
This commit is contained in:
parent
9854928ba9
commit
2e7f86f9ac
10
.travis.yml
10
.travis.yml
@ -78,6 +78,16 @@ env:
|
|||||||
- SHELL=zsh TEST_SUITE=installation_iojs WITHOUT_CURL=1
|
- SHELL=zsh TEST_SUITE=installation_iojs WITHOUT_CURL=1
|
||||||
# - SHELL=ksh TEST_SUITE=installation_iojs
|
# - SHELL=ksh TEST_SUITE=installation_iojs
|
||||||
# - SHELL=ksh TEST_SUITE=installation_iojs WITHOUT_CURL=1
|
# - SHELL=ksh TEST_SUITE=installation_iojs WITHOUT_CURL=1
|
||||||
|
- SHELL=sh TEST_SUITE=installation_chakra
|
||||||
|
- SHELL=sh TEST_SUITE=installation_chakra WITHOUT_CURL=1
|
||||||
|
- SHELL=dash TEST_SUITE=installation_chakra
|
||||||
|
- SHELL=dash TEST_SUITE=installation_chakra WITHOUT_CURL=1
|
||||||
|
- SHELL=bash TEST_SUITE=installation_chakra
|
||||||
|
- SHELL=bash TEST_SUITE=installation_chakra WITHOUT_CURL=1
|
||||||
|
- SHELL=zsh TEST_SUITE=installation_chakra
|
||||||
|
- SHELL=zsh TEST_SUITE=installation_chakra WITHOUT_CURL=1
|
||||||
|
# - SHELL=ksh TEST_SUITE=installation_chakra
|
||||||
|
# - SHELL=ksh TEST_SUITE=installation_chakra WITHOUT_CURL=1
|
||||||
- NODE=10 TEST="nvm install-latest-npm"
|
- NODE=10 TEST="nvm install-latest-npm"
|
||||||
- NODE=9 TEST="nvm install-latest-npm"
|
- NODE=9 TEST="nvm install-latest-npm"
|
||||||
- NODE=8 TEST="nvm install-latest-npm"
|
- NODE=8 TEST="nvm install-latest-npm"
|
||||||
|
156
nvm.sh
156
nvm.sh
@ -125,6 +125,10 @@ nvm_has_system_node() {
|
|||||||
[ "$(nvm deactivate >/dev/null 2>&1 && command -v node)" != '' ]
|
[ "$(nvm deactivate >/dev/null 2>&1 && command -v node)" != '' ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nvm_has_system_chakra() {
|
||||||
|
[ "$(nvm deactivate >/dev/null 2>&1 && command -v chakracore)" != '' ]
|
||||||
|
}
|
||||||
|
|
||||||
nvm_has_system_iojs() {
|
nvm_has_system_iojs() {
|
||||||
[ "$(nvm deactivate >/dev/null 2>&1 && command -v iojs)" != '' ]
|
[ "$(nvm deactivate >/dev/null 2>&1 && command -v iojs)" != '' ]
|
||||||
}
|
}
|
||||||
@ -369,6 +373,8 @@ nvm_version_dir() {
|
|||||||
nvm_echo "${NVM_DIR}/versions/node"
|
nvm_echo "${NVM_DIR}/versions/node"
|
||||||
elif [ "_${NVM_WHICH_DIR}" = "_iojs" ]; then
|
elif [ "_${NVM_WHICH_DIR}" = "_iojs" ]; then
|
||||||
nvm_echo "${NVM_DIR}/versions/io.js"
|
nvm_echo "${NVM_DIR}/versions/io.js"
|
||||||
|
elif [ "_${NVM_WHICH_DIR}" = "_chakra" ]; then
|
||||||
|
nvm_echo "${NVM_DIR}/versions/chakra"
|
||||||
elif [ "_${NVM_WHICH_DIR}" = "_old" ]; then
|
elif [ "_${NVM_WHICH_DIR}" = "_old" ]; then
|
||||||
nvm_echo "${NVM_DIR}"
|
nvm_echo "${NVM_DIR}"
|
||||||
else
|
else
|
||||||
@ -389,6 +395,8 @@ nvm_version_path() {
|
|||||||
return 3
|
return 3
|
||||||
elif nvm_is_iojs_version "${VERSION}"; then
|
elif nvm_is_iojs_version "${VERSION}"; then
|
||||||
nvm_echo "$(nvm_version_dir iojs)/$(nvm_strip_iojs_prefix "${VERSION}")"
|
nvm_echo "$(nvm_version_dir iojs)/$(nvm_strip_iojs_prefix "${VERSION}")"
|
||||||
|
elif nvm_is_chakra_version "${VERSION}"; then
|
||||||
|
nvm_echo "$(nvm_version_dir chakra)/$(nvm_strip_chakra_prefix "${VERSION}")"
|
||||||
elif nvm_version_greater 0.12.0 "${VERSION}"; then
|
elif nvm_version_greater 0.12.0 "${VERSION}"; then
|
||||||
nvm_echo "$(nvm_version_dir old)/${VERSION}"
|
nvm_echo "$(nvm_version_dir old)/${VERSION}"
|
||||||
else
|
else
|
||||||
@ -464,6 +472,9 @@ nvm_remote_version() {
|
|||||||
"$(nvm_iojs_prefix)")
|
"$(nvm_iojs_prefix)")
|
||||||
VERSION="$(NVM_LTS="${NVM_LTS-}" nvm_ls_remote_iojs | command tail -1)" &&:
|
VERSION="$(NVM_LTS="${NVM_LTS-}" nvm_ls_remote_iojs | command tail -1)" &&:
|
||||||
;;
|
;;
|
||||||
|
"$(nvm_chakra_prefix)")
|
||||||
|
VERSION="$(NVM_LTS="${NVM_LTS-}" nvm_ls_remote_chakra | command tail -1)" &&:
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
VERSION="$(NVM_LTS="${NVM_LTS-}" nvm_ls_remote "${PATTERN}")" &&:
|
VERSION="$(NVM_LTS="${NVM_LTS-}" nvm_ls_remote "${PATTERN}")" &&:
|
||||||
;;
|
;;
|
||||||
@ -485,6 +496,8 @@ nvm_remote_version() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
nvm_remote_versions() {
|
nvm_remote_versions() {
|
||||||
|
local NVM_CHAKRA_PREFIX
|
||||||
|
NVM_CHAKRA_PREFIX="$(nvm_chakra_prefix)"
|
||||||
local NVM_IOJS_PREFIX
|
local NVM_IOJS_PREFIX
|
||||||
NVM_IOJS_PREFIX="$(nvm_iojs_prefix)"
|
NVM_IOJS_PREFIX="$(nvm_iojs_prefix)"
|
||||||
local NVM_NODE_PREFIX
|
local NVM_NODE_PREFIX
|
||||||
@ -499,6 +512,10 @@ nvm_remote_versions() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
case "${PATTERN}" in
|
case "${PATTERN}" in
|
||||||
|
"${NVM_CHAKRA_PREFIX}" | "chakra")
|
||||||
|
NVM_FLAVOR="${NVM_CHAKRA_PREFIX}"
|
||||||
|
unset PATTERN
|
||||||
|
;;
|
||||||
"${NVM_IOJS_PREFIX}" | "io.js")
|
"${NVM_IOJS_PREFIX}" | "io.js")
|
||||||
NVM_FLAVOR="${NVM_IOJS_PREFIX}"
|
NVM_FLAVOR="${NVM_IOJS_PREFIX}"
|
||||||
unset PATTERN
|
unset PATTERN
|
||||||
@ -540,8 +557,19 @@ nvm_remote_versions() {
|
|||||||
NVM_LS_REMOTE_IOJS_EXIT_CODE=$?
|
NVM_LS_REMOTE_IOJS_EXIT_CODE=$?
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
local NVM_LS_REMOTE_CHAKRA_EXIT_CODE
|
||||||
|
NVM_LS_REMOTE_CHAKRA_EXIT_CODE=0
|
||||||
|
local NVM_LS_REMOTE_CHAKRA_OUTPUT
|
||||||
|
NVM_LS_REMOTE_CHAKRA_OUTPUT=''
|
||||||
|
if [ -z "${NVM_LTS-}" ] && ( \
|
||||||
|
[ -z "${NVM_FLAVOR-}" ] || [ "${NVM_FLAVOR-}" = "${NVM_CHAKRA_PREFIX}" ] \
|
||||||
|
); then
|
||||||
|
NVM_LS_REMOTE_CHAKRA_OUTPUT=$(nvm_ls_remote_chakra "${PATTERN-}") &&:
|
||||||
|
NVM_LS_REMOTE_CHAKRA_EXIT_CODE=$?
|
||||||
|
fi
|
||||||
|
|
||||||
VERSIONS="$(nvm_echo "${NVM_LS_REMOTE_PRE_MERGED_OUTPUT}
|
VERSIONS="$(nvm_echo "${NVM_LS_REMOTE_PRE_MERGED_OUTPUT}
|
||||||
${NVM_LS_REMOTE_IOJS_OUTPUT}
|
${NVM_LS_REMOTE_IOJS_OUTPUT} ${NVM_LS_REMOTE_CHAKRA_OUTPUT}
|
||||||
${NVM_LS_REMOTE_POST_MERGED_OUTPUT}" | nvm_grep -v "N/A" | command sed '/^$/d')"
|
${NVM_LS_REMOTE_POST_MERGED_OUTPUT}" | nvm_grep -v "N/A" | command sed '/^$/d')"
|
||||||
|
|
||||||
if [ -z "${VERSIONS}" ]; then
|
if [ -z "${VERSIONS}" ]; then
|
||||||
@ -549,7 +577,7 @@ ${NVM_LS_REMOTE_POST_MERGED_OUTPUT}" | nvm_grep -v "N/A" | command sed '/^$/d')"
|
|||||||
return 3
|
return 3
|
||||||
fi
|
fi
|
||||||
nvm_echo "${VERSIONS}"
|
nvm_echo "${VERSIONS}"
|
||||||
return $NVM_LS_REMOTE_EXIT_CODE || $NVM_LS_REMOTE_IOJS_EXIT_CODE
|
return $NVM_LS_REMOTE_EXIT_CODE || $NVM_LS_REMOTE_IOJS_EXIT_CODE || $NVM_LS_REMOTE_CHAKRA_EXIT_CODE
|
||||||
}
|
}
|
||||||
|
|
||||||
nvm_is_valid_version() {
|
nvm_is_valid_version() {
|
||||||
@ -649,7 +677,7 @@ nvm_change_path() {
|
|||||||
|
|
||||||
nvm_binary_available() {
|
nvm_binary_available() {
|
||||||
# binaries started with node 0.8.6
|
# binaries started with node 0.8.6
|
||||||
nvm_version_greater_than_or_equal_to "$(nvm_strip_iojs_prefix "${1-}")" v0.8.6
|
nvm_version_greater_than_or_equal_to "$(nvm_strip_chakra_prefix "$(nvm_strip_iojs_prefix "${1-}")")" v0.8.6
|
||||||
}
|
}
|
||||||
|
|
||||||
nvm_print_formatted_alias() {
|
nvm_print_formatted_alias() {
|
||||||
@ -925,6 +953,9 @@ nvm_resolve_local_alias() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nvm_chakra_prefix() {
|
||||||
|
nvm_echo 'chakra'
|
||||||
|
}
|
||||||
nvm_iojs_prefix() {
|
nvm_iojs_prefix() {
|
||||||
nvm_echo 'iojs'
|
nvm_echo 'iojs'
|
||||||
}
|
}
|
||||||
@ -937,10 +968,30 @@ nvm_is_iojs_version() {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nvm_is_chakra_version() {
|
||||||
|
case "${1-}" in chakra-*) return 0 ;; esac
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
nvm_add_iojs_prefix() {
|
nvm_add_iojs_prefix() {
|
||||||
nvm_echo "$(nvm_iojs_prefix)-$(nvm_ensure_version_prefix "$(nvm_strip_iojs_prefix "${1-}")")"
|
nvm_echo "$(nvm_iojs_prefix)-$(nvm_ensure_version_prefix "$(nvm_strip_iojs_prefix "${1-}")")"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nvm_add_chakra_prefix() {
|
||||||
|
nvm_echo "$(nvm_chakra_prefix)-$(nvm_ensure_version_prefix "$(nvm_strip_chakra_prefix "${1-}")")"
|
||||||
|
}
|
||||||
|
|
||||||
|
nvm_strip_chakra_prefix() {
|
||||||
|
local NVM_CHAKRA_PREFIX
|
||||||
|
NVM_CHAKRA_PREFIX="$(nvm_chakra_prefix)"
|
||||||
|
if [ "${1-}" = "${NVM_CHAKRA_PREFIX}" ]; then
|
||||||
|
nvm_echo
|
||||||
|
else
|
||||||
|
nvm_echo "${1#${NVM_CHAKRA_PREFIX}-}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
nvm_strip_iojs_prefix() {
|
nvm_strip_iojs_prefix() {
|
||||||
local NVM_IOJS_PREFIX
|
local NVM_IOJS_PREFIX
|
||||||
NVM_IOJS_PREFIX="$(nvm_iojs_prefix)"
|
NVM_IOJS_PREFIX="$(nvm_iojs_prefix)"
|
||||||
@ -963,17 +1014,21 @@ nvm_ls() {
|
|||||||
|
|
||||||
local NVM_IOJS_PREFIX
|
local NVM_IOJS_PREFIX
|
||||||
NVM_IOJS_PREFIX="$(nvm_iojs_prefix)"
|
NVM_IOJS_PREFIX="$(nvm_iojs_prefix)"
|
||||||
|
local NVM_CHAKRA_PREFIX
|
||||||
|
NVM_CHAKRA_PREFIX="$(nvm_chakra_prefix)"
|
||||||
local NVM_NODE_PREFIX
|
local NVM_NODE_PREFIX
|
||||||
NVM_NODE_PREFIX="$(nvm_node_prefix)"
|
NVM_NODE_PREFIX="$(nvm_node_prefix)"
|
||||||
local NVM_VERSION_DIR_IOJS
|
local NVM_VERSION_DIR_IOJS
|
||||||
NVM_VERSION_DIR_IOJS="$(nvm_version_dir "${NVM_IOJS_PREFIX}")"
|
NVM_VERSION_DIR_IOJS="$(nvm_version_dir "${NVM_IOJS_PREFIX}")"
|
||||||
|
local NVM_VERSION_DIR_CHAKRA
|
||||||
|
NVM_VERSION_DIR_CHAKRA="$(nvm_version_dir "${NVM_CHAKRA_PREFIX}")"
|
||||||
local NVM_VERSION_DIR_NEW
|
local NVM_VERSION_DIR_NEW
|
||||||
NVM_VERSION_DIR_NEW="$(nvm_version_dir new)"
|
NVM_VERSION_DIR_NEW="$(nvm_version_dir new)"
|
||||||
local NVM_VERSION_DIR_OLD
|
local NVM_VERSION_DIR_OLD
|
||||||
NVM_VERSION_DIR_OLD="$(nvm_version_dir old)"
|
NVM_VERSION_DIR_OLD="$(nvm_version_dir old)"
|
||||||
|
|
||||||
case "${PATTERN}" in
|
case "${PATTERN}" in
|
||||||
"${NVM_IOJS_PREFIX}" | "${NVM_NODE_PREFIX}" )
|
"${NVM_CHAKRA_PREFIX}" | "${NVM_IOJS_PREFIX}" | "${NVM_NODE_PREFIX}" )
|
||||||
PATTERN="${PATTERN}-"
|
PATTERN="${PATTERN}-"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@ -983,6 +1038,7 @@ nvm_ls() {
|
|||||||
PATTERN="$(nvm_ensure_version_prefix "${PATTERN}")"
|
PATTERN="$(nvm_ensure_version_prefix "${PATTERN}")"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if [ "${PATTERN}" = 'N/A' ]; then
|
if [ "${PATTERN}" = 'N/A' ]; then
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
@ -997,10 +1053,12 @@ nvm_ls() {
|
|||||||
VERSIONS="${PATTERN}"
|
VERSIONS="${PATTERN}"
|
||||||
elif nvm_is_version_installed "$(nvm_add_iojs_prefix "${PATTERN}")"; then
|
elif nvm_is_version_installed "$(nvm_add_iojs_prefix "${PATTERN}")"; then
|
||||||
VERSIONS="$(nvm_add_iojs_prefix "${PATTERN}")"
|
VERSIONS="$(nvm_add_iojs_prefix "${PATTERN}")"
|
||||||
|
elif nvm_is_version_installed "$(nvm_add_chakra_prefix "${PATTERN}")"; then
|
||||||
|
VERSIONS="$(nvm_add_chakra_prefix "${PATTERN}")"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
case "${PATTERN}" in
|
case "${PATTERN}" in
|
||||||
"${NVM_IOJS_PREFIX}-" | "${NVM_NODE_PREFIX}-" | "system") ;;
|
"${NVM_CHAKRA_PREFIX}-" | "${NVM_IOJS_PREFIX}-" | "${NVM_NODE_PREFIX}-" | "system") ;;
|
||||||
*)
|
*)
|
||||||
local NUM_VERSION_GROUPS
|
local NUM_VERSION_GROUPS
|
||||||
NUM_VERSION_GROUPS="$(nvm_num_version_groups "${PATTERN}")"
|
NUM_VERSION_GROUPS="$(nvm_num_version_groups "${PATTERN}")"
|
||||||
@ -1031,6 +1089,12 @@ nvm_ls() {
|
|||||||
if nvm_has_system_iojs; then
|
if nvm_has_system_iojs; then
|
||||||
NVM_ADD_SYSTEM=true
|
NVM_ADD_SYSTEM=true
|
||||||
fi
|
fi
|
||||||
|
elif nvm_is_chakra_version "${PATTERN}"; then
|
||||||
|
NVM_DIRS_TO_SEARCH1="${NVM_VERSION_DIR_CHAKRA}"
|
||||||
|
PATTERN="$(nvm_strip_chakra_prefix "${PATTERN}")"
|
||||||
|
if nvm_has_system_chakra; then
|
||||||
|
NVM_ADD_SYSTEM=true
|
||||||
|
fi
|
||||||
elif [ "${PATTERN}" = "${NVM_NODE_PREFIX}-" ]; then
|
elif [ "${PATTERN}" = "${NVM_NODE_PREFIX}-" ]; then
|
||||||
NVM_DIRS_TO_SEARCH1="${NVM_VERSION_DIR_OLD}"
|
NVM_DIRS_TO_SEARCH1="${NVM_VERSION_DIR_OLD}"
|
||||||
NVM_DIRS_TO_SEARCH2="${NVM_VERSION_DIR_NEW}"
|
NVM_DIRS_TO_SEARCH2="${NVM_VERSION_DIR_NEW}"
|
||||||
@ -1068,6 +1132,7 @@ nvm_ls() {
|
|||||||
VERSIONS="$(command find "${NVM_DIRS_TO_SEARCH1}"/* "${NVM_DIRS_TO_SEARCH2}"/* "${NVM_DIRS_TO_SEARCH3}"/* -name . -o -type d -prune -o -path "${PATTERN}*" \
|
VERSIONS="$(command find "${NVM_DIRS_TO_SEARCH1}"/* "${NVM_DIRS_TO_SEARCH2}"/* "${NVM_DIRS_TO_SEARCH3}"/* -name . -o -type d -prune -o -path "${PATTERN}*" \
|
||||||
| command sed -e "
|
| command sed -e "
|
||||||
s#${NVM_VERSION_DIR_IOJS}/#versions/${NVM_IOJS_PREFIX}/#;
|
s#${NVM_VERSION_DIR_IOJS}/#versions/${NVM_IOJS_PREFIX}/#;
|
||||||
|
s#${NVM_VERSION_DIR_CHAKRA}/#versions/${NVM_CHAKRA_PREFIX}/#;
|
||||||
s#^${NVM_DIR}/##;
|
s#^${NVM_DIR}/##;
|
||||||
\\#^[^v]# d;
|
\\#^[^v]# d;
|
||||||
\\#^versions\$# d;
|
\\#^versions\$# d;
|
||||||
@ -1126,6 +1191,10 @@ nvm_ls_remote_iojs() {
|
|||||||
NVM_LTS="${NVM_LTS-}" nvm_ls_remote_index_tab iojs std "${1-}"
|
NVM_LTS="${NVM_LTS-}" nvm_ls_remote_index_tab iojs std "${1-}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nvm_ls_remote_chakra() {
|
||||||
|
NVM_LTS="${NVM_LTS-}" nvm_ls_remote_index_tab chakra std "${1-}"
|
||||||
|
}
|
||||||
|
|
||||||
# args flavor, type, version
|
# args flavor, type, version
|
||||||
nvm_ls_remote_index_tab() {
|
nvm_ls_remote_index_tab() {
|
||||||
local LTS
|
local LTS
|
||||||
@ -1150,8 +1219,13 @@ nvm_ls_remote_index_tab() {
|
|||||||
local PREFIX
|
local PREFIX
|
||||||
PREFIX=''
|
PREFIX=''
|
||||||
case "${FLAVOR}-${TYPE}" in
|
case "${FLAVOR}-${TYPE}" in
|
||||||
|
chakra-std) PREFIX="$(nvm_chakra_prefix)-" ;;
|
||||||
iojs-std) PREFIX="$(nvm_iojs_prefix)-" ;;
|
iojs-std) PREFIX="$(nvm_iojs_prefix)-" ;;
|
||||||
node-std) PREFIX='' ;;
|
node-std) PREFIX='' ;;
|
||||||
|
chakra-*)
|
||||||
|
nvm_err 'unknown type of node-chakra release'
|
||||||
|
return 4
|
||||||
|
;;
|
||||||
iojs-*)
|
iojs-*)
|
||||||
nvm_err 'unknown type of io.js release'
|
nvm_err 'unknown type of io.js release'
|
||||||
return 4
|
return 4
|
||||||
@ -1165,6 +1239,7 @@ nvm_ls_remote_index_tab() {
|
|||||||
SORT_COMMAND='command sort'
|
SORT_COMMAND='command sort'
|
||||||
case "${FLAVOR}" in
|
case "${FLAVOR}" in
|
||||||
node) SORT_COMMAND='command sort -t. -u -k 1.2,1n -k 2,2n -k 3,3n' ;;
|
node) SORT_COMMAND='command sort -t. -u -k 1.2,1n -k 2,2n -k 3,3n' ;;
|
||||||
|
chakra) SORT_COMMAND='command sort -t. -k1,1dr -k2,2n' ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
local PATTERN
|
local PATTERN
|
||||||
@ -1174,6 +1249,8 @@ nvm_ls_remote_index_tab() {
|
|||||||
if [ -n "${PATTERN}" ]; then
|
if [ -n "${PATTERN}" ]; then
|
||||||
if [ "${FLAVOR}" = 'iojs' ]; then
|
if [ "${FLAVOR}" = 'iojs' ]; then
|
||||||
PATTERN="$(nvm_ensure_version_prefix "$(nvm_strip_iojs_prefix "${PATTERN}")")"
|
PATTERN="$(nvm_ensure_version_prefix "$(nvm_strip_iojs_prefix "${PATTERN}")")"
|
||||||
|
elif [ "${FLAVOR}" = 'chakra' ]; then
|
||||||
|
PATTERN="$(nvm_ensure_version_prefix "$(nvm_strip_chakra_prefix "${PATTERN}")")"
|
||||||
else
|
else
|
||||||
PATTERN="$(nvm_ensure_version_prefix "${PATTERN}")"
|
PATTERN="$(nvm_ensure_version_prefix "${PATTERN}")"
|
||||||
fi
|
fi
|
||||||
@ -1343,9 +1420,9 @@ nvm_compare_checksum() {
|
|||||||
nvm_get_checksum() {
|
nvm_get_checksum() {
|
||||||
local FLAVOR
|
local FLAVOR
|
||||||
case "${1-}" in
|
case "${1-}" in
|
||||||
node | iojs) FLAVOR="${1}" ;;
|
node | iojs | chakra) FLAVOR="${1}" ;;
|
||||||
*)
|
*)
|
||||||
nvm_err 'supported flavors: node, iojs'
|
nvm_err 'supported flavors: node, iojs, chakra'
|
||||||
return 2
|
return 2
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -1474,17 +1551,19 @@ nvm_print_versions() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
nvm_validate_implicit_alias() {
|
nvm_validate_implicit_alias() {
|
||||||
|
local NVM_CHAKRA_PREFIX
|
||||||
|
NVM_CHAKRA_PREFIX="$(nvm_chakra_prefix)"
|
||||||
local NVM_IOJS_PREFIX
|
local NVM_IOJS_PREFIX
|
||||||
NVM_IOJS_PREFIX="$(nvm_iojs_prefix)"
|
NVM_IOJS_PREFIX="$(nvm_iojs_prefix)"
|
||||||
local NVM_NODE_PREFIX
|
local NVM_NODE_PREFIX
|
||||||
NVM_NODE_PREFIX="$(nvm_node_prefix)"
|
NVM_NODE_PREFIX="$(nvm_node_prefix)"
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
"stable" | "unstable" | "$NVM_IOJS_PREFIX" | "$NVM_NODE_PREFIX" )
|
"stable" | "unstable" | "$NVM_IOJS_PREFIX" | "$NVM_CHAKRA_PREFIX" | "$NVM_NODE_PREFIX" )
|
||||||
return
|
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', '$NVM_CHAKRA_PREFIX', and '$NVM_NODE_PREFIX' are supported."
|
||||||
return 1
|
return 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -1702,6 +1781,7 @@ nvm_get_mirror() {
|
|||||||
case "${1}-${2}" in
|
case "${1}-${2}" in
|
||||||
node-std) nvm_echo "${NVM_NODEJS_ORG_MIRROR:-https://nodejs.org/dist}" ;;
|
node-std) nvm_echo "${NVM_NODEJS_ORG_MIRROR:-https://nodejs.org/dist}" ;;
|
||||||
iojs-std) nvm_echo "${NVM_IOJS_ORG_MIRROR:-https://iojs.org/dist}" ;;
|
iojs-std) nvm_echo "${NVM_IOJS_ORG_MIRROR:-https://iojs.org/dist}" ;;
|
||||||
|
chakra-std) nvm_echo "${NVM_CHAKRA_MIRROR:-https://nodejs.org/download/chakracore-release}" ;;
|
||||||
*)
|
*)
|
||||||
nvm_err 'unknown type of node.js or io.js release'
|
nvm_err 'unknown type of node.js or io.js release'
|
||||||
return 1
|
return 1
|
||||||
@ -1713,9 +1793,9 @@ nvm_get_mirror() {
|
|||||||
nvm_install_binary() {
|
nvm_install_binary() {
|
||||||
local FLAVOR
|
local FLAVOR
|
||||||
case "${1-}" in
|
case "${1-}" in
|
||||||
node | iojs) FLAVOR="${1}" ;;
|
node | iojs | chakra) FLAVOR="${1}" ;;
|
||||||
*)
|
*)
|
||||||
nvm_err 'supported flavors: node, iojs'
|
nvm_err 'supported flavors: node, iojs, chakra'
|
||||||
return 4
|
return 4
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -1731,7 +1811,7 @@ nvm_install_binary() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
local VERSION
|
local VERSION
|
||||||
VERSION="$(nvm_strip_iojs_prefix "${PREFIXED_VERSION}")"
|
VERSION="$(nvm_strip_chakra_prefix "$(nvm_strip_iojs_prefix "${PREFIXED_VERSION}")")"
|
||||||
|
|
||||||
if [ -z "$(nvm_get_os)" ]; then
|
if [ -z "$(nvm_get_os)" ]; then
|
||||||
return 2
|
return 2
|
||||||
@ -1791,9 +1871,9 @@ nvm_install_binary() {
|
|||||||
nvm_get_download_slug() {
|
nvm_get_download_slug() {
|
||||||
local FLAVOR
|
local FLAVOR
|
||||||
case "${1-}" in
|
case "${1-}" in
|
||||||
node | iojs) FLAVOR="${1}" ;;
|
node | iojs | chakra) FLAVOR="${1}" ;;
|
||||||
*)
|
*)
|
||||||
nvm_err 'supported flavors: node, iojs'
|
nvm_err 'supported flavors: node, iojs, chakra'
|
||||||
return 1
|
return 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -1822,9 +1902,20 @@ nvm_get_download_slug() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${KIND}" = 'binary' ]; then
|
if [ "${KIND}" = 'binary' ]; then
|
||||||
nvm_echo "${FLAVOR}-${VERSION}-${NVM_OS}-${NVM_ARCH}"
|
if [ "${FLAVOR}" = chakra ]; then
|
||||||
|
VERSION="$(nvm_strip_chakra_prefix "${VERSION}")"
|
||||||
|
nvm_echo "node-${VERSION}-${NVM_OS}-${NVM_ARCH}"
|
||||||
|
else
|
||||||
|
nvm_echo "${FLAVOR}-${VERSION}-${NVM_OS}-${NVM_ARCH}"
|
||||||
|
fi
|
||||||
elif [ "${KIND}" = 'source' ]; then
|
elif [ "${KIND}" = 'source' ]; then
|
||||||
nvm_echo "${FLAVOR}-${VERSION}"
|
if [ "${FLAVOR}" = chakra ]; then
|
||||||
|
VERSION="$(nvm_strip_chakra_prefix "${VERSION}")"
|
||||||
|
nvm_err "node-${VERSION}"
|
||||||
|
nvm_echo "node-${VERSION}"
|
||||||
|
else
|
||||||
|
nvm_echo "${FLAVOR}-${VERSION}"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1832,9 +1923,9 @@ nvm_get_download_slug() {
|
|||||||
nvm_download_artifact() {
|
nvm_download_artifact() {
|
||||||
local FLAVOR
|
local FLAVOR
|
||||||
case "${1-}" in
|
case "${1-}" in
|
||||||
node | iojs) FLAVOR="${1}" ;;
|
node | iojs | chakra) FLAVOR="${1}" ;;
|
||||||
*)
|
*)
|
||||||
nvm_err 'supported flavors: node, iojs'
|
nvm_err 'supported flavors: node, iojs, chakra'
|
||||||
return 1
|
return 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -1865,6 +1956,7 @@ nvm_download_artifact() {
|
|||||||
return 3
|
return 3
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
if [ "${KIND}" = 'binary' ] && ! nvm_binary_available "${VERSION}"; then
|
if [ "${KIND}" = 'binary' ] && ! nvm_binary_available "${VERSION}"; then
|
||||||
nvm_err "No precompiled binary available for ${VERSION}."
|
nvm_err "No precompiled binary available for ${VERSION}."
|
||||||
return
|
return
|
||||||
@ -1873,6 +1965,11 @@ nvm_download_artifact() {
|
|||||||
local SLUG
|
local SLUG
|
||||||
SLUG="$(nvm_get_download_slug "${FLAVOR}" "${KIND}" "${VERSION}")"
|
SLUG="$(nvm_get_download_slug "${FLAVOR}" "${KIND}" "${VERSION}")"
|
||||||
|
|
||||||
|
if [ "${FLAVOR}" = chakra ]; then
|
||||||
|
VERSION="$(nvm_strip_chakra_prefix "${VERSION}")"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
local COMPRESSION
|
local COMPRESSION
|
||||||
COMPRESSION='gz'
|
COMPRESSION='gz'
|
||||||
if nvm_supports_xz "${VERSION}"; then
|
if nvm_supports_xz "${VERSION}"; then
|
||||||
@ -1886,7 +1983,7 @@ nvm_download_artifact() {
|
|||||||
if [ "${KIND}" = 'binary' ]; then
|
if [ "${KIND}" = 'binary' ]; then
|
||||||
tmpdir="$(nvm_cache_dir)/bin/${SLUG}"
|
tmpdir="$(nvm_cache_dir)/bin/${SLUG}"
|
||||||
else
|
else
|
||||||
tmpdir="$(nvm_cache_dir)/src/${SLUG}"
|
tmpdir="$(nvm_cache_dir)/src/${FLAVOR}-${SLUG}"
|
||||||
fi
|
fi
|
||||||
command mkdir -p "${tmpdir}/files" || (
|
command mkdir -p "${tmpdir}/files" || (
|
||||||
nvm_err "creating directory ${tmpdir}/files failed"
|
nvm_err "creating directory ${tmpdir}/files failed"
|
||||||
@ -1898,6 +1995,10 @@ nvm_download_artifact() {
|
|||||||
local TARBALL_URL
|
local TARBALL_URL
|
||||||
if nvm_version_greater_than_or_equal_to "${VERSION}" 0.1.14; then
|
if nvm_version_greater_than_or_equal_to "${VERSION}" 0.1.14; then
|
||||||
TARBALL_URL="${MIRROR}/${VERSION}/${SLUG}.tar.${COMPRESSION}"
|
TARBALL_URL="${MIRROR}/${VERSION}/${SLUG}.tar.${COMPRESSION}"
|
||||||
|
elif nvm_is_chakra_version "${VERSION}"; then
|
||||||
|
local VERSION
|
||||||
|
VERSION="$(nvm_strip_chakra_prefix "${VERSION}")"
|
||||||
|
TARBALL_URL="${MIRROR}/${VERSION}/${SLUG}.tar.${COMPRESSION}"
|
||||||
else
|
else
|
||||||
# node <= 0.1.13 does not have a directory
|
# node <= 0.1.13 does not have a directory
|
||||||
TARBALL_URL="${MIRROR}/${SLUG}.tar.${COMPRESSION}"
|
TARBALL_URL="${MIRROR}/${SLUG}.tar.${COMPRESSION}"
|
||||||
@ -1982,9 +2083,9 @@ nvm_get_make_jobs() {
|
|||||||
nvm_install_source() {
|
nvm_install_source() {
|
||||||
local FLAVOR
|
local FLAVOR
|
||||||
case "${1-}" in
|
case "${1-}" in
|
||||||
node | iojs) FLAVOR="${1}" ;;
|
node | iojs | chakra) FLAVOR="${1}" ;;
|
||||||
*)
|
*)
|
||||||
nvm_err 'supported flavors: node, iojs'
|
nvm_err 'supported flavors: node, iojs, chakra'
|
||||||
return 4
|
return 4
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -2133,13 +2234,19 @@ nvm_install_npm_if_needed() {
|
|||||||
|
|
||||||
nvm_match_version() {
|
nvm_match_version() {
|
||||||
local NVM_IOJS_PREFIX
|
local NVM_IOJS_PREFIX
|
||||||
|
local NVM_CHAKRA_PREFIX
|
||||||
NVM_IOJS_PREFIX="$(nvm_iojs_prefix)"
|
NVM_IOJS_PREFIX="$(nvm_iojs_prefix)"
|
||||||
|
NVM_CHAKRA_PREFIX="$(nvm_chakra_prefix)"
|
||||||
local PROVIDED_VERSION
|
local PROVIDED_VERSION
|
||||||
PROVIDED_VERSION="$1"
|
PROVIDED_VERSION="$1"
|
||||||
|
|
||||||
case "_$PROVIDED_VERSION" in
|
case "_$PROVIDED_VERSION" in
|
||||||
"_$NVM_IOJS_PREFIX" | '_io.js')
|
"_$NVM_IOJS_PREFIX" | '_io.js')
|
||||||
nvm_version "$NVM_IOJS_PREFIX"
|
nvm_version "$NVM_IOJS_PREFIX"
|
||||||
;;
|
;;
|
||||||
|
"_$NVM_CHAKRA_PREFIX")
|
||||||
|
nvm_version "$NVM_CHAKRA_PREFIX"
|
||||||
|
;;
|
||||||
'_system')
|
'_system')
|
||||||
nvm_echo 'system'
|
nvm_echo 'system'
|
||||||
;;
|
;;
|
||||||
@ -2480,6 +2587,7 @@ nvm() {
|
|||||||
nvm_err "\$NPM_CONFIG_PREFIX: '$(nvm_sanitize_path "$NPM_CONFIG_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_NODEJS_ORG_MIRROR: '${NVM_NODEJS_ORG_MIRROR}'"
|
||||||
nvm_err "\$NVM_IOJS_ORG_MIRROR: '${NVM_IOJS_ORG_MIRROR}'"
|
nvm_err "\$NVM_IOJS_ORG_MIRROR: '${NVM_IOJS_ORG_MIRROR}'"
|
||||||
|
nvm_err "\$NVM_CHAKRA_MIRROR: '${NVM_CHAKRA_MIRROR}'"
|
||||||
nvm_err "shell version: '$(${SHELL} --version | command head -n 1)'"
|
nvm_err "shell version: '$(${SHELL} --version | command head -n 1)'"
|
||||||
nvm_err "uname -a: '$(command uname -a | command awk '{$2=""; print}' | command xargs)'"
|
nvm_err "uname -a: '$(command uname -a | command awk '{$2=""; print}' | command xargs)'"
|
||||||
if [ "$(nvm_get_os)" = "darwin" ] && nvm_has sw_vers; then
|
if [ "$(nvm_get_os)" = "darwin" ] && nvm_has sw_vers; then
|
||||||
@ -2708,6 +2816,8 @@ nvm() {
|
|||||||
local FLAVOR
|
local FLAVOR
|
||||||
if nvm_is_iojs_version "$VERSION"; then
|
if nvm_is_iojs_version "$VERSION"; then
|
||||||
FLAVOR="$(nvm_iojs_prefix)"
|
FLAVOR="$(nvm_iojs_prefix)"
|
||||||
|
elif nvm_is_chakra_version "$VERSION"; then
|
||||||
|
FLAVOR="$(nvm_chakra_prefix)"
|
||||||
else
|
else
|
||||||
FLAVOR="$(nvm_node_prefix)"
|
FLAVOR="$(nvm_node_prefix)"
|
||||||
fi
|
fi
|
||||||
@ -2757,6 +2867,7 @@ nvm() {
|
|||||||
EXIT_CODE=0
|
EXIT_CODE=0
|
||||||
else
|
else
|
||||||
|
|
||||||
|
|
||||||
if [ "_$NVM_OS" = "_freebsd" ]; then
|
if [ "_$NVM_OS" = "_freebsd" ]; then
|
||||||
# node.js and io.js do not have a FreeBSD binary
|
# node.js and io.js do not have a FreeBSD binary
|
||||||
nobinary=1
|
nobinary=1
|
||||||
@ -2983,6 +3094,7 @@ nvm() {
|
|||||||
fi
|
fi
|
||||||
return 8
|
return 8
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${VERSION}" = 'N/A' ]; then
|
if [ "${VERSION}" = 'N/A' ]; then
|
||||||
nvm_err "N/A: version \"${PROVIDED_VERSION} -> ${VERSION}\" is not yet installed."
|
nvm_err "N/A: version \"${PROVIDED_VERSION} -> ${VERSION}\" is not yet installed."
|
||||||
nvm_err ""
|
nvm_err ""
|
||||||
@ -3544,7 +3656,7 @@ nvm() {
|
|||||||
node_version_has_solaris_binary iojs_version_has_solaris_binary \
|
node_version_has_solaris_binary iojs_version_has_solaris_binary \
|
||||||
nvm_curl_libz_support nvm_command_info \
|
nvm_curl_libz_support nvm_command_info \
|
||||||
> /dev/null 2>&1
|
> /dev/null 2>&1
|
||||||
unset NVM_RC_VERSION NVM_NODEJS_ORG_MIRROR NVM_IOJS_ORG_MIRROR NVM_DIR \
|
unset NVM_RC_VERSION NVM_NODEJS_ORG_MIRROR NVM_CHAKRA_MIRROR NVM_IOJS_ORG_MIRROR NVM_DIR \
|
||||||
NVM_CD_FLAGS NVM_BIN NVM_MAKE_JOBS \
|
NVM_CD_FLAGS NVM_BIN NVM_MAKE_JOBS \
|
||||||
> /dev/null 2>&1
|
> /dev/null 2>&1
|
||||||
;;
|
;;
|
||||||
|
23
test/installation_chakra/install already installed uses it
Executable file
23
test/installation_chakra/install already installed uses it
Executable file
@ -0,0 +1,23 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
|
\. ../../nvm.sh
|
||||||
|
|
||||||
|
[ "$(nvm install invalid.invalid 2>&1)" = "Version 'invalid.invalid' not found - try \`nvm ls-remote\` to browse available versions." ] || die "nvm installing an invalid version did not print a nice error message"
|
||||||
|
|
||||||
|
# Remove the stuff we're clobbering.
|
||||||
|
[ -e "${NVM_DIR}/versions/chakra/v8.3.0" ] && rm -R "${NVM_DIR}/versions/chakra/v8.3.0"
|
||||||
|
[ -e "${NVM_DIR}/versions/chakra/v8.4.0" ] && rm -R "${NVM_DIR}/versions/chakra/v8.4.0"
|
||||||
|
|
||||||
|
# Install from binary
|
||||||
|
nvm install chakra-v8.3.0
|
||||||
|
nvm install chakra-v8.4.0
|
||||||
|
|
||||||
|
nvm use chakra-v8.3.0
|
||||||
|
|
||||||
|
node --version | grep v8.3.0 || die "precondition failed: chakra node doesn't start at v8.3.0"
|
||||||
|
|
||||||
|
nvm install chakra-v8.4.0
|
||||||
|
|
||||||
|
node --version | grep v8.4.0 || die "nvm install on already installed version doesn't use it (node binary)"
|
18
test/installation_chakra/install from binary
Executable file
18
test/installation_chakra/install from binary
Executable file
@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
|
\. ../../nvm.sh
|
||||||
|
|
||||||
|
NVM_TEST_VERSION="v8.3.0"
|
||||||
|
NVM_PREFIXED_TEST_VERSION="chakra-$NVM_TEST_VERSION"
|
||||||
|
|
||||||
|
# Remove the stuff we're clobbering.
|
||||||
|
[ -e "${NVM_DIR}/versions/chakra/${NVM_TEST_VERSION}" ] && rm -R "${NVM_DIR}/versions/chakra/${NVM_TEST_VERSION}"
|
||||||
|
|
||||||
|
# Install from binary
|
||||||
|
nvm install $NVM_PREFIXED_TEST_VERSION || die "install $NVM_PREFIXED_TEST_VERSION failed"
|
||||||
|
|
||||||
|
# Check
|
||||||
|
[ -d "${NVM_DIR}/versions/chakra/${NVM_TEST_VERSION}" ]
|
||||||
|
nvm run "${NVM_PREFIXED_TEST_VERSION}" --version | grep "${NVM_TEST_VERSION}" || die "'nvm run ${NVM_PREFIXED_TEST_VERSION} --version | grep ${NVM_TEST_VERSION}' failed"
|
22
test/installation_chakra/install from source
Normal file
22
test/installation_chakra/install from source
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
\. ../common.sh
|
||||||
|
|
||||||
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
|
\. ../../nvm.sh
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
NVM_TEST_VERSION='v8.2.1'
|
||||||
|
NVM_PREFIXED_TEST_VERSION="chakra-${NVM_TEST_VERSION}"
|
||||||
|
|
||||||
|
# Remove the stuff we're clobbering.
|
||||||
|
nvm uninstall "${NVM_TEST_VERSION}" || echo 'not installed'
|
||||||
|
|
||||||
|
# Install from source
|
||||||
|
(watch nvm install -s "${NVM_PREFIXED_TEST_VERSION}") || die "'nvm install -s ${NVM_PREFIXED_TEST_VERSION}' failed"
|
||||||
|
|
||||||
|
# Check
|
||||||
|
nvm_is_version_installed "${NVM_PREFIXED_TEST_VERSION}" || die 'version not installed'
|
||||||
|
nvm run "${NVM_PREFIXED_TEST_VERSION}" --version | grep "${NVM_TEST_VERSION}" || "'nvm run ${NVM_PREFIXED_TEST_VERSION} --version | grep ${NVM_TEST_VERSION}' failed"
|
24
test/installation_chakra/install two versions and use the latest one
Executable file
24
test/installation_chakra/install two versions and use the latest one
Executable file
@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
|
\. ../../nvm.sh
|
||||||
|
|
||||||
|
# Remove the stuff we're clobbering.
|
||||||
|
[ -e "${NVM_DIR}/versions/io.js/v8.3.0" ] && rm -R "${NVM_DIR}/versions/io.js/v8.3.0"
|
||||||
|
[ -e "${NVM_DIR}/versions/io.js/v8.4.0" ] && rm -R "${NVM_DIR}/versions/io.js/v8.4.0"
|
||||||
|
|
||||||
|
# Install from binary
|
||||||
|
nvm install chakra-v8.3.0 || die "'nvm install chakra-v8.3.0' failed"
|
||||||
|
nvm i chakra-v8.4.0 || die "'nvm i chakra-v8.4.0' failed"
|
||||||
|
|
||||||
|
# Check
|
||||||
|
[ -d "${NVM_DIR}/versions/io.js/v8.3.0" ] || die "chakra v8.3.0 didn't exist"
|
||||||
|
[ -d "${NVM_DIR}/versions/io.js/v8.4.0" ] || die "chakra v8.4.0 didn't exist"
|
||||||
|
|
||||||
|
# Use the first one
|
||||||
|
nvm use chakra-8.3.0 || die "'nvm use chakra-8.3.0' failed"
|
||||||
|
|
||||||
|
# Use the latest one
|
||||||
|
nvm use chakra-8 || die "'nvm use chakra-8' failed"
|
||||||
|
[ "_$(node --version)" = "_v8.4.0" ] || die "'node --version' was not v8.4.0, got: $(node --version)"
|
22
test/installation_chakra/install version specified in .nvmrc from binary
Executable file
22
test/installation_chakra/install version specified in .nvmrc from binary
Executable file
@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
|
\. ../../nvm.sh
|
||||||
|
|
||||||
|
NVM_TEST_VERSION=v8.3.0
|
||||||
|
NVM_PREFIXED_TEST_VERSION="chakra-${NVM_TEST_VERSION}"
|
||||||
|
VERSION_PATH="${NVM_DIR}/versions/chakra/${NVM_TEST_VERSION}"
|
||||||
|
|
||||||
|
# Remove the stuff we're clobbering.
|
||||||
|
[ -e "${VERSION_PATH}" ] && rm -R "${VERSION_PATH}"
|
||||||
|
|
||||||
|
# Install from binary
|
||||||
|
echo "${NVM_PREFIXED_TEST_VERSION}" > .nvmrc
|
||||||
|
|
||||||
|
nvm install || die "'nvm install' failed"
|
||||||
|
|
||||||
|
# Check
|
||||||
|
[ -d "${VERSION_PATH}" ] || die "./${VERSION_PATH} did not exist"
|
||||||
|
nvm run "${NVM_PREFIXED_TEST_VERSION}" --version | grep "${NVM_TEST_VERSION}" \
|
||||||
|
|| "'nvm run \'${NVM_PREFIXED_TEST_VERSION}\' --version | grep \'${NVM_TEST_VERSION}\'' failed"
|
@ -0,0 +1,23 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
|
\. ../../nvm.sh
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
NVM_TEST_VERSION='v8.3.0'
|
||||||
|
NVM_PREFIXED_TEST_VERSION="chakra-${NVM_TEST_VERSION}"
|
||||||
|
|
||||||
|
# Remove the stuff we're clobbering.
|
||||||
|
nvm uninstall "${NVM_TEST_VERSION}" || echo 'not installed'
|
||||||
|
|
||||||
|
# Install from binary
|
||||||
|
echo "${NVM_PREFIXED_TEST_VERSION}" > .nvmrc
|
||||||
|
|
||||||
|
nvm install -s || "'nvm install -s' failed"
|
||||||
|
|
||||||
|
# Check
|
||||||
|
nvm_is_version_installed "${NVM_PREFIXED_TEST_VERSION}" || die 'version is not installed'
|
||||||
|
nvm run "${NVM_PREFIXED_TEST_VERSION}" --version | grep "${NVM_TEST_VERSION}" \
|
||||||
|
|| die "'nvm run ${NVM_PREFIXED_TEST_VERSION} --version | grep ${NVM_TEST_VERSION}' failed"
|
31
test/installation_chakra/install while reinstalling packages
Executable file
31
test/installation_chakra/install while reinstalling packages
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
|
\. ../../nvm.sh
|
||||||
|
|
||||||
|
# Remove the stuff we're clobbering.
|
||||||
|
[ -e "${NVM_DIR}/versions/chakra/v8.3.0" ] && rm -R "${NVM_DIR}/versions/chakra/v8.3.0"
|
||||||
|
[ -e "${NVM_DIR}/versions/chakra/v8.4.0" ] && rm -R "${NVM_DIR}/versions/chakra/v8.4.0"
|
||||||
|
|
||||||
|
# Install from binary
|
||||||
|
nvm install chakra-v8.3.0
|
||||||
|
|
||||||
|
# Check
|
||||||
|
[ -d "${NVM_DIR}/versions/chakra/v8.3.0" ] || die "nvm install chakra-v8.3.0 didn't install"
|
||||||
|
|
||||||
|
node --version | grep v8.3.0 > /dev/null || die "nvm install didn't use chakra-v8.3.0"
|
||||||
|
|
||||||
|
npm install -g object-is@0.0.0 || die "npm install -g object-is failed"
|
||||||
|
npm list --global | grep object-is > /dev/null || die "object-is isn't installed"
|
||||||
|
|
||||||
|
nvm ls chakra-1 | grep chakra-v8.3.0 > /dev/null || die "nvm ls chakra-1 didn't show chakra-v8.3.0"
|
||||||
|
|
||||||
|
nvm install chakra-v8.4.0 --reinstall-packages-from=chakra-8.3.0 || die "nvm install chakra-v8.4.0 --reinstall-packages-from=chakra-8.3.0 failed"
|
||||||
|
|
||||||
|
[ -d "${NVM_DIR}/versions/chakra/v8.4.0" ] || die "nvm install chakra-v8.4.0 didn't install"
|
||||||
|
|
||||||
|
nvm use chakra-1
|
||||||
|
node --version | grep v8.4.0 > /dev/null || die "nvm use chakra-1 didn't use v8.4.0"
|
||||||
|
|
||||||
|
npm list --global | grep object-is > /dev/null || die "object-is isn't installed"
|
19
test/installation_chakra/nvm install v1 works
Executable file
19
test/installation_chakra/nvm install v1 works
Executable file
@ -0,0 +1,19 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
die () { echo "$@" ; exit 1; }
|
||||||
|
|
||||||
|
\. ../../nvm.sh
|
||||||
|
|
||||||
|
NVM_VERSION="v1"
|
||||||
|
NVM_PREFIXED_TEST_VERSION="$(nvm ls-remote "$NVM_VERSION" | tail -1 | sed 's/^[ ]*//;s/[ ]*$//')"
|
||||||
|
NVM_TEST_VERSION="$(nvm_strip_chakra_prefix "$NVM_PREFIXED_TEST_VERSION")"
|
||||||
|
|
||||||
|
# Remove the stuff we're clobbering.
|
||||||
|
[ -e ../../$NVM_TEST_VERSION ] && rm -R ../../$NVM_TEST_VERSION
|
||||||
|
|
||||||
|
# Install from binary
|
||||||
|
nvm install "$NVM_VERSION" || die "nvm install $NVM_VERSION failed"
|
||||||
|
|
||||||
|
# Check
|
||||||
|
[ -d "${NVM_DIR}/versions/chakra/$NVM_TEST_VERSION" ]
|
||||||
|
nvm run $NVM_PREFIXED_TEST_VERSION --version | grep $NVM_TEST_VERSION || die "'nvm run $NVM_PREFIXED_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
|
5
test/installation_chakra/setup_dir
Executable file
5
test/installation_chakra/setup_dir
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [ -f ".nvmrc" ]; then
|
||||||
|
mv .nvmrc .nvmrc.bak
|
||||||
|
fi
|
15
test/installation_chakra/teardown_dir
Executable file
15
test/installation_chakra/teardown_dir
Executable file
@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
\. ../../nvm.sh
|
||||||
|
nvm deactivate
|
||||||
|
nvm uninstall chakra-v8.2.1
|
||||||
|
nvm uninstall chakra-v8.3.0
|
||||||
|
nvm uninstall chakra-v8.4.0
|
||||||
|
|
||||||
|
if [ -f ".nvmrc" ]; then
|
||||||
|
rm .nvmrc
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f ".nvmrc.bak" ]; then
|
||||||
|
mv .nvmrc.bak .nvmrc
|
||||||
|
fi
|
Loading…
Reference in New Issue
Block a user