summaryrefslogtreecommitdiff
path: root/cli/tools/coverage/mod.rs
diff options
context:
space:
mode:
authorGeert-Jan Zwiers <geertjanzwiers@protonmail.com>2023-03-30 19:40:22 +0200
committerGitHub <noreply@github.com>2023-03-30 17:40:22 +0000
commit206c593519681a024409d9dd23ef55b1d13d938f (patch)
tree33d9fb0809e82f2b4c30bd6fb21e1e467acd60d5 /cli/tools/coverage/mod.rs
parent30ee8465882d27499344062df05b05af99075c31 (diff)
fix(coverage): ignore files from npm registry (#18457)
Fixes https://github.com/denoland/deno/issues/17664 and part of https://github.com/denoland/deno/issues/18454 by excluding files belonging to npm modules by default in the coverage output.
Diffstat (limited to 'cli/tools/coverage/mod.rs')
-rw-r--r--cli/tools/coverage/mod.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/cli/tools/coverage/mod.rs b/cli/tools/coverage/mod.rs
index 9fead6e37..2346b3614 100644
--- a/cli/tools/coverage/mod.rs
+++ b/cli/tools/coverage/mod.rs
@@ -588,6 +588,7 @@ fn filter_coverages(
coverages: Vec<ScriptCoverage>,
include: Vec<String>,
exclude: Vec<String>,
+ npm_root_dir: &str,
) -> Vec<ScriptCoverage> {
let include: Vec<Regex> =
include.iter().map(|e| Regex::new(e).unwrap()).collect();
@@ -599,6 +600,7 @@ fn filter_coverages(
.into_iter()
.filter(|e| {
let is_internal = e.url.starts_with("ext:")
+ || e.url.starts_with(npm_root_dir)
|| e.url.ends_with("__anonymous__")
|| e.url.ends_with("$deno$test.js")
|| e.url.ends_with(".snap");
@@ -620,12 +622,14 @@ pub async fn cover_files(
}
let ps = ProcState::build(flags).await?;
+ let root_dir_url = ps.npm_resolver.root_dir_url();
let script_coverages = collect_coverages(coverage_flags.files)?;
let script_coverages = filter_coverages(
script_coverages,
coverage_flags.include,
coverage_flags.exclude,
+ root_dir_url.as_str(),
);
let proc_coverages: Vec<_> = script_coverages