豆豆友情提示:这是一个非官方 GitHub 代理镜像,主要用于网络测试或访问加速。请勿在此进行登录、注册或处理任何敏感信息。进行这些操作请务必访问官方网站 github.com。 Raw 内容也通过此代理提供。
Skip to content

Commit f27d34a

Browse files
authored
Merge pull request #12862 from dependabot/jamiemagee/sorbet
2 parents bc374b8 + 9dcd1fb commit f27d34a

File tree

22 files changed

+12489
-3091
lines changed

22 files changed

+12489
-3091
lines changed

Gemfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ gem "dependabot-uv", path: "uv"
3232
gem "dependabot-vcpkg", path: "vcpkg"
3333

3434
# Sorbet
35-
gem "sorbet", "0.5.11952", group: :development
36-
gem "tapioca", "0.16.11", require: false, group: :development
35+
gem "sorbet", "0.6.12479", group: :development
36+
gem "tapioca", "0.17.7", require: false, group: :development
3737

3838
gem "zeitwerk", "~> 2.7"
3939

Gemfile.lock

Lines changed: 34 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -300,14 +300,18 @@ GEM
300300
racc (1.8.1)
301301
rainbow (3.1.1)
302302
rake (13.2.1)
303-
rbi (0.2.2)
303+
rbi (0.3.6)
304304
prism (~> 1.0)
305-
sorbet-runtime (>= 0.5.9204)
305+
rbs (>= 3.4.4)
306+
rbs (4.0.0.dev.4)
307+
logger
308+
prism (>= 1.3.0)
306309
rdoc (6.10.0)
307310
psych (>= 4.0.0)
308311
regexp_parser (2.9.2)
309312
reline (0.6.1)
310313
io-console (~> 0.5)
314+
require-hooks (0.2.2)
311315
rest-client (2.1.0)
312316
http-accept (>= 1.7.0, < 2.0)
313317
http-cookie (>= 1.0.2, < 2.0)
@@ -371,29 +375,33 @@ GEM
371375
simplecov_json_formatter (~> 0.1)
372376
simplecov-html (0.12.3)
373377
simplecov_json_formatter (0.1.4)
374-
sorbet (0.5.11952)
375-
sorbet-static (= 0.5.11952)
376-
sorbet-runtime (0.5.11952)
377-
sorbet-static (0.5.11952-universal-darwin)
378-
sorbet-static (0.5.11952-x86_64-linux)
379-
sorbet-static-and-runtime (0.5.11952)
380-
sorbet (= 0.5.11952)
381-
sorbet-runtime (= 0.5.11952)
382-
spoom (1.5.1)
378+
sorbet (0.6.12479)
379+
sorbet-static (= 0.6.12479)
380+
sorbet-runtime (0.6.12479)
381+
sorbet-static (0.6.12479-universal-darwin)
382+
sorbet-static (0.6.12479-x86_64-linux)
383+
sorbet-static-and-runtime (0.6.12479)
384+
sorbet (= 0.6.12479)
385+
sorbet-runtime (= 0.6.12479)
386+
spoom (1.7.6)
383387
erubi (>= 1.10.0)
384388
prism (>= 0.28.0)
389+
rbi (>= 0.3.3)
390+
rbs (>= 4.0.0.dev.4)
391+
rexml (>= 3.2.6)
385392
sorbet-static-and-runtime (>= 0.5.10187)
386393
thor (>= 0.19.2)
387394
stackprof (0.2.25)
388395
stringio (3.1.2)
389-
tapioca (0.16.11)
396+
tapioca (0.17.7)
390397
benchmark
391398
bundler (>= 2.2.25)
392399
netrc (>= 0.11.0)
393400
parallel (>= 1.21.0)
394-
rbi (~> 0.2)
401+
rbi (>= 0.3.1)
402+
require-hooks (>= 0.2.2)
395403
sorbet-static-and-runtime (>= 0.5.11087)
396-
spoom (>= 1.2.0)
404+
spoom (>= 1.7.0)
397405
thor (>= 1.2.0)
398406
yard-sorbet
399407
terminal-table (3.0.2)
@@ -462,8 +470,8 @@ DEPENDENCIES
462470
rubocop-rspec (~> 2.29)
463471
rubocop-sorbet (~> 0.8)
464472
simplecov (~> 0.22)
465-
sorbet (= 0.5.11952)
466-
tapioca (= 0.16.11)
473+
sorbet (= 0.6.12479)
474+
tapioca (= 0.17.7)
467475
turbo_tests (~> 2.2.5)
468476
vcr (~> 6.1)
469477
webmock (~> 3.18)
@@ -561,10 +569,12 @@ CHECKSUMS
561569
racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
562570
rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
563571
rake (13.2.1) sha256=46cb38dae65d7d74b6020a4ac9d48afed8eb8149c040eccf0523bec91907059d
564-
rbi (0.2.2) sha256=738956d5fed03c35f75178a9621630f89c9cc1cb44cbc7a22cf64e9a7b2d121d
572+
rbi (0.3.6) sha256=577e94ddd123d7c83794dd62c06c5f9bf32a22e9a3a0d2f9baf32f7c81b2b5fa
573+
rbs (4.0.0.dev.4) sha256=a4a22ba03d2450e2a18c312b0b05cdc7b8b5d5c9fe255fc32cfea12ff1dd058b
565574
rdoc (6.10.0) sha256=db665021883ac9df3ba29cdf71aece960749888db1bf9615b4a584cfa3fa3eda
566575
regexp_parser (2.9.2) sha256=5a27e767ad634f8a4b544520d5cd28a0db7aa1198a5d7c9d7e11d7b3d9066446
567576
reline (0.6.1) sha256=1afcc9d7cb1029cdbe780d72f2f09251ce46d3780050f3ec39c3ccc6b60675fb
577+
require-hooks (0.2.2) sha256=effa81b61a669ca00cb1e8910411e0d6a8bb16b49a53d9e69b5e6372d6c90f31
568578
rest-client (2.1.0) sha256=35a6400bdb14fae28596618e312776c158f7ebbb0ccad752ff4fa142bf2747e3
569579
rexml (3.4.1) sha256=c74527a9a0a04b4ec31dbe0dc4ed6004b960af943d8db42e539edde3a871abca
570580
rspec (3.13.1) sha256=b9f9a58fa915b8d94a1d6b3195fe6dd28c4c34836a6097015142c4a9ace72140
@@ -588,15 +598,15 @@ CHECKSUMS
588598
simplecov (0.22.0) sha256=fe2622c7834ff23b98066bb0a854284b2729a569ac659f82621fc22ef36213a5
589599
simplecov-html (0.12.3) sha256=4b1aad33259ffba8b29c6876c12db70e5750cb9df829486e4c6e5da4fa0aa07b
590600
simplecov_json_formatter (0.1.4) sha256=529418fbe8de1713ac2b2d612aa3daa56d316975d307244399fa4838c601b428
591-
sorbet (0.5.11952) sha256=0e5ed931243e140cd2fa42baca4a4f571fa779cbcccda40b4e44c12483120425
592-
sorbet-runtime (0.5.11952) sha256=03261787bff1d400bce3cc0d81a2aa9bc9899cdd0dfbdc2c019e427697d87edf
593-
sorbet-static (0.5.11952-universal-darwin) sha256=e24575b632d9ce90950cc64066a2cad6a2c583bb5cf1a6872a031b8d0dcd6e2f
594-
sorbet-static (0.5.11952-x86_64-linux) sha256=d6cff58d2b215a6b5c66af0df016ce45b3deb0641cfa0fe88a3072d74ad74605
595-
sorbet-static-and-runtime (0.5.11952) sha256=cb94d25267ac0d65055b4651e08c6cc81c00bbdc79735cb5099a7103a739ece8
596-
spoom (1.5.1) sha256=61dbab2059a094506210886455a513615c6915654048e3d2447223790e423095
601+
sorbet (0.6.12479) sha256=20cd75a2fe2d30bc3844133b6b73637936db95b7d87a4861ee15dd5f8ced2b0d
602+
sorbet-runtime (0.6.12479) sha256=214dc4e85e3d9f1b50ba2ef622206d47472b72a2f943922446c1aba8e01190c8
603+
sorbet-static (0.6.12479-universal-darwin) sha256=19bce446839ed32176223035018d5686a8d7ed3c68d71090545b830a27a67114
604+
sorbet-static (0.6.12479-x86_64-linux) sha256=8ccc99c428f704de99926696bbc83bce33b10565b7ff30d58bc17fb03c36e716
605+
sorbet-static-and-runtime (0.6.12479) sha256=062bdc56eacb19a4dca42140ab30d3c1405d0c4698a078214b631968392dbfdb
606+
spoom (1.7.6) sha256=32d1a38977c7c2e21b5e148c644ccacb90d8d779dc5401c8e641cd3e15afa0b0
597607
stackprof (0.2.25) sha256=28db0e2d22b817ae35def7163822505a04a026b02ef119b6aa89d70b967b0d2e
598608
stringio (3.1.2) sha256=204f1828f85cdb39d57cac4abc6dc44b04505a223f131587f2e20ae3729ba131
599-
tapioca (0.16.11) sha256=beeb388a5e2022ef8880cd24f57bc2acb59b65a4d5a6aa59bc1f10bc7b1eb1f7
609+
tapioca (0.17.7) sha256=1efb7be004f269a9cf23c97ed419338598bddfd653e3a5ac0760694e0ebfba9b
600610
terminal-table (3.0.2) sha256=f951b6af5f3e00203fb290a669e0a85c5dd5b051b3b023392ccfd67ba5abae91
601611
thor (1.3.2) sha256=eef0293b9e24158ccad7ab383ae83534b7ad4ed99c09f96f1a6b036550abbeda
602612
toml-rb (4.0.0) sha256=bc997a4114c94a65dd5287aa4784ef36cff2c80ec2ecb5980fe7d674f8ed37ea

