Class: SilentPackageManager::FileParser

Inherits:
Dependabot::FileParsers::Base
  • Object
show all
Defined in:
lib/dependabot/silent/file_parser.rb

Instance Method Summary collapse

Instance Method Details

#parseObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/dependabot/silent/file_parser.rb', line 12

def parse
  dependency_set = DependencySet.new

  JSON.parse(manifest_content).each do |name, info|
    dependency_set << Dependabot::Dependency.new(
      name: name,
      version: info["version"],
      package_manager: "silent",
      requirements: [{
        requirement: info["version"],
        file: T.must(dependency_files.first).name,
        groups: [info["group"]].compact,
        source: nil
      }]
    )
  end

  dependency_set.dependencies
rescue JSON::ParserError
  raise Dependabot::DependencyFileNotParseable, T.must(dependency_files.first).path
end