diff options
author | Casper Beyer <caspervonb@pm.me> | 2021-06-29 09:39:19 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-29 03:39:19 +0200 |
commit | 96d05829002ef065b8fc84fe70de062cff0e95b3 (patch) | |
tree | 21320be9de8228edb718d5fa536ae5d2282f8eed /cli/tools/coverage.rs | |
parent | c577c273a467123851be5ce3b0bba1095e6cd621 (diff) |
fix(cli): pretty print coverage files (#11157)
Diffstat (limited to 'cli/tools/coverage.rs')
-rw-r--r-- | cli/tools/coverage.rs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/cli/tools/coverage.rs b/cli/tools/coverage.rs index 9a64cd5f3..c7d7a2cb7 100644 --- a/cli/tools/coverage.rs +++ b/cli/tools/coverage.rs @@ -20,6 +20,9 @@ use serde::Deserialize; use serde::Serialize; use sourcemap::SourceMap; use std::fs; +use std::fs::File; +use std::io::BufWriter; +use std::io::Write; use std::path::PathBuf; use swc_common::Span; use uuid::Uuid; @@ -61,8 +64,12 @@ impl CoverageCollector { let script_coverages = take_coverage_result.result; for script_coverage in script_coverages { let filename = format!("{}.json", Uuid::new_v4()); - let json = serde_json::to_string(&script_coverage)?; - fs::write(self.dir.join(filename), &json)?; + 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")?; + out.flush()?; } self.session.post_message("Profiler.disable", None).await?; |