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: JsBogusAssignment {
                    items: [
                        IDENT@0..5 "eval" [] [Whitespace(" ")],
                    ],
                },
                operator_token: EQ@5..7 "=" [] [Whitespace(" ")],
                right: JsStringLiteralExpression {
                    value_token: JS_STRING_LITERAL@7..13 "\"test\"" [] [],
                },
            },
            semicolon_token: SEMICOLON@13..14 ";" [] [],
        },
        JsExpressionStatement {
            expression: JsAssignmentExpression {
                left: JsBogusAssignment {
                    items: [
                        IDENT@14..25 "arguments" [Newline("\n")] [Whitespace(" ")],
                    ],
                },
                operator_token: EQ@25..27 "=" [] [Whitespace(" ")],
                right: JsStringLiteralExpression {
                    value_token: JS_STRING_LITERAL@27..33 "\"test\"" [] [],
                },
            },
            semicolon_token: SEMICOLON@33..34 ";" [] [],
        },
    ],
    eof_token: EOF@34..35 "" [Newline("\n")] [],
}

0: JS_MODULE@0..35
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..34
    0: JS_EXPRESSION_STATEMENT@0..14
      0: JS_ASSIGNMENT_EXPRESSION@0..13
        0: JS_BOGUS_ASSIGNMENT@0..5
          0: IDENT@0..5 "eval" [] [Whitespace(" ")]
        1: EQ@5..7 "=" [] [Whitespace(" ")]
        2: JS_STRING_LITERAL_EXPRESSION@7..13
          0: JS_STRING_LITERAL@7..13 "\"test\"" [] []
      1: SEMICOLON@13..14 ";" [] []
    1: JS_EXPRESSION_STATEMENT@14..34
      0: JS_ASSIGNMENT_EXPRESSION@14..33
        0: JS_BOGUS_ASSIGNMENT@14..25
          0: IDENT@14..25 "arguments" [Newline("\n")] [Whitespace(" ")]
        1: EQ@25..27 "=" [] [Whitespace(" ")]
        2: JS_STRING_LITERAL_EXPRESSION@27..33
          0: JS_STRING_LITERAL@27..33 "\"test\"" [] []
      1: SEMICOLON@33..34 ";" [] []
  4: EOF@34..35 "" [Newline("\n")] []
--
eval_arguments_assignment.js:1:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × Illegal use of `eval` as an identifier in strict mode
  
  > 1 │ eval = "test";
      │ ^^^^
    2 │ arguments = "test";
    3 │ 
  
--
eval_arguments_assignment.js:2:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × Illegal use of `arguments` as an identifier in strict mode
  
    1 │ eval = "test";
  > 2 │ arguments = "test";
      │ ^^^^^^^^^
    3 │ 
  
--
eval = "test";
arguments = "test";