diff --git a/crates/oxc_codegen/src/gen.rs b/crates/oxc_codegen/src/gen.rs index f41c49a49054c..46407137199d2 100644 --- a/crates/oxc_codegen/src/gen.rs +++ b/crates/oxc_codegen/src/gen.rs @@ -2563,6 +2563,9 @@ impl Gen for JSXElement<'_> { p.add_source_mapping(self.opening_element.span); p.print_ascii_byte(b'<'); self.opening_element.name.print(p, ctx); + if let Some(type_arguments) = &self.opening_element.type_arguments { + type_arguments.print(p, ctx); + } for attr in &self.opening_element.attributes { match attr { JSXAttributeItem::Attribute(_) => { diff --git a/crates/oxc_codegen/tests/integration/ts.rs b/crates/oxc_codegen/tests/integration/ts.rs index 7f103791a6f57..dd45337872cf2 100644 --- a/crates/oxc_codegen/tests/integration/ts.rs +++ b/crates/oxc_codegen/tests/integration/ts.rs @@ -55,6 +55,7 @@ fn decorators() { fn tsx() { test_tsx("() => {}", "() => {};\n"); test_tsx("() => {}", "<\n\tT,\n\tB\n>() => {};\n"); + test_tsx(" />", " />;\n"); } #[test]