diff options
author | Luca Casonato <hello@lcas.dev> | 2024-09-27 16:14:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-27 14:14:17 +0000 |
commit | 6f0fbceaf213f523bc68d23ea28fd457499f3a75 (patch) | |
tree | 5080be4cf51993198dc3ad54b20889f25a7b93d0 | |
parent | 3134abefa462ead8bb8e2e4aa8a5b57910f3d430 (diff) |
fix(lint): correctly handle old jsx in linter (#25902)
Previously the CLI was incorrectly reporting `React` as unused in a JSX
file that uses the "old" transform.
The LSP was already handling this correctly.
-rw-r--r-- | cli/args/mod.rs | 6 | ||||
-rw-r--r-- | tests/specs/lint/jsx/__test__.jsonc | 14 | ||||
-rw-r--r-- | tests/specs/lint/jsx/main.jsx | 1 | ||||
-rw-r--r-- | tests/specs/lint/jsx/main_windows.out | 12 | ||||
-rw-r--r-- | tests/specs/lint/jsx/react-jsx.out (renamed from tests/specs/lint/jsx/main_unix.out) | 10 | ||||
-rw-r--r-- | tests/specs/lint/jsx/react-jsx/deno.json | 5 | ||||
-rw-r--r-- | tests/specs/lint/jsx/react-jsx/mod.tsx | 3 | ||||
-rw-r--r-- | tests/specs/lint/jsx/react.out | 1 | ||||
-rw-r--r-- | tests/specs/lint/jsx/react/deno.json | 1 | ||||
-rw-r--r-- | tests/specs/lint/jsx/react/mod.tsx | 3 |
10 files changed, 27 insertions, 29 deletions
diff --git a/cli/args/mod.rs b/cli/args/mod.rs index a11d3bc10..995a04823 100644 --- a/cli/args/mod.rs +++ b/cli/args/mod.rs @@ -1327,11 +1327,9 @@ impl CliOptions { )?; Ok(deno_lint::linter::LintConfig { - default_jsx_factory: transpile_options - .jsx_automatic + default_jsx_factory: (!transpile_options.jsx_automatic) .then(|| transpile_options.jsx_factory.clone()), - default_jsx_fragment_factory: transpile_options - .jsx_automatic + default_jsx_fragment_factory: (!transpile_options.jsx_automatic) .then(|| transpile_options.jsx_fragment_factory.clone()), }) } diff --git a/tests/specs/lint/jsx/__test__.jsonc b/tests/specs/lint/jsx/__test__.jsonc index 42dda30a5..b929e12d4 100644 --- a/tests/specs/lint/jsx/__test__.jsonc +++ b/tests/specs/lint/jsx/__test__.jsonc @@ -1,15 +1,15 @@ { "steps": [ { - "if": "windows", - "args": "lint main.jsx", - "output": "main_windows.out", - "exitCode": 1 + "args": "lint", + "cwd": "./react", + "output": "react.out", + "exitCode": 0 }, { - "if": "unix", - "args": "lint main.jsx", - "output": "main_unix.out", + "args": "lint", + "cwd": "./react-jsx", + "output": "react-jsx.out", "exitCode": 1 } ] diff --git a/tests/specs/lint/jsx/main.jsx b/tests/specs/lint/jsx/main.jsx deleted file mode 100644 index 625e7d430..000000000 --- a/tests/specs/lint/jsx/main.jsx +++ /dev/null @@ -1 +0,0 @@ -const data = <div>hello</div>; diff --git a/tests/specs/lint/jsx/main_windows.out b/tests/specs/lint/jsx/main_windows.out deleted file mode 100644 index ec6ebecad..000000000 --- a/tests/specs/lint/jsx/main_windows.out +++ /dev/null @@ -1,12 +0,0 @@ -error[no-unused-vars]: `data` is never used - --> [WILDCARD]lint\jsx\main.jsx:1:7 - | -1 | const data = <div>hello</div>; - | ^^^^ - = hint: If this is intentional, prefix it with an underscore like `_data` - - docs: https://lint.deno.land/rules/no-unused-vars - - -Found 1 problem -Checked 1 file diff --git a/tests/specs/lint/jsx/main_unix.out b/tests/specs/lint/jsx/react-jsx.out index 08816e9fe..c8c700779 100644 --- a/tests/specs/lint/jsx/main_unix.out +++ b/tests/specs/lint/jsx/react-jsx.out @@ -1,9 +1,9 @@ -error[no-unused-vars]: `data` is never used - --> [WILDCARD]lint/jsx/main.jsx:1:7 +error[no-unused-vars]: `React` is never used + --> [WILDCARD]mod.tsx:1:7 | -1 | const data = <div>hello</div>; - | ^^^^ - = hint: If this is intentional, prefix it with an underscore like `_data` +1 | const React = { createElement() {} }; + | ^^^^^ + = hint: If this is intentional, prefix it with an underscore like `_React` docs: https://lint.deno.land/rules/no-unused-vars diff --git a/tests/specs/lint/jsx/react-jsx/deno.json b/tests/specs/lint/jsx/react-jsx/deno.json new file mode 100644 index 000000000..a224293f4 --- /dev/null +++ b/tests/specs/lint/jsx/react-jsx/deno.json @@ -0,0 +1,5 @@ +{ + "compilerOptions": { + "jsx": "react-jsx" + } +} diff --git a/tests/specs/lint/jsx/react-jsx/mod.tsx b/tests/specs/lint/jsx/react-jsx/mod.tsx new file mode 100644 index 000000000..be1e843c1 --- /dev/null +++ b/tests/specs/lint/jsx/react-jsx/mod.tsx @@ -0,0 +1,3 @@ +const React = { createElement() {} }; + +const _div = <div />; diff --git a/tests/specs/lint/jsx/react.out b/tests/specs/lint/jsx/react.out new file mode 100644 index 000000000..c05ac45a1 --- /dev/null +++ b/tests/specs/lint/jsx/react.out @@ -0,0 +1 @@ +Checked 1 file diff --git a/tests/specs/lint/jsx/react/deno.json b/tests/specs/lint/jsx/react/deno.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/tests/specs/lint/jsx/react/deno.json @@ -0,0 +1 @@ +{} diff --git a/tests/specs/lint/jsx/react/mod.tsx b/tests/specs/lint/jsx/react/mod.tsx new file mode 100644 index 000000000..be1e843c1 --- /dev/null +++ b/tests/specs/lint/jsx/react/mod.tsx @@ -0,0 +1,3 @@ +const React = { createElement() {} }; + +const _div = <div />; |