oxc/crates
no-yan 1fcd70932d
feat(linter): add jsx support for only-used-in-recursion (#7120)
close #5530

This PR adds support for handling recursive JSX components, allowing
detect functions like the one below:

```javascript
function ListItem({ depth }) {
    return <ListItem depth={depth} />
}
```

Some logic is duplicated with the non-JSX case. But the refactor will be
complicated and affects over-all, so we can make it in another PR.

cc: @DonIsaac @camc314

---------

Co-authored-by: Cam McHenry <camchenry@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2024-11-09 17:11:27 +08:00
..
oxc feat(transformer)!: change API to take a &TransformOptions instead of TransformOptions (#7213) 2024-11-09 06:01:13 +00:00
oxc_allocator release(crates): v0.35.0 (#7110) 2024-11-04 17:40:05 +08:00
oxc_ast refactor(ast)!: remove useless ObjectProperty::init field (#7220) 2024-11-09 09:00:29 +00:00
oxc_ast_macros release(crates): v0.35.0 (#7110) 2024-11-04 17:40:05 +08:00
oxc_cfg release(crates): v0.35.0 (#7110) 2024-11-04 17:40:05 +08:00
oxc_codegen feat(ast)!: remove invalid expressions from TSEnumMemberName (#7219) 2024-11-09 08:48:14 +00:00
oxc_data_structures release(crates): v0.35.0 (#7110) 2024-11-04 17:40:05 +08:00
oxc_diagnostics feat(transformer): warn BigInt when targeting < ES2020 (#7184) 2024-11-07 08:29:03 +00:00
oxc_ecmascript release(crates): v0.35.0 (#7110) 2024-11-04 17:40:05 +08:00
oxc_estree fix(types)!: append rest field into elements for objects and arrays to align with estree (#7212) 2024-11-09 05:23:53 +00:00
oxc_index release(crates): v0.35.0 (#7110) 2024-11-04 17:40:05 +08:00
oxc_isolated_declarations feat(ast)!: remove invalid expressions from TSEnumMemberName (#7219) 2024-11-09 08:48:14 +00:00
oxc_language_server feat(linter): do not bail for unmatched rules yet (#7093) 2024-11-03 11:18:36 +08:00
oxc_linter feat(linter): add jsx support for only-used-in-recursion (#7120) 2024-11-09 17:11:27 +08:00
oxc_macros feat(linter): support user-configurable secrets for oxc-security/api-keys (#5938) 2024-10-28 18:55:19 +00:00
oxc_mangler release(crates): v0.35.0 (#7110) 2024-11-04 17:40:05 +08:00
oxc_minifier release(crates): v0.35.0 (#7110) 2024-11-04 17:40:05 +08:00
oxc_module_lexer release(crates): v0.35.0 (#7110) 2024-11-04 17:40:05 +08:00
oxc_parser refactor(ast)!: remove useless ObjectProperty::init field (#7220) 2024-11-09 09:00:29 +00:00
oxc_prettier feat(ast)!: remove invalid expressions from TSEnumMemberName (#7219) 2024-11-09 08:48:14 +00:00
oxc_regular_expression feat(ast_tools): Add #[estree(append_to)], remove some custom serialization code (#7149) 2024-11-06 21:09:45 +00:00
oxc_semantic refactor(ast)!: remove useless ObjectProperty::init field (#7220) 2024-11-09 09:00:29 +00:00
oxc_sourcemap release(crates): v0.35.0 (#7110) 2024-11-04 17:40:05 +08:00
oxc_span feat(ast_tools): Add #[estree(append_to)], remove some custom serialization code (#7149) 2024-11-06 21:09:45 +00:00
oxc_syntax feat(ast_tools): Add #[estree(append_to)], remove some custom serialization code (#7149) 2024-11-06 21:09:45 +00:00
oxc_transformer refactor(ast)!: remove useless ObjectProperty::init field (#7220) 2024-11-09 09:00:29 +00:00
oxc_traverse refactor(ast)!: remove useless ObjectProperty::init field (#7220) 2024-11-09 09:00:29 +00:00
oxc_wasm feat(transformer)!: change API to take a &TransformOptions instead of TransformOptions (#7213) 2024-11-09 06:01:13 +00:00