Sha256: 852763130e77d23bc52d30cfd5813c059f5b6566c47855a23a93fe279bbc155b
Contents?: true
Size: 1.52 KB
Versions: 2
Compression:
Stored size: 1.52 KB
Contents
namespace :nvm do task :validate do on release_roles(fetch(:nvm_roles)) do |host| nvm_node = fetch(:nvm_node) if nvm_node.nil? info 'nvm: nvm_node is not set; node version will be defined by the remote hosts via nvm' end # don't check the nvm_node_dir if :nvm_node is not set (it will always fail) unless nvm_node.nil? || (test "[ -d #{fetch(:nvm_node_dir)} ]") warn "nvm: #{nvm_node} is not installed or not found in #{fetch(:nvm_node_dir)} on #{host}" exit 1 end end end task :map_bins do SSHKit.config.default_env.merge!({ nvm_root: fetch(:nvm_path), node_version: fetch(:nvm_node) }) nvm_prefix = fetch(:nvm_prefix, proc { "source #{fetch(:nvm_path)}/nvm.sh; " }) SSHKit.config.command_map[:nvm] = "#{fetch(:nvm_path)}/nvm.sh" fetch(:nvm_map_bins).uniq.each do |command| SSHKit.config.command_map.prefix[command.to_sym].unshift(nvm_prefix) end end end Capistrano::DSL.stages.each do |stage| after stage, 'nvm:validate' after stage, 'nvm:map_bins' end namespace :load do task :defaults do set :nvm_path, -> { nvm_path = fetch(:nvm_custom_path) nvm_path ||= case fetch(:nvm_type, :user) when :system '/usr/local/opt/nvm' when :fullstaq '/usr/lib/nvm' else '$HOME/.nvm' end } set :nvm_roles, fetch(:nvm_roles, :all) set :nvm_node_dir, -> { "#{fetch(:nvm_path)}/versions/node/#{fetch(:nvm_node)}" } set :nvm_map_bins, %w{rake gem bundle yarn rails} end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
capistrano-nvm202x-3.0.0 | lib/capistrano/tasks/nvm.rake |
capistrano-nvm202x-2.2.0 | lib/capistrano/tasks/nvm.rake |