From 68fecc6de4b2e6556adeb2730798bf42017c4be6 Mon Sep 17 00:00:00 2001 From: David Sherret Date: Wed, 27 Mar 2024 14:25:39 -0400 Subject: fix: less aggressive vendor folder ignoring (#23100) This is slightly breaking as some users want the `vendor` folder excluded and may not have that specified in their deno.json. Closes #22833 --- cli/util/fs.rs | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'cli/util') diff --git a/cli/util/fs.rs b/cli/util/fs.rs index 047bf18dc..ba55eb89d 100644 --- a/cli/util/fs.rs +++ b/cli/util/fs.rs @@ -260,7 +260,6 @@ pub struct FileCollector bool> { file_filter: TFilter, ignore_git_folder: bool, ignore_node_modules: bool, - ignore_vendor_folder: bool, vendor_folder: Option, use_gitignore: bool, } @@ -271,7 +270,6 @@ impl bool> FileCollector { file_filter, ignore_git_folder: false, ignore_node_modules: false, - ignore_vendor_folder: false, vendor_folder: None, use_gitignore: false, } @@ -282,11 +280,6 @@ impl bool> FileCollector { self } - pub fn ignore_vendor_folder(mut self) -> Self { - self.ignore_vendor_folder = true; - self - } - pub fn set_vendor_folder(mut self, vendor_folder: Option) -> Self { self.vendor_folder = vendor_folder; self @@ -422,7 +415,6 @@ impl bool> FileCollector { let dir_name = dir_name.to_string_lossy().to_lowercase(); let is_ignored_file = match dir_name.as_str() { "node_modules" => self.ignore_node_modules, - "vendor" => self.ignore_vendor_folder, ".git" => self.ignore_git_folder, _ => false, }; @@ -446,6 +438,7 @@ impl bool> FileCollector { /// Note: This ignores all .git and node_modules folders. pub fn collect_specifiers( mut files: FilePatterns, + vendor_folder: Option, predicate: impl Fn(WalkEntry) -> bool, ) -> Result, AnyError> { let mut prepared = vec![]; @@ -484,7 +477,7 @@ pub fn collect_specifiers( let collected_files = FileCollector::new(predicate) .ignore_git_folder() .ignore_node_modules() - .ignore_vendor_folder() + .set_vendor_folder(vendor_folder) .collect_file_patterns(files)?; let mut collected_files_as_urls = collected_files .iter() @@ -958,7 +951,7 @@ mod tests { let file_collector = file_collector .ignore_git_folder() .ignore_node_modules() - .ignore_vendor_folder(); + .set_vendor_folder(Some(child_dir_path.join("vendor").to_path_buf())); let result = file_collector .collect_file_patterns(file_patterns.clone()) .unwrap(); @@ -1074,6 +1067,7 @@ mod tests { ignore_dir_path.to_path_buf(), )]), }, + None, predicate, ) .unwrap(); @@ -1119,6 +1113,7 @@ mod tests { .unwrap()])), exclude: Default::default(), }, + None, predicate, ) .unwrap(); -- cgit v1.2.3