diff options
author | Nikolaos Boutalas <nikolaos@boutalas.me> | 2023-08-07 11:51:08 +0300 |
---|---|---|
committer | Nikolaos Boutalas <nikolaos@boutalas.me> | 2023-08-07 11:54:27 +0300 |
commit | 803b8cd7919f6602432cf2f185ee7fc28ba4ed6b (patch) | |
tree | 133e9c3eceeca66f1cdd8a4b5d3eecdab93090e3 /tasks/node.yml | |
parent | 072d1391328d09dc2163c86797148f4c8ec55364 (diff) |
Add node task
Diffstat (limited to 'tasks/node.yml')
-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 |