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>