dependabot-bundler 0.334.0 → 0.335.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: 37ba3de8a1d1b67ae172bb66d32d9b3fb93780d98441e41fced9bea77d40027a
4
- data.tar.gz: 48b422ee5ebcb1e925f0cb0b84fab0aa164fd85efb94ab54e5b9152d6304c82e
3
+ metadata.gz: e7f69a64ba15ebbad9f9a6b231aafd823c1dfd209eaf6256bcadcec2cf2b4146
4
+ data.tar.gz: e99f4c6991029f7f44fc0a82c79298e7b57ca5e52e723abcf7e0a29f23635d2e
5
5
  SHA512:
6
- metadata.gz: 2a702a441d11d257536810283d217a25149aaaab772c6eab11fd7caf958660af245b8b5836c2b92062b1384ac6ca0fadd7f5801c954b5b24e4eec971d41a5d1a
7
- data.tar.gz: e2929aa03f76bb71700970e4b2cfea6f90f374a00e4f2ddcbf61ccdd2f1a7fd6fff84c0173f531a294b77552775316dba3965671036f91d78412068d8c194072
6
+ metadata.gz: f016dcae6e50e038e723c4edd8181f0f69f8d784b6fb1811362a044dfe878d9addf22b5647869b6d3073275774d915ffb3963a6aea04979378b6119e4ebaf3fb
7
+ data.tar.gz: 20c66bb7c4d1293f0fb19f3f5ebec61de873f3a21066b6d4ee9935d0bb858151d381c91e2f5979bd727b226fd787de6f1f8fd71b1f9979dfc54a5d9aad124f04
@@ -5,8 +5,13 @@ module Functions
5
5
  class ForceUpdater
6
6
  class TopLevelDependencyDowngradedError < StandardError; end
7
7
 
8
- def initialize(dependency_name:, target_version:, gemfile_name:,
9
- lockfile_name:, update_multiple_dependencies:)
8
+ def initialize(
9
+ dependency_name:,
10
+ target_version:,
11
+ gemfile_name:,
12
+ lockfile_name:,
13
+ update_multiple_dependencies:
14
+ )
10
15
  @dependency_name = dependency_name
11
16
  @target_version = target_version
12
17
  @gemfile_name = gemfile_name
@@ -10,8 +10,12 @@ module Functions
10
10
  attr_reader :gemfile_name
11
11
  attr_reader :lockfile_name
12
12
 
13
- def initialize(dependency_name:, dependency_requirements:,
14
- gemfile_name:, lockfile_name:)
13
+ def initialize(
14
+ dependency_name:,
15
+ dependency_requirements:,
16
+ gemfile_name:,
17
+ lockfile_name:
18
+ )
15
19
  @dependency_name = dependency_name
16
20
  @dependency_requirements = dependency_requirements
17
21
  @gemfile_name = gemfile_name
@@ -42,42 +42,50 @@ RSpec.describe Functions::ConflictingDependencyResolver do
42
42
  let(:target_version) { "6.0.0" }
43
43
 
44
44
  it "returns a list of dependencies that block the update" do
