class Npm

Install NPM and NPM packages REQUIRES: Homebrew (so put it after your homebrew task)

Public Instance Methods

up() click to toggle source
# File lib/exogenesis/passengers/npm.rb, line 10
def up
  install_node

  npms.each do |package|
    if installed.include? package
      update_package(package)
    else
      install_package(package)
    end
  end
end

Private Instance Methods

install_node() click to toggle source
# File lib/exogenesis/passengers/npm.rb, line 24
def install_node
  if command_exists? 'npm'
    skip_task 'Install Node'
  else
    execute 'Install Node', 'brew install node'
  end
end
install_package(package) click to toggle source
# File lib/exogenesis/passengers/npm.rb, line 40
def install_package(package)
  execute "Install #{package}", "npm install -g #{package}"
end
installed() click to toggle source
# File lib/exogenesis/passengers/npm.rb, line 32
def installed
  @installed ||= silent_execute('npm ls -g --depth=0').scan(/(\S+)@[\d.]+/).flatten
end
update_package(package) click to toggle source
# File lib/exogenesis/passengers/npm.rb, line 36
def update_package(package)
  execute "Update #{package}", "npm update -g #{package}"
end