mirror of
https://github.com/denoland/deno.git
synced 2024-12-26 00:59:24 -05:00
fix(fmt): ignore node_modules directory (#14943)
This commit is contained in:
parent
ca4385ad68
commit
1e3713c3bc
2 changed files with 33 additions and 8 deletions
|
@ -126,7 +126,7 @@ fn fmt_ignore_unexplicit_files() {
|
|||
}
|
||||
|
||||
#[test]
|
||||
fn fmt_auto_ignore_git() {
|
||||
fn fmt_auto_ignore_git_and_node_modules() {
|
||||
use std::fs::{create_dir_all, File};
|
||||
use std::io::Write;
|
||||
use std::path::PathBuf;
|
||||
|
@ -139,10 +139,16 @@ fn fmt_auto_ignore_git() {
|
|||
let t = temp_dir.path().join("target");
|
||||
let nest_git = t.join("nest").join(".git");
|
||||
let git_dir = t.join(".git");
|
||||
let nest_node_modules = t.join("nest").join("node_modules");
|
||||
let node_modules_dir = t.join("node_modules");
|
||||
create_dir_all(&nest_git).unwrap();
|
||||
create_dir_all(&git_dir).unwrap();
|
||||
create_dir_all(&nest_node_modules).unwrap();
|
||||
create_dir_all(&node_modules_dir).unwrap();
|
||||
create_bad_json(nest_git);
|
||||
create_bad_json(git_dir);
|
||||
create_bad_json(nest_node_modules);
|
||||
create_bad_json(node_modules_dir);
|
||||
let output = util::deno_cmd()
|
||||
.current_dir(t)
|
||||
.env("NO_COLOR", "1")
|
||||
|
|
|
@ -94,8 +94,11 @@ pub async fn format(
|
|||
maybe_fmt_config.map(|c| c.options).unwrap_or_default(),
|
||||
);
|
||||
|
||||
let fmt_predicate =
|
||||
|path: &Path| is_supported_ext_fmt(path) && !is_contain_git(path);
|
||||
let fmt_predicate = |path: &Path| {
|
||||
is_supported_ext_fmt(path)
|
||||
&& !contains_git(path)
|
||||
&& !contains_node_modules(path)
|
||||
};
|
||||
|
||||
let resolver = |changed: Option<Vec<PathBuf>>| {
|
||||
let files_changed = changed.is_some();
|
||||
|
@ -730,10 +733,14 @@ fn is_supported_ext_fmt(path: &Path) -> bool {
|
|||
}
|
||||
}
|
||||
|
||||
fn is_contain_git(path: &Path) -> bool {
|
||||
fn contains_git(path: &Path) -> bool {
|
||||
path.components().any(|c| c.as_os_str() == ".git")
|
||||
}
|
||||
|
||||
fn contains_node_modules(path: &Path) -> bool {
|
||||
path.components().any(|c| c.as_os_str() == "node_modules")
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use super::*;
|
||||
|
@ -767,10 +774,22 @@ mod test {
|
|||
|
||||
#[test]
|
||||
fn test_is_located_in_git() {
|
||||
assert!(is_contain_git(Path::new("test/.git")));
|
||||
assert!(is_contain_git(Path::new(".git/bad.json")));
|
||||
assert!(is_contain_git(Path::new("test/.git/bad.json")));
|
||||
assert!(!is_contain_git(Path::new("test/bad.git/bad.json")));
|
||||
assert!(contains_git(Path::new("test/.git")));
|
||||
assert!(contains_git(Path::new(".git/bad.json")));
|
||||
assert!(contains_git(Path::new("test/.git/bad.json")));
|
||||
assert!(!contains_git(Path::new("test/bad.git/bad.json")));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_is_located_in_node_modules() {
|
||||
assert!(contains_node_modules(Path::new("test/node_modules")));
|
||||
assert!(contains_node_modules(Path::new("node_modules/bad.json")));
|
||||
assert!(contains_node_modules(Path::new(
|
||||
"test/node_modules/bad.json"
|
||||
)));
|
||||
assert!(!contains_node_modules(Path::new(
|
||||
"test/bad.node_modules/bad.json"
|
||||
)));
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
Loading…
Reference in a new issue