45
- expect(conflicting_dependencies).to contain_exactly({
46
- "explanation" => "rails (5.2.0) requires activesupport (= 5.2.0)",
47
- "name" => "rails",
48
- "requirement" => "= 5.2.0",
49
- "version" => "5.2.0"
50
- }, {
51
- "explanation" => "rails (5.2.0) requires activesupport (= 5.2.0) via actionpack (5.2.0)",
52
- "name" => "actionpack",
53
- "version" => "5.2.0",
54
- "requirement" => "= 5.2.0"
55
- }, {
56
- "explanation" => "rails (5.2.0) requires activesupport (= 5.2.0) via actionview (5.2.0)",
57
- "name" => "actionview",
58
- "version" => "5.2.0",
59
- "requirement" => "= 5.2.0"
60
- }, {
61
- "explanation" => "rails (5.2.0) requires activesupport (= 5.2.0) via activejob (5.2.0)",
62
- "name" => "activejob",
63
- "version" => "5.2.0",
64
- "requirement" => "= 5.2.0"
65
- }, {
66
- "explanation" => "rails (5.2.0) requires activesupport (= 5.2.0) via activemodel (5.2.0)",
67
- "name" => "activemodel",
68
- "version" => "5.2.0",
69
- "requirement" => "= 5.2.0"
70
- }, {
71
- "explanation" => "rails (5.2.0) requires activesupport (= 5.2.0) via activerecord (5.2.0)",
72
- "name" => "activerecord",
73
- "version" => "5.2.0",
74
- "requirement" => "= 5.2.0"
75
- }, {
76
- "explanation" => "rails (5.2.0) requires activesupport (= 5.2.0) via railties (5.2.0)",
77
- "name" => "railties",
78
- "version" => "5.2.0",
79
- "requirement" => "= 5.2.0"
80
- })
45
+ expect(conflicting_dependencies).to contain_exactly(
46
+ {
47
+ "explanation" => "rails (5.2.0) requires activesupport (= 5.2.0)",
48
+ "name" => "rails",
49
+ "requirement" => "= 5.2.0",
50
+ "version" => "5.2.0"
51
+ },
52
+ {
53
+ "explanation" => "rails (5.2.0) requires activesupport (= 5.2.0) via actionpack (5.2.0)",
54
+ "name" => "actionpack",
55
+ "version" => "5.2.0",
56
+ "requirement" => "= 5.2.0"
57
+ },
58
+ {
59
+ "explanation" => "rails (5.2.0) requires activesupport (= 5.2.0) via actionview (5.2.0)",
60
+ "name" => "actionview",
61
+ "version" => "5.2.0",
62
+ "requirement" => "= 5.2.0"
63
+ },
64
+ {
65
+ "explanation" => "rails (5.2.0) requires activesupport (= 5.2.0) via activejob (5.2.0)",
66
+ "name" => "activejob",
67
+ "version" => "5.2.0",
68
+ "requirement" => "= 5.2.0"
69
+ },
70
+ {
71
+ "explanation" => "rails (5.2.0) requires activesupport (= 5.2.0) via activemodel (5.2.0)",
72
+ "name" => "activemodel",
73
+ "version" => "5.2.0",
74
+ "requirement" => "= 5.2.0"
75
+ },
76
+ {
77
+ "explanation" => "rails (5.2.0) requires activesupport (= 5.2.0) via activerecord (5.2.0)",
78
+ "name" => "activerecord",
79
+ "version" => "5.2.0",
80
+ "requirement" => "= 5.2.0"
81
+ },
82
+ {
83
+ "explanation" => "rails (5.2.0) requires activesupport (= 5.2.0) via railties (5.2.0)",
84
+ "name" => "railties",
85
+ "version" => "5.2.0",
86
+ "requirement" => "= 5.2.0"
87
+ }
88
+ )
81
89
  end
82
90
  end
83
91
 
@@ -88,22 +96,26 @@ RSpec.describe Functions::ConflictingDependencyResolver do
88
96
  let(:project_name) { "multiple_blocking" }
89
97
 
90
98
  it "returns all of the blocking dependencies" do
91
- expect(conflicting_dependencies).to contain_exactly({
92
- "explanation" => "actionmailer (5.0.0) requires activesupport (= 5.0.0) via actionpack (5.0.0)",
93
- "name" => "actionpack",
94
- "version" => "5.0.0",
95
- "requirement" => "= 5.0.0"
96
- }, {
97
- "explanation" => "actionview (5.0.0) requires activesupport (= 5.0.0)",
98
- "name" => "actionview",
99
- "version" => "5.0.0",
100
- "requirement" => "= 5.0.0"
101
- }, {
102
- "explanation" => "actionmailer (5.0.0) requires activesupport (= 5.0.0) via activejob (5.0.0)",
103
- "name" => "activejob",
104
- "version" => "5.0.0",
105
- "requirement" => "= 5.0.0"
106
- })
99
+ expect(conflicting_dependencies).to contain_exactly(
100
+ {
101
+ "explanation" => "actionmailer (5.0.0) requires activesupport (= 5.0.0) via actionpack (5.0.0)",
102
+ "name" => "actionpack",
103
+ "version" => "5.0.0",
104
+ "requirement" => "= 5.0.0"
105
+ },
106
+ {
107
+ "explanation" => "actionview (5.0.0) requires activesupport (= 5.0.0)",
108
+ "name" => "actionview",
109
+ "version" => "5.0.0",
110
+ "requirement" => "= 5.0.0"
111
+ },
112
+ {
113
+ "explanation" => "actionmailer (5.0.0) requires activesupport (= 5.0.0) via activejob (5.0.0)",
114
+ "name" => "activejob",
115
+ "version" => "5.0.0",
116
+ "requirement" => "= 5.0.0"
117
+ }
118
+ )
107
119
  end
