From 7971b8286575812a53dfa1a22f6609cc7227ff24 Mon Sep 17 00:00:00 2001 From: Philip Harrison Date: Mon, 8 Feb 2021 14:08:53 +0000 Subject: [PATCH] Extract npm 7 check to method --- .../file_updater/npm_lockfile_updater.rb | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/npm_and_yarn/lib/dependabot/npm_and_yarn/file_updater/npm_lockfile_updater.rb b/npm_and_yarn/lib/dependabot/npm_and_yarn/file_updater/npm_lockfile_updater.rb index 7868d18f20..f4a4831b32 100644 --- a/npm_and_yarn/lib/dependabot/npm_and_yarn/file_updater/npm_lockfile_updater.rb +++ b/npm_and_yarn/lib/dependabot/npm_and_yarn/file_updater/npm_lockfile_updater.rb @@ -164,9 +164,7 @@ 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 @@ -174,7 +172,7 @@ def run_npm_top_level_updater(lockfile_name:, top_level_dependency_updates:, loc else SharedHelpers.run_helper_subprocess( command: NativeHelpers.helper_path, - function: "#{npm_version}:update", + function: "npm6:update", args: [ Dir.pwd, lockfile_name, @@ -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( @@ -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 @@ -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) @@ -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