fix(audit): remove unwrap in favor of log, don't print empty reports (#31479)
Some checks are pending
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions

Changes to print reports from socket.dev, only if something is found.
This commit is contained in:
Bartek Iwańczuk 2025-12-03 00:30:57 +01:00 committed by GitHub
parent 746f60d2a4
commit 62e63ac9ca
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -663,10 +663,14 @@ mod socket_dev {
None
}
})
.map(|json_response| {
let response: FirewallResponse =
serde_json::from_str(&json_response).unwrap();
response
.filter_map(|json_response| {
match serde_json::from_str::<FirewallResponse>(&json_response) {
Ok(response) => Some(response),
Err(err) => {
log::error!("Failed deserializing socket.dev response {:?}", err);
None
}
}
})
.collect::<Vec<_>>();
@ -676,6 +680,15 @@ mod socket_dev {
fn print_firewall_report(responses: &[FirewallResponse]) {
let stdout = &mut std::io::stdout();
let responses_with_alerts = responses
.iter()
.filter(|r| !r.alerts.is_empty())
.collect::<Vec<_>>();
if responses_with_alerts.is_empty() {
return;
}
_ = writeln!(stdout);
_ = writeln!(stdout, "{}", colors::bold("Socket.dev firewall report"));
_ = writeln!(stdout);
@ -687,11 +700,7 @@ mod socket_dev {
let mut total_low = 0;
let mut packages_with_issues = 0;
for response in responses {
if response.alerts.is_empty() && response.score.is_none() {
continue;
}
for response in responses_with_alerts {
packages_with_issues += 1;
_ = writeln!(stdout, "╭ pkg:npm/{}@{}", response.name, response.version);