Skip to content

Commit

Permalink
Remove FF and tests for npm6 deprecation and unsupported error
Browse files Browse the repository at this point in the history
  • Loading branch information
amazimbe committed Feb 20, 2025
1 parent c0899ec commit d008325
Show file tree
Hide file tree
Showing 12 changed files with 20 additions and 187 deletions.
2 changes: 0 additions & 2 deletions bun/spec/dependabot/bun/file_updater_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,6 @@
.with(:enable_corepack_for_npm_and_yarn).and_return(enable_corepack_for_npm_and_yarn)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:enable_shared_helpers_command_timeout).and_return(true)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:npm_v6_deprecation_warning).and_return(true)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:avoid_duplicate_updates_package_json).and_return(false)
end
Expand Down
6 changes: 0 additions & 6 deletions npm_and_yarn/lib/dependabot/npm_and_yarn/helpers.rb
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,6 @@ module Helpers # rubocop:disable Metrics/ModuleLength
# Otherwise, we are going to use old versionining npm 6
sig { params(lockfile: T.nilable(DependencyFile)).returns(Integer) }
def self.npm_version_numeric(lockfile)
return npm_version_numeric_latest(lockfile) if Dependabot::Experiments.enabled?(:npm_v6_deprecation_warning)

fallback_version_npm8 = Dependabot::Experiments.enabled?(:npm_fallback_version_above_v6)

return npm_version_numeric_npm8_or_higher(lockfile) if fallback_version_npm8
Expand Down Expand Up @@ -184,10 +182,6 @@ def self.fetch_yarnrc_yml_value(key, default_value)
def self.npm8?(package_lock)
return true unless package_lock&.content

if Dependabot::Experiments.enabled?(:npm_v6_deprecation_warning)
return npm_version_numeric_latest(package_lock) >= NPM_V8
end

npm_version_numeric(package_lock) == NPM_V8
end

Expand Down
14 changes: 0 additions & 14 deletions npm_and_yarn/lib/dependabot/npm_and_yarn/npm_package_manager.rb
Original file line number Diff line number Diff line change
Expand Up @@ -45,20 +45,6 @@ def initialize(detected_version: nil, raw_version: nil, requirement: nil)
requirement: requirement
)
end

sig { override.returns(T::Boolean) }
def deprecated?
return false unless Dependabot::Experiments.enabled?(:npm_v6_deprecation_warning)

super
end

sig { override.returns(T::Boolean) }
def unsupported?
return false unless Dependabot::Experiments.enabled?(:npm_v6_unsupported_error)

super
end
end
end
end
2 changes: 0 additions & 2 deletions npm_and_yarn/spec/dependabot/npm_and_yarn/file_parser_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,6 @@
.with(:enable_corepack_for_npm_and_yarn).and_return(enable_corepack_for_npm_and_yarn)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:enable_shared_helpers_command_timeout).and_return(true)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:npm_v6_deprecation_warning).and_return(true)
end

after do
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,6 @@
.with(:enable_corepack_for_npm_and_yarn).and_return(enable_corepack_for_npm_and_yarn)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:enable_shared_helpers_command_timeout).and_return(true)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:npm_v6_deprecation_warning).and_return(true)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:avoid_duplicate_updates_package_json).and_return(false)
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,6 @@
.with(:enable_corepack_for_npm_and_yarn).and_return(enable_corepack_for_npm_and_yarn)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:enable_shared_helpers_command_timeout).and_return(true)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:npm_v6_deprecation_warning).and_return(true)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:avoid_duplicate_updates_package_json).and_return(false)
end
Expand Down
8 changes: 1 addition & 7 deletions npm_and_yarn/spec/dependabot/npm_and_yarn/helpers_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,7 @@
context "when the feature flag :enable_corepack_for_npm_and_yarn is enabled" do
before do
allow(Dependabot::Experiments).to receive(:enabled?).with(:enable_corepack_for_npm_and_yarn).and_return(true)
allow(Dependabot::Experiments).to receive(:enabled?).with(:npm_v6_deprecation_warning).and_return(true)
allow(Dependabot::Experiments).to receive(:enabled?).with(:npm_fallback_version_above_v6).and_return(true)
end

it "returns true if lockfileVersion is 3 or higher" do
Expand All @@ -393,17 +393,11 @@
context "when the feature flag :enable_corepack_for_npm_and_yarn is disabled" do
before do
allow(Dependabot::Experiments).to receive(:enabled?).with(:enable_corepack_for_npm_and_yarn).and_return(false)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:npm_v6_deprecation_warning)
.and_return(true)
end

context "when :npm_fallback_version_above_v6 is enabled" do
before do
allow(Dependabot::Experiments).to receive(:enabled?).with(:npm_fallback_version_above_v6).and_return(true)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:npm_v6_deprecation_warning)
.and_return(true)
end

it "returns true if lockfileVersion is 2 or higher" do
Expand Down
114 changes: 19 additions & 95 deletions npm_and_yarn/spec/dependabot/npm_and_yarn/npm_package_manager_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -43,132 +43,56 @@
end

describe "#deprecated?" do
let(:detected_version) { "6" }
let(:raw_version) { "8.0.1" }

it "returns false" do
expect(package_manager.deprecated?).to be false
end

context "with feature flag npm_v6_deprecation_warning" do
before do
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:npm_v6_deprecation_warning)
.and_return(deprecation_enabled)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:npm_v6_unsupported_error)
.and_return(unsupported_enabled)
end

context "when npm_v6_deprecation_warning is enabled and version is deprecated" do
let(:deprecation_enabled) { true }
let(:unsupported_enabled) { false }

it "returns true" do
expect(package_manager.deprecated?).to be true
end
end

