diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index e52570b6f41b0..fae8f5a495505 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -547,7 +547,6 @@ import { isInitializedProperty, isInJSDoc, isInJSFile, - isInJsonFile, isInterfaceDeclaration, isInternalModuleImportEqualsDeclaration, isInTopLevelContext, @@ -29879,8 +29878,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { (contextualType.pattern.kind === SyntaxKind.ObjectBindingPattern || contextualType.pattern.kind === SyntaxKind.ObjectLiteralExpression); const inConstContext = isConstContext(node); const checkFlags = inConstContext ? CheckFlags.Readonly : 0; - const isInJavascript = isInJSFile(node) && !isInJsonFile(node); - const enumTag = getJSDocEnumTag(node); + const isInJavascript = isInJSFile(node); + const enumTag = isInJavascript ? getJSDocEnumTag(node) : undefined; const isJSObjectLiteral = !contextualType && isInJavascript && !enumTag; let objectFlags: ObjectFlags = freshObjectLiteralFlag; let patternWithComputedProperties = false; diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index be81d789c57d0..80c7e7fad3af4 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -1715,7 +1715,7 @@ namespace Parser { contextFlags = NodeFlags.JavaScriptFile; break; case ScriptKind.JSON: - contextFlags = NodeFlags.JavaScriptFile | NodeFlags.JsonFile; + contextFlags = NodeFlags.JsonFile; break; default: contextFlags = NodeFlags.None;