[Refactor] nvm version: improve performance

Fixes #1694
This commit is contained in:
Maksim Ryzhikov 2017-12-23 18:39:22 +03:00 committed by Jordan Harband
parent 7b530edd3a
commit 3de459c32e
No known key found for this signature in database
GPG Key ID: 9F6A681E35EF8B56

20
nvm.sh
View File

@ -338,16 +338,7 @@ nvm_tree_contains_path() {
return 2
fi
local previous_pathdir
previous_pathdir="${node_path}"
local pathdir
pathdir=$(dirname "${previous_pathdir}")
while [ "${pathdir}" != '' ] && [ "${pathdir}" != '.' ] && [ "${pathdir}" != '/' ] &&
[ "${pathdir}" != "${tree}" ] && [ "${pathdir}" != "${previous_pathdir}" ]; do
previous_pathdir="${pathdir}"
pathdir=$(dirname "${previous_pathdir}")
done
[ "${pathdir}" = "${tree}" ]
[ "$tree${node_path#$tree}" = "${node_path}" ]
}
nvm_find_project_dir() {
@ -1043,12 +1034,9 @@ nvm_ls_current() {
nvm_add_iojs_prefix "$(iojs --version 2>/dev/null)"
elif nvm_tree_contains_path "${NVM_DIR}" "${NVM_LS_CURRENT_NODE_PATH}"; then
local VERSION
VERSION="$(node --version 2>/dev/null)"
if [ "${VERSION}" = "v0.6.21-pre" ]; then
nvm_echo 'v0.6.21'
else
nvm_echo "${VERSION}"
fi
local VERSION_SUFFIX=${NVM_LS_CURRENT_NODE_PATH#$NVM_DIR/versions/node/}
VERSION=${VERSION_SUFFIX%/bin/node}
nvm_echo "${VERSION}"
else
nvm_echo 'system'
fi