108
120
  end
109
121
 
@@ -40,22 +40,26 @@ RSpec.describe Functions::DependencySource do
40
40
  end
41
41
 
42
42
  it "returns all versions from the private source" do
43
- expect(private_registry_versions).to eq([
44
- Gem::Version.new("1.5.0"),
45
- Gem::Version.new("1.9.0"),
46
- Gem::Version.new("1.10.0.beta")
47
- ])
43
+ expect(private_registry_versions).to eq(
44
+ [
45
+ Gem::Version.new("1.5.0"),
46
+ Gem::Version.new("1.9.0"),
47
+ Gem::Version.new("1.10.0.beta")
48
+ ]
49
+ )
48
50
  end
49
51
 
50
52
  context "when specified as the default source" do
51
53
  let(:project_name) { "specified_default_source_no_lockfile" }
52
54
 
53
55
  it "returns all versions from the private source" do
54
- expect(private_registry_versions).to eq([
55
- Gem::Version.new("1.5.0"),
56
- Gem::Version.new("1.9.0"),
57
- Gem::Version.new("1.10.0.beta")
58
- ])
56
+ expect(private_registry_versions).to eq(
57
+ [
58
+ Gem::Version.new("1.5.0"),
59
+ Gem::Version.new("1.9.0"),
60
+ Gem::Version.new("1.10.0.beta")
61
+ ]
62
+ )
59
63
  end
60
64
  end
61
65
 
@@ -96,8 +96,10 @@ RSpec.describe Functions::VersionResolver do
96
96
  stub_request(:get, old_index_url + "?gems=business,statesman")
97
97
  .to_return(
98
98
  status: 200,
99
- body: fixture("rubygems_responses",
100
- "dependencies-default-gemfile")
99
+ body: fixture(
100
+ "rubygems_responses",
101
+ "dependencies-default-gemfile"
102
+ )
101
103
  )
102
104
  end
103
105
 
@@ -75,16 +75,20 @@ module Dependabot
75
75
  def gemfile
76
76
  return @gemfile if defined?(@gemfile)
77
77
 
78
- @gemfile = T.let(fetch_file_if_present("gems.rb") || fetch_file_if_present("Gemfile"),
79
- T.nilable(Dependabot::DependencyFile))
78
+ @gemfile = T.let(
79
+ fetch_file_if_present("gems.rb") || fetch_file_if_present("Gemfile"),
80
+ T.nilable(Dependabot::DependencyFile)
81
+ )
80
82
  end
81
83
 
82
84
  sig { returns(T.nilable(DependencyFile)) }
83
85
  def lockfile
84
86
  return @lockfile if defined?(@lockfile)
85
87
 
86
- @lockfile = T.let(fetch_file_if_present("gems.locked") || fetch_file_if_present("Gemfile.lock"),
87
- T.nilable(Dependabot::DependencyFile))
88
+ @lockfile = T.let(
89
+ fetch_file_if_present("gems.locked") || fetch_file_if_present("Gemfile.lock"),
90
+ T.nilable(Dependabot::DependencyFile)
91
+ )
88
92
  end
89
93
 
90
94
  sig { returns(T::Array[Dependabot::DependencyFile]) }
@@ -239,8 +243,10 @@ module Dependabot
239
243
  end
240
244
 
241
245
  sig do
242
- params(file: DependencyFile,
243
- previously_fetched_files: T::Array[DependencyFile]).returns(T::Array[DependencyFile])
246
+ params(
247
+ file: DependencyFile,
248
+ previously_fetched_files: T::Array[DependencyFile]
249
+ ).returns(T::Array[DependencyFile])
244
250
  end
245
251
  def fetch_child_gemfiles(file:, previously_fetched_files:)
246
252
  paths = ChildGemfileFinder.new(gemfile: file).child_gemfile_paths
@@ -209,8 +209,10 @@ module Dependabot
209
209
  sig { returns(T::Array[T::Hash[String, T.untyped]]) }
