From bf96f8292c0e9818c8b5fc8713ca7506e4338a49 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 6 May 2026 03:38:32 +0900 Subject: refactor(console): add write macros and migrate commands to use them --- crates/mozart/src/commands/audit.rs | 115 +++++++++++++++++------------------- 1 file changed, 53 insertions(+), 62 deletions(-) (limited to 'crates/mozart/src/commands/audit.rs') diff --git a/crates/mozart/src/commands/audit.rs b/crates/mozart/src/commands/audit.rs index a1b4e4a..f9da344 100644 --- a/crates/mozart/src/commands/audit.rs +++ b/crates/mozart/src/commands/audit.rs @@ -1,10 +1,10 @@ use clap::Args; +use mozart_core::console_writeln; +use mozart_core::console_writeln_error; +use mozart_registry::packagist::SecurityAdvisory; use std::collections::BTreeMap; use std::path::Path; -use mozart_core::console::Verbosity; -use mozart_registry::packagist::SecurityAdvisory; - #[derive(Args)] pub struct AuditArgs { /// Disables auditing of require-dev packages @@ -264,12 +264,12 @@ fn filter_advisories( let installed_ver = match mozart_semver::Version::parse(version_str) { Ok(v) => v, Err(_) => { - console.write( + console_writeln_error!( + console, &format!( "Warning: could not parse version \"{}\" for package \"{}\", skipping advisory matching", version_str, pkg.name ), - Verbosity::Normal, ); continue; } @@ -292,12 +292,12 @@ fn filter_advisories( let constraint = match mozart_semver::VersionConstraint::parse(&normalized_constraint) { Ok(c) => c, Err(_) => { - console.write( + console_writeln_error!( + console, &format!( "Warning: could not parse affected versions \"{}\" for advisory \"{}\", skipping", advisory.affected_versions, advisory.advisory_id ), - Verbosity::Normal, ); continue; } @@ -393,11 +393,11 @@ fn render_table(result: &AuditResult, console: &mozart_core::console::Console) { "Found {} security vulnerability {} affecting {} package(s):", result.total_advisory_count, advisory_word, result.affected_package_count ); - console.write( + console_writeln_error!( + console, &format!("{}", mozart_core::console::highlight(&header)), - Verbosity::Normal, ); - console.write("", Verbosity::Normal); + console_writeln_error!(console, ""); for advisories in result.advisories.values() { for matched in advisories { @@ -429,9 +429,10 @@ fn render_table(result: &AuditResult, console: &mozart_core::console::Console) { vw = value_width ); - console.write(&separator, Verbosity::Normal); + console_writeln_error!(console, &separator); for (label, value) in &rows { - console.write( + console_writeln_error!( + console, &format!( "| {: console.write( + Some(repl) => console_writeln_error!( + console, &format!( "{} ({}) is abandoned. Use {} instead.", pkg.name, pkg.version, repl ), - Verbosity::Normal, ), - None => console.write( + None => console_writeln_error!( + console, &format!( "{} ({}) is abandoned. No replacement was suggested.", pkg.name, pkg.version ), - Verbosity::Normal, ), } } @@ -635,7 +626,7 @@ fn render_json( "abandoned": abandoned_map, }); - console.write_stdout(&serde_json::to_string_pretty(&output)?, Verbosity::Normal); + console_writeln!(console, &serde_json::to_string_pretty(&output)?,); Ok(()) } @@ -648,31 +639,31 @@ fn render_summary(result: &AuditResult, console: &mozart_core::console::Console) } else { "advisories" }; - console.write( + console_writeln_error!( + console, &format!( "Found {} security vulnerability {} affecting {} package(s).", result.total_advisory_count, advisory_word, result.affected_package_count ), - Verbosity::Normal, ); console.info("Run \"mozart audit\" for a full list of advisories."); } for pkg in &result.abandoned { match &pkg.replacement { - Some(repl) => console.write( + Some(repl) => console_writeln_error!( + console, &format!( "{} ({}) is abandoned. Use {} instead.", pkg.name, pkg.version, repl ), - Verbosity::Normal, ), - None => console.write( + None => console_writeln_error!( + console, &format!( "{} ({}) is abandoned. No replacement was suggested.", pkg.name, pkg.version ), - Verbosity::Normal, ), } } -- cgit v1.3.1