Skip to content

Commit 0b44991

Browse files
authored
fix: maintain parens for jsx element in member expr (#584)
1 parent 492fe2f commit 0b44991

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

src/generation/generate.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3648,8 +3648,11 @@ fn is_jsx_paren_expr_handled_node<'a>(node: Node<'a>, context: &Context<'a>) ->
36483648
return true;
36493649
}
36503650

3651-
// do not allow in expr statement, argument, attributes, or jsx exprs
3652-
!matches!(parent.kind(), NodeKind::ExprStmt | NodeKind::ExprOrSpread | NodeKind::JSXExprContainer)
3651+
// do not allow in expr statement, argument, attributes, jsx exprs, or member exprs
3652+
!matches!(
3653+
parent.kind(),
3654+
NodeKind::ExprStmt | NodeKind::ExprOrSpread | NodeKind::JSXExprContainer | NodeKind::MemberExpr
3655+
)
36533656
}
36543657

36553658
fn gen_jsx_element<'a>(node: &JSXElement<'a>, context: &mut Context<'a>) -> PrintItems {
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
== should not cause syntax error ==
2+
const $$children = (<>{children}</>).toString();
3+
const { getLayer } = await uno.generate($$children, { minify: true })
4+
5+
[expect]
6+
const $$children = (<>{children}</>).toString();
7+
const { getLayer } = await uno.generate($$children, { minify: true });

0 commit comments

Comments
 (0)