210
210
  def parsed_gemfile
211
211
  @parsed_gemfile ||= T.let(
212
- SharedHelpers.in_a_temporary_repo_directory(T.must(base_directory),
213
- repo_contents_path) do
212
+ SharedHelpers.in_a_temporary_repo_directory(
213
+ T.must(base_directory),
214
+ repo_contents_path
215
+ ) do
214
216
  write_temporary_dependency_files
215
217
 
216
218
  NativeHelpers.run_bundler_subprocess(
@@ -39,20 +39,27 @@ module Dependabot
39
39
  attr_reader :gemspec
40
40
 
41
41
  sig do
42
- params(gemspec: Dependabot::DependencyFile, dependency: Dependabot::Dependency,
43
- content: String).returns(String)
42
+ params(
43
+ gemspec: Dependabot::DependencyFile,
44
+ dependency: Dependabot::Dependency,
45
+ content: String
46
+ ).returns(String)
44
47
  end
45
48
  def replace_gemspec_version_requirement(gemspec, dependency, content)
46
49
  return content unless requirement_changed?(gemspec, dependency)
47
50
 
48
51
  updated_requirement =
49
- T.must(dependency.requirements
50
- .find { |r| r[:file] == gemspec.name })
52
+ T.must(
53
+ dependency.requirements
54
+ .find { |r| r[:file] == gemspec.name }
55
+ )
51
56
  .fetch(:requirement)
52
57
 
53
58
  previous_requirement =
54
- T.must(T.must(dependency.previous_requirements)
55
- .find { |r| r[:file] == gemspec.name })
59
+ T.must(
60
+ T.must(dependency.previous_requirements)
61
+ .find { |r| r[:file] == gemspec.name }
62
+ )
56
63
  .fetch(:requirement)
57
64
 
58
65
  RequirementReplacer.new(
@@ -36,8 +36,13 @@ module Dependabot
36
36
  repo_contents_path: T.nilable(String)
37
37
  ).void
38
38
  end
39
- def initialize(dependencies:, dependency_files:, credentials:, options:,
40
- repo_contents_path: nil)
39
+ def initialize(
40
+ dependencies:,
41
+ dependency_files:,
42
+ credentials:,
43
+ options:,
44
+ repo_contents_path: nil
45
+ )
41
46
  @dependencies = T.let(dependencies, T::Array[Dependabot::Dependency])
42
47
  @dependency_files = T.let(dependency_files, T::Array[Dependabot::DependencyFile])
43
48
  @repo_contents_path = T.let(repo_contents_path, T.nilable(String))
@@ -33,8 +33,13 @@ module Dependabot
33
33
  insert_if_bare: T::Boolean
34
34
  ).void
35
35
  end
36
- def initialize(dependency:, file_type:, updated_requirement:,
37
- previous_requirement: nil, insert_if_bare: false)
36
+ def initialize(
37
+ dependency:,
38
+ file_type:,
39
+ updated_requirement:,
40
+ previous_requirement: nil,
41
+ insert_if_bare: false
42
+ )
38
43
  @dependency = dependency
39
44
  @file_type = file_type
40
45
  @updated_requirement = updated_requirement
@@ -121,8 +126,12 @@ module Dependabot
121
126
  insert_if_bare: T::Boolean
122
127
  ).void
123
128
  end
124
- def initialize(dependency:, file_type:, updated_requirement:,
125
- insert_if_bare:)
129
+ def initialize(
130
+ dependency:,
131
+ file_type:,
132
+ updated_requirement:,
133
+ insert_if_bare:
134
+ )
126
135
  @dependency = T.let(dependency, Dependabot::Dependency)
127
136
  @file_type = T.let(file_type, Symbol)
128
137
  @updated_requirement = T.let(updated_requirement, String)
@@ -250,9 +259,11 @@ module Dependabot
250
259
  use_equality_operator: T::Boolean
251
260
  ).returns(String)
252
261
  end
253
- def new_requirement_string(quote_characters:,
254
- space_after_specifier:,
255
- use_equality_operator:)
262
+ def new_requirement_string(
263
+ quote_characters:,
264
+ space_after_specifier:,
265
+ use_equality_operator:
266
+ )
256
267
  open_quote, close_quote = quote_characters
