dependabot-core 0.87.15 → 0.88.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/dependabot/file_fetchers.rb +0 -2
- data/lib/dependabot/file_parsers.rb +0 -2
- data/lib/dependabot/file_updaters.rb +0 -2
- data/lib/dependabot/metadata_finders.rb +0 -2
- data/lib/dependabot/pull_request_creator/message_builder.rb +1 -1
- data/lib/dependabot/update_checkers.rb +0 -2
- data/lib/dependabot/update_checkers/php/composer/version_resolver.rb +3 -2
- data/lib/dependabot/utils.rb +0 -4
- data/lib/dependabot/version.rb +1 -1
- metadata +1 -22
- data/helpers/elixir/bin/check_update.exs +0 -92
- data/helpers/elixir/bin/do_update.exs +0 -39
- data/helpers/elixir/bin/parse_deps.exs +0 -103
- data/helpers/elixir/bin/run.exs +0 -76
- data/helpers/elixir/mix.exs +0 -21
- data/helpers/elixir/mix.lock +0 -3
- data/lib/dependabot/file_fetchers/elixir/hex.rb +0 -78
- data/lib/dependabot/file_parsers/elixir/hex.rb +0 -134
- data/lib/dependabot/file_updaters/elixir/hex.rb +0 -71
- data/lib/dependabot/file_updaters/elixir/hex/lockfile_updater.rb +0 -147
- data/lib/dependabot/file_updaters/elixir/hex/mixfile_git_pin_updater.rb +0 -53
- data/lib/dependabot/file_updaters/elixir/hex/mixfile_requirement_updater.rb +0 -74
- data/lib/dependabot/file_updaters/elixir/hex/mixfile_sanitizer.rb +0 -28
- data/lib/dependabot/file_updaters/elixir/hex/mixfile_updater.rb +0 -98
- data/lib/dependabot/metadata_finders/elixir/hex.rb +0 -69
- data/lib/dependabot/update_checkers/elixir/hex.rb +0 -274
- data/lib/dependabot/update_checkers/elixir/hex/file_preparer.rb +0 -193
- data/lib/dependabot/update_checkers/elixir/hex/requirements_updater.rb +0 -177
- data/lib/dependabot/update_checkers/elixir/hex/version_resolver.rb +0 -175
- data/lib/dependabot/utils/elixir/requirement.rb +0 -54
- data/lib/dependabot/utils/elixir/version.rb +0 -66
@@ -1,54 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "dependabot/utils/elixir/version"
|
4
|
-
|
5
|
-
module Dependabot
|
6
|
-
module Utils
|
7
|
-
module Elixir
|
8
|
-
class Requirement < Gem::Requirement
|
9
|
-
AND_SEPARATOR = /\s+and\s+/.freeze
|
10
|
-
OR_SEPARATOR = /\s+or\s+/.freeze
|
11
|
-
|
12
|
-
# Add the double-equality matcher to the list of allowed operations
|
13
|
-
OPS = OPS.merge("==" => ->(v, r) { v == r })
|
14
|
-
|
15
|
-
# Override the version pattern to allow local versions
|
16
|
-
quoted = OPS.keys.map { |k| Regexp.quote k }.join "|"
|
17
|
-
PATTERN_RAW =
|
18
|
-
"\\s*(#{quoted})?\\s*(#{Utils::Elixir::Version::VERSION_PATTERN})\\s*"
|
19
|
-
PATTERN = /\A#{PATTERN_RAW}\z/.freeze
|
20
|
-
|
21
|
-
# Returns an array of requirements. At least one requirement from the
|
22
|
-
# returned array must be satisfied for a version to be valid.
|
23
|
-
def self.requirements_array(requirement_string)
|
24
|
-
requirement_string.strip.split(OR_SEPARATOR).map do |req_string|
|
25
|
-
requirements = req_string.strip.split(AND_SEPARATOR)
|
26
|
-
new(requirements)
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
# Override the parser to create Utils::Elixir::Versions
|
31
|
-
def self.parse(obj)
|
32
|
-
if obj.is_a?(Gem::Version)
|
33
|
-
return ["=", Utils::Elixir::Version.new(obj.to_s)]
|
34
|
-
end
|
35
|
-
|
36
|
-
unless (matches = PATTERN.match(obj.to_s))
|
37
|
-
msg = "Illformed requirement [#{obj.inspect}]"
|
38
|
-
raise BadRequirementError, msg
|
39
|
-
end
|
40
|
-
|
41
|
-
return DefaultRequirement if matches[1] == ">=" && matches[2] == "0"
|
42
|
-
|
43
|
-
[matches[1] || "=", Utils::Elixir::Version.new(matches[2])]
|
44
|
-
end
|
45
|
-
|
46
|
-
def satisfied_by?(version)
|
47
|
-
version = Utils::Elixir::Version.new(version.to_s)
|
48
|
-
|
49
|
-
requirements.all? { |op, rv| (OPS[op] || OPS["="]).call(version, rv) }
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
@@ -1,66 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "rubygems_version_patch"
|
4
|
-
|
5
|
-
# Elixir versions can include build information, which Ruby can't parse.
|
6
|
-
# This class augments Gem::Version with build information.
|
7
|
-
# See https://hexdocs.pm/elixir/Version.html for details.
|
8
|
-
|
9
|
-
module Dependabot
|
10
|
-
module Utils
|
11
|
-
module Elixir
|
12
|
-
class Version < Gem::Version
|
13
|
-
attr_reader :build_info
|
14
|
-
|
15
|
-
VERSION_PATTERN = Gem::Version::VERSION_PATTERN +
|
16
|
-
'(\+[0-9a-zA-Z\-.]+)?'
|
17
|
-
|
18
|
-
def self.correct?(version)
|
19
|
-
version = version.to_s.split("+").first if version.to_s.include?("+")
|
20
|
-
super
|
21
|
-
end
|
22
|
-
|
23
|
-
def initialize(version)
|
24
|
-
@version_string = version.to_s
|
25
|
-
|
26
|
-
if version.to_s.include?("+")
|
27
|
-
version, @build_info = version.to_s.split("+")
|
28
|
-
end
|
29
|
-
|
30
|
-
super
|
31
|
-
end
|
32
|
-
|
33
|
-
def to_s
|
34
|
-
@version_string
|
35
|
-
end
|
36
|
-
|
37
|
-
def inspect # :nodoc:
|
38
|
-
"#<#{self.class} #{@version_string}>"
|
39
|
-
end
|
40
|
-
|
41
|
-
def <=>(other)
|
42
|
-
version_comparison = super(other)
|
43
|
-
return version_comparison unless version_comparison.zero?
|
44
|
-
|
45
|
-
unless other.is_a?(Utils::Elixir::Version)
|
46
|
-
return build_info.nil? ? 0 : 1
|
47
|
-
end
|
48
|
-
|
49
|
-
# Build information comparison
|
50
|
-
lhsegments = build_info.to_s.split(".").map(&:downcase)
|
51
|
-
rhsegments = other.build_info.to_s.split(".").map(&:downcase)
|
52
|
-
limit = [lhsegments.count, rhsegments.count].min
|
53
|
-
|
54
|
-
lhs = ["1", *lhsegments.first(limit)].join(".")
|
55
|
-
rhs = ["1", *rhsegments.first(limit)].join(".")
|
56
|
-
|
57
|
-
local_comparison = Gem::Version.new(lhs) <=> Gem::Version.new(rhs)
|
58
|
-
|
59
|
-
return local_comparison unless local_comparison.zero?
|
60
|
-
|
61
|
-
lhsegments.count <=> rhsegments.count
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|