From 87663dbe2fee05b1eed2c28713525c34e2b924eb Mon Sep 17 00:00:00 2001 From: Isaac A <6174343+tenten8401@users.noreply.github.com> Date: Mon, 7 Jan 2019 10:52:34 -0500 Subject: [PATCH] Create bashrc --- bashrc | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 bashrc diff --git a/bashrc b/bashrc new file mode 100644 index 0000000..da4de4f --- /dev/null +++ b/bashrc @@ -0,0 +1,50 @@ +find-up () { + path=$(pwd) + while [[ "$path" != "" && ! -e "$path/$1" ]]; do + path=${path%/*} + done + echo "$path" +} + +cdnvm(){ + cd "$@"; + nvm_path=$(find-up .nvmrc | tr -d '[:space:]') + + # If there are no .nvmrc file, use the default nvm version + if [[ ! $nvm_path = *[^[:space:]]* ]]; then + + declare default_version; + default_version=$(nvm version default); + + # If there is no default version, set it to `node` + # This will use the latest version on your machine + if [[ $default_version == "N/A" ]]; then + nvm alias default node; + default_version=$(nvm version default); + fi + + # If the current version is not the default version, set it to use the default version + if [[ $(nvm current) != "$default_version" ]]; then + nvm use default; + fi + + elif [[ -s $nvm_path/.nvmrc && -r $nvm_path/.nvmrc ]]; then + declare nvm_version + nvm_version=$(<"$nvm_path"/.nvmrc) + + # Add the `v` suffix if it does not exists in the .nvmrc file + if [[ $nvm_version != v* ]]; then + nvm_version="v""$nvm_version" + fi + + # If it is not already installed, install it + if [[ $(nvm ls "$nvm_version" | tr -d '[:space:]') == "N/A" ]]; then + nvm install "$nvm_version"; + fi + + if [[ $(nvm current) != "$nvm_version" ]]; then + nvm use "$nvm_version"; + fi + fi +} +alias cd='cdnvm'