From 538333134c1eba6b40983984925ea5b956c90f2e Mon Sep 17 00:00:00 2001 From: camc314 <18101008+camc314@users.noreply.github.com> Date: Thu, 31 Jul 2025 13:57:43 +0000 Subject: [PATCH] fix(linter/explicit-mod-boundary-types): false positive with jsx elements (#12678) --- .../rules/typescript/explicit_module_boundary_types.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/crates/oxc_linter/src/rules/typescript/explicit_module_boundary_types.rs b/crates/oxc_linter/src/rules/typescript/explicit_module_boundary_types.rs index 4b4881e3e2c6e..1d7088d172972 100644 --- a/crates/oxc_linter/src/rules/typescript/explicit_module_boundary_types.rs +++ b/crates/oxc_linter/src/rules/typescript/explicit_module_boundary_types.rs @@ -546,6 +546,10 @@ impl<'a> Visit<'a> for ExplicitTypesChecker<'a, '_> { // ignore } + fn visit_jsx_element(&mut self, _it: &JSXElement<'a>) { + // ignore + } + fn visit_class(&mut self, class: &Class<'a>) { let had_id = self.with_target_binding(class.id.as_ref()); walk::walk_class_body(self, class.body.as_ref()); @@ -1480,6 +1484,10 @@ mod test { "const ex = () => (args: { fn: (arg: string) => void }) => args; export const Test = ex()({ fn: () => {} });", None, ), + ( + "function ErrorTrackingRules(): JSX.Element { return ( { /**/ }}>); }; export default ErrorTrackingRules;", + None, + ), ]; let fail = vec![