#!/usr/bin/env bash
##makedesc: Install nodejs + npm via nvm

isMac() { uname -s | grep -q "Darwin"; }
isLinux() { uname -s | grep -q "Linux"; }

install() {
    echo
    echo "==============================================="
    echo "Installing nodejs + nvm..."
    echo "==============================================="
    echo

    if isMac; then
        brew install nvm
    elif isLinux; then
        wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
    else
        echo "This OS is not supported yet!"
        exit
    fi
    nvm install-latest-npm
    nvm install node
    nvm use node
    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && source "$NVM_DIR/nvm.sh"
    [ -s "$NVM_DIR/bash_completion" ] && source "$NVM_DIR/bash_completion"

    cat << EOF >> "$HOME/.profile"

# nvm (not nvim!)
export NVM_DIR="\$HOME/.nvm" # nvim_autoinstalled
[ -s "\$NVM_DIR/nvm.sh" ] && source "\$NVM_DIR/nvm.sh" # nvim_autoinstalled
[ -s "\$NVM_DIR/bash_completion" ] && source "\$NVM_DIR/bash_completion" # nvim_autoinstalled

EOF

    echo
    echo "Finish!"
    echo

    nvm current
    nvm ls
}

remove() {
    echo
    echo "==============================================="
    echo "Removing nodejs + nvm..."
    echo "==============================================="
    echo

    nvm unload
    rm -rf "$NVM_DIR"
    # sed -i "/NVM_DIR[=\].+/d" "$HOME/.profile"
    brew uninstall nvm

    echo
    echo "Finish!"
    echo
}

case "$1" in
    r|remove|d|delete|p|purge) remove ;;
    *) install ;;
esac
