dependabot-swift 0.381.0 → 0.383.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: 835317fde5a7149e775a7ab119612e55e865e8c1e8282acdd228d1289acb89a8
4
- data.tar.gz: 6578d5bf4b23efbeebdccd476c860cb2b44a2d7d1c3b05b18360f35300922bcd
3
+ metadata.gz: fd3b92ca6615165f561e6be3ec0d2699534b646c5e916e774a9a9e536a23c56c
4
+ data.tar.gz: 99a5a43bed40eab511e7b8948fd8972b9ba709829e3050d017fd16351823b3fe
5
5
  SHA512:
6
- metadata.gz: 1b9d60555bc0faab90604a89cb9344ec0f87de1473ea0d45667331be07488c4b6554d55785a1070c693d168e22f058f496c6740a3bddb8ed4941067cf3c619cb
7
- data.tar.gz: ffb24cb35354a649497ecac716b813eb07af5190b20aea1741422386cb31ef1fe2a01bbc4e768509fbae0e2becc77d01c05d4bfcb5fc0dcdf5a70fce9eb44456
6
+ metadata.gz: bdc51dfd64d41dce709c7ce8e83ff2e100073af1b912b3fdb11fe1f3859a6a84c799896f2d42b644629ba51bd4859fb0213e1eff4c4cdeca6b94ddb84690684c
7
+ data.tar.gz: 602b5fd558036b1af40d093f7a250bca0d6daded595ee0a6dcd43eb1a8b40ad16e46f40e38ae9378a4533d374f26046aad93d279fa6c4666e4337773cb1db362
@@ -12,7 +12,7 @@ module Dependabot
12
12
 
13
13
  # TODO: Support pinning to specific revisions
14
14
  REGEXP = T.let(
15
- /(from.*|\.upToNextMajor.*|\.upToNextMinor.*|".*"\s*\.\.[\.<]\s*".*"\s*,?|exact.*|\.exact.*)/,
15
+ /(from.*|\.upToNextMajor.*|\.upToNextMinor.*|"[^"]*"\s*\.\.[\.<]\s*"[^"]*".*|exact.*|\.exact.*)/,
16
16
  Regexp
17
17
  )
18
18
 
@@ -88,23 +88,23 @@ module Dependabot
88
88
  sig { params(declaration: String).returns([String, String]) }
89
89
  def parse_declaration(declaration)
90
90
  if up_to_next_major?
91
- min = declaration.gsub(/\Afrom\s*:\s*"(\S+?)"\s*(?:,\s*)?\z/, '\1')
91
+ min = declaration.gsub(/\Afrom\s*:\s*"(\S+?)"\s*(?:,.*)?\z/, '\1')
92
92
  max = bump_major(min)
93
93
  elsif up_to_next_major_deprecated?
94
- min = declaration.gsub(/\A\.upToNextMajor\s*\(\s*from\s*:\s*"(\S+?)"\s*(?:,\s*)?\)\s*(?:,\s*)?\z/, '\1')
94
+ min = declaration.gsub(/\A\.upToNextMajor\s*\(\s*from\s*:\s*"(\S+?)"\s*(?:,\s*)?\)\s*(?:,.*)?\z/, '\1')
95
95
  max = bump_major(min)
96
96
  elsif up_to_next_minor_deprecated?
97
- min = declaration.gsub(/\A\.upToNextMinor\s*\(\s*from\s*:\s*"(\S+?)"\s*(?:,\s*)?\)\s*(?:,\s*)?\z/, '\1')
97
+ min = declaration.gsub(/\A\.upToNextMinor\s*\(\s*from\s*:\s*"(\S+?)"\s*(?:,\s*)?\)\s*(?:,.*)?\z/, '\1')
98
98
  max = bump_minor(min)
99
99
  elsif closed_range?
100
100
  min, max = parse_range("...")
101
101
  elsif range?
102
102
  min, max = parse_range("..<")
103
103
  elsif exact_version?
