JsModule { bom_token: missing (optional), interpreter_token: missing (optional), directives: JsDirectiveList [], items: JsModuleItemList [ TsDeclareStatement { declare_token: DECLARE_KW@0..8 "declare" [] [Whitespace(" ")], declaration: TsModuleDeclaration { module_or_namespace: MODULE_KW@8..15 "module" [] [Whitespace(" ")], name: TsIdentifierBinding { name_token: IDENT@15..17 "A" [] [Whitespace(" ")], }, body: TsModuleBlock { l_curly_token: L_CURLY@17..18 "{" [] [], items: JsModuleItemList [ JsExpressionStatement { expression: JsStringLiteralExpression { value_token: JS_STRING_LITERAL@18..26 "\"name\"" [Newline("\n"), Whitespace(" ")] [], }, semicolon_token: missing (optional), }, JsBogusStatement { items: [ COLON@26..28 ":" [] [Whitespace(" ")], JS_STRING_LITERAL@28..45 "\"troublesome-lib\"" [] [], COMMA@45..46 "," [] [], JS_STRING_LITERAL@46..57 "\"typings\"" [Newline("\n"), Whitespace(" ")] [], COLON@57..59 ":" [] [Whitespace(" ")], JS_STRING_LITERAL@59..75 "\"lib/index.d.ts\"" [] [], COMMA@75..76 "," [] [], JS_STRING_LITERAL@76..87 "\"version\"" [Newline("\n"), Whitespace(" ")] [], COLON@87..89 ":" [] [Whitespace(" ")], JS_STRING_LITERAL@89..96 "\"0.0.1\"" [] [], ], }, ], r_curly_token: R_CURLY@96..98 "}" [Newline("\n")] [], }, }, }, ], eof_token: EOF@98..99 "" [Newline("\n")] [], } 0: JS_MODULE@0..99 0: (empty) 1: (empty) 2: JS_DIRECTIVE_LIST@0..0 3: JS_MODULE_ITEM_LIST@0..98 0: TS_DECLARE_STATEMENT@0..98 0: DECLARE_KW@0..8 "declare" [] [Whitespace(" ")] 1: TS_MODULE_DECLARATION@8..98 0: MODULE_KW@8..15 "module" [] [Whitespace(" ")] 1: TS_IDENTIFIER_BINDING@15..17 0: IDENT@15..17 "A" [] [Whitespace(" ")] 2: TS_MODULE_BLOCK@17..98 0: L_CURLY@17..18 "{" [] [] 1: JS_MODULE_ITEM_LIST@18..96 0: JS_EXPRESSION_STATEMENT@18..26 0: JS_STRING_LITERAL_EXPRESSION@18..26 0: JS_STRING_LITERAL@18..26 "\"name\"" [Newline("\n"), Whitespace(" ")] [] 1: (empty) 1: JS_BOGUS_STATEMENT@26..96 0: COLON@26..28 ":" [] [Whitespace(" ")] 1: JS_STRING_LITERAL@28..45 "\"troublesome-lib\"" [] [] 2: COMMA@45..46 "," [] [] 3: JS_STRING_LITERAL@46..57 "\"typings\"" [Newline("\n"), Whitespace(" ")] [] 4: COLON@57..59 ":" [] [Whitespace(" ")] 5: JS_STRING_LITERAL@59..75 "\"lib/index.d.ts\"" [] [] 6: COMMA@75..76 "," [] [] 7: JS_STRING_LITERAL@76..87 "\"version\"" [Newline("\n"), Whitespace(" ")] [] 8: COLON@87..89 ":" [] [Whitespace(" ")] 9: JS_STRING_LITERAL@89..96 "\"0.0.1\"" [] [] 2: R_CURLY@96..98 "}" [Newline("\n")] [] 4: EOF@98..99 "" [Newline("\n")] [] -- module_closing_curly.ts:2:8 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ × Expected a semicolon or an implicit semicolon after a statement, but found none 1 │ declare module A { > 2 │ "name": "troublesome-lib", │ ^ 3 │ "typings": "lib/index.d.ts", 4 │ "version": "0.0.1" i An explicit or implicit semicolon is expected here... 1 │ declare module A { > 2 │ "name": "troublesome-lib", │ ^ 3 │ "typings": "lib/index.d.ts", 4 │ "version": "0.0.1" i ...Which is required to end this statement 1 │ declare module A { > 2 │ "name": "troublesome-lib", │ ^^^^^^^ 3 │ "typings": "lib/index.d.ts", 4 │ "version": "0.0.1" -- declare module A { "name": "troublesome-lib", "typings": "lib/index.d.ts", "version": "0.0.1" }