summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cli/args/flags.rs27
-rw-r--r--cli/main.rs5
-rw-r--r--cli/tools/lint.rs8
3 files changed, 36 insertions, 4 deletions
diff --git a/cli/args/flags.rs b/cli/args/flags.rs
index 72841df74..d06a17a06 100644
--- a/cli/args/flags.rs
+++ b/cli/args/flags.rs
@@ -1584,7 +1584,6 @@ Ignore linting a file by adding an ignore comment at the top of the file:
.num_args(1..)
.action(ArgAction::Append)
.use_value_delimiter(true)
- .conflicts_with("rules")
.help("Use set of rules with a tag"),
)
.arg(
@@ -4157,6 +4156,32 @@ mod tests {
let r = flags_from_vec(svec![
"deno",
"lint",
+ "--rules",
+ "--rules-tags=recommended"
+ ]);
+ assert_eq!(
+ r.unwrap(),
+ Flags {
+ subcommand: DenoSubcommand::Lint(LintFlags {
+ files: FileFlags {
+ include: vec![],
+ ignore: vec![],
+ },
+ rules: true,
+ maybe_rules_tags: Some(svec!["recommended"]),
+ maybe_rules_include: None,
+ maybe_rules_exclude: None,
+ json: false,
+ compact: false,
+ watch: Default::default(),
+ }),
+ ..Flags::default()
+ }
+ );
+
+ let r = flags_from_vec(svec![
+ "deno",
+ "lint",
"--rules-tags=",
"--rules-include=ban-untagged-todo,no-undef",
"--rules-exclude=no-const-assign"
diff --git a/cli/main.rs b/cli/main.rs
index 70db8f147..cdbd878d6 100644
--- a/cli/main.rs
+++ b/cli/main.rs
@@ -140,7 +140,10 @@ async fn run_subcommand(flags: Flags) -> Result<i32, AnyError> {
DenoSubcommand::Lsp => spawn_subcommand(async { lsp::start().await }),
DenoSubcommand::Lint(lint_flags) => spawn_subcommand(async {
if lint_flags.rules {
- tools::lint::print_rules_list(lint_flags.json);
+ tools::lint::print_rules_list(
+ lint_flags.json,
+ lint_flags.maybe_rules_tags,
+ );
Ok(())
} else {
tools::lint::lint(flags, lint_flags).await
diff --git a/cli/tools/lint.rs b/cli/tools/lint.rs
index 4a622f0a0..f5e9db6e9 100644
--- a/cli/tools/lint.rs
+++ b/cli/tools/lint.rs
@@ -202,8 +202,12 @@ fn collect_lint_files(files: &FilesConfig) -> Result<Vec<PathBuf>, AnyError> {
.collect_files(&files.include)
}
-pub fn print_rules_list(json: bool) {
- let lint_rules = rules::get_recommended_rules();
+pub fn print_rules_list(json: bool, maybe_rules_tags: Option<Vec<String>>) {
+ let lint_rules = get_configured_rules(LintRulesConfig {
+ exclude: None,
+ include: None,
+ tags: maybe_rules_tags,
+ });
if json {
let json_rules: Vec<serde_json::Value> = lint_rules