104
- min = declaration.gsub(/\Aexact\s*:\s*"(\S+?)"\s*(?:,\s*)?\z/, '\1')
104
+ min = declaration.gsub(/\Aexact\s*:\s*"(\S+?)"\s*(?:,.*)?\z/, '\1')
105
105
  max = min
106
106
  elsif exact_version_deprecated?
107
- min = declaration.gsub(/\A\.exact\s*\(\s*"(\S+?)"\s*(?:,\s*)?\)\s*(?:,\s*)?\z/, '\1')
107
+ min = declaration.gsub(/\A\.exact\s*\(\s*"(\S+?)"\s*(?:,\s*)?\)\s*(?:,.*)?\z/, '\1')
108
108
  max = min
109
109
  else
110
110
  raise "Unsupported constraint: #{declaration}"
@@ -115,7 +115,10 @@ module Dependabot
115
115
 
116
116
  sig { params(separator: String).returns(T::Array[String]) }
117
117
  def parse_range(separator)
118
- declaration.delete_suffix(",").split(separator).map { |str| unquote(str.strip) }
118
+ declaration
119
+ .gsub(/("[^"]*"\s*\.\.[\.<]\s*"[^"]*").*/, '\1')
120
+ .split(separator)
121
+ .map { |str| unquote(str.strip) }
119
122
  end
120
123
 
121
124
  sig { returns(T::Boolean) }
@@ -16,12 +16,12 @@ module Dependabot
16
16
  # always contains a single element.
17
17
  sig { override.params(requirement_string: T.nilable(String)).returns(T::Array[Requirement]) }
18
18
  def self.requirements_array(requirement_string)
19
- [new(requirement_string)]
19
+ [new(T.must(requirement_string))]
20
20
  end
21
21
 
22
22
  # Patches Gem::Requirement to make it accept requirement strings like
23
23
  # "~> 4.2.5, >= 4.2.5.1" without first needing to split them.
24
- sig { params(requirements: T.untyped).void }
24
+ sig { params(requirements: T.any(String, T::Array[String])).void }
25
25
  def initialize(*requirements)
26
26
  requirements = requirements.flatten.flat_map do |req_string|
27
27
  req_string.split(",").map(&:strip)
@@ -1,6 +1,7 @@
1
1
  # typed: strict
2
2
  # frozen_string_literal: true
3
3
 
4
+ require "dependabot/dependency_requirement"
4
5
  require "dependabot/update_checkers/base"
5
6
  require "dependabot/swift/native_requirement"
6
7
  require "dependabot/swift/version"
@@ -13,14 +14,17 @@ module Dependabot
13
14
 
14
15
  sig do
15
16
  params(
16
- requirements: T::Array[T::Hash[Symbol, T.untyped]],
17
+ requirements: T::Array[Dependabot::DependencyRequirement],
17
18
  target_version: T.nilable(T.any(String, Gem::Version)),
18
19
  xcode_mode: T::Boolean,
19
20
  target_commit_sha: T.nilable(String)
20
21
  ).void
21
22
  end
22
23
  def initialize(requirements:, target_version:, xcode_mode: false, target_commit_sha: nil)
23
- @requirements = requirements
24
+ @requirements = T.let(
25
+ requirements.map { |req| Dependabot::DependencyRequirement.create(req) },
26
+ T::Array[Dependabot::DependencyRequirement]
27
+ )
24
28
  @xcode_mode = xcode_mode
25
29
  @target_commit_sha = T.let(target_commit_sha, T.nilable(String))
26
30
 
@@ -29,18 +33,19 @@ module Dependabot
29
33
  @target_version = T.let(Version.new(target_version), Dependabot::Version)
30
34
  end
31
35
 
32
- sig { returns(T::Array[T::Hash[Symbol, T.untyped]]) }
36
+ sig { returns(T::Array[Dependabot::DependencyRequirement]) }
33
37
  def updated_requirements
34
38
  return updated_xcode_requirements if xcode_mode
35
39
 
36
- NativeRequirement.map_requirements(requirements) do |requirement|
40
+ updated = NativeRequirement.map_requirements(requirements) do |requirement|
37
41
  T.must(requirement.update_if_needed(T.must(target_version)))
