diff options
Diffstat (limited to 'tasks')
-rw-r--r-- | tasks/node.yml | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tasks/node.yml b/tasks/node.yml new file mode 100644 index 0000000..39b5b07 --- /dev/null +++ b/tasks/node.yml @@ -0,0 +1,35 @@ +- name: Install nvm + shell: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash + args: + warn: false + tags: + - node + +- name: Enable nvm + lineinfile: + path: "~/.config/zsh/.zshrc" + line: | + export NVM_DIR=~/.nvm + [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" + autoload -U add-zsh-hook + load-nvmrc() { + local node_version="$(nvm version)" + local nvmrc_path="$(nvm_find_nvmrc)" + + if [ -n "$nvmrc_path" ]; then + local nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")") + + if [ "$nvmrc_node_version" = "N/A" ]; then + nvm install + elif [ "$nvmrc_node_version" != "$node_version" ]; then + nvm use + fi + elif [ "$node_version" != "$(nvm version default)" ]; then + echo "Reverting to nvm default version" + nvm use default + fi + } + add-zsh-hook chpwd load-nvmrc + load-nvmrc + tags: + - node |