--- - name: Check node version shell: node --version become: true become_user: noahk become_method: su become_flags: '--login' vars: ansible_become_pass: "{{ noahk_password }}" register: node_version ignore_errors: true - name: Set node version if empty set_fact: node_version: 0.0.0 when: node_version.stdout is "" - name: Enable corepack shell: corepack enable become: true become_user: noahk become_method: su become_flags: '--login' vars: ansible_become_pass: "{{ noahk_password }}" when: node_version.stdout is version('16.0.0', '<') - name: Verify corepack shell: corepack --version become: true become_user: noahk become_method: su become_flags: '--login' vars: ansible_become_pass: "{{ noahk_password }}" register: corepack_version ignore_errors: true - name: Enable pnpm latest version shell: corepack prepare pnpm@latest --activate become: true become_user: noahk become_method: su become_flags: '--login' vars: ansible_become_pass: "{{ noahk_password }}" when: node_version.stdout is version('16.0.0', '<') - name: Test pnpm shell: pnpm --version become: true become_user: noahk become_method: su become_flags: '--login' vars: ansible_become_pass: "{{ noahk_password }}" register: pnpm_version ignore_errors: true