class Grundler::Commands::Install

Public Class Methods

new(cli, _arguments, _json_writer) click to toggle source
Calls superclass method Grundler::Commands::Common::new
# File lib/grundler/commands/install.rb, line 8
def initialize(cli, _arguments, _json_writer)
  super(cli)
  unless File.exist?(Grundler::LOCKFILE_PATH)
    puts "No #{Grundler::LOCKFILE_PATH} file found!"
    return
  end

  loaded_versions = JSON.parse(File.read(Grundler::LOCKFILE_PATH))["dependencies"]
  loaded_versions.each { |k, v| install(specific_version(k, v)) }
end

Private Instance Methods

specific_version(package_name, version_number) click to toggle source
# File lib/grundler/commands/install.rb, line 21
def specific_version(package_name, version_number)
  package_metadata = JSON.parse(HTTP.get("https://registry.npmjs.org/#{package_name}").to_s)
  package_metadata.dig("versions", version_number.delete_prefix("^")) || "Not found"
end