context "when npm_v6_deprecation_warning is enabled but version is not deprecated" do
let(:detected_version) { "9" }
let(:deprecation_enabled) { true }
let(:unsupported_enabled) { false }
context "when detected version is unsupported" do
let(:detected_version) { "6" }

it "returns false" do
expect(package_manager.deprecated?).to be false
end
it "returns false as unsupported takes precedence" do
expect(package_manager.deprecated?).to be false
end
end

context "when npm_v6_deprecation_warning is disabled" do
let(:deprecation_enabled) { false }
let(:unsupported_enabled) { false }
context "when detected version is deprecated but not unsupported" do
let(:detected_version) { "6" }

it "returns false" do
expect(package_manager.deprecated?).to be false
end
before do
allow(package_manager).to receive(:unsupported?).and_return(false)
end

context "when version is unsupported" do
let(:deprecation_enabled) { true }
let(:unsupported_enabled) { true }

it "returns false, as unsupported takes precedence" do
expect(package_manager.deprecated?).to be false
end
it "returns true" do
expect(package_manager.deprecated?).to be true
end
end
end

describe "#unsupported?" do
let(:detected_version) { "5" }
let(:raw_version) { "8.0.1" }

it "returns false for supported versions" do
it "returns false" do
expect(package_manager.unsupported?).to be false
end

context "with feature flag npm_v6_unsupported_error" do
before do
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:npm_v6_unsupported_error)
.and_return(unsupported_enabled)
end

context "when npm_v6_unsupported_error is enabled and version is unsupported" do
let(:detected_version) { "6" }
let(:raw_version) { "8.0.1" }

let(:unsupported_enabled) { true }

it "returns true" do
expect(package_manager.unsupported?).to be true
end
end

context "when npm_v6_unsupported_error is enabled but version is supported" do
let(:detected_version) { "7" }
let(:raw_version) { "8.0.1" }

let(:unsupported_enabled) { true }

it "returns false" do
expect(package_manager.unsupported?).to be false
end
end

context "when npm_v6_unsupported_error is disabled" do
let(:unsupported_enabled) { false }
context "when version is unsupported" do
let(:detected_version) { "6" }

it "returns false" do
expect(package_manager.unsupported?).to be false
end
it "returns true" do
expect(package_manager.unsupported?).to be true
end
end
end

describe "#raise_if_unsupported!" do
before do
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:npm_v6_unsupported_error)
.and_return(unsupported_enabled)
it "does not raise error" do
expect { package_manager.raise_if_unsupported! }.not_to raise_error
end

context "when npm_v6_unsupported_error is enabled and version is unsupported" do
context "when detected version is deprecated" do
let(:detected_version) { "6" }
let(:unsupported_enabled) { true }

it "raises a ToolVersionNotSupported error" do
expect { package_manager.raise_if_unsupported! }.to raise_error(Dependabot::ToolVersionNotSupported)
end
end

context "when npm_v6_unsupported_error is disabled" do
let(:detected_version) { "6" }
let(:unsupported_enabled) { false }

it "does not raise an error" do
expect { package_manager.raise_if_unsupported! }.not_to raise_error
end
end
end
end
Original file line number Diff line number Diff line change
Expand Up @@ -73,12 +73,6 @@
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:npm_fallback_version_above_v6)
.and_return(false)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:npm_v6_deprecation_warning)
.and_return(true)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:npm_v6_unsupported_error)
.and_return(false)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:enable_shared_helpers_command_timeout)
.and_return(true)
Expand Down Expand Up @@ -139,39 +133,6 @@
end
end

context "when package manager has been deprecated" do
subject(:package_manager) { helper.package_manager }

let(:lockfiles) { { npm: npm_lockfile } }
let(:package_json) { { "packageManager" => "npm@6" } }
let(:npm_lockfile) do
instance_double(
Dependabot::DependencyFile,
name: "package-lock.json",
content: <<~LOCKFILE
{
"name": "example-npm-project",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-abc123"
}
}
}
LOCKFILE
)
end

it "returns the deprecated package manager" do
expect(package_manager.deprecated?).to be true
expect(package_manager.detected_version.to_s).to eq "6"
end
end

context "when package manager is no longer supported" do
subject(:package_manager) { helper.package_manager }

Expand Down Expand Up @@ -203,12 +164,6 @@
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:npm_fallback_version_above_v6)
.and_return(false)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:npm_v6_deprecation_warning)
.and_return(false)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:npm_v6_unsupported_error)
.and_return(true)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:enable_shared_helpers_command_timeout)
.and_return(true)
Expand Down Expand Up @@ -253,12 +208,6 @@
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:npm_fallback_version_above_v6)
.and_return(false)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:npm_v6_deprecation_warning)
.and_return(false)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:npm_v6_unsupported_error)
.and_return(true)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:enable_shared_helpers_command_timeout)
.and_return(true)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,6 @@
.with(:enable_corepack_for_npm_and_yarn).and_return(enable_corepack_for_npm_and_yarn)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:enable_shared_helpers_command_timeout).and_return(true)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:npm_v6_deprecation_warning).and_return(true)
end

after do
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,6 @@
.with(:enable_corepack_for_npm_and_yarn).and_return(enable_corepack_for_npm_and_yarn)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:enable_shared_helpers_command_timeout).and_return(true)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:npm_v6_deprecation_warning).and_return(true)
end

after do
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,6 @@
.with(:npm_fallback_version_above_v6).and_return(npm_fallback_version_above_v6_enabled)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:enable_shared_helpers_command_timeout).and_return(true)
allow(Dependabot::Experiments).to receive(:enabled?)
.with(:npm_v6_deprecation_warning).and_return(true)
end

after do
Expand Down

0 comments on commit d008325

Please sign in to comment.