biome_js_parser 0.5.7

Biome's JavaScript parser
Documentation
JsModule {
    bom_token: missing (optional),
    interpreter_token: missing (optional),
    directives: JsDirectiveList [],
    items: JsModuleItemList [
        JsExpressionStatement {
            expression: JsAssignmentExpression {
                left: JsParenthesizedAssignment {
                    l_paren_token: L_PAREN@0..2 "(" [] [Whitespace(" ")],
                    assignment: missing (required),
                    r_paren_token: missing (required),
                },
                operator_token: EQ@2..4 "=" [] [Whitespace(" ")],
                right: JsIdentifierExpression {
                    name: JsReferenceIdentifier {
                        value_token: IDENT@4..7 "foo" [] [],
                    },
                },
            },
            semicolon_token: missing (optional),
        },
        JsBogusStatement {
            items: [
                R_PAREN@7..8 ")" [] [],
            ],
        },
        JsEmptyStatement {
            semicolon_token: SEMICOLON@8..9 ";" [] [],
        },
    ],
    eof_token: EOF@9..10 "" [Newline("\n")] [],
}

0: JS_MODULE@0..10
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..9
    0: JS_EXPRESSION_STATEMENT@0..7
      0: JS_ASSIGNMENT_EXPRESSION@0..7
        0: JS_PARENTHESIZED_ASSIGNMENT@0..2
          0: L_PAREN@0..2 "(" [] [Whitespace(" ")]
          1: (empty)
          2: (empty)
        1: EQ@2..4 "=" [] [Whitespace(" ")]
        2: JS_IDENTIFIER_EXPRESSION@4..7
          0: JS_REFERENCE_IDENTIFIER@4..7
            0: IDENT@4..7 "foo" [] []
      1: (empty)
    1: JS_BOGUS_STATEMENT@7..8
      0: R_PAREN@7..8 ")" [] []
    2: JS_EMPTY_STATEMENT@8..9
      0: SEMICOLON@8..9 ";" [] []
  4: EOF@9..10 "" [Newline("\n")] []
--
assign_expr_left.js:1:3 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected `)` but instead found `=`
  
  > 1 │ ( = foo);
      │   ^
    2 │ 
  
  i Remove =
  
--
assign_expr_left.js:1:8 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × Expected a semicolon or an implicit semicolon after a statement, but found none
  
  > 1 │ ( = foo);
      │        ^
    2 │ 
  
  i An explicit or implicit semicolon is expected here...
  
  > 1 │ ( = foo);
      │        ^
    2 │ 
  
  i ...Which is required to end this statement
  
  > 1 │ ( = foo);
      │ ^^^^^^^^
    2 │ 
  
--
( = foo);