diff --git a/Cargo.lock b/Cargo.lock index 604da10860a3d..4f98ed2289539 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -438,9 +438,9 @@ dependencies = [ [[package]] name = "deno_lint" -version = "0.1.12" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71a734b89e863411db358088070812cb9c5d1b5075987ebf8ddb8257edc13bba" +checksum = "cf648623425f63f748afac53cbfaf93292d04451cb7e162a5251ea402e634dbe" dependencies = [ "lazy_static", "regex", @@ -526,9 +526,9 @@ dependencies = [ [[package]] name = "dprint-plugin-typescript" -version = "0.19.4" +version = "0.19.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98665d90ef9ba5d10a42a82be94266c7ce21cb6bf3d528a11abdf000efbc2689" +checksum = "c6568808dd49005745fa5061c8f1faff0bc38fae3bb3cd2c737e8b480fa7b5a1" dependencies = [ "dprint-core", "serde", @@ -2173,9 +2173,9 @@ dependencies = [ [[package]] name = "swc_common" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86efe22e3fcdb96c77da0c6b03c81bfbdd6ea4821a9282b255f13aeb056ada91" +checksum = "3f4e030b00e19415ce63321a994cdabe87661f4210858715ffea22a1da921de5" dependencies = [ "ast_node", "atty", @@ -2210,9 +2210,9 @@ dependencies = [ [[package]] name = "swc_ecma_parser" -version = "0.26.0" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d26e9b9c2fcc4d9359b6ae9fde65eedbada18058b1c0b683341e0c2a1bf58d4" +checksum = "2a7acfce58d7bbadd2e6dcb8e914c9d0fd0e6f8717a0ec40fd37e4ba2437aefc" dependencies = [ "either", "enum_kind", diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 49cfe286e0dcf..6c91f3aa32fe2 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -20,7 +20,7 @@ deno_typescript = { path = "../deno_typescript", version = "0.48.1" } [dependencies] deno_core = { path = "../core", version = "0.48.2" } -deno_lint = "0.1.12" +deno_lint = "0.1.15" deno_typescript = { path = "../deno_typescript", version = "0.48.2" } atty = "0.2.14" @@ -30,7 +30,7 @@ byteorder = "1.3.4" clap = "2.33.1" dissimilar = "1.0.2" dlopen = "0.1.8" -dprint-plugin-typescript = "0.19.4" +dprint-plugin-typescript = "0.19.5" futures = { version = "0.3.5", features = ["compat", "io-compat"] } http = "0.2.1" indexmap = "1.4.0" diff --git a/cli/lint.rs b/cli/lint.rs index c316e494aeda5..766ebdcfa3a6e 100644 --- a/cli/lint.rs +++ b/cli/lint.rs @@ -67,8 +67,63 @@ pub async fn lint_files(args: Vec) -> Result<(), ErrBox> { Ok(()) } +/// List of lint rules used available in "deno lint" subcommand +fn get_rules() -> Vec> { + vec![ + rules::ban_ts_comment::BanTsComment::new(), + rules::ban_untagged_ignore::BanUntaggedIgnore::new(), + rules::constructor_super::ConstructorSuper::new(), + rules::for_direction::ForDirection::new(), + rules::getter_return::GetterReturn::new(), + rules::no_array_constructor::NoArrayConstructor::new(), + rules::no_async_promise_executor::NoAsyncPromiseExecutor::new(), + rules::no_case_declarations::NoCaseDeclarations::new(), + rules::no_class_assign::NoClassAssign::new(), + rules::no_compare_neg_zero::NoCompareNegZero::new(), + rules::no_cond_assign::NoCondAssign::new(), + rules::no_debugger::NoDebugger::new(), + rules::no_delete_var::NoDeleteVar::new(), + rules::no_dupe_args::NoDupeArgs::new(), + rules::no_dupe_class_members::NoDupeClassMembers::new(), + rules::no_dupe_else_if::NoDupeElseIf::new(), + rules::no_dupe_keys::NoDupeKeys::new(), + rules::no_duplicate_case::NoDuplicateCase::new(), + rules::no_empty_character_class::NoEmptyCharacterClass::new(), + rules::no_empty_interface::NoEmptyInterface::new(), + rules::no_empty_pattern::NoEmptyPattern::new(), + rules::no_empty::NoEmpty::new(), + rules::no_ex_assign::NoExAssign::new(), + rules::no_explicit_any::NoExplicitAny::new(), + rules::no_extra_boolean_cast::NoExtraBooleanCast::new(), + rules::no_extra_non_null_assertion::NoExtraNonNullAssertion::new(), + rules::no_func_assign::NoFuncAssign::new(), + rules::no_misused_new::NoMisusedNew::new(), + rules::no_namespace::NoNamespace::new(), + rules::no_new_symbol::NoNewSymbol::new(), + rules::no_obj_call::NoObjCall::new(), + rules::no_octal::NoOctal::new(), + rules::no_prototype_builtins::NoPrototypeBuiltins::new(), + rules::no_regex_spaces::NoRegexSpaces::new(), + rules::no_setter_return::NoSetterReturn::new(), + rules::no_this_alias::NoThisAlias::new(), + rules::no_this_before_super::NoThisBeforeSuper::new(), + rules::no_unsafe_finally::NoUnsafeFinally::new(), + rules::no_unsafe_negation::NoUnsafeNegation::new(), + rules::no_with::NoWith::new(), + rules::prefer_as_const::PreferAsConst::new(), + rules::prefer_namespace_keyword::PreferNamespaceKeyword::new(), + rules::require_yield::RequireYield::new(), + rules::triple_slash_reference::TripleSlashReference::new(), + rules::use_isnan::UseIsNaN::new(), + rules::valid_typeof::ValidTypeof::new(), + rules::no_inferrable_types::NoInferrableTypes::new(), + rules::no_unused_labels::NoUnusedLabels::new(), + rules::no_shadow_restricted_names::NoShadowRestrictedNames::new(), + ] +} + pub fn print_rules_list() { - let lint_rules = rules::get_recommended_rules(); + let lint_rules = get_rules(); println!("Available rules:"); for rule in lint_rules { @@ -97,7 +152,7 @@ fn lint_file(file_path: PathBuf) -> Result, ErrBox> { let media_type = map_file_extension(&file_path); let syntax = swc_util::get_syntax_for_media_type(media_type); - let lint_rules = rules::get_recommended_rules(); + let lint_rules = get_rules(); let mut linter = create_linter(syntax, lint_rules); let file_diagnostics = linter.lint(file_name, source_code)?;