fix(linter): move no-unused-expressions from TS to eslint (#7624)

This commit is contained in:
camc314 2024-12-04 02:26:47 +00:00
parent 29db060c78
commit fcc2546f9f
3 changed files with 65 additions and 64 deletions

View file

@ -122,6 +122,7 @@ mod eslint {
pub mod no_unsafe_finally;
pub mod no_unsafe_negation;
pub mod no_unsafe_optional_chaining;
pub mod no_unused_expressions;
pub mod no_unused_labels;
pub mod no_unused_private_class_members;
pub mod no_unused_vars;
@ -180,7 +181,7 @@ mod typescript {
pub mod no_unnecessary_type_constraint;
pub mod no_unsafe_declaration_merging;
pub mod no_unsafe_function_type;
pub mod no_unused_expressions;
pub mod no_useless_empty_export;
pub mod no_var_requires;
pub mod no_wrapper_object_types;
@ -560,12 +561,12 @@ oxc_macros::declare_all_lint_rules! {
eslint::no_dupe_else_if,
eslint::no_dupe_keys,
eslint::no_duplicate_case,
eslint::no_empty,
eslint::no_else_return,
eslint::no_empty_character_class,
eslint::no_empty_function,
eslint::no_empty_pattern,
eslint::no_empty_static_block,
eslint::no_else_return,
eslint::no_empty,
eslint::no_eq_null,
eslint::no_eval,
eslint::no_ex_assign,
@ -583,10 +584,10 @@ oxc_macros::declare_all_lint_rules! {
eslint::no_loss_of_precision,
eslint::no_magic_numbers,
eslint::no_multi_str,
eslint::no_new,
eslint::no_new_func,
eslint::no_new_native_nonconstructor,
eslint::no_new_wrappers,
eslint::no_new,
eslint::no_nonoctal_decimal_escape,
eslint::no_obj_calls,
eslint::no_plusplus,
@ -613,6 +614,7 @@ oxc_macros::declare_all_lint_rules! {
eslint::no_unsafe_finally,
eslint::no_unsafe_negation,
eslint::no_unsafe_optional_chaining,
eslint::no_unused_expressions,
eslint::no_unused_labels,
eslint::no_unused_private_class_members,
eslint::no_unused_vars,
@ -855,7 +857,6 @@ oxc_macros::declare_all_lint_rules! {
typescript::consistent_type_definitions,
typescript::consistent_type_imports,
typescript::explicit_function_return_type,
typescript::no_unused_expressions,
typescript::no_inferrable_types,
typescript::no_confusing_non_null_assertion,
typescript::no_duplicate_enum_values,

View file

@ -1,245 +1,245 @@
---
source: crates/oxc_linter/src/tester.rs
---
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ 0
· ─
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ a
· ─
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ f(), 0
· ──────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:2]
1 │ {0}
· ─
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ []
· ──
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ a && b();
· ─────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ a() || false
· ────────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ a || (b = c)
· ────────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ a ? b() || (c = d) : e
· ──────────────────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ `untagged template literal`
· ───────────────────────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ tag`tagged template literal`
· ────────────────────────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ a && b()
· ────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ a ? b() : c()
· ─────────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ a || b
· ──────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ a() && b
· ────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ a ? b : 0
· ─────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ a ? b : c()
· ───────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ foo.bar;
· ────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ !a
· ──
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ +a
· ──
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:23]
1 │ "directive one"; f(); "directive two";
· ────────────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:39]
1 │ function foo() {"directive one"; f(); "directive two"; }
· ────────────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:10]
1 │ if (0) { "not a directive"; f(); }
· ──────────────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:34]
1 │ function foo() { var foo = true; "use strict"; }
· ─────────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:35]
1 │ var foo = () => { var foo = true; "use strict"; }
· ─────────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ `untagged template literal`
· ───────────────────────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ `untagged template literal`
· ───────────────────────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ tag`tagged template literal`
· ────────────────────────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ obj?.foo
· ────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ obj?.foo.bar
· ────────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ obj?.foo().bar
· ──────────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ <div />
· ───────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ <></>
· ─────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:20]
1 │ class C { static { 'use strict'; } }
· ─────────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:2:4]
1 │ class C { static {
2 │ 'foo'
@ -248,7 +248,7 @@ source: crates/oxc_linter/src/tester.rs
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:3:4]
2 │ 'foo'
3 │ 'bar'
@ -257,7 +257,7 @@ source: crates/oxc_linter/src/tester.rs
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:2:11]
1 │
2 │ if (0) 0;
@ -266,7 +266,7 @@ source: crates/oxc_linter/src/tester.rs
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:2:4]
1 │
2 │ f(0), {};
@ -275,7 +275,7 @@ source: crates/oxc_linter/src/tester.rs
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:2:4]
1 │
2 │ a, b();
@ -284,7 +284,7 @@ source: crates/oxc_linter/src/tester.rs
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:2:4]
1 │
2 │ ╭─▶ a() &&
@ -295,7 +295,7 @@ source: crates/oxc_linter/src/tester.rs
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:2:4]
1 │
2 │ a?.b;
@ -304,7 +304,7 @@ source: crates/oxc_linter/src/tester.rs
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:2:4]
1 │
2 │ (a?.b).c;
@ -313,7 +313,7 @@ source: crates/oxc_linter/src/tester.rs
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:2:4]
1 │
2 │ a?.['b'];
@ -322,7 +322,7 @@ source: crates/oxc_linter/src/tester.rs
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:2:4]
1 │
2 │ (a?.['b']).c;
@ -331,7 +331,7 @@ source: crates/oxc_linter/src/tester.rs
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:2:4]
1 │
2 │ a?.b()?.c;
@ -340,7 +340,7 @@ source: crates/oxc_linter/src/tester.rs
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:2:4]
1 │
2 │ (a?.b()).c;
@ -349,7 +349,7 @@ source: crates/oxc_linter/src/tester.rs
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:2:4]
1 │
2 │ one[2]?.[3][4];
@ -358,7 +358,7 @@ source: crates/oxc_linter/src/tester.rs
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:2:4]
1 │
2 │ one.two?.three.four;
@ -367,7 +367,7 @@ source: crates/oxc_linter/src/tester.rs
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:4:6]
3 │ const foo = true;
4 │ 'use strict';
@ -376,7 +376,7 @@ source: crates/oxc_linter/src/tester.rs
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:6:6]
5 │
6 │ 'use strict';
@ -385,7 +385,7 @@ source: crates/oxc_linter/src/tester.rs
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:5:6]
4 │
5 │ 'use strict';
@ -394,21 +394,21 @@ source: crates/oxc_linter/src/tester.rs
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ foo && foo?.bar;
· ────────────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ foo ? foo?.bar : bar.baz;
· ─────────────────────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:3:4]
2 │ class Foo<T> {}
3 │ Foo<string>;
@ -417,14 +417,14 @@ source: crates/oxc_linter/src/tester.rs
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:1]
1 │ Map<string, string>;
· ────────────────────
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:3:4]
2 │ declare const foo: number | undefined;
3 │ foo;
@ -433,7 +433,7 @@ source: crates/oxc_linter/src/tester.rs
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:3:4]
2 │ declare const foo: number | undefined;
3 │ foo as any;
@ -448,7 +448,7 @@ source: crates/oxc_linter/src/tester.rs
4 │
╰────
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:3:4]
2 │ declare const foo: number | undefined;
3 │ foo!;
@ -457,7 +457,7 @@ source: crates/oxc_linter/src/tester.rs
╰────
help: Consider removing this expression
typescript-eslint(no-unused-expressions): Disallow unused expressions
⚠ eslint(no-unused-expressions): Disallow unused expressions
╭─[no_unused_expressions.tsx:1:36]
1 │ const _func = (value: number) => { value + 1; }
· ──────────