summaryrefslogtreecommitdiff
path: root/cli/util/fs.rs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2024-03-27 14:25:39 -0400
committerGitHub <noreply@github.com>2024-03-27 14:25:39 -0400
commit68fecc6de4b2e6556adeb2730798bf42017c4be6 (patch)
treeed7b7644221e4a53f30df3e33d41e7994e10b169 /cli/util/fs.rs
parent0e4d1cb5f9a3645f6da480b2b8540568fa69d675 (diff)
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
Diffstat (limited to 'cli/util/fs.rs')
-rw-r--r--cli/util/fs.rs15
1 files changed, 5 insertions, 10 deletions
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<TFilter: Fn(WalkEntry) -> bool> {
file_filter: TFilter,
ignore_git_folder: bool,
ignore_node_modules: bool,
- ignore_vendor_folder: bool,
vendor_folder: Option<PathBuf>,
use_gitignore: bool,
}
@@ -271,7 +270,6 @@ impl<TFilter: Fn(WalkEntry) -> bool> FileCollector<TFilter> {
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<TFilter: Fn(WalkEntry) -> bool> FileCollector<TFilter> {
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<PathBuf>) -> Self {
self.vendor_folder = vendor_folder;
self
@@ -422,7 +415,6 @@ impl<TFilter: Fn(WalkEntry) -> bool> FileCollector<TFilter> {
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<TFilter: Fn(WalkEntry) -> bool> FileCollector<TFilter> {
/// Note: This ignores all .git and node_modules folders.
pub fn collect_specifiers(
mut files: FilePatterns,
+ vendor_folder: Option<PathBuf>,
predicate: impl Fn(WalkEntry) -> bool,
) -> Result<Vec<ModuleSpecifier>, 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();