Skip to content

Commit

Permalink
Merge branch 'main' into kamil/update_package_manager_abstraction_for…
Browse files Browse the repository at this point in the history
…_bundler_and_composer
  • Loading branch information
kbukum1 authored Oct 27, 2024
2 parents 4afe079 + 6399c74 commit 10c3917
Show file tree
Hide file tree
Showing 5 changed files with 82 additions and 30 deletions.
46 changes: 23 additions & 23 deletions npm_and_yarn/helpers/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion npm_and_yarn/helpers/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"patch-package": "^8.0.0"
},
"devDependencies": {
"eslint": "^9.12.0",
"eslint": "^9.13.0",
"eslint-config-prettier": "^9.1.0",
"jest": "^29.7.0",
"prettier": "^3.3.3"
Expand Down
4 changes: 2 additions & 2 deletions python/lib/dependabot/python/update_checker.rb
Original file line number Diff line number Diff line change
Expand Up @@ -234,8 +234,8 @@ def updated_version_req_lower_bound
.reject { |req_string| req_string.start_with?("<") }
.select { |req_string| req_string.match?(VERSION_REGEX) }
.map { |req_string| req_string.match(VERSION_REGEX) }
.select { |version| Gem::Version.correct?(version) }
.max_by { |version| Gem::Version.new(version) }
.select { |version| Python::Version.correct?(version) }
.max_by { |version| Python::Version.new(version) }

">=#{version_for_requirement || 0}"
end
Expand Down
32 changes: 32 additions & 0 deletions python/lib/dependabot/python/version.rb
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,38 @@ def lowest_prerelease_suffix
"dev0"
end

sig { override.returns(T::Array[String]) }
def ignored_patch_versions
parts = release_segment # e.g [1,2,3] if version is 1.2.3-alpha3
version_parts = parts.fill(0, parts.length...2)
upper_parts = version_parts.first(1) + [version_parts[1].to_i + 1] + [lowest_prerelease_suffix]
lower_bound = "> #{self}"
upper_bound = "< #{upper_parts.join('.')}"

["#{lower_bound}, #{upper_bound}"]
end

sig { override.returns(T::Array[String]) }
def ignored_minor_versions
parts = release_segment # e.g [1,2,3] if version is 1.2.3-alpha3
version_parts = parts.fill(0, parts.length...2)
lower_parts = version_parts.first(1) + [version_parts[1].to_i + 1] + [lowest_prerelease_suffix]
upper_parts = version_parts.first(0) + [version_parts[0].to_i + 1] + [lowest_prerelease_suffix]
lower_bound = ">= #{lower_parts.join('.')}"
upper_bound = "< #{upper_parts.join('.')}"

["#{lower_bound}, #{upper_bound}"]
end

sig { override.returns(T::Array[String]) }
def ignored_major_versions
version_parts = release_segment # e.g [1,2,3] if version is 1.2.3-alpha3
lower_parts = [version_parts[0].to_i + 1] + [lowest_prerelease_suffix] # earliest next major version prerelease
lower_bound = ">= #{lower_parts.join('.')}"

[lower_bound]
end

private

sig { params(other: Dependabot::Python::Version).returns(Integer) }
Expand Down
28 changes: 24 additions & 4 deletions python/spec/dependabot/python/version_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -77,10 +77,6 @@
describe ".new" do
subject(:version) { described_class.new(version_string) }

before do
Dependabot::Experiments.register(:python_new_version, true)
end

context "with an empty string" do
let(:version_string) { "" }
let(:error_msg) { "Malformed version string - string is empty" }
Expand Down Expand Up @@ -342,6 +338,30 @@
it { is_expected.to eq "dev0" }
end

describe "#ignored_major_versions" do
subject(:ignored_versions) { version.ignored_major_versions }

let(:version_string) { "1.2.3-alpha.1" }

it { is_expected.to eq([">= 2.dev0"]) }
end

describe "#ignored_minor_versions" do
subject(:ignored_versions) { version.ignored_minor_versions }

let(:version_string) { "1.2.3-alpha.1" }

it { is_expected.to eq([">= 1.3.dev0, < 2.dev0"]) }
end

describe "#ignored_patch_versions" do
subject(:ignored_versions) { version.ignored_patch_versions }

let(:version_string) { "1.2.3-alpha.1" }

it { is_expected.to eq(["> #{version_string}, < 1.3.dev0"]) }
end

describe "compatibility with Gem::Requirement" do
subject { requirement.satisfied_by?(version) }

Expand Down

0 comments on commit 10c3917

Please sign in to comment.