JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ JsBogusStatement { items: [ JsDecoratorList [], ABSTRACT_KW@0..9 "abstract" [] [Whitespace(" ")], CLASS_KW@9..15 "class" [] [Whitespace(" ")], JsIdentifierBinding { name_token: IDENT@15..17 "A" [] [Whitespace(" ")], }, L_CURLY@17..18 "{" [] [], JsClassMemberList [], R_CURLY@18..19 "}" [] [], ], }, ], eof_token: EOF@19..20 "" [Newline("\n")] [], } 0: JS_MODULE@0..20 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..19 0: JS_BOGUS_STATEMENT@0..19 0: JS_DECORATOR_LIST@0..0 1: ABSTRACT_KW@0..9 "abstract" [] [Whitespace(" ")] 2: CLASS_KW@9..15 "class" [] [Whitespace(" ")] 3: JS_IDENTIFIER_BINDING@15..17 0: IDENT@15..17 "A" [] [Whitespace(" ")] 4: L_CURLY@17..18 "{" [] [] 5: JS_CLASS_MEMBER_LIST@18..18 6: R_CURLY@18..19 "}" [] [] 4: EOF@19..20 "" [Newline("\n")] [] -- abstract_class_in_js.js:1:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × abstract classes are a TypeScript only feature. Convert your file to a TypeScript file or remove the syntax. > 1 │ abstract class A {} │ ^^^^^^^^^^^^^^^^^^^ 2 │ i TypeScript only syntax -- abstract class A {}