|
@@ -0,0 +1,38 @@
|
|
|
+---
|
|
|
+- include: setup.yml
|
|
|
+
|
|
|
+- name: Define nodejs_install_npm_user
|
|
|
+ set_fact:
|
|
|
+ nodejs_install_npm_user: "{{ ansible_user | default(lookup('env', 'USER')) }}"
|
|
|
+ when: nodejs_install_npm_user is not defined
|
|
|
+
|
|
|
+- name: Create npm global directory
|
|
|
+ file:
|
|
|
+ path: "{{ npm_config_prefix }}"
|
|
|
+ owner: "{{ nodejs_install_npm_user }}"
|
|
|
+ group: "{{ nodejs_install_npm_user }}"
|
|
|
+ state: directory
|
|
|
+
|
|
|
+- name: Add npm_config_prefix bin directory to global $PATH.
|
|
|
+ template:
|
|
|
+ src: npm.sh.j2
|
|
|
+ dest: /etc/profile.d/npm.sh
|
|
|
+ mode: 0644
|
|
|
+
|
|
|
+- name: Ensure npm global packages are installed.
|
|
|
+ npm:
|
|
|
+ name: "{{ item.name | default(item) }}"
|
|
|
+ version: "{{ item.version | default('latest') }}"
|
|
|
+ global: true
|
|
|
+ state: latest
|
|
|
+ environment:
|
|
|
+ NPM_CONFIG_PREFIX: "{{ npm_config_prefix }}"
|
|
|
+ NODE_PATH: "{{ npm_config_prefix }}/lib/node_modules"
|
|
|
+ NPM_CONFIG_UNSAFE_PERM: "{{ npm_config_unsafe_perm }}"
|
|
|
+ with_items: "{{ nodejs_npm_global_packages }}"
|
|
|
+ tags: ['skip_ansible_lint']
|
|
|
+
|
|
|
+- name: Install packages defined in a given package.json.
|
|
|
+ npm:
|
|
|
+ path: "{{ nodejs_package_json_path }}"
|
|
|
+ when: nodejs_package_json_path is defined and nodejs_package_json_path
|