diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2021-09-03 17:01:58 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-03 17:01:58 +0200 |
commit | d93570a6195d2be5fe448bb0d33d4f64e839676e (patch) | |
tree | a44431235693f484308aad70cda66827605f4568 /cli/tests/testdata | |
parent | c3001fe280add8c695c288fe26b8f81b5f2f0261 (diff) |
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=<tags> - allows specifying which set of tagged rules should be run
--rules-include=<rules> - allow specifying which rules should be run
--rules-exclude=<rules> - allow specifying which rules should not be run
Diffstat (limited to 'cli/tests/testdata')
-rw-r--r-- | cli/tests/testdata/lint/Deno.jsonc | 12 | ||||
-rw-r--r-- | cli/tests/testdata/lint/Deno.malformed.jsonc | 13 | ||||
-rw-r--r-- | cli/tests/testdata/lint/Deno.malformed2.jsonc | 13 | ||||
-rw-r--r-- | cli/tests/testdata/lint/lint_with_config.out | 18 | ||||
-rw-r--r-- | cli/tests/testdata/lint/lint_with_config/a.ts | 4 | ||||
-rw-r--r-- | cli/tests/testdata/lint/lint_with_config/b.ts | 4 | ||||
-rw-r--r-- | cli/tests/testdata/lint/lint_with_config_and_flags.out | 18 | ||||
-rw-r--r-- | cli/tests/testdata/lint/lint_with_malformed_config.out | 4 | ||||
-rw-r--r-- | cli/tests/testdata/lint/lint_with_malformed_config2.out | 4 |
9 files changed, 90 insertions, 0 deletions
diff --git a/cli/tests/testdata/lint/Deno.jsonc b/cli/tests/testdata/lint/Deno.jsonc new file mode 100644 index 000000000..dc0a12eab --- /dev/null +++ b/cli/tests/testdata/lint/Deno.jsonc @@ -0,0 +1,12 @@ +{ + "lint": { + "files": { + "include": ["lint/lint_with_config/"], + "exclude": ["lint/lint_with_config/b.ts"] + }, + "rules": { + "tags": ["recommended"], + "include": ["ban-untagged-todo"] + } + } +} diff --git a/cli/tests/testdata/lint/Deno.malformed.jsonc b/cli/tests/testdata/lint/Deno.malformed.jsonc new file mode 100644 index 000000000..c6225d6a9 --- /dev/null +++ b/cli/tests/testdata/lint/Deno.malformed.jsonc @@ -0,0 +1,13 @@ +{ + "lint": { + "files": { + "include": ["lint/lint_with_config/"], + "exclude": ["lint/lint_with_config/b.ts"] + }, + "dont_know_this_field": {}, + "rules": { + "tags": ["recommended"], + "include": ["ban-untagged-todo"] + } + } +} diff --git a/cli/tests/testdata/lint/Deno.malformed2.jsonc b/cli/tests/testdata/lint/Deno.malformed2.jsonc new file mode 100644 index 000000000..473dafc4b --- /dev/null +++ b/cli/tests/testdata/lint/Deno.malformed2.jsonc @@ -0,0 +1,13 @@ +{ + "lint": { + "files": { + "include": ["lint/lint_with_config/"], + "exclude": ["lint/lint_with_config/b.ts"], + "dont_know_this_field": {} + }, + "rules": { + "tags": ["recommended"], + "include": ["ban-untagged-todo"] + } + } +} diff --git a/cli/tests/testdata/lint/lint_with_config.out b/cli/tests/testdata/lint/lint_with_config.out new file mode 100644 index 000000000..ea4581af8 --- /dev/null +++ b/cli/tests/testdata/lint/lint_with_config.out @@ -0,0 +1,18 @@ +(ban-untagged-todo) TODO should be tagged with (@username) or (#issue) +// TODO: foo +^^^^^^^^^^^^ + at [WILDCARD]a.ts:1:0 + + hint: Add a user tag or issue reference to the TODO comment, e.g. TODO(@djones), TODO(djones), TODO(#123) + help: for further information visit https://lint.deno.land/#ban-untagged-todo + +(no-unused-vars) `add` is never used +function add(a: number, b: number): number { + ^^^ + at [WILDCARD]a.ts:2:9 + + hint: If this is intentional, prefix it with an underscore like `_add` + help: for further information visit https://lint.deno.land/#no-unused-vars + +Found 2 problems +Checked 1 file diff --git a/cli/tests/testdata/lint/lint_with_config/a.ts b/cli/tests/testdata/lint/lint_with_config/a.ts new file mode 100644 index 000000000..c378218a3 --- /dev/null +++ b/cli/tests/testdata/lint/lint_with_config/a.ts @@ -0,0 +1,4 @@ +// TODO: foo +function add(a: number, b: number): number { + return a + b; +} diff --git a/cli/tests/testdata/lint/lint_with_config/b.ts b/cli/tests/testdata/lint/lint_with_config/b.ts new file mode 100644 index 000000000..d5647067e --- /dev/null +++ b/cli/tests/testdata/lint/lint_with_config/b.ts @@ -0,0 +1,4 @@ +// TODO: this file should be ignored +function subtract(a: number, b: number): number { + return a - b; +} diff --git a/cli/tests/testdata/lint/lint_with_config_and_flags.out b/cli/tests/testdata/lint/lint_with_config_and_flags.out new file mode 100644 index 000000000..0a409343e --- /dev/null +++ b/cli/tests/testdata/lint/lint_with_config_and_flags.out @@ -0,0 +1,18 @@ +(ban-untagged-todo) TODO should be tagged with (@username) or (#issue) +// TODO: this file should be ignored +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + at [WILDCARD]b.ts:1:0 + + hint: Add a user tag or issue reference to the TODO comment, e.g. TODO(@djones), TODO(djones), TODO(#123) + help: for further information visit https://lint.deno.land/#ban-untagged-todo + +(no-unused-vars) `subtract` is never used +function subtract(a: number, b: number): number { + ^^^^^^^^ + at [WILDCARD]b.ts:2:9 + + hint: If this is intentional, prefix it with an underscore like `_subtract` + help: for further information visit https://lint.deno.land/#no-unused-vars + +Found 2 problems +Checked 1 file diff --git a/cli/tests/testdata/lint/lint_with_malformed_config.out b/cli/tests/testdata/lint/lint_with_malformed_config.out new file mode 100644 index 000000000..88fb8c457 --- /dev/null +++ b/cli/tests/testdata/lint/lint_with_malformed_config.out @@ -0,0 +1,4 @@ +error: Failed to parse "lint" configuration + +Caused by: + unknown field `dont_know_this_field`, expected `rules` or `files` diff --git a/cli/tests/testdata/lint/lint_with_malformed_config2.out b/cli/tests/testdata/lint/lint_with_malformed_config2.out new file mode 100644 index 000000000..11e878f00 --- /dev/null +++ b/cli/tests/testdata/lint/lint_with_malformed_config2.out @@ -0,0 +1,4 @@ +error: Failed to parse "lint" configuration + +Caused by: + unknown field `dont_know_this_field`, expected `include` or `exclude` |