From b51b0c834b596383084d4a9991695759af9d27ad Mon Sep 17 00:00:00 2001 From: WenheLI Date: Tue, 7 Dec 2021 18:21:04 -0600 Subject: feat(cli): use deno fmt for lock and coverage files (#13018) --- cli/lockfile.rs | 6 +++++- cli/tools/coverage.rs | 8 ++++++-- cli/tools/fmt.rs | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) (limited to 'cli') diff --git a/cli/lockfile.rs b/cli/lockfile.rs index 6b553bd15..5df3b1213 100644 --- a/cli/lockfile.rs +++ b/cli/lockfile.rs @@ -12,6 +12,8 @@ use std::path::PathBuf; use std::rc::Rc; use std::sync::Arc; +use crate::tools::fmt::format_json; + #[derive(Debug, Clone)] pub struct Lockfile { write: bool, @@ -42,13 +44,15 @@ impl Lockfile { } let j = json!(&self.map); let s = serde_json::to_string_pretty(&j).unwrap(); + + let format_s = format_json(&s, &Default::default()).unwrap_or(s); let mut f = std::fs::OpenOptions::new() .write(true) .create(true) .truncate(true) .open(&self.filename)?; use std::io::Write; - f.write_all(s.as_bytes())?; + f.write_all(format_s.as_bytes())?; debug!("lockfile write {}", self.filename.display()); Ok(()) } diff --git a/cli/tools/coverage.rs b/cli/tools/coverage.rs index 60c87687a..7204c0485 100644 --- a/cli/tools/coverage.rs +++ b/cli/tools/coverage.rs @@ -6,6 +6,7 @@ use crate::flags::Flags; use crate::fs_util::collect_files; use crate::proc_state::ProcState; use crate::source_maps::SourceMapGetter; +use crate::tools::fmt::format_json; use deno_ast::swc::common::Span; use deno_ast::MediaType; @@ -158,8 +159,11 @@ impl CoverageCollector { let filepath = self.dir.join(filename); let mut out = BufWriter::new(File::create(filepath)?); - serde_json::to_writer_pretty(&mut out, &script_coverage)?; - out.write_all(b"\n")?; + let coverage = serde_json::to_string(&script_coverage)?; + let formated_coverage = + format_json(&coverage, &Default::default()).unwrap_or(coverage); + + out.write_all(formated_coverage.as_bytes())?; out.flush()?; } diff --git a/cli/tools/fmt.rs b/cli/tools/fmt.rs index 9a61851d3..2149552cd 100644 --- a/cli/tools/fmt.rs +++ b/cli/tools/fmt.rs @@ -209,7 +209,7 @@ fn format_markdown( /// Formats JSON and JSONC using the rules provided by .deno() /// of configuration builder of . /// See for configuration. -fn format_json( +pub fn format_json( file_text: &str, fmt_options: &FmtOptionsConfig, ) -> Result { -- cgit v1.2.3