diff --git a/.changeset/spotty-geese-relate.md b/.changeset/spotty-geese-relate.md new file mode 100644 index 000000000000..c691bdf0cda5 --- /dev/null +++ b/.changeset/spotty-geese-relate.md @@ -0,0 +1,6 @@ +--- +swc_ecma_transforms_react: patch +swc_core: patch +--- + +fix(es/transforms): Correct span for @jsxFrag as null literal diff --git a/crates/swc_ecma_transforms_react/src/jsx/mod.rs b/crates/swc_ecma_transforms_react/src/jsx/mod.rs index 12a5280e5901..ae6e279fdba0 100644 --- a/crates/swc_ecma_transforms_react/src/jsx/mod.rs +++ b/crates/swc_ecma_transforms_react/src/jsx/mod.rs @@ -289,19 +289,6 @@ pub struct JsxDirectives { pub pragma_frag: Option>>, } -fn respan(e: &mut Expr, span: Span) { - match e { - Expr::Ident(i) => { - i.span.lo = span.lo; - i.span.hi = span.hi; - } - Expr::Member(e) => { - e.span = span; - } - _ => {} - } -} - impl JsxDirectives { pub fn from_comments( cm: &SourceMap, @@ -368,7 +355,7 @@ impl JsxDirectives { cache_source(src), top_level_mark, ); - respan(&mut e, cmt.span); + e.set_span(cmt.span); res.pragma_frag = Some(e.into()) } } @@ -383,7 +370,7 @@ impl JsxDirectives { cache_source(src), top_level_mark, ); - respan(&mut e, cmt.span); + e.set_span(cmt.span); res.pragma = Some(e.into()); } }