bundler/lib/dependabot/bundler/package/package_details_fetcher.rb

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,17 +43,25 @@ def initialize(dependency:, dependency_files:, credentials:)
4343
@credentials = credentials
4444

4545
@source_type = T.let(nil, T.nilable(String))
46+
@options = T.let({}, T::Hash[Symbol, T.untyped])
47+
@repo_contents_path = T.let(nil, T.nilable(String))
4648
end
4749

4850
sig { returns(Dependabot::Dependency) }
4951
attr_reader :dependency
5052

51-
sig { returns(T::Array[T.untyped]) }
53+
sig { override.returns(T::Array[T.untyped]) }
5254
attr_reader :dependency_files
5355

54-
sig { returns(T::Array[T.untyped]) }
56+
sig { override.returns(T::Array[T.untyped]) }
5557
attr_reader :credentials
5658

59+
sig { override.returns(T::Hash[Symbol, T.untyped]) }
60+
attr_reader :options
61+
62+
sig { override.returns(T.nilable(String)) }
63+
attr_reader :repo_contents_path
64+
5765
sig { returns(Dependabot::Package::PackageDetails) }
5866
def fetch
5967
case source_type

bundler/lib/dependabot/bundler/update_checker/conflicting_dependency_resolver.rb

Lines changed: 36 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# typed: true
1+
# typed: strict
22
# frozen_string_literal: true
33

