diff options
author | Geert-Jan Zwiers <geertjanzwiers@protonmail.com> | 2023-03-30 19:40:22 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-30 17:40:22 +0000 |
commit | 206c593519681a024409d9dd23ef55b1d13d938f (patch) | |
tree | 33d9fb0809e82f2b4c30bd6fb21e1e467acd60d5 /cli/tools/coverage | |
parent | 30ee8465882d27499344062df05b05af99075c31 (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')
-rw-r--r-- | cli/tools/coverage/mod.rs | 4 |
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 |