From f9a2f0aaacbf744c3364844e0de7984695c090b9 Mon Sep 17 00:00:00 2001 From: William Mantly Date: Mon, 27 May 2019 22:05:57 -0400 Subject: [PATCH] updated nodejs --- attributes/nodejs.rb | 2 ++ recipes/nodejs.rb | 34 ++++++++++++++++++++++++---------- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/attributes/nodejs.rb b/attributes/nodejs.rb index 34fdaed..d83b8c5 100644 --- a/attributes/nodejs.rb +++ b/attributes/nodejs.rb @@ -1,3 +1,5 @@ +node.default['nodejs']['env_path'] = "/opt/theta42/#{node['app']['name']}/env/node" + default['NodeJS']['version'] = 8 default['NodeJS']['working-dir'] = 'src/nodejs' default['NodeJS']['exec_file'] = 'app.js' diff --git a/recipes/nodejs.rb b/recipes/nodejs.rb index 86575b0..a1cd956 100644 --- a/recipes/nodejs.rb +++ b/recipes/nodejs.rb @@ -11,33 +11,47 @@ version = { } } -unless node['node']['working-dir'][0] == '/' - node.override['node']['working-dir'] = "#{node['working-dir']}/#{node['node']['working-dir']}" +unless node['nodejs']['working-dir'][0] == '/' + node.override['nodejs']['working-dir'] = "#{node['working-dir']}/#{node['nodejs']['working-dir']}" end -unless node['node']['version'] - node.default['node']['version'] = 8 +unless node['nodejs']['install_version'] + node.default['nodejs']['install_version'] = 8 end -unless version.key?(node['node']['version']) +unless version.key?(node['nodejs']['install_version']) raise <<~EOH - Unsupported NodeJS version #{node['node']['version']}. + Unsupported NodeJS version #{node['nodejs']['install_version']}. Supports #{version.keys}. EOH end -set_version = version[node['node']['version']] +set_version = version[node['nodejs']['install_version']] node.default['nodejs']['install_method'] = 'binary' -node.default['nodejs']['version'] = set_version['version'] +node.default['nodejs']['version'] = set_version['version'].to_str node.default['nodejs']['binary']['url'] = set_version['url'] node.default['nodejs']['binary']['checksum'] = set_version['checksum'] +node.default['nodejs']['env_path'] = "/opt/theta42/#{node['app']['name']}/env/node" + include_recipe "nodejs" +directory node['nodejs']['env_path'] do + recursive true +end + +file "#{node['nodejs']['env_path']}/package.json" do + owner 'root' + group 'root' + mode 0755 + content ::File.open("#{node['nodejs']['working-dir']}/package.json").read + action :create +end + execute 'Install NPM package.json' do - cwd node['node']['working-dir'] - command "npm --prefix \"#{node['node']['working-dir']}\" install" + cwd node['nodejs']['env_path'] + command "npm --prefix #{node['nodejs']['env_path']} install #{node['nodejs']['env_path']}" end directory "/var/log/node/#{node['app']['name']}" do