dependabot-common 0.348.1 → 0.349.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c07b70848e86cb2c9d154be70cffa34a3181d686f5d678e622faeaab7d486f60
4
- data.tar.gz: '081cfd5c47507c105d1e08e22f6287db8aad26935ba50465a15e303c0b8e0a61'
3
+ metadata.gz: fb3951f9fad81d40a6feeee975ecedbef2032bfdab19f3d9813c6ea1a44df37c
4
+ data.tar.gz: 47d5909881a4ff68f1ddc1964f468beee8024783c39a548b2ab24e356d8e3265
5
5
  SHA512:
6
- metadata.gz: f4df13b325aae5519a61b492e98eb7d3b0a0c8b7994cbff9e6e27d3723e759d86f171316a3afc27fd8470308d726493b5bad3c3c8af047f9f7a02d93487491b4
7
- data.tar.gz: 120504f01cd33f34dec8439b38ef0adeefdd612b4b853252b7374ad544e5cfa94d54f46c900bed488a0a6d6e21199c1186b6627b7ef8181251fd78c910bf5be8
6
+ metadata.gz: e513a887485738625d9233d2db264449e4765ac8ff985344bfd21dc1c94e8a585a22e12075f4aa43392dbdd16b5e08328889daa8b606e2af5b4c68a0541f013e
7
+ data.tar.gz: 5a8cd4f9727aacb10b0df076e5841bbf101896d7c30701cb4171b8ec687ed5012bcbfd18514c4f8e6862912cad76a2dc77c9d11cddd18bda4212fc014ca85f65
@@ -65,11 +65,12 @@ module Dependabot
65
65
  prepare! unless prepared
66
66
 
67
67
  @dependencies.each_with_object({}) do |dep, resolved|
68
- resolved[dep.name] = ResolvedDependency.new(
69
- package_url: build_purl(dep),
68
+ purl = build_purl(dep)
69
+ resolved[purl] = ResolvedDependency.new(
70
+ package_url: purl,
70
71
  direct: dep.top_level?,
71
72
  runtime: dep.production?,
72
- dependencies: safe_fetch_subdependencies(dep)
73
+ dependencies: safe_fetch_subdependencies(dep).map { |d| build_purl(d) }
73
74
  )
74
75
  end
75
76
  end
@@ -84,11 +85,23 @@ module Dependabot
84
85
  file_parser.dependency_files
85
86
  end
86
87
 
87
- sig { params(dependency: Dependabot::Dependency).returns(T::Array[String]) }
88
+ sig { returns(T::Hash[String, Dependabot::Dependency]) }
89
+ def dependencies_by_name
90
+ @dependencies_by_name ||= T.let(
91
+ @dependencies.each_with_object({}) do |dep, hash|
92
+ hash[dep.name] = dep
93
+ end,
94
+ T.nilable(T::Hash[String, Dependabot::Dependency])
95
+ )
96
+ end
97
+
98
+ sig { params(dependency: Dependabot::Dependency).returns(T::Array[Dependabot::Dependency]) }
88
99
  def safe_fetch_subdependencies(dependency)
89
100
  return [] if @errored_fetching_subdependencies
90
101
 
91
- fetch_subdependencies(dependency)
102
+ fetch_subdependencies(dependency).filter_map do |dependency_name|
103
+ dependencies_by_name[dependency_name]
104
+ end
92
105
  rescue StandardError => e
93
106
  @errored_fetching_subdependencies = true
94
107
  Dependabot.logger.error("Error fetching subdependencies: #{e.message}")
data/lib/dependabot.rb CHANGED
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module Dependabot
5
- VERSION = "0.348.1"
5
+ VERSION = "0.349.0"
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-common
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.348.1
4
+ version: 0.349.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
@@ -629,7 +629,7 @@ licenses:
629
629
  - MIT
630
630
  metadata:
631
631
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
632
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.348.1
632
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.349.0
633
633
  rdoc_options: []
634
634
  require_paths:
635
635
  - lib