38
42
  end
43
+ updated.map { |req| Dependabot::DependencyRequirement.create(req) }
39
44
  end
40
45
 
41
46
  private
42
47
 
43
- sig { returns(T::Array[T.untyped]) }
48
+ sig { returns(T::Array[Dependabot::DependencyRequirement]) }
44
49
  attr_reader :requirements
45
50
 
46
51
  sig { returns(T.nilable(Gem::Version)) }
@@ -53,7 +58,7 @@ module Dependabot
53
58
  attr_reader :target_commit_sha
54
59
 
55
60
  # For Xcode projects, we update the version in the requirement while preserving the kind.
56
- sig { returns(T::Array[T::Hash[Symbol, T.untyped]]) }
61
+ sig { returns(T::Array[Dependabot::DependencyRequirement]) }
57
62
  def updated_xcode_requirements
58
63
  requirements.map do |req|
59
64
  next req unless target_version
@@ -63,7 +68,7 @@ module Dependabot
63
68
  end
64
69
  end
65
70
 
66
- sig { params(requirement: T::Hash[Symbol, T.untyped]).returns(T::Hash[Symbol, T.untyped]) }
71
+ sig { params(requirement: Dependabot::DependencyRequirement).returns(Dependabot::DependencyRequirement) }
67
72
  def update_xcode_requirement(requirement)
68
73
  metadata = requirement[:metadata] || {}
69
74
  requirement_string = metadata[:requirement_string]
@@ -75,12 +80,14 @@ module Dependabot
75
80
  # Update source ref to target version
76
81
  updated_source = update_source_ref(requirement[:source])
77
82
 
78
- requirement.merge(
79
- requirement: new_requirement,
80
- source: updated_source,
81
- metadata: metadata.merge(
82
- requirement_string: new_requirement_string
83
- ).compact
83
+ Dependabot::DependencyRequirement.create(
84
+ requirement.merge(
85
+ requirement: new_requirement,
86
+ source: updated_source,
87
+ metadata: metadata.merge(
88
+ requirement_string: new_requirement_string
89
+ ).compact
90
+ )
84
91
  )
85
92
  end
86
93
 
@@ -2,6 +2,7 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require "sorbet-runtime"
5
+ require "dependabot/dependency_requirement"
5
6
  require "dependabot/update_checkers"
6
7
  require "dependabot/update_checkers/base"
7
8
  require "dependabot/update_checkers/version_filters"
@@ -50,7 +51,7 @@ module Dependabot
50
51
  )
51
52
  end
52
53
 
53
- sig { override.returns(T::Array[T::Hash[Symbol, T.untyped]]) }
54
+ sig { override.returns(T::Array[Dependabot::DependencyRequirement]) }
54
55
  def updated_requirements
55
56
  return updated_xcode_requirements if xcode_spm_mode?
56
57
 
@@ -66,7 +67,7 @@ module Dependabot
66
67
 
67
68
  private
68
69
 
69
- sig { returns(T::Array[T::Hash[Symbol, T.untyped]]) }
70
+ sig { returns(T::Array[Dependabot::DependencyRequirement]) }
70
71
  def updated_xcode_requirements
71
72
  # If no target version is available (e.g., revision-only or branch-pinned
72
73
  # dependency), return old requirements unchanged
@@ -92,7 +93,7 @@ module Dependabot
92
93
  ).updated_requirements
93
94
  end
94
95
 
95
- sig { returns(T::Array[T::Hash[Symbol, T.untyped]]) }
96
+ sig { returns(T::Array[Dependabot::DependencyRequirement]) }
96
97
  def old_requirements
97
98
  dependency.requirements
98
99
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-swift
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.381.0
4
+ version: 0.383.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.381.0
18
+ version: 0.383.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.381.0
25
+ version: 0.383.0
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: debug
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -274,7 +274,7 @@ licenses:
274
274
  - MIT
275
275
  metadata:
276
276
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
277
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.381.0
277
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.383.0
278
278
  rdoc_options: []
279
279
  require_paths:
280
280
  - lib