From d93570a6195d2be5fe448bb0d33d4f64e839676e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Fri, 3 Sep 2021 17:01:58 +0200 Subject: feat(lint): add support for config file and CLI flags for rules (#11776) This commit adds support for following flags in deno lint subcommand: --config - allows to load configuration file and parses "lint" object --rules-tags= - allows specifying which set of tagged rules should be run --rules-include= - allow specifying which rules should be run --rules-exclude= - allow specifying which rules should not be run --- cli/tests/integration/lint_tests.rs | 44 +++++++++++++++++++++++++++++-------- 1 file changed, 35 insertions(+), 9 deletions(-) (limited to 'cli/tests/integration/lint_tests.rs') diff --git a/cli/tests/integration/lint_tests.rs b/cli/tests/integration/lint_tests.rs index 3eb9657ed..b11cc5b9a 100644 --- a/cli/tests/integration/lint_tests.rs +++ b/cli/tests/integration/lint_tests.rs @@ -24,59 +24,85 @@ fn ignore_unexplicit_files() { } itest!(all { - args: "lint --unstable lint/file1.js lint/file2.ts lint/ignored_file.ts", + args: "lint lint/file1.js lint/file2.ts lint/ignored_file.ts", output: "lint/expected.out", exit_code: 1, }); itest!(quiet { - args: "lint --unstable --quiet lint/file1.js", + args: "lint --quiet lint/file1.js", output: "lint/expected_quiet.out", exit_code: 1, }); itest!(json { args: - "lint --unstable --json lint/file1.js lint/file2.ts lint/ignored_file.ts lint/malformed.js", + "lint --json lint/file1.js lint/file2.ts lint/ignored_file.ts lint/malformed.js", output: "lint/expected_json.out", exit_code: 1, }); itest!(ignore { - args: "lint --unstable --ignore=lint/file1.js,lint/malformed.js lint/", + args: + "lint --ignore=lint/file1.js,lint/malformed.js,lint/lint_with_config/ lint/", output: "lint/expected_ignore.out", exit_code: 1, }); itest!(glob { - args: "lint --unstable --ignore=lint/malformed.js lint/", + args: "lint --ignore=lint/malformed.js,lint/lint_with_config/ lint/", output: "lint/expected_glob.out", exit_code: 1, }); itest!(stdin { - args: "lint --unstable -", + args: "lint -", input: Some("let _a: any;"), output: "lint/expected_from_stdin.out", exit_code: 1, }); itest!(stdin_json { - args: "lint --unstable --json -", + args: "lint --json -", input: Some("let _a: any;"), output: "lint/expected_from_stdin_json.out", exit_code: 1, }); itest!(rules { - args: "lint --unstable --rules", + args: "lint --rules", output: "lint/expected_rules.out", exit_code: 0, }); // Make sure that the rules are printed if quiet option is enabled. itest!(rules_quiet { - args: "lint --unstable --rules -q", + args: "lint --rules -q", output: "lint/expected_rules.out", exit_code: 0, }); + +itest!(lint_with_config { + args: "lint --config lint/Deno.jsonc lint/lint_with_config/", + output: "lint/lint_with_config.out", + exit_code: 1, +}); + +// Check if CLI flags take precedence +itest!(lint_with_config_and_flags { + args: "lint --config lint/Deno.jsonc --ignore=lint/lint_with_config/a.ts", + output: "lint/lint_with_config_and_flags.out", + exit_code: 1, +}); + +itest!(lint_with_malformed_config { + args: "lint --config lint/Deno.malformed.jsonc", + output: "lint/lint_with_malformed_config.out", + exit_code: 1, +}); + +itest!(lint_with_malformed_config2 { + args: "lint --config lint/Deno.malformed2.jsonc", + output: "lint/lint_with_malformed_config2.out", + exit_code: 1, +}); -- cgit v1.2.3