summaryrefslogtreecommitdiff
path: root/cli/args/flags.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/args/flags.rs')
-rw-r--r--cli/args/flags.rs22
1 files changed, 13 insertions, 9 deletions
diff --git a/cli/args/flags.rs b/cli/args/flags.rs
index b68b4aadb..89f53d593 100644
--- a/cli/args/flags.rs
+++ b/cli/args/flags.rs
@@ -25,6 +25,7 @@ use log::debug;
use log::Level;
use serde::Deserialize;
use serde::Serialize;
+use std::collections::HashSet;
use std::env;
use std::ffi::OsString;
use std::net::SocketAddr;
@@ -36,7 +37,6 @@ use std::path::PathBuf;
use std::str::FromStr;
use crate::args::resolve_no_prompt;
-use crate::util::collections::CheckedSet;
use crate::util::fs::canonicalize_path;
use super::flags_net;
@@ -865,20 +865,20 @@ impl Flags {
args
}
- /// Extract the directory paths the config file should be discovered from.
+ /// Extract the paths the config file should be discovered from.
///
/// Returns `None` if the config file should not be auto-discovered.
pub fn config_path_args(&self, current_dir: &Path) -> Option<Vec<PathBuf>> {
fn resolve_multiple_files(
- files: &[String],
+ files_or_dirs: &[String],
current_dir: &Path,
) -> Vec<PathBuf> {
- let mut seen = CheckedSet::with_capacity(files.len());
- let result = files
+ let mut seen = HashSet::with_capacity(files_or_dirs.len());
+ let result = files_or_dirs
.iter()
.filter_map(|p| {
- let path = normalize_path(current_dir.join(p).parent()?);
- if seen.insert(&path) {
+ let path = normalize_path(current_dir.join(p));
+ if seen.insert(path.clone()) {
Some(path)
} else {
None
@@ -9298,7 +9298,7 @@ mod tests {
.unwrap();
assert_eq!(
flags.config_path_args(&cwd),
- Some(vec![cwd.join("dir/a/"), cwd.join("dir/b/")])
+ Some(vec![cwd.join("dir/a/a.js"), cwd.join("dir/b/b.js")])
);
let flags = flags_from_vec(svec!["deno", "lint"]).unwrap();
@@ -9314,7 +9314,11 @@ mod tests {
.unwrap();
assert_eq!(
flags.config_path_args(&cwd),
- Some(vec![cwd.join("dir/a/"), cwd.join("dir/")])
+ Some(vec![
+ cwd.join("dir/a/a.js"),
+ cwd.join("dir/a/a2.js"),
+ cwd.join("dir/b.js")
+ ])
);
}