summaryrefslogtreecommitdiff
path: root/cli/lint.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/lint.rs')
-rw-r--r--cli/lint.rs13
1 files changed, 11 insertions, 2 deletions
diff --git a/cli/lint.rs b/cli/lint.rs
index e3013f302..3e9380d9d 100644
--- a/cli/lint.rs
+++ b/cli/lint.rs
@@ -25,8 +25,17 @@ use std::sync::atomic::{AtomicUsize, Ordering};
use std::sync::{Arc, Mutex};
use swc_ecmascript::parser::Syntax;
-pub async fn lint_files(args: Vec<String>) -> Result<(), ErrBox> {
- let target_files = collect_files(args)?;
+pub async fn lint_files(
+ args: Vec<String>,
+ ignore: Vec<String>,
+) -> Result<(), ErrBox> {
+ let mut target_files = collect_files(args)?;
+ if !ignore.is_empty() {
+ // collect all files to be ignored
+ // and retain only files that should be linted.
+ let ignore_files = collect_files(ignore)?;
+ target_files.retain(|f| !ignore_files.contains(&f));
+ }
debug!("Found {} files", target_files.len());
let error_count = Arc::new(AtomicUsize::new(0));