JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ JsExpressionStatement { expression: JsxTagExpression { tag: JsxFragment { opening_fragment: JsxOpeningFragment { l_angle_token: L_ANGLE@0..1 "<" [] [], r_angle_token: R_ANGLE@1..2 ">" [] [], }, children: JsxChildList [ JsxElement { opening_element: JsxOpeningElement { l_angle_token: L_ANGLE@2..3 "<" [] [], name: JsxName { value_token: JSX_IDENT@3..8 "test" [] [Whitespace(" ")], }, type_arguments: missing (optional), attributes: JsxAttributeList [], r_angle_token: missing (required), }, children: JsxChildList [ JsxElement { opening_element: JsxOpeningElement { l_angle_token: L_ANGLE@8..9 "<" [] [], name: JsxName { value_token: JSX_IDENT@9..14 "inner" [] [], }, type_arguments: missing (optional), attributes: JsxAttributeList [], r_angle_token: R_ANGLE@14..15 ">" [] [], }, children: JsxChildList [ JsxText { value_token: JSX_TEXT_LITERAL@15..28 " some content" [] [], }, ], closing_element: JsxClosingElement { l_angle_token: L_ANGLE@28..29 "<" [] [], slash_token: SLASH@29..30 "/" [] [], name: JsxName { value_token: JSX_IDENT@30..35 "inner" [] [], }, r_angle_token: R_ANGLE@35..36 ">" [] [], }, }, ], closing_element: JsxClosingElement { l_angle_token: L_ANGLE@36..37 "<" [] [], slash_token: SLASH@37..38 "/" [] [], name: JsxName { value_token: JSX_IDENT@38..42 "test" [] [], }, r_angle_token: R_ANGLE@42..43 ">" [] [], }, }, ], closing_fragment: JsxClosingFragment { l_angle_token: L_ANGLE@43..44 "<" [] [], slash_token: SLASH@44..45 "/" [] [], r_angle_token: R_ANGLE@45..46 ">" [] [], }, }, }, semicolon_token: missing (optional), }, ], eof_token: EOF@46..47 "" [Newline("\n")] [], } 0: JS_MODULE@0..47 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..46 0: JS_EXPRESSION_STATEMENT@0..46 0: JSX_TAG_EXPRESSION@0..46 0: JSX_FRAGMENT@0..46 0: JSX_OPENING_FRAGMENT@0..2 0: L_ANGLE@0..1 "<" [] [] 1: R_ANGLE@1..2 ">" [] [] 1: JSX_CHILD_LIST@2..43 0: JSX_ELEMENT@2..43 0: JSX_OPENING_ELEMENT@2..8 0: L_ANGLE@2..3 "<" [] [] 1: JSX_NAME@3..8 0: JSX_IDENT@3..8 "test" [] [Whitespace(" ")] 2: (empty) 3: JSX_ATTRIBUTE_LIST@8..8 4: (empty) 1: JSX_CHILD_LIST@8..36 0: JSX_ELEMENT@8..36 0: JSX_OPENING_ELEMENT@8..15 0: L_ANGLE@8..9 "<" [] [] 1: JSX_NAME@9..14 0: JSX_IDENT@9..14 "inner" [] [] 2: (empty) 3: JSX_ATTRIBUTE_LIST@14..14 4: R_ANGLE@14..15 ">" [] [] 1: JSX_CHILD_LIST@15..28 0: JSX_TEXT@15..28 0: JSX_TEXT_LITERAL@15..28 " some content" [] [] 2: JSX_CLOSING_ELEMENT@28..36 0: L_ANGLE@28..29 "<" [] [] 1: SLASH@29..30 "/" [] [] 2: JSX_NAME@30..35 0: JSX_IDENT@30..35 "inner" [] [] 3: R_ANGLE@35..36 ">" [] [] 2: JSX_CLOSING_ELEMENT@36..43 0: L_ANGLE@36..37 "<" [] [] 1: SLASH@37..38 "/" [] [] 2: JSX_NAME@38..42 0: JSX_IDENT@38..42 "test" [] [] 3: R_ANGLE@42..43 ">" [] [] 2: JSX_CLOSING_FRAGMENT@43..46 0: L_ANGLE@43..44 "<" [] [] 1: SLASH@44..45 "/" [] [] 2: R_ANGLE@45..46 ">" [] [] 1: (empty) 4: EOF@46..47 "" [Newline("\n")] [] -- jsx_opening_element_missing_r_angle.jsx:1:9 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × expected `>` but instead found `<` > 1 │ <> some content │ ^ 2 │ i Remove < -- <> some content