Skip to content

Commit

Permalink
cleans up feature flag (#10706)
Browse files Browse the repository at this point in the history
  • Loading branch information
sachin-sandhu authored Oct 2, 2024
1 parent 911bcb4 commit 654de3d
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 38 deletions.
45 changes: 17 additions & 28 deletions npm_and_yarn/lib/dependabot/npm_and_yarn/package_manager.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,31 +23,24 @@ def setup(name)
# i.e. if { engines : "pnpm" : "6" } and { packageManager: "[email protected]" },
# we go for the specificity mentioned in packageManager (6.0.2)

if Dependabot::Experiments.enabled?(:enable_pnpm_yarn_dynamic_engine)
unless @package_manager&.start_with?("#{name}@") || (@package_manager&.==name.to_s) || @package_manager.nil?
return
end

unless @package_manager&.start_with?("#{name}@") || (@package_manager&.==name.to_s) || @package_manager.nil?
return
end
if @engines && @package_manager.nil?
# if "packageManager" doesn't exists in manifest file,
# we check if we can extract "engines" information
version = check_engine_version(name)

if @engines && @package_manager.nil?
# if "packageManager" doesn't exists in manifest file,
# we check if we can extract "engines" information
Dependabot.logger.info("No \"packageManager\" info found for \"#{name}\"")
version = check_engine_version(name)

elsif @package_manager&.==name.to_s
# if "packageManager" is found but no version is specified (i.e. [email protected]),
# we check if we can get "engines" info to override default version
Dependabot.logger.info("Found \"packageManager\" : \"#{@package_manager}\"")
version = check_engine_version(name) if @engines

elsif @package_manager&.start_with?("#{name}@")
# if "packageManager" info has version specification i.e. [email protected]
# we go with the version in "packageManager"
Dependabot.logger.info("Found \"packageManager\" : \"#{@package_manager}\". Skipped checking \"engines\".")
end
else
return unless @package_manager.nil? || @package_manager&.start_with?("#{name}@")
elsif @package_manager&.==name.to_s
# if "packageManager" is found but no version is specified (i.e. [email protected]),
# we check if we can get "engines" info to override default version
version = check_engine_version(name) if @engines

elsif @package_manager&.start_with?("#{name}@")
# if "packageManager" info has version specification i.e. [email protected]
# we go with the version in "packageManager"
Dependabot.logger.info("Found \"packageManager\" : \"#{@package_manager}\". Skipped checking \"engines\".")
end

version ||= requested_version(name)
Expand Down Expand Up @@ -103,7 +96,6 @@ def guessed_version(name)
lockfile = @lockfiles[name.to_sym]
return unless lockfile

Dependabot.logger.info("Estimating version")
Helpers.send(:"#{name}_version_numeric", lockfile)
end

Expand All @@ -112,10 +104,7 @@ def check_engine_version(name)
version_selector = VersionSelector.new
engine_versions = version_selector.setup(@package_json, name)

if engine_versions.empty?
Dependabot.logger.info("No relevant (engines) info for \"#{name}\"")
return
end
return if engine_versions.empty?

version = engine_versions[name]
Dependabot.logger.info("Returned (engines) info \"#{name}\" : \"#{version}\"")
Expand Down
11 changes: 1 addition & 10 deletions npm_and_yarn/lib/dependabot/npm_and_yarn/version_selector.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,7 @@ class VersionSelector
def setup(manifest_json, name)
engine_versions = manifest_json["engines"]

if engine_versions.nil?
Dependabot.logger.info("No info (engines) found")
return {}
end

# logs entries for analysis purposes
log = engine_versions.select do |engine, _value|
engine.to_s.match(name)
end
Dependabot.logger.info("Found engine info #{log}") unless log.empty?
return {} if engine_versions.nil?

# Only keep matching specs versions i.e. "20.21.2", "7.1.2",
# Additional specs can be added later
Expand Down

0 comments on commit 654de3d

Please sign in to comment.