Skip to content

Commit

Permalink
Aggregate yarn errors
Browse files Browse the repository at this point in the history
  • Loading branch information
deivid-rodriguez committed Dec 7, 2022
1 parent 66fc969 commit b7d4087
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -149,16 +149,18 @@ def run_yarn_berry_top_level_updater(top_level_dependency_updates:, yarn_lock:)
# lockfile in the right state. Otherwise we'll need to manually update
# the lockfile.

command = if top_level_dependency_updates.all? { |dep| requirements_changed?(dep[:name]) }
"yarn install #{Helpers.yarn_berry_args}".strip
else
updates = top_level_dependency_updates.collect do |dep|
dep[:name]
end

"yarn up -R #{updates.join(' ')} #{Helpers.yarn_berry_args}".strip
end
Helpers.run_yarn_commands(command)
if top_level_dependency_updates.all? { |dep| requirements_changed?(dep[:name]) }
Helpers.run_yarn_command("yarn install #{yarn_berry_args}".strip)
else
updates = top_level_dependency_updates.collect do |dep|
dep[:name]
end

Helpers.run_yarn_command(
"yarn up -R #{updates.join(' ')} #{yarn_berry_args}".strip,
fingerprint: "yarn up -R <dependency_names> #{yarn_berry_args}".strip
)
end
{ yarn_lock.name => File.read(yarn_lock.name) }
end

Expand All @@ -171,14 +173,20 @@ def run_yarn_berry_subdependency_updater(yarn_lock:)
dep = sub_dependencies.first
update = "#{dep.name}@#{dep.version}"

Helpers.run_yarn_commands(
"yarn add #{update} #{Helpers.yarn_berry_args}".strip,
"yarn dedupe #{dep.name} #{Helpers.yarn_berry_args}".strip,
"yarn remove #{dep.name} #{Helpers.yarn_berry_args}".strip
)
commands = [
["yarn add #{update} #{yarn_berry_args}".strip, "yarn add <update> #{yarn_berry_args}".strip],
["yarn dedupe #{dep.name} #{yarn_berry_args}".strip, "yarn dedupe <dep_name> #{yarn_berry_args}".strip],
["yarn remove #{dep.name} #{yarn_berry_args}".strip, "yarn remove <dep_name> #{yarn_berry_args}".strip]
]

Helpers.run_yarn_commands(*commands)
{ yarn_lock.name => File.read(yarn_lock.name) }
end

def yarn_berry_args
Helpers.yarn_berry_args
end

def run_yarn_top_level_updater(top_level_dependency_updates:)
SharedHelpers.run_helper_subprocess(
command: NativeHelpers.helper_path,
Expand Down
6 changes: 3 additions & 3 deletions npm_and_yarn/lib/dependabot/npm_and_yarn/helpers.rb
Original file line number Diff line number Diff line change
Expand Up @@ -85,13 +85,13 @@ def self.setup_yarn_berry
# contain malicious code.
def self.run_yarn_commands(*commands)
setup_yarn_berry
commands.each { |cmd| SharedHelpers.run_shell_command(cmd) }
commands.each { |cmd, fingerprint| SharedHelpers.run_shell_command(cmd, fingerprint: fingerprint) }
end

# Run a single yarn command returning stdout/stderr
def self.run_yarn_command(command)
def self.run_yarn_command(command, fingerprint: nil)
setup_yarn_berry
SharedHelpers.run_shell_command(command)
SharedHelpers.run_shell_command(command, fingerprint: fingerprint)
end

def self.dependencies_with_all_versions_metadata(dependency_set)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,8 +116,9 @@ def run_yarn_updater(path, lockfile_name)
def run_yarn_berry_updater(path, lockfile_name)
SharedHelpers.with_git_configured(credentials: credentials) do
Dir.chdir(path) do
Helpers.run_yarn_commands(
"yarn up -R #{dependency.name} #{Helpers.yarn_berry_args}".strip
Helpers.run_yarn_command(
"yarn up -R #{dependency.name} #{Helpers.yarn_berry_args}".strip,
fingerprint: "yarn up -R <dependency_name> #{Helpers.yarn_berry_args}".strip
)
{ lockfile_name => File.read(lockfile_name) }
end
Expand Down

0 comments on commit b7d4087

Please sign in to comment.