summaryrefslogtreecommitdiff
path: root/cli/tools/coverage.rs
diff options
context:
space:
mode:
authorCasper Beyer <caspervonb@pm.me>2021-06-29 09:39:19 +0800
committerGitHub <noreply@github.com>2021-06-29 03:39:19 +0200
commit96d05829002ef065b8fc84fe70de062cff0e95b3 (patch)
tree21320be9de8228edb718d5fa536ae5d2282f8eed /cli/tools/coverage.rs
parentc577c273a467123851be5ce3b0bba1095e6cd621 (diff)
fix(cli): pretty print coverage files (#11157)
Diffstat (limited to 'cli/tools/coverage.rs')
-rw-r--r--cli/tools/coverage.rs11
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?;