257
268
  new_requirement_string =
258
269
  updated_requirement.split(",")
@@ -11,16 +11,19 @@ module Dependabot
11
11
  class MetadataFinder < Dependabot::MetadataFinders::Base
12
12
  extend T::Sig
13
13
 
14
- SOURCE_KEYS = T.let(%w(
15
- source_code_uri
16
- homepage_uri
17
- wiki_uri
18
- bug_tracker_uri
19
- documentation_uri
20
- changelog_uri
21
- mailing_list_uri
22
- download_uri
23
- ).freeze, T::Array[String])
14
+ SOURCE_KEYS = T.let(
15
+ %w(
16
+ source_code_uri
17
+ homepage_uri
18
+ wiki_uri
19
+ bug_tracker_uri
20
+ documentation_uri
21
+ changelog_uri
22
+ mailing_list_uri
23
+ download_uri
24
+ ).freeze,
25
+ T::Array[String]
26
+ )
24
27
 
25
28
  sig do
26
29
  params(
@@ -143,7 +143,9 @@ module Dependabot
143
143
  rescue URI::InvalidURIError
144
144
  raise "Invalid registry URL: #{registry_url}"
145
145
  end
146
- return package_details([]) if parsed_url.host == "rubygems.pkg.github.com"
146
+
147
+ # Handle GitHub Package Registry
148
+ return github_packages_versions(registry_url) if parsed_url.host == "rubygems.pkg.github.com"
147
149
 
148
150
  response = registry_json_response_for_dependency(registry_url)
149
151
 
@@ -193,6 +195,61 @@ module Dependabot
193
195
  )
194
196
  end
195
197
 
198
+ sig { params(registry_url: String).returns(Dependabot::Package::PackageDetails) }
199
+ def github_packages_versions(registry_url)
200
+ # Extract org name from URL like "https://rubygems.pkg.github.com/dsp-testing/"
201
+ org_name = registry_url.split("/").last
202
+
203
+ # GitHub Packages API endpoint for RubyGems packages
204
+ api_url = "https://api.github.com/orgs/#{org_name}/packages/rubygems/#{dependency.name}/versions"
205
+
206
+ response = Dependabot::RegistryClient.get(
207
+ url: api_url,
208
+ headers: {
209
+ "Accept" => "application/vnd.github.v3+json",
210
+ "Authorization" => "Bearer #{github_token}"
211
+ }
212
+ )
213
+
214
+ unless response.status == 200
215
+ error_details = "Status: #{response.status}"
216
+ error_details += " (Package not found in GitHub Registry)" if response.status == 404
217
+ error_message = "Failed to fetch versions for '#{dependency.name}' from GitHub Packages. #{error_details}"
218
+ Dependabot.logger.info(error_message)
219
+ return package_details([])
220
+ end
221
+
222
+ begin
223
+ versions_data = JSON.parse(response.body)
224
+ package_releases = versions_data.map do |version_info|
225
+ # GitHub Packages API returns different structure than RubyGems
226
+ version_number = version_info["name"] # GitHub uses "name" for version
227
+ created_at = version_info["created_at"]
228
+
229
+ package_release(
230
+ version: version_number,
231
+ released_at: Time.parse(created_at),
232
+ downloads: 0, # GitHub Packages doesn't provide download counts
233
+ url: "#{registry_url}/gems/#{dependency.name}-#{version_number}.gem",
234
+ ruby_version: nil # GitHub Packages API doesn't provide ruby version requirements
235
+ )
236
+ end
237
+
238
+ package_details(package_releases)
239
+ rescue JSON::ParserError => e
240
+ Dependabot.logger.info("Failed to parse GitHub Packages response: #{e.message}")
241
+ package_details([])
242
+ end
243
+ end
244
+
245
+ sig { returns(T.nilable(String)) }
246
+ def github_token
247
+ github_credential = credentials.find do |cred|
248
+ cred["type"] == "rubygems_server" && cred["host"] == "rubygems.pkg.github.com"
249
+ end
250
+ github_credential&.fetch("token", nil)
251
+ end
252
+
196
253
  sig { params(req_string: String).returns(Requirement) }
197
254
  def language_requirement(req_string)
198
255
  Requirement.new(req_string)
