class Licensed::Sources::NPM::Dependency

Public Instance Methods

license_metadata() click to toggle source

override license_metadata to pull homepage and summary information from a packages package.json file, if it exists this accounts for the lack of this information in npm 7’s ‘npm list` output

Calls superclass method Licensed::Dependency#license_metadata
# File lib/licensed/sources/npm.rb, line 11
def license_metadata
  data = super
  return data if !data["homepage"].to_s.empty? && !data["summary"].to_s.empty?

  package_json_path = File.join(path, "package.json")
  return data unless File.exist?(package_json_path)

  package_json = JSON.parse(File.read(package_json_path))
  data["homepage"] = package_json["homepage"]
  data["summary"] = package_json["description"]

  data
end