module Cyborg::NPM

Constants

DEPENDENCIES

Public Instance Methods

package_path() click to toggle source
# File lib/cyborg/command/npm.rb, line 25
def package_path
  File.join(Dir.pwd, 'package.json')
end
read_package_json() click to toggle source
# File lib/cyborg/command/npm.rb, line 37
def read_package_json
  JSON.parse File.read(package_path)
end
setup() click to toggle source
# File lib/cyborg/command/npm.rb, line 15
def setup
  puts "\nInstalling npm dependencies…".bold

  if File.exist?(package_path)
    update_package_json
  else
    write_package_json(DEPENDENCIES)
  end
end
update_package_json() click to toggle source
# File lib/cyborg/command/npm.rb, line 41
def update_package_json
  package = read_package_json
  package['dependencies']    ||= {}
  package['devDependencies'] ||= {}

  deps = DEPENDENCIES['devDependencies']

  deps.keys.each do |dep|
    d = deps[dep]

    if package['devDependencies'][dep].nil? && package['dependencies'][dep].nil?
      package['devDependencies'][dep] = d
    end
  end

  package.delete('dependencies') if package['dependencies'].empty?
  
  write_package_json(package)
end
write_package_json(contents) click to toggle source
# File lib/cyborg/command/npm.rb, line 29
def write_package_json(contents)
  File.open(package_path, 'w') do |io|
    io.write(JSON.pretty_generate(contents))
  end

  puts "create".rjust(12).colorize(:green).bold + "  #{package_path}"
end