dependabot-composer 0.391.0 → 0.392.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 +4 -4
- data/helpers/v2/composer.lock +4 -4
- data/lib/dependabot/composer/file_updater/lockfile_updater.rb +2 -2
- data/lib/dependabot/composer/file_updater/manifest_updater.rb +9 -9
- data/lib/dependabot/composer/metadata_finder.rb +1 -6
- data/lib/dependabot/composer/update_checker/latest_version_finder.rb +2 -2
- data/lib/dependabot/composer/update_checker/requirements_updater.rb +34 -17
- data/lib/dependabot/composer/update_checker/version_resolver.rb +8 -9
- data/lib/dependabot/composer/update_checker.rb +2 -2
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 90874526a1c8b9f36669040be08ce71794578d3844f3d0aa97fe80e831ee5b4b
|
|
4
|
+
data.tar.gz: d940cd0bef070dac30dc9a4f54a88e9a10601fc9a4cb5711dd0667b466bacdb6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e044682e96915f3f126ebf844a71e7c150398a518660fa771003ecc196c52836d35c4b77736dbe7aa0813a062d181d05ca0e4c091ac87af2859b75605d2c9ed2
|
|
7
|
+
data.tar.gz: b7e61669d528f52aecdf68e17a668163863d4d0e013632c7a354848d28c972a9a3817d56aa4f5d86c836d361f9dc6ed2c38f8e24e6f0d0725e2d69f53bc785a8
|
data/helpers/v2/composer.lock
CHANGED
|
@@ -2684,11 +2684,11 @@
|
|
|
2684
2684
|
},
|
|
2685
2685
|
{
|
|
2686
2686
|
"name": "phpstan/phpstan",
|
|
2687
|
-
"version": "2.2.
|
|
2687
|
+
"version": "2.2.8",
|
|
2688
2688
|
"dist": {
|
|
2689
2689
|
"type": "zip",
|
|
2690
|
-
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/
|
|
2691
|
-
"reference": "
|
|
2690
|
+
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/e285254e60f33c21902efef4a926ca0987c06804",
|
|
2691
|
+
"reference": "e285254e60f33c21902efef4a926ca0987c06804",
|
|
2692
2692
|
"shasum": ""
|
|
2693
2693
|
},
|
|
2694
2694
|
"require": {
|
|
@@ -2744,7 +2744,7 @@
|
|
|
2744
2744
|
"type": "github"
|
|
2745
2745
|
}
|
|
2746
2746
|
],
|
|
2747
|
-
"time": "2026-
|
|
2747
|
+
"time": "2026-08-04T22:21:45+00:00"
|
|
2748
2748
|
},
|
|
2749
2749
|
{
|
|
2750
2750
|
"name": "psr/event-dispatcher",
|
|
@@ -320,8 +320,8 @@ module Dependabot
|
|
|
320
320
|
next content unless Composer::Version.correct?(updated_req)
|
|
321
321
|
|
|
322
322
|
old_req =
|
|
323
|
-
dep.requirements.find { |r| r
|
|
324
|
-
&.
|
|
323
|
+
dep.requirements.find { |r| r.file == PackageManager::MANIFEST_FILENAME }
|
|
324
|
+
&.requirement_string
|
|
325
325
|
|
|
326
326
|
# When updating a subdep there won't be an old requirement
|
|
327
327
|
next content unless old_req
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# typed:
|
|
1
|
+
# typed: strong
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
4
|
require "sorbet-runtime"
|
|
@@ -23,8 +23,8 @@ module Dependabot
|
|
|
23
23
|
dependencies.reduce(manifest.content.dup) do |content, dep|
|
|
24
24
|
updated_content = content
|
|
25
25
|
updated_requirements(dep).each do |new_req|
|
|
26
|
-
old_req = old_requirement(dep, new_req)&.
|
|
27
|
-
updated_req = new_req.
|
|
26
|
+
old_req = T.must(old_requirement(dep, new_req)&.requirement_string)
|
|
27
|
+
updated_req = T.must(new_req.requirement_string)
|
|
28
28
|
|
|
29
29
|
regex =
|
|
30
30
|
/
|
|
@@ -54,20 +54,20 @@ module Dependabot
|
|
|
54
54
|
|
|
55
55
|
sig { params(dependency: Dependabot::Dependency).returns(T::Array[Dependabot::DependencyRequirement]) }
|
|
56
56
|
def new_requirements(dependency)
|
|
57
|
-
dependency.requirements.select { |r| r
|
|
57
|
+
dependency.requirements.select { |r| r.file == manifest.name }
|
|
58
58
|
end
|
|
59
59
|
|
|
60
60
|
sig do
|
|
61
61
|
params(
|
|
62
62
|
dependency: Dependabot::Dependency,
|
|
63
|
-
new_requirement:
|
|
63
|
+
new_requirement: Dependabot::DependencyRequirement
|
|
64
64
|
)
|
|
65
|
-
.returns(T.nilable(
|
|
65
|
+
.returns(T.nilable(Dependabot::DependencyRequirement))
|
|
66
66
|
end
|
|
67
67
|
def old_requirement(dependency, new_requirement)
|
|
68
68
|
T.must(dependency.previous_requirements)
|
|
69
|
-
.select { |r| r
|
|
70
|
-
.find { |r| r
|
|
69
|
+
.select { |r| r.file == manifest.name }
|
|
70
|
+
.find { |r| r.groups == new_requirement.groups }
|
|
71
71
|
end
|
|
72
72
|
|
|
73
73
|
sig { params(dependency: Dependabot::Dependency).returns(T::Array[Dependabot::DependencyRequirement]) }
|
|
@@ -81,7 +81,7 @@ module Dependabot
|
|
|
81
81
|
changed_requirements =
|
|
82
82
|
dependency.requirements - T.must(dependency.previous_requirements)
|
|
83
83
|
|
|
84
|
-
changed_requirements.any? { |
|
|
84
|
+
changed_requirements.any? { |requirement| requirement.file == file.name }
|
|
85
85
|
end
|
|
86
86
|
end
|
|
87
87
|
end
|
|
@@ -36,12 +36,7 @@ module Dependabot
|
|
|
36
36
|
|
|
37
37
|
sig { returns(T.nilable(Source)) }
|
|
38
38
|
def source_from_dependency
|
|
39
|
-
|
|
40
|
-
dependency.requirements
|
|
41
|
-
.filter_map { |r| r.fetch(:source) }
|
|
42
|
-
.first&.fetch(:url, nil)
|
|
43
|
-
|
|
44
|
-
Source.from_url(source_url)
|
|
39
|
+
Source.from_url(dependency.source_string("url"))
|
|
45
40
|
end
|
|
46
41
|
|
|
47
42
|
sig { returns(T.nilable(Source)) }
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# typed:
|
|
1
|
+
# typed: strong
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
4
|
require "excon"
|
|
@@ -74,7 +74,7 @@ module Dependabot
|
|
|
74
74
|
return true if current_version&.prerelease?
|
|
75
75
|
|
|
76
76
|
dependency.requirements.any? do |req|
|
|
77
|
-
req
|
|
77
|
+
req.requirement_string&.match?(/\d-[A-Za-z]/)
|
|
78
78
|
end
|
|
79
79
|
end
|
|
80
80
|
|
|
@@ -11,6 +11,7 @@ require "sorbet-runtime"
|
|
|
11
11
|
require "dependabot/composer/requirement"
|
|
12
12
|
require "dependabot/composer/update_checker"
|
|
13
13
|
require "dependabot/composer/version"
|
|
14
|
+
require "dependabot/dependency_requirement"
|
|
14
15
|
require "dependabot/requirements_update_strategy"
|
|
15
16
|
|
|
16
17
|
module Dependabot
|
|
@@ -36,7 +37,7 @@ module Dependabot
|
|
|
36
37
|
|
|
37
38
|
sig do
|
|
38
39
|
params(
|
|
39
|
-
requirements: T::Array[
|
|
40
|
+
requirements: T::Array[Dependabot::DependencyRequirement],
|
|
40
41
|
update_strategy: Dependabot::RequirementsUpdateStrategy,
|
|
41
42
|
latest_resolvable_version: T.nilable(T.any(String, Composer::Version))
|
|
42
43
|
).void
|
|
@@ -46,7 +47,10 @@ module Dependabot
|
|
|
46
47
|
update_strategy:,
|
|
47
48
|
latest_resolvable_version:
|
|
48
49
|
)
|
|
49
|
-
@requirements =
|
|
50
|
+
@requirements = T.let(
|
|
51
|
+
requirements.map { |requirement| Dependabot::DependencyRequirement.create(requirement) },
|
|
52
|
+
T::Array[Dependabot::DependencyRequirement]
|
|
53
|
+
)
|
|
50
54
|
@update_strategy = update_strategy
|
|
51
55
|
|
|
52
56
|
check_update_strategy
|
|
@@ -59,7 +63,7 @@ module Dependabot
|
|
|
59
63
|
)
|
|
60
64
|
end
|
|
61
65
|
|
|
62
|
-
sig { returns(T::Array[
|
|
66
|
+
sig { returns(T::Array[Dependabot::DependencyRequirement]) }
|
|
63
67
|
def updated_requirements
|
|
64
68
|
return requirements if update_strategy.lockfile_only?
|
|
65
69
|
return requirements unless latest_resolvable_version
|
|
@@ -69,7 +73,7 @@ module Dependabot
|
|
|
69
73
|
|
|
70
74
|
private
|
|
71
75
|
|
|
72
|
-
sig { returns(T::Array[
|
|
76
|
+
sig { returns(T::Array[Dependabot::DependencyRequirement]) }
|
|
73
77
|
attr_reader :requirements
|
|
74
78
|
|
|
75
79
|
sig { returns(Dependabot::RequirementsUpdateStrategy) }
|
|
@@ -85,9 +89,12 @@ module Dependabot
|
|
|
85
89
|
raise "Unknown update strategy: #{update_strategy}"
|
|
86
90
|
end
|
|
87
91
|
|
|
88
|
-
sig
|
|
92
|
+
sig do
|
|
93
|
+
params(req: Dependabot::DependencyRequirement)
|
|
94
|
+
.returns(Dependabot::DependencyRequirement)
|
|
95
|
+
end
|
|
89
96
|
def updated_requirement(req)
|
|
90
|
-
req_string = T.must(req
|
|
97
|
+
req_string = T.must(req.requirement_string).strip
|
|
91
98
|
or_string_reqs = req_string.split(OR_SEPARATOR)
|
|
92
99
|
or_separator = req_string.match(OR_SEPARATOR)&.to_s || " || "
|
|
93
100
|
branch_or_string_reqs, numeric_or_string_reqs = or_string_reqs
|
|
@@ -110,12 +117,16 @@ module Dependabot
|
|
|
110
117
|
# Add a T.must for new_req as it's defined in the case statement with multiple options
|
|
111
118
|
new_req = T.must(new_req)
|
|
112
119
|
new_req_string =
|
|
113
|
-
[new_req
|
|
114
|
-
new_req.merge(requirement: new_req_string)
|
|
120
|
+
[T.must(new_req.requirement_string), *branch_or_string_reqs].join(or_separator)
|
|
121
|
+
Dependabot::DependencyRequirement.create(new_req.merge(requirement: new_req_string))
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
sig do
|
|
125
|
+
params(req: Dependabot::DependencyRequirement)
|
|
126
|
+
.returns(Dependabot::DependencyRequirement)
|
|
115
127
|
end
|
|
116
|
-
sig { params(req: T::Hash[Symbol, String]).returns(T::Hash[Symbol, String]) }
|
|
117
128
|
def updated_alias(req)
|
|
118
|
-
req_string = T.must(req
|
|
129
|
+
req_string = T.must(req.requirement_string)
|
|
119
130
|
parts = req_string.split(/\sas\s/)
|
|
120
131
|
real_version = T.must(parts.first).strip
|
|
121
132
|
|
|
@@ -125,13 +136,16 @@ module Dependabot
|
|
|
125
136
|
|
|
126
137
|
new_version_string = T.must(latest_resolvable_version).to_s
|
|
127
138
|
new_req = req_string.sub(real_version, new_version_string)
|
|
128
|
-
req.merge(requirement: new_req)
|
|
139
|
+
Dependabot::DependencyRequirement.create(req.merge(requirement: new_req))
|
|
129
140
|
end
|
|
130
141
|
|
|
131
142
|
# rubocop:disable Metrics/PerceivedComplexity
|
|
132
|
-
sig
|
|
143
|
+
sig do
|
|
144
|
+
params(req: Dependabot::DependencyRequirement, or_separator: String)
|
|
145
|
+
.returns(Dependabot::DependencyRequirement)
|
|
146
|
+
end
|
|
133
147
|
def widen_requirement(req, or_separator)
|
|
134
|
-
current_requirement = T.must(req
|
|
148
|
+
current_requirement = T.must(req.requirement_string)
|
|
135
149
|
reqs = current_requirement.strip.split(SEPARATOR).map(&:strip)
|
|
136
150
|
|
|
137
151
|
updated_requirement =
|
|
@@ -147,13 +161,16 @@ module Dependabot
|
|
|
147
161
|
update_version_string(current_requirement)
|
|
148
162
|
end
|
|
149
163
|
|
|
150
|
-
req.merge(requirement: updated_requirement)
|
|
164
|
+
Dependabot::DependencyRequirement.create(req.merge(requirement: updated_requirement))
|
|
151
165
|
end
|
|
152
166
|
# rubocop:enable Metrics/PerceivedComplexity
|
|
153
167
|
|
|
154
|
-
sig
|
|
168
|
+
sig do
|
|
169
|
+
params(req: Dependabot::DependencyRequirement, or_separator: String)
|
|
170
|
+
.returns(Dependabot::DependencyRequirement)
|
|
171
|
+
end
|
|
155
172
|
def update_requirement_version(req, or_separator)
|
|
156
|
-
current_requirement = T.must(req
|
|
173
|
+
current_requirement = T.must(req.requirement_string)
|
|
157
174
|
reqs = current_requirement.strip.split(SEPARATOR).map(&:strip)
|
|
158
175
|
|
|
159
176
|
updated_requirement =
|
|
@@ -167,7 +184,7 @@ module Dependabot
|
|
|
167
184
|
update_version_string(current_requirement)
|
|
168
185
|
end
|
|
169
186
|
|
|
170
|
-
req.merge(requirement: updated_requirement)
|
|
187
|
+
Dependabot::DependencyRequirement.create(req.merge(requirement: updated_requirement))
|
|
171
188
|
end
|
|
172
189
|
|
|
173
190
|
sig { params(requirement_string: String).returns(T::Boolean) }
|
|
@@ -265,22 +265,22 @@ module Dependabot
|
|
|
265
265
|
end
|
|
266
266
|
|
|
267
267
|
# rubocop:disable Metrics/PerceivedComplexity
|
|
268
|
-
# rubocop:disable Metrics/AbcSize
|
|
269
268
|
sig { returns(String) }
|
|
270
269
|
def updated_version_requirement_string
|
|
271
270
|
lower_bound =
|
|
272
271
|
if requirements_to_unlock == :none
|
|
273
|
-
dependency.requirements.first&.
|
|
272
|
+
dependency.requirements.first&.requirement_string || ">= 0"
|
|
274
273
|
elsif dependency.version
|
|
275
274
|
">= #{dependency.version}"
|
|
276
275
|
else
|
|
277
276
|
version_for_requirement =
|
|
278
|
-
dependency.requirements
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
277
|
+
dependency.requirements
|
|
278
|
+
.filter_map(&:requirement_string)
|
|
279
|
+
.reject { |req_string| req_string.start_with?("<") }
|
|
280
|
+
.select { |req_string| req_string.match?(VERSION_REGEX) }
|
|
281
|
+
.map { |req_string| req_string.match(VERSION_REGEX) }
|
|
282
|
+
.select { |version| requirement_valid?(">= #{version}") }
|
|
283
|
+
.max_by { |version| Composer::Version.new(version.to_s) }
|
|
284
284
|
|
|
285
285
|
">= #{version_for_requirement || 0}"
|
|
286
286
|
end
|
|
@@ -301,7 +301,6 @@ module Dependabot
|
|
|
301
301
|
lower_bound + ", == #{latest_allowable_version}"
|
|
302
302
|
end
|
|
303
303
|
# rubocop:enable Metrics/PerceivedComplexity
|
|
304
|
-
# rubocop:enable Metrics/AbcSize
|
|
305
304
|
|
|
306
305
|
# TODO: Extract error handling and share between the lockfile updater
|
|
307
306
|
#
|
|
@@ -156,13 +156,13 @@ module Dependabot
|
|
|
156
156
|
|
|
157
157
|
sig { returns(T::Boolean) }
|
|
158
158
|
def path_dependency?
|
|
159
|
-
dependency.requirements.any? { |r| r.
|
|
159
|
+
dependency.requirements.any? { |r| r.source_string("type") == "path" }
|
|
160
160
|
end
|
|
161
161
|
|
|
162
162
|
# To be a true git dependency, it must have a branch.
|
|
163
163
|
sig { returns(T::Boolean) }
|
|
164
164
|
def git_dependency?
|
|
165
|
-
dependency.requirements.any? { |r| r.
|
|
165
|
+
dependency.requirements.any? { |r| r.source_string("branch") }
|
|
166
166
|
end
|
|
167
167
|
|
|
168
168
|
sig { returns(Dependabot::DependencyFile) }
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dependabot-composer
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.392.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.
|
|
18
|
+
version: 0.392.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.
|
|
25
|
+
version: 0.392.0
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: debug
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -276,7 +276,7 @@ licenses:
|
|
|
276
276
|
- MIT
|
|
277
277
|
metadata:
|
|
278
278
|
bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
|
|
279
|
-
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.
|
|
279
|
+
changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.392.0
|
|
280
280
|
rdoc_options: []
|
|
281
281
|
require_paths:
|
|
282
282
|
- lib
|