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.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/lib/dependabot/file_fetchers.rb +0 -2
  4. data/lib/dependabot/file_parsers.rb +0 -2
  5. data/lib/dependabot/file_updaters.rb +0 -2
  6. data/lib/dependabot/metadata_finders.rb +0 -2
  7. data/lib/dependabot/pull_request_creator/message_builder.rb +1 -1
  8. data/lib/dependabot/update_checkers.rb +0 -2
  9. data/lib/dependabot/update_checkers/php/composer/version_resolver.rb +3 -2
  10. data/lib/dependabot/utils.rb +0 -4
  11. data/lib/dependabot/version.rb +1 -1
  12. metadata +1 -22
  13. data/helpers/elixir/bin/check_update.exs +0 -92
  14. data/helpers/elixir/bin/do_update.exs +0 -39
  15. data/helpers/elixir/bin/parse_deps.exs +0 -103
  16. data/helpers/elixir/bin/run.exs +0 -76
  17. data/helpers/elixir/mix.exs +0 -21
  18. data/helpers/elixir/mix.lock +0 -3
  19. data/lib/dependabot/file_fetchers/elixir/hex.rb +0 -78
  20. data/lib/dependabot/file_parsers/elixir/hex.rb +0 -134
  21. data/lib/dependabot/file_updaters/elixir/hex.rb +0 -71
  22. data/lib/dependabot/file_updaters/elixir/hex/lockfile_updater.rb +0 -147
  23. data/lib/dependabot/file_updaters/elixir/hex/mixfile_git_pin_updater.rb +0 -53
  24. data/lib/dependabot/file_updaters/elixir/hex/mixfile_requirement_updater.rb +0 -74
  25. data/lib/dependabot/file_updaters/elixir/hex/mixfile_sanitizer.rb +0 -28
  26. data/lib/dependabot/file_updaters/elixir/hex/mixfile_updater.rb +0 -98
  27. data/lib/dependabot/metadata_finders/elixir/hex.rb +0 -69
  28. data/lib/dependabot/update_checkers/elixir/hex.rb +0 -274
  29. data/lib/dependabot/update_checkers/elixir/hex/file_preparer.rb +0 -193
  30. data/lib/dependabot/update_checkers/elixir/hex/requirements_updater.rb +0 -177
  31. data/lib/dependabot/update_checkers/elixir/hex/version_resolver.rb +0 -175
  32. data/lib/dependabot/utils/elixir/requirement.rb +0 -54
  33. 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