@@ -222,7 +279,8 @@ module Dependabot
222
279
  Dependabot::Package::PackageDetails.new(
223
280
  dependency: dependency,
224
281
  releases: releases.reverse.uniq(&:version)
225
- ), T.nilable(Dependabot::Package::PackageDetails)
282
+ ),
283
+ T.nilable(Dependabot::Package::PackageDetails)
226
284
  )
227
285
  end
228
286
 
@@ -53,12 +53,15 @@ module Dependabot
53
53
  lock_ruby_version: T::Boolean
54
54
  ).void
55
55
  end
56
- def initialize(dependency_files:, dependency:,
57
- remove_git_source: false,
58
- unlock_requirement: true,
59
- replacement_git_pin: nil,
60
- latest_allowable_version: nil,
61
- lock_ruby_version: true)
56
+ def initialize(
57
+ dependency_files:,
58
+ dependency:,
59
+ remove_git_source: false,
60
+ unlock_requirement: true,
61
+ replacement_git_pin: nil,
62
+ latest_allowable_version: nil,
63
+ lock_ruby_version: true
64
+ )
62
65
  @dependency_files = T.let(dependency_files, T::Array[Dependabot::DependencyFile])
63
66
  @dependency = T.let(dependency, Dependabot::Dependency)
64
67
  @remove_git_source = T.let(remove_git_source, T::Boolean)
@@ -127,10 +130,13 @@ module Dependabot
127
130
 
128
131
  sig { returns(T::Array[Dependabot::DependencyFile]) }
129
132
  attr_reader :dependency_files
133
+
130
134
  sig { returns(Dependabot::Dependency) }
131
135
  attr_reader :dependency
136
+
132
137
  sig { returns(T.nilable(String)) }
133
138
  attr_reader :replacement_git_pin
139
+
134
140
  sig { returns(T.nilable(String)) }
135
141
  attr_reader :latest_allowable_version
136
142
 
@@ -33,10 +33,16 @@ module Dependabot
33
33
  update_multiple_dependencies: T::Boolean
34
34
  ).void
35
35
  end
36
- def initialize(dependency:, dependency_files:, credentials:, target_version:,
37
- requirements_update_strategy:, options:,
38
- repo_contents_path: nil,
39
- update_multiple_dependencies: true)
36
+ def initialize(
37
+ dependency:,
38
+ dependency_files:,
39
+ credentials:,
40
+ target_version:,
41
+ requirements_update_strategy:,
42
+ options:,
43
+ repo_contents_path: nil,
44
+ update_multiple_dependencies: true
45
+ )
40
46
  @dependency = dependency
41
47
  @dependency_files = dependency_files
42
48
  @repo_contents_path = repo_contents_path
@@ -46,10 +46,12 @@ module Dependabot
46
46
  options: T::Hash[Symbol, T.untyped]
47
47
  ).void
48
48
  end
49
- def initialize(dependency:,
50
- dependency_files:,
51
- credentials:,
52
- options:)
49
+ def initialize(
50
+ dependency:,
51
+ dependency_files:,
52
+ credentials:,
53
+ options:
54
+ )
53
55
  @dependency = dependency
54
56
  @dependency_files = dependency_files
55
57
  @repo_contents_path = T.let(nil, T.nilable(String))
@@ -125,7 +125,8 @@ module Dependabot
125
125
  current_version&.prerelease? || dependency.requirements.any? do |req|
126
126
  req[:requirement].match?(/[a-z]/i)
127
127
  end
128
- end, T.nilable(T::Boolean)
128
+ end,
129
+ T.nilable(T::Boolean)
129
130
  )
130
131
  end
131
132
 
@@ -137,7 +138,8 @@ module Dependabot
137
138
  dependency_files: dependency_files,
138
139
  credentials: credentials,
139
140
  options: options
140
- ), T.nilable(DependencySource)
141
+ ),
142
+ T.nilable(DependencySource)
141
143
  )
142
144
  end
143
145
  end
@@ -32,8 +32,13 @@ module Dependabot
32
32
  latest_resolvable_version: T.nilable(String)
33
33
  ).void
34
34
  end
