Module: Dependabot::Composer::Helpers

Defined in:
lib/dependabot/composer/helpers.rb

Constant Summary collapse

COMPOSER_V2_NAME_REGEX =

From composers json-schema: getcomposer.org/schema.json

%r{^[a-z0-9]([_.-]?[a-z0-9]+)*/[a-z0-9](([_.]?|-{0,2})[a-z0-9]+)*$}.freeze

Class Method Summary collapse

Class Method Details

.composer_version(composer_json, parsed_lockfile = nil) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/dependabot/composer/helpers.rb', line 11

def self.composer_version(composer_json, parsed_lockfile = nil)
  return "v1" if composer_json["name"] && composer_json["name"] !~ COMPOSER_V2_NAME_REGEX
  return "v1" if invalid_v2_requirement?(composer_json)
  return "v2" unless parsed_lockfile && parsed_lockfile["plugin-api-version"]

  version = Composer::Version.new(parsed_lockfile["plugin-api-version"])
  version.canonical_segments.first == 1 ? "v1" : "v2"
end