From 45425c114610516287c8e5831c9b6f023dfc8180 Mon Sep 17 00:00:00 2001 From: David Sherret Date: Mon, 8 Nov 2021 20:10:33 -0500 Subject: fix(lint): use recommended tags when no tags specified in config, but includes or excludes are (#12700) --- cli/tools/lint.rs | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/cli/tools/lint.rs b/cli/tools/lint.rs index 8a5f2460b..4a1f25dd4 100644 --- a/cli/tools/lint.rs +++ b/cli/tools/lint.rs @@ -530,7 +530,7 @@ pub(crate) fn get_configured_rules( }; let configured_rules = rules::get_filtered_rules( - maybe_configured_tags, + maybe_configured_tags.or_else(|| Some(vec!["recommended".to_string()])), maybe_configured_exclude, maybe_configured_include, ); @@ -541,3 +541,36 @@ pub(crate) fn get_configured_rules( Ok(configured_rules) } + +#[cfg(test)] +mod test { + use deno_lint::rules::get_recommended_rules; + + use super::*; + use crate::config_file::LintRulesConfig; + + #[test] + fn recommended_rules_when_no_tags_in_config() { + let lint_config = LintConfig { + rules: LintRulesConfig { + exclude: Some(vec!["no-debugger".to_string()]), + ..Default::default() + }, + ..Default::default() + }; + let rules = + get_configured_rules(Some(&lint_config), None, None, None).unwrap(); + let mut rule_names = rules + .into_iter() + .map(|r| r.code().to_string()) + .collect::>(); + rule_names.sort(); + let mut recommended_rule_names = get_recommended_rules() + .into_iter() + .map(|r| r.code().to_string()) + .filter(|n| n != "no-debugger") + .collect::>(); + recommended_rule_names.sort(); + assert_eq!(rule_names, recommended_rule_names); + } +} -- cgit v1.2.3