35
- def initialize(requirements:, update_strategy:, updated_source:,
36
- latest_version:, latest_resolvable_version:)
35
+ def initialize(
36
+ requirements:,
37
+ update_strategy:,
38
+ updated_source:,
39
+ latest_version:,
40
+ latest_resolvable_version:
41
+ )
37
42
  @requirements = requirements
38
43
  @latest_version = T.let(
39
44
  (T.cast(Dependabot::Bundler::Version.new(latest_version), Dependabot::Bundler::Version) if latest_version),
@@ -71,12 +76,16 @@ module Dependabot
71
76
 
72
77
  sig { returns(T::Array[T::Hash[Symbol, T.untyped]]) }
73
78
  attr_reader :requirements
79
+
74
80
  sig { returns(T.nilable(T::Hash[Symbol, T.untyped])) }
75
81
  attr_reader :updated_source
82
+
76
83
  sig { returns(T.nilable(Dependabot::Bundler::Version)) }
77
84
  attr_reader :latest_version
85
+
78
86
  sig { returns(T.nilable(Dependabot::Bundler::Version)) }
79
87
  attr_reader :latest_resolvable_version
88
+
80
89
  sig { returns(Dependabot::RequirementsUpdateStrategy) }
81
90
  attr_reader :update_strategy
82
91
 
@@ -302,8 +311,10 @@ module Dependabot
302
311
 
303
312
  # Updates the version in a "~>" constraint to allow the given version
304
313
  sig do
305
- params(requirement: Gem::Requirement,
306
- version_to_be_permitted: Dependabot::Bundler::Version).returns(Gem::Requirement)
314
+ params(
315
+ requirement: Gem::Requirement,
316
+ version_to_be_permitted: Dependabot::Bundler::Version
317
+ ).returns(Gem::Requirement)
307
318
  end
308
319
  def update_twiddle_version(requirement, version_to_be_permitted)
309
320
  old_version = requirement.requirements.first.last
@@ -314,8 +325,10 @@ module Dependabot
314
325
  # Updates the version in a "<" or "<=" constraint to allow the given
315
326
  # version
316
327
  sig do
317
- params(requirement: Gem::Requirement,
318
- version_to_be_permitted: Dependabot::Bundler::Version).returns(Gem::Requirement)
328
+ params(
329
+ requirement: Gem::Requirement,
330
+ version_to_be_permitted: Dependabot::Bundler::Version
331
+ ).returns(Gem::Requirement)
319
332
  end
320
333
  def update_greatest_version(requirement, version_to_be_permitted)
321
334
  op, version = requirement.requirements.first
@@ -39,13 +39,20 @@ module Dependabot
39
39
  cooldown_options: T.nilable(Dependabot::Package::ReleaseCooldownOptions)
40
40
  ).void
41
41
  end
42
- def initialize(dependency:, unprepared_dependency_files:, credentials:, ignored_versions:, options:,
43
- repo_contents_path: nil,
44
- raise_on_ignored: false,
45
- replacement_git_pin: nil, remove_git_source: false,
46
- unlock_requirement: true,
47
- latest_allowable_version: nil,
48
- cooldown_options: nil)
42
+ def initialize(
43
+ dependency:,
44
+ unprepared_dependency_files:,
45
+ credentials:,
46
+ ignored_versions:,
47
+ options:,
48
+ repo_contents_path: nil,
49
+ raise_on_ignored: false,
50
+ replacement_git_pin: nil,
51
+ remove_git_source: false,
52
+ unlock_requirement: true,
53
+ latest_allowable_version: nil,
54
+ cooldown_options: nil
55
+ )
49
56
  @dependency = dependency
50
57
  @unprepared_dependency_files = unprepared_dependency_files
51
58
  @credentials = credentials
@@ -354,8 +354,10 @@ module Dependabot
354
354
  sig { returns(Dependabot::Bundler::UpdateChecker::ForceUpdater) }
355
355
  def force_updater
356
356
  if @force_updater.nil?
357
- @force_updater = T.let(@force_updater,
358
- T.nilable(Dependabot::Bundler::UpdateChecker::ForceUpdater))
357
+ @force_updater = T.let(
358
+ @force_updater,
359
+ T.nilable(Dependabot::Bundler::UpdateChecker::ForceUpdater)
360
+ )
359
361
  end
360
362
  @force_updater ||=