44
require "dependabot/bundler/update_checker"
@@ -10,11 +10,33 @@ module Dependabot
1010
module Bundler
1111
class UpdateChecker < UpdateCheckers::Base
1212
class ConflictingDependencyResolver
13+
extend T::Sig
14+
1315
require_relative "shared_bundler_helpers"
16+
1417
include SharedBundlerHelpers
1518

19+
sig { override.returns(T::Hash[Symbol, T.untyped]) }
1620
attr_reader :options
1721

22+
sig { override.returns(T::Array[Dependabot::Credential]) }
23+
attr_reader :credentials
24+
25+
sig { override.returns(T::Array[Dependabot::DependencyFile]) }
26+
attr_reader :dependency_files
27+
28+
sig { override.returns(T.nilable(String)) }
29+
attr_reader :repo_contents_path
30+
31+
sig do
32+
params(
33+
dependency_files: T::Array[Dependabot::DependencyFile],
34+
repo_contents_path: T.nilable(String),
35+
credentials: T::Array[Dependabot::Credential],
36+
options: T::Hash[Symbol, T.untyped]
37+
)
38+
.void
39+
end
1840
def initialize(dependency_files:, repo_contents_path:, credentials:, options:)
1941
@dependency_files = dependency_files
2042
@repo_contents_path = repo_contents_path
@@ -31,6 +53,13 @@ def initialize(dependency_files:, repo_contents_path:, credentials:, options:)
3153
# * name [String] the blocking dependencies name
3254
# * version [String] the version of the blocking dependency
3355
# * requirement [String] the requirement on the target_dependency
56+
sig do
57+
params(
58+
dependency: Dependabot::Dependency,
59+
target_version: String
60+
)
61+
.returns(T::Array[T::Hash[String, String]])
62+
end
3463
def conflicting_dependencies(dependency:, target_version:)
3564
return [] if lockfile.nil?
3665

@@ -44,16 +73,20 @@ def conflicting_dependencies(dependency:, target_version:)
4473
dependency_name: dependency.name,
4574
target_version: target_version,
4675
credentials: credentials,
47-
lockfile_name: lockfile.name
76+
lockfile_name: T.must(lockfile).name
4877
}
4978
)
5079
end
5180
end
5281

5382
private
5483

84+
sig { override.returns(String) }
5585
def bundler_version
56-
@bundler_version ||= Helpers.bundler_version(lockfile)
86+
@bundler_version ||= T.let(
87+
Helpers.bundler_version(lockfile),
88+
T.nilable(String)
89+
)
5790
end
5891
end
5992
end

0 commit comments

Comments
 (0)