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: JsBogusExpression {
                items: [
                    IMPORT_KW@0..6 "import" [] [],
                    DOT@6..7 "." [] [],
                    JsBogus {
                        items: [
                            IDENT@7..10 "foo" [] [],
                        ],
                    },
                ],
            },
            semicolon_token: missing (optional),
        },
        JsExpressionStatement {
            expression: JsBogusExpression {
                items: [
                    IMPORT_KW@10..17 "import" [Newline("\n")] [],
                    DOT@17..18 "." [] [],
                    JsBogus {
                        items: [
                            IDENT@18..23 "metaa" [] [],
                        ],
                    },
                ],
            },
            semicolon_token: missing (optional),
        },
    ],
    eof_token: EOF@23..24 "" [Newline("\n")] [],
}

0: JS_MODULE@0..24
  0: (empty)
  1: (empty)
  2: JS_DIRECTIVE_LIST@0..0
  3: JS_MODULE_ITEM_LIST@0..23
    0: JS_EXPRESSION_STATEMENT@0..10
      0: JS_BOGUS_EXPRESSION@0..10
        0: IMPORT_KW@0..6 "import" [] []
        1: DOT@6..7 "." [] []
        2: JS_BOGUS@7..10
          0: IDENT@7..10 "foo" [] []
      1: (empty)
    1: JS_EXPRESSION_STATEMENT@10..23
      0: JS_BOGUS_EXPRESSION@10..23
        0: IMPORT_KW@10..17 "import" [Newline("\n")] []
        1: DOT@17..18 "." [] []
        2: JS_BOGUS@18..23
          0: IDENT@18..23 "metaa" [] []
      1: (empty)
  4: EOF@23..24 "" [Newline("\n")] []
--
import_no_meta.js:1:8 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × Expected `meta` following an import keyword, but found `foo`
  
  > 1 │ import.foo
      │        ^^^
    2 │ import.metaa
    3 │ 
  
--
import_no_meta.js:2:8 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × Expected `meta` following an import keyword, but found `metaa`
  
    1 │ import.foo
  > 2 │ import.metaa
      │        ^^^^^
    3 │ 
  
--
import.foo
import.metaa