361
363
  ForceUpdater.new(
@@ -372,8 +374,10 @@ module Dependabot
372
374
  sig { returns(Dependabot::GitCommitChecker) }
373
375
  def git_commit_checker
374
376
  if @git_commit_checker.nil?
375
- @git_commit_checker = T.let(@git_commit_checker,
376
- T.nilable(Dependabot::GitCommitChecker))
377
+ @git_commit_checker = T.let(
378
+ @git_commit_checker,
379
+ T.nilable(Dependabot::GitCommitChecker)
380
+ )
377
381
  end
378
382
  @git_commit_checker ||=
379
383
  GitCommitChecker.new(
@@ -432,8 +436,11 @@ module Dependabot
432
436
  latest_allowable_version: T.nilable(T.any(String, Dependabot::Bundler::Version))
433
437
  ).returns(T::Array[Dependabot::DependencyFile])
434
438
  end
435
- def prepared_dependency_files(remove_git_source:, unlock_requirement:,
436
- latest_allowable_version: nil)
439
+ def prepared_dependency_files(
440
+ remove_git_source:,
441
+ unlock_requirement:,
442
+ latest_allowable_version: nil
443
+ )
437
444
  FilePreparer.new(
438
445
  dependency: dependency,
439
446
  dependency_files: dependency_files,
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-bundler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.334.0
4
+ version: 0.335.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - '='
17
17
  - !ruby/object:Gem::Version
18
- version: 0.334.0
18
+ version: 0.335.0
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - '='
24
24
  - !ruby/object:Gem::Version
25
- version: 0.334.0
25
+ version: 0.335.0
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: parallel
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -127,56 +127,56 @@ dependencies:
127
127
  requirements:
128
128
  - - "~>"
129
129
  - !ruby/object:Gem::Version
130
- version: '1.67'
130
+ version: '1.80'
131
131
  type: :development
132
132
  prerelease: false
133
133
  version_requirements: !ruby/object:Gem::Requirement
134
134
  requirements:
135
135
  - - "~>"
136
136
  - !ruby/object:Gem::Version
137
- version: '1.67'
137
+ version: '1.80'
138
138
  - !ruby/object:Gem::Dependency
139
139
  name: rubocop-performance
140
140
  requirement: !ruby/object:Gem::Requirement
141
141
  requirements:
142
142
  - - "~>"
143
143
  - !ruby/object:Gem::Version
144
- version: '1.22'
144
+ version: '1.26'
145
145
  type: :development
146
146
  prerelease: false
147
147
  version_requirements: !ruby/object:Gem::Requirement
148
148
  requirements:
149
149
  - - "~>"
150
150
  - !ruby/object:Gem::Version
151
- version: '1.22'
151
+ version: '1.26'
152
152
  - !ruby/object:Gem::Dependency
153
153
  name: rubocop-rspec
154
154
  requirement: !ruby/object:Gem::Requirement
155
155
  requirements:
156
156
  - - "~>"
157
157
  - !ruby/object:Gem::Version
158
- version: '2.29'
158
+ version: '3.7'
159
159
  type: :development
160
160
  prerelease: false
161
161
  version_requirements: !ruby/object:Gem::Requirement
162
162
  requirements:
163
163
  - - "~>"
164
164
  - !ruby/object:Gem::Version
165
- version: '2.29'
165
+ version: '3.7'
166
166
  - !ruby/object:Gem::Dependency
167
167
  name: rubocop-sorbet
168
168
  requirement: !ruby/object:Gem::Requirement
169
169
  requirements:
170
170
  - - "~>"
171
171
  - !ruby/object:Gem::Version
172
- version: '0.8'
172
+ version: '0.10'
173
173
  type: :development
174
174
  prerelease: false
175
175
  version_requirements: !ruby/object:Gem::Requirement
176
176
  requirements:
177
177
  - - "~>"
178
178
  - !ruby/object:Gem::Version
179
- version: '0.8'
179
+ version: '0.10'
180
180
  - !ruby/object:Gem::Dependency
181
181
  name: simplecov
182
182
  requirement: !ruby/object:Gem::Requirement
@@ -322,7 +322,7 @@ licenses:
322
322
  - MIT
323
323
  metadata:
324
324
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
325
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.334.0
325
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.335.0
326
326
  rdoc_options: []
327
327
  require_paths:
328
328
  - lib