From cdbb782ab1aa2c337fcfeca0693ac8e22582d186 Mon Sep 17 00:00:00 2001 From: Ahmed Abdelhalim Date: Wed, 4 Mar 2026 00:27:26 +0100 Subject: Refactor nodejs role to use mise --- roles/nodejs/tasks/main.yml | 51 +++++++++------------------------------------ 1 file changed, 10 insertions(+), 41 deletions(-) (limited to 'roles/nodejs/tasks') diff --git a/roles/nodejs/tasks/main.yml b/roles/nodejs/tasks/main.yml index dd302c77..453fbaa5 100644 --- a/roles/nodejs/tasks/main.yml +++ b/roles/nodejs/tasks/main.yml @@ -1,45 +1,14 @@ --- -- name: "Check if nvm binary exists" - ansible.builtin.stat: - path: "{{ ansible_facts['env']['HOME'] }}/.nvm/nvm.sh" - register: nodejs_nvm_binary - -- name: "Download nvm installer" - ansible.builtin.get_url: - url: "https://raw.githubusercontent.com/nvm-sh/nvm/v{{ nodejs_nvm_version }}/install.sh" - dest: "/tmp/install_nvm.sh" - mode: "0755" - when: not nodejs_nvm_binary.stat.exists - -- name: "Install nvm" +- name: "Check installed node versions" ansible.builtin.command: - cmd: "/tmp/install_nvm.sh" - args: - creates: "{{ ansible_facts['env']['HOME'] }}/.nvm/nvm.sh" - when: not nodejs_nvm_binary.stat.exists + cmd: "mise ls node" + register: node_installed_versions + changed_when: false + failed_when: false -- name: "Add nvm to shell profile" - ansible.builtin.blockinfile: - path: "{{ ansible_facts['env']['HOME'] }}/.bashrc" - state: "present" - prepend_newline: true - append_newline: true - marker: "# ==== {mark} ANSIBLE NVM CONFIG" - block: | - if [ -f "$HOME/.nvm/nvm.sh" ]; then - export NVM_DIR=~/.nvm - source "$HOME/.nvm/nvm.sh" - source "$NVM_DIR/bash_completion" - fi - -- name: "Install nodejs versions" - ansible.builtin.shell: - cmd: | - export NVM_DIR="{{ ansible_facts['env']['HOME'] }}/.nvm" - . "$NVM_DIR/nvm.sh" - nvm install {{ item }} - args: - executable: /bin/bash - register: nodejs_nvm_install_result - changed_when: "'already installed' not in nodejs_nvm_install_result.stderr" +- name: "Install node {{ item }}" + ansible.builtin.command: + cmd: "mise use --global node@{{ item }}" + changed_when: true + when: item not in node_installed_versions.stdout loop: "{{ nodejs_versions }}" -- cgit v1.2.3