|
|
@ -6,13 +6,43 @@
|
|
|
|
# Zeh Rizzatti <zehrizzatti@gmail.com>
|
|
|
|
# Zeh Rizzatti <zehrizzatti@gmail.com>
|
|
|
|
#
|
|
|
|
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lazy_load_nvm() {
|
|
|
|
|
|
|
|
NVM_DIR=$1
|
|
|
|
|
|
|
|
# Skip adding binaries if there is no node version installed yet
|
|
|
|
|
|
|
|
if [ -d $NVM_DIR/versions/node ]; then
|
|
|
|
|
|
|
|
NODE_GLOBALS=(`find $NVM_DIR/versions/node -maxdepth 3 \( -type l -o -type f \) -wholename '*/bin/*' | xargs -n1 basename | sort | uniq`)
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
NODE_GLOBALS+=("nvm")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
load_nvm () {
|
|
|
|
|
|
|
|
# Unset placeholder functions
|
|
|
|
|
|
|
|
for cmd in "${NODE_GLOBALS[@]}"; do unset -f ${cmd} &>/dev/null; done
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Load NVM
|
|
|
|
|
|
|
|
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# (Optional) Set the version of node to use from ~/.nvmrc if available
|
|
|
|
|
|
|
|
nvm use 2> /dev/null 1>&2 || true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Do not reload nvm again
|
|
|
|
|
|
|
|
export NVM_LOADED=1
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for cmd in "${NODE_GLOBALS[@]}"; do
|
|
|
|
|
|
|
|
# Skip defining the function if the binary is already in the PATH
|
|
|
|
|
|
|
|
if ! which ${cmd} &>/dev/null; then
|
|
|
|
|
|
|
|
eval "${cmd}() { unset -f ${cmd} &>/dev/null; [ -z \${NVM_LOADED+x} ] && load_nvm; ${cmd} \$@; }"
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
done
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# Load manually installed NVM into the shell session.
|
|
|
|
# Load manually installed NVM into the shell session.
|
|
|
|
if [[ -s "$HOME/.nvm/nvm.sh" ]]; then
|
|
|
|
if [[ -s "$HOME/.nvm/nvm.sh" ]]; then
|
|
|
|
source "$HOME/.nvm/nvm.sh"
|
|
|
|
lazy_load_nvm "$HOME/.nvm"
|
|
|
|
|
|
|
|
|
|
|
|
# Load package manager installed NVM into the shell session.
|
|
|
|
# Load package manager installed NVM into the shell session.
|
|
|
|
elif (( $+commands[brew] )) && [[ -d "$(brew --prefix nvm 2>/dev/null)" ]]; then
|
|
|
|
elif (( $+commands[brew] )) && [[ -d "$(brew --prefix nvm 2>/dev/null)" ]]; then
|
|
|
|
source $(brew --prefix nvm)/nvm.sh
|
|
|
|
lazy_load_nvm "$(brew --prefix nvm)"
|
|
|
|
|
|
|
|
|
|
|
|
# Return if requirements are not found.
|
|
|
|
# Return if requirements are not found.
|
|
|
|
elif (( ! $+commands[node] )); then
|
|
|
|
elif (( ! $+commands[node] )); then
|
|
|
|