Skip to content

Commit

Permalink
Extract npm 7 check to method
Browse files Browse the repository at this point in the history
  • Loading branch information
feelepxyz committed Feb 8, 2021
1 parent 720e663 commit 7971b82
Showing 1 changed file with 9 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -164,17 +164,15 @@ def run_npm_updater(lockfile_name:, top_level_dependency_updates:, lockfile_cont
end

def run_npm_top_level_updater(lockfile_name:, top_level_dependency_updates:, lockfile_content:)
npm_version = Dependabot::NpmAndYarn::Helpers.npm_version(lockfile_content)

if npm_version == "npm7"
if npm7?(lockfile_content)
run_npm_7_top_level_updater(
lockfile_name: lockfile_name,
top_level_dependency_updates: top_level_dependency_updates
)
else
SharedHelpers.run_helper_subprocess(
command: NativeHelpers.helper_path,
function: "#{npm_version}:update",
function: "npm6:update",
args: [
Dir.pwd,
lockfile_name,
Expand Down Expand Up @@ -210,9 +208,7 @@ def run_npm_7_top_level_updater(lockfile_name:, top_level_dependency_updates:)
end

def run_npm_subdependency_updater(lockfile_name:, lockfile_content:)
npm_version = Dependabot::NpmAndYarn::Helpers.npm_version(lockfile_content)

if npm_version == "npm7"
if npm7?(lockfile_content)
run_npm_7_subdependency_updater(lockfile_name: lockfile_name)
else
SharedHelpers.run_helper_subprocess(
Expand Down Expand Up @@ -659,8 +655,7 @@ def post_process_npm_lockfile(original_content, updated_content, lockfile_name)
# need to copy this from the manifest to the lockfile after the update
# has finished.
def restore_locked_package_dependencies(lockfile_name, lockfile_content)
npm_version = Dependabot::NpmAndYarn::Helpers.npm_version(lockfile_content)
return lockfile_content unless npm_version == "npm7"
return lockfile_content unless npm7?(lockfile_content)

original_package = updated_package_json_content_for_lockfile_name(lockfile_name)
return lockfile_content unless original_package
Expand Down Expand Up @@ -706,8 +701,7 @@ def replace_locked_git_dependencies(lockfile_content)
# updates the lockfile "from" field to the new git commit when we
# run npm install
original_from = %("from": "#{details[:from]}")
npm_version = Dependabot::NpmAndYarn::Helpers.npm_version(lockfile_content)
if npm_version == "npm7"
if npm7?(lockfile_content)
# NOTE: The `from` syntax has changed in npm 7 to inclued the dependency name
npm7_locked_from = %("from": "#{dependency_name}@#{details[:version]}")
lockfile_content = lockfile_content.gsub(npm7_locked_from, original_from)
Expand Down Expand Up @@ -793,6 +787,10 @@ def npmrc_disables_lockfile?
npmrc_content.match?(/^package-lock\s*=\s*false/)
end

def npm7?(lockfile_content)
Dependabot::NpmAndYarn::Helpers.npm_version(lockfile_content) == "npm7"
end

def sanitized_package_json_content(content)
content.
gsub(/\{\{[^\}]*?\}\}/, "something"). # {{ nm }} syntax not allowed
Expand Down

0 comments on commit 7971b82

Please sign in to comment.