@typescript-deploys/pr-build 5.0.0-pr-51682-13 → 5.0.0-pr-51669-12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -577,16 +577,9 @@ declare namespace ts {
577
577
  */
578
578
  readonly modifiers?: NodeArray<ModifierLike> | undefined;
579
579
  }
580
- interface JSDocContainer extends Node {
581
- _jsdocContainerBrand: any;
580
+ interface JSDocContainer {
582
581
  }
583
- interface LocalsContainer extends Node {
584
- _localsContainerBrand: any;
585
- }
586
- interface FlowContainer extends Node {
587
- _flowContainerBrand: any;
588
- }
589
- type HasJSDoc = AccessorDeclaration | ArrowFunction | BinaryExpression | Block | BreakStatement | CallSignatureDeclaration | CaseClause | ClassLikeDeclaration | ClassStaticBlockDeclaration | ConstructorDeclaration | ConstructorTypeNode | ConstructSignatureDeclaration | ContinueStatement | DebuggerStatement | DoStatement | ElementAccessExpression | EmptyStatement | EndOfFileToken | EnumDeclaration | EnumMember | ExportAssignment | ExportDeclaration | ExportSpecifier | ExpressionStatement | ForInStatement | ForOfStatement | ForStatement | FunctionDeclaration | FunctionExpression | FunctionTypeNode | Identifier | IfStatement | ImportDeclaration | ImportEqualsDeclaration | IndexSignatureDeclaration | InterfaceDeclaration | JSDocFunctionType | JSDocSignature | LabeledStatement | MethodDeclaration | MethodSignature | ModuleDeclaration | NamedTupleMember | NamespaceExportDeclaration | ObjectLiteralExpression | ParameterDeclaration | ParenthesizedExpression | PropertyAccessExpression | PropertyAssignment | PropertyDeclaration | PropertySignature | ReturnStatement | ShorthandPropertyAssignment | SpreadAssignment | SwitchStatement | ThrowStatement | TryStatement | TypeAliasDeclaration | TypeParameterDeclaration | VariableDeclaration | VariableStatement | WhileStatement | WithStatement;
582
+ type HasJSDoc = ParameterDeclaration | CallSignatureDeclaration | ClassStaticBlockDeclaration | ConstructSignatureDeclaration | MethodSignature | PropertySignature | ArrowFunction | ParenthesizedExpression | SpreadAssignment | ShorthandPropertyAssignment | PropertyAssignment | FunctionExpression | EmptyStatement | DebuggerStatement | Block | VariableStatement | ExpressionStatement | IfStatement | DoStatement | WhileStatement | ForStatement | ForInStatement | ForOfStatement | BreakStatement | ContinueStatement | ReturnStatement | WithStatement | SwitchStatement | LabeledStatement | ThrowStatement | TryStatement | FunctionDeclaration | ConstructorDeclaration | MethodDeclaration | VariableDeclaration | PropertyDeclaration | AccessorDeclaration | ClassLikeDeclaration | InterfaceDeclaration | TypeAliasDeclaration | EnumMember | EnumDeclaration | ModuleDeclaration | ImportEqualsDeclaration | ImportDeclaration | NamespaceExportDeclaration | ExportAssignment | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | ExportDeclaration | NamedTupleMember | ExportSpecifier | CaseClause | EndOfFileToken;
590
583
  type HasType = SignatureDeclaration | VariableDeclaration | ParameterDeclaration | PropertySignature | PropertyDeclaration | TypePredicateNode | ParenthesizedTypeNode | TypeOperatorNode | MappedTypeNode | AssertionExpression | TypeAliasDeclaration | JSDocTypeExpression | JSDocNonNullableType | JSDocNullableType | JSDocOptionalType | JSDocVariadicType;
591
584
  type HasTypeArguments = CallExpression | NewExpression | TaggedTemplateExpression | JsxOpeningElement | JsxSelfClosingElement;
592
585
  type HasInitializer = HasExpressionInitializer | ForStatement | ForInStatement | ForOfStatement | JsxAttribute;
@@ -654,7 +647,7 @@ declare namespace ts {
654
647
  FileLevel = 32,
655
648
  AllowNameSubstitution = 64
656
649
  }
657
- interface Identifier extends PrimaryExpression, Declaration, JSDocContainer, FlowContainer {
650
+ interface Identifier extends PrimaryExpression, Declaration {
658
651
  readonly kind: SyntaxKind.Identifier;
659
652
  /**
660
653
  * Prefer to use `id.unescapedText`. (Note: This is available only in services, not internally to the TypeScript compiler.)
@@ -670,7 +663,7 @@ declare namespace ts {
670
663
  interface TransientIdentifier extends Identifier {
671
664
  resolvedSymbol: Symbol;
672
665
  }
673
- interface QualifiedName extends Node, FlowContainer {
666
+ interface QualifiedName extends Node {
674
667
  readonly kind: SyntaxKind.QualifiedName;
675
668
  readonly left: EntityName;
676
669
  readonly right: Identifier;
@@ -705,7 +698,7 @@ declare namespace ts {
705
698
  readonly parent: NamedDeclaration;
706
699
  readonly expression: LeftHandSideExpression;
707
700
  }
708
- interface TypeParameterDeclaration extends NamedDeclaration, JSDocContainer {
701
+ interface TypeParameterDeclaration extends NamedDeclaration {
709
702
  readonly kind: SyntaxKind.TypeParameter;
710
703
  readonly parent: DeclarationWithTypeParameterChildren | InferTypeNode;
711
704
  readonly modifiers?: NodeArray<Modifier>;
@@ -723,10 +716,10 @@ declare namespace ts {
723
716
  readonly type?: TypeNode | undefined;
724
717
  }
725
718
  type SignatureDeclaration = CallSignatureDeclaration | ConstructSignatureDeclaration | MethodSignature | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | AccessorDeclaration | FunctionExpression | ArrowFunction;
726
- interface CallSignatureDeclaration extends SignatureDeclarationBase, TypeElement, LocalsContainer {
719
+ interface CallSignatureDeclaration extends SignatureDeclarationBase, TypeElement {
727
720
  readonly kind: SyntaxKind.CallSignature;
728
721
  }
729
- interface ConstructSignatureDeclaration extends SignatureDeclarationBase, TypeElement, LocalsContainer {
722
+ interface ConstructSignatureDeclaration extends SignatureDeclarationBase, TypeElement {
730
723
  readonly kind: SyntaxKind.ConstructSignature;
731
724
  }
732
725
  type BindingName = Identifier | BindingPattern;
@@ -753,7 +746,7 @@ declare namespace ts {
753
746
  readonly type?: TypeNode;
754
747
  readonly initializer?: Expression;
755
748
  }
756
- interface BindingElement extends NamedDeclaration, FlowContainer {
749
+ interface BindingElement extends NamedDeclaration {
757
750
  readonly kind: SyntaxKind.BindingElement;
758
751
  readonly parent: BindingPattern;
759
752
  readonly propertyName?: PropertyName;
@@ -763,7 +756,6 @@ declare namespace ts {
763
756
  }
764
757
  interface PropertySignature extends TypeElement, JSDocContainer {
765
758
  readonly kind: SyntaxKind.PropertySignature;
766
- readonly parent: TypeLiteralNode | InterfaceDeclaration;
767
759
  readonly modifiers?: NodeArray<Modifier>;
768
760
  readonly name: PropertyName;
769
761
  readonly questionToken?: QuestionToken;
@@ -825,6 +817,9 @@ declare namespace ts {
825
817
  readonly expression: Expression;
826
818
  }
827
819
  type VariableLikeDeclaration = VariableDeclaration | ParameterDeclaration | BindingElement | PropertyDeclaration | PropertyAssignment | PropertySignature | JsxAttribute | ShorthandPropertyAssignment | EnumMember | JSDocPropertyTag | JSDocParameterTag;
820
+ interface PropertyLikeDeclaration extends NamedDeclaration {
821
+ readonly name: PropertyName;
822
+ }
828
823
  interface ObjectBindingPattern extends Node {
829
824
  readonly kind: SyntaxKind.ObjectBindingPattern;
830
825
  readonly parent: VariableDeclaration | ParameterDeclaration | BindingElement;
@@ -855,26 +850,26 @@ declare namespace ts {
855
850
  type FunctionLikeDeclaration = FunctionDeclaration | MethodDeclaration | GetAccessorDeclaration | SetAccessorDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction;
856
851
  /** @deprecated Use SignatureDeclaration */
857
852
  type FunctionLike = SignatureDeclaration;
858
- interface FunctionDeclaration extends FunctionLikeDeclarationBase, DeclarationStatement, LocalsContainer {
853
+ interface FunctionDeclaration extends FunctionLikeDeclarationBase, DeclarationStatement {
859
854
  readonly kind: SyntaxKind.FunctionDeclaration;
860
855
  readonly modifiers?: NodeArray<Modifier>;
861
856
  readonly name?: Identifier;
862
857
  readonly body?: FunctionBody;
863
858
  }
864
- interface MethodSignature extends SignatureDeclarationBase, TypeElement, LocalsContainer {
859
+ interface MethodSignature extends SignatureDeclarationBase, TypeElement {
865
860
  readonly kind: SyntaxKind.MethodSignature;
866
- readonly parent: TypeLiteralNode | InterfaceDeclaration;
861
+ readonly parent: ObjectTypeDeclaration;
867
862
  readonly modifiers?: NodeArray<Modifier>;
868
863
  readonly name: PropertyName;
869
864
  }
870
- interface MethodDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer, LocalsContainer, FlowContainer {
865
+ interface MethodDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer {
871
866
  readonly kind: SyntaxKind.MethodDeclaration;
872
867
  readonly parent: ClassLikeDeclaration | ObjectLiteralExpression;
873
868
  readonly modifiers?: NodeArray<ModifierLike> | undefined;
874
869
  readonly name: PropertyName;
875
870
  readonly body?: FunctionBody | undefined;
876
871
  }
877
- interface ConstructorDeclaration extends FunctionLikeDeclarationBase, ClassElement, JSDocContainer, LocalsContainer {
872
+ interface ConstructorDeclaration extends FunctionLikeDeclarationBase, ClassElement, JSDocContainer {
878
873
  readonly kind: SyntaxKind.Constructor;
879
874
  readonly parent: ClassLikeDeclaration;
880
875
  readonly modifiers?: NodeArray<Modifier> | undefined;
@@ -885,14 +880,14 @@ declare namespace ts {
885
880
  readonly kind: SyntaxKind.SemicolonClassElement;
886
881
  readonly parent: ClassLikeDeclaration;
887
882
  }
888
- interface GetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement, JSDocContainer, LocalsContainer, FlowContainer {
883
+ interface GetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement, JSDocContainer {
889
884
  readonly kind: SyntaxKind.GetAccessor;
890
885
  readonly parent: ClassLikeDeclaration | ObjectLiteralExpression | TypeLiteralNode | InterfaceDeclaration;
891
886
  readonly modifiers?: NodeArray<ModifierLike>;
892
887
  readonly name: PropertyName;
893
888
  readonly body?: FunctionBody;
894
889
  }
895
- interface SetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement, JSDocContainer, LocalsContainer, FlowContainer {
890
+ interface SetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement, JSDocContainer {
896
891
  readonly kind: SyntaxKind.SetAccessor;
897
892
  readonly parent: ClassLikeDeclaration | ObjectLiteralExpression | TypeLiteralNode | InterfaceDeclaration;
898
893
  readonly modifiers?: NodeArray<ModifierLike>;
@@ -900,13 +895,13 @@ declare namespace ts {
900
895
  readonly body?: FunctionBody;
901
896
  }
902
897
  type AccessorDeclaration = GetAccessorDeclaration | SetAccessorDeclaration;
903
- interface IndexSignatureDeclaration extends SignatureDeclarationBase, ClassElement, TypeElement, LocalsContainer {
898
+ interface IndexSignatureDeclaration extends SignatureDeclarationBase, ClassElement, TypeElement {
904
899
  readonly kind: SyntaxKind.IndexSignature;
905
900
  readonly parent: ObjectTypeDeclaration;
906
901
  readonly modifiers?: NodeArray<Modifier>;
907
902
  readonly type: TypeNode;
908
903
  }
909
- interface ClassStaticBlockDeclaration extends ClassElement, JSDocContainer, LocalsContainer {
904
+ interface ClassStaticBlockDeclaration extends ClassElement, JSDocContainer {
910
905
  readonly kind: SyntaxKind.ClassStaticBlockDeclaration;
911
906
  readonly parent: ClassDeclaration | ClassExpression;
912
907
  readonly body: Block;
@@ -938,14 +933,14 @@ declare namespace ts {
938
933
  readonly kind: SyntaxKind.FunctionType | SyntaxKind.ConstructorType;
939
934
  readonly type: TypeNode;
940
935
  }
941
- interface FunctionTypeNode extends FunctionOrConstructorTypeNodeBase, LocalsContainer {
936
+ interface FunctionTypeNode extends FunctionOrConstructorTypeNodeBase {
942
937
  readonly kind: SyntaxKind.FunctionType;
943
938
  }
944
939
  interface FunctionTypeNode {
945
940
  /** @deprecated A function type cannot have modifiers */
946
941
  readonly modifiers?: NodeArray<Modifier> | undefined;
947
942
  }
948
- interface ConstructorTypeNode extends FunctionOrConstructorTypeNodeBase, LocalsContainer {
943
+ interface ConstructorTypeNode extends FunctionOrConstructorTypeNodeBase {
949
944
  readonly kind: SyntaxKind.ConstructorType;
950
945
  readonly modifiers?: NodeArray<Modifier>;
951
946
  }
@@ -980,7 +975,7 @@ declare namespace ts {
980
975
  readonly kind: SyntaxKind.TupleType;
981
976
  readonly elements: NodeArray<TypeNode | NamedTupleMember>;
982
977
  }
983
- interface NamedTupleMember extends TypeNode, Declaration, JSDocContainer {
978
+ interface NamedTupleMember extends TypeNode, JSDocContainer, Declaration {
984
979
  readonly kind: SyntaxKind.NamedTupleMember;
985
980
  readonly dotDotDotToken?: Token<SyntaxKind.DotDotDotToken>;
986
981
  readonly name: Identifier;
@@ -1004,7 +999,7 @@ declare namespace ts {
1004
999
  readonly kind: SyntaxKind.IntersectionType;
1005
1000
  readonly types: NodeArray<TypeNode>;
1006
1001
  }
1007
- interface ConditionalTypeNode extends TypeNode, LocalsContainer {
1002
+ interface ConditionalTypeNode extends TypeNode {
1008
1003
  readonly kind: SyntaxKind.ConditionalType;
1009
1004
  readonly checkType: TypeNode;
1010
1005
  readonly extendsType: TypeNode;
@@ -1029,7 +1024,7 @@ declare namespace ts {
1029
1024
  readonly objectType: TypeNode;
1030
1025
  readonly indexType: TypeNode;
1031
1026
  }
1032
- interface MappedTypeNode extends TypeNode, Declaration, LocalsContainer {
1027
+ interface MappedTypeNode extends TypeNode, Declaration {
1033
1028
  readonly kind: SyntaxKind.MappedType;
1034
1029
  readonly readonlyToken?: ReadonlyKeyword | PlusToken | MinusToken;
1035
1030
  readonly typeParameter: TypeParameterDeclaration;
@@ -1108,10 +1103,10 @@ declare namespace ts {
1108
1103
  readonly kind: SyntaxKind.FalseKeyword;
1109
1104
  }
1110
1105
  type BooleanLiteral = TrueLiteral | FalseLiteral;
1111
- interface ThisExpression extends PrimaryExpression, FlowContainer {
1106
+ interface ThisExpression extends PrimaryExpression {
1112
1107
  readonly kind: SyntaxKind.ThisKeyword;
1113
1108
  }
1114
- interface SuperExpression extends PrimaryExpression, FlowContainer {
1109
+ interface SuperExpression extends PrimaryExpression {
1115
1110
  readonly kind: SyntaxKind.SuperKeyword;
1116
1111
  }
1117
1112
  interface ImportExpression extends PrimaryExpression {
@@ -1165,7 +1160,7 @@ declare namespace ts {
1165
1160
  type BinaryOperator = AssignmentOperatorOrHigher | SyntaxKind.CommaToken;
1166
1161
  type LogicalOrCoalescingAssignmentOperator = SyntaxKind.AmpersandAmpersandEqualsToken | SyntaxKind.BarBarEqualsToken | SyntaxKind.QuestionQuestionEqualsToken;
1167
1162
  type BinaryOperatorToken = Token<BinaryOperator>;
1168
- interface BinaryExpression extends Expression, Declaration, JSDocContainer {
1163
+ interface BinaryExpression extends Expression, Declaration {
1169
1164
  readonly kind: SyntaxKind.BinaryExpression;
1170
1165
  readonly left: Expression;
1171
1166
  readonly operatorToken: BinaryOperatorToken;
@@ -1202,13 +1197,13 @@ declare namespace ts {
1202
1197
  }
1203
1198
  type FunctionBody = Block;
1204
1199
  type ConciseBody = FunctionBody | Expression;
1205
- interface FunctionExpression extends PrimaryExpression, FunctionLikeDeclarationBase, JSDocContainer, LocalsContainer, FlowContainer {
1200
+ interface FunctionExpression extends PrimaryExpression, FunctionLikeDeclarationBase, JSDocContainer {
1206
1201
  readonly kind: SyntaxKind.FunctionExpression;
1207
1202
  readonly modifiers?: NodeArray<Modifier>;
1208
1203
  readonly name?: Identifier;
1209
1204
  readonly body: FunctionBody;
1210
1205
  }
1211
- interface ArrowFunction extends Expression, FunctionLikeDeclarationBase, JSDocContainer, LocalsContainer, FlowContainer {
1206
+ interface ArrowFunction extends Expression, FunctionLikeDeclarationBase, JSDocContainer {
1212
1207
  readonly kind: SyntaxKind.ArrowFunction;
1213
1208
  readonly modifiers?: NodeArray<Modifier>;
1214
1209
  readonly equalsGreaterThanToken: EqualsGreaterThanToken;
@@ -1295,13 +1290,13 @@ declare namespace ts {
1295
1290
  interface ObjectLiteralExpressionBase<T extends ObjectLiteralElement> extends PrimaryExpression, Declaration {
1296
1291
  readonly properties: NodeArray<T>;
1297
1292
  }
1298
- interface ObjectLiteralExpression extends ObjectLiteralExpressionBase<ObjectLiteralElementLike>, JSDocContainer {
1293
+ interface ObjectLiteralExpression extends ObjectLiteralExpressionBase<ObjectLiteralElementLike> {
1299
1294
  readonly kind: SyntaxKind.ObjectLiteralExpression;
1300
1295
  }
1301
1296
  type EntityNameExpression = Identifier | PropertyAccessEntityNameExpression;
1302
1297
  type EntityNameOrEntityNameExpression = EntityName | EntityNameExpression;
1303
1298
  type AccessExpression = PropertyAccessExpression | ElementAccessExpression;
1304
- interface PropertyAccessExpression extends MemberExpression, NamedDeclaration, JSDocContainer, FlowContainer {
1299
+ interface PropertyAccessExpression extends MemberExpression, NamedDeclaration {
1305
1300
  readonly kind: SyntaxKind.PropertyAccessExpression;
1306
1301
  readonly expression: LeftHandSideExpression;
1307
1302
  readonly questionDotToken?: QuestionDotToken;
@@ -1320,7 +1315,7 @@ declare namespace ts {
1320
1315
  readonly expression: EntityNameExpression;
1321
1316
  readonly name: Identifier;
1322
1317
  }
1323
- interface ElementAccessExpression extends MemberExpression, Declaration, JSDocContainer, FlowContainer {
1318
+ interface ElementAccessExpression extends MemberExpression {
1324
1319
  readonly kind: SyntaxKind.ElementAccessExpression;
1325
1320
  readonly expression: LeftHandSideExpression;
1326
1321
  readonly questionDotToken?: QuestionDotToken;
@@ -1390,7 +1385,7 @@ declare namespace ts {
1390
1385
  interface NonNullChain extends NonNullExpression {
1391
1386
  _optionalChainBrand: any;
1392
1387
  }
1393
- interface MetaProperty extends PrimaryExpression, FlowContainer {
1388
+ interface MetaProperty extends PrimaryExpression {
1394
1389
  readonly kind: SyntaxKind.MetaProperty;
1395
1390
  readonly keywordToken: SyntaxKind.NewKeyword | SyntaxKind.ImportKeyword;
1396
1391
  readonly name: Identifier;
@@ -1483,7 +1478,7 @@ declare namespace ts {
1483
1478
  interface EmptyStatement extends Statement {
1484
1479
  readonly kind: SyntaxKind.EmptyStatement;
1485
1480
  }
1486
- interface DebuggerStatement extends Statement, FlowContainer {
1481
+ interface DebuggerStatement extends Statement {
1487
1482
  readonly kind: SyntaxKind.DebuggerStatement;
1488
1483
  }
1489
1484
  interface MissingDeclaration extends DeclarationStatement {
@@ -1491,20 +1486,20 @@ declare namespace ts {
1491
1486
  readonly name?: Identifier;
1492
1487
  }
1493
1488
  type BlockLike = SourceFile | Block | ModuleBlock | CaseOrDefaultClause;
1494
- interface Block extends Statement, LocalsContainer {
1489
+ interface Block extends Statement {
1495
1490
  readonly kind: SyntaxKind.Block;
1496
1491
  readonly statements: NodeArray<Statement>;
1497
1492
  }
1498
- interface VariableStatement extends Statement, FlowContainer {
1493
+ interface VariableStatement extends Statement {
1499
1494
  readonly kind: SyntaxKind.VariableStatement;
1500
1495
  readonly modifiers?: NodeArray<Modifier>;
1501
1496
  readonly declarationList: VariableDeclarationList;
1502
1497
  }
1503
- interface ExpressionStatement extends Statement, FlowContainer {
1498
+ interface ExpressionStatement extends Statement {
1504
1499
  readonly kind: SyntaxKind.ExpressionStatement;
1505
1500
  readonly expression: Expression;
1506
1501
  }
1507
- interface IfStatement extends Statement, FlowContainer {
1502
+ interface IfStatement extends Statement {
1508
1503
  readonly kind: SyntaxKind.IfStatement;
1509
1504
  readonly expression: Expression;
1510
1505
  readonly thenStatement: Statement;
@@ -1513,58 +1508,58 @@ declare namespace ts {
1513
1508
  interface IterationStatement extends Statement {
1514
1509
  readonly statement: Statement;
1515
1510
  }
1516
- interface DoStatement extends IterationStatement, FlowContainer {
1511
+ interface DoStatement extends IterationStatement {
1517
1512
  readonly kind: SyntaxKind.DoStatement;
1518
1513
  readonly expression: Expression;
1519
1514
  }
1520
- interface WhileStatement extends IterationStatement, FlowContainer {
1515
+ interface WhileStatement extends IterationStatement {
1521
1516
  readonly kind: SyntaxKind.WhileStatement;
1522
1517
  readonly expression: Expression;
1523
1518
  }
1524
1519
  type ForInitializer = VariableDeclarationList | Expression;
1525
- interface ForStatement extends IterationStatement, LocalsContainer, FlowContainer {
1520
+ interface ForStatement extends IterationStatement {
1526
1521
  readonly kind: SyntaxKind.ForStatement;
1527
1522
  readonly initializer?: ForInitializer;
1528
1523
  readonly condition?: Expression;
1529
1524
  readonly incrementor?: Expression;
1530
1525
  }
1531
1526
  type ForInOrOfStatement = ForInStatement | ForOfStatement;
1532
- interface ForInStatement extends IterationStatement, LocalsContainer, FlowContainer {
1527
+ interface ForInStatement extends IterationStatement {
1533
1528
  readonly kind: SyntaxKind.ForInStatement;
1534
1529
  readonly initializer: ForInitializer;
1535
1530
  readonly expression: Expression;
1536
1531
  }
1537
- interface ForOfStatement extends IterationStatement, LocalsContainer, FlowContainer {
1532
+ interface ForOfStatement extends IterationStatement {
1538
1533
  readonly kind: SyntaxKind.ForOfStatement;
1539
1534
  readonly awaitModifier?: AwaitKeyword;
1540
1535
  readonly initializer: ForInitializer;
1541
1536
  readonly expression: Expression;
1542
1537
  }
1543
- interface BreakStatement extends Statement, FlowContainer {
1538
+ interface BreakStatement extends Statement {
1544
1539
  readonly kind: SyntaxKind.BreakStatement;
1545
1540
  readonly label?: Identifier;
1546
1541
  }
1547
- interface ContinueStatement extends Statement, FlowContainer {
1542
+ interface ContinueStatement extends Statement {
1548
1543
  readonly kind: SyntaxKind.ContinueStatement;
1549
1544
  readonly label?: Identifier;
1550
1545
  }
1551
1546
  type BreakOrContinueStatement = BreakStatement | ContinueStatement;
1552
- interface ReturnStatement extends Statement, FlowContainer {
1547
+ interface ReturnStatement extends Statement {
1553
1548
  readonly kind: SyntaxKind.ReturnStatement;
1554
1549
  readonly expression?: Expression;
1555
1550
  }
1556
- interface WithStatement extends Statement, FlowContainer {
1551
+ interface WithStatement extends Statement {
1557
1552
  readonly kind: SyntaxKind.WithStatement;
1558
1553
  readonly expression: Expression;
1559
1554
  readonly statement: Statement;
1560
1555
  }
1561
- interface SwitchStatement extends Statement, FlowContainer {
1556
+ interface SwitchStatement extends Statement {
1562
1557
  readonly kind: SyntaxKind.SwitchStatement;
1563
1558
  readonly expression: Expression;
1564
1559
  readonly caseBlock: CaseBlock;
1565
1560
  possiblyExhaustive?: boolean;
1566
1561
  }
1567
- interface CaseBlock extends Node, LocalsContainer {
1562
+ interface CaseBlock extends Node {
1568
1563
  readonly kind: SyntaxKind.CaseBlock;
1569
1564
  readonly parent: SwitchStatement;
1570
1565
  readonly clauses: NodeArray<CaseOrDefaultClause>;
@@ -1581,22 +1576,22 @@ declare namespace ts {
1581
1576
  readonly statements: NodeArray<Statement>;
1582
1577
  }
1583
1578
  type CaseOrDefaultClause = CaseClause | DefaultClause;
1584
- interface LabeledStatement extends Statement, FlowContainer {
1579
+ interface LabeledStatement extends Statement {
1585
1580
  readonly kind: SyntaxKind.LabeledStatement;
1586
1581
  readonly label: Identifier;
1587
1582
  readonly statement: Statement;
1588
1583
  }
1589
- interface ThrowStatement extends Statement, FlowContainer {
1584
+ interface ThrowStatement extends Statement {
1590
1585
  readonly kind: SyntaxKind.ThrowStatement;
1591
1586
  readonly expression: Expression;
1592
1587
  }
1593
- interface TryStatement extends Statement, FlowContainer {
1588
+ interface TryStatement extends Statement {
1594
1589
  readonly kind: SyntaxKind.TryStatement;
1595
1590
  readonly tryBlock: Block;
1596
1591
  readonly catchClause?: CatchClause;
1597
1592
  readonly finallyBlock?: Block;
1598
1593
  }
1599
- interface CatchClause extends Node, LocalsContainer {
1594
+ interface CatchClause extends Node {
1600
1595
  readonly kind: SyntaxKind.CatchClause;
1601
1596
  readonly parent: TryStatement;
1602
1597
  readonly variableDeclaration?: VariableDeclaration;
@@ -1646,7 +1641,7 @@ declare namespace ts {
1646
1641
  readonly token: SyntaxKind.ExtendsKeyword | SyntaxKind.ImplementsKeyword;
1647
1642
  readonly types: NodeArray<ExpressionWithTypeArguments>;
1648
1643
  }
1649
- interface TypeAliasDeclaration extends DeclarationStatement, JSDocContainer, LocalsContainer {
1644
+ interface TypeAliasDeclaration extends DeclarationStatement, JSDocContainer {
1650
1645
  readonly kind: SyntaxKind.TypeAliasDeclaration;
1651
1646
  readonly modifiers?: NodeArray<Modifier>;
1652
1647
  readonly name: Identifier;
@@ -1667,7 +1662,7 @@ declare namespace ts {
1667
1662
  }
1668
1663
  type ModuleName = Identifier | StringLiteral;
1669
1664
  type ModuleBody = NamespaceBody | JSDocNamespaceBody;
1670
- interface ModuleDeclaration extends DeclarationStatement, JSDocContainer, LocalsContainer {
1665
+ interface ModuleDeclaration extends DeclarationStatement, JSDocContainer {
1671
1666
  readonly kind: SyntaxKind.ModuleDeclaration;
1672
1667
  readonly parent: ModuleBody | SourceFile;
1673
1668
  readonly modifiers?: NodeArray<Modifier>;
@@ -1883,7 +1878,7 @@ declare namespace ts {
1883
1878
  readonly kind: SyntaxKind.JSDocOptionalType;
1884
1879
  readonly type: TypeNode;
1885
1880
  }
1886
- interface JSDocFunctionType extends JSDocType, SignatureDeclarationBase, LocalsContainer {
1881
+ interface JSDocFunctionType extends JSDocType, SignatureDeclarationBase {
1887
1882
  readonly kind: SyntaxKind.JSDocFunctionType;
1888
1883
  }
1889
1884
  interface JSDocVariadicType extends JSDocType {
@@ -1969,7 +1964,7 @@ declare namespace ts {
1969
1964
  interface JSDocOverrideTag extends JSDocTag {
1970
1965
  readonly kind: SyntaxKind.JSDocOverrideTag;
1971
1966
  }
1972
- interface JSDocEnumTag extends JSDocTag, Declaration, LocalsContainer {
1967
+ interface JSDocEnumTag extends JSDocTag, Declaration {
1973
1968
  readonly kind: SyntaxKind.JSDocEnumTag;
1974
1969
  readonly parent: JSDoc;
1975
1970
  readonly typeExpression: JSDocTypeExpression;
@@ -1995,21 +1990,21 @@ declare namespace ts {
1995
1990
  readonly kind: SyntaxKind.JSDocTypeTag;
1996
1991
  readonly typeExpression: JSDocTypeExpression;
1997
1992
  }
1998
- interface JSDocTypedefTag extends JSDocTag, NamedDeclaration, LocalsContainer {
1993
+ interface JSDocTypedefTag extends JSDocTag, NamedDeclaration {
1999
1994
  readonly kind: SyntaxKind.JSDocTypedefTag;
2000
1995
  readonly parent: JSDoc;
2001
1996
  readonly fullName?: JSDocNamespaceDeclaration | Identifier;
2002
1997
  readonly name?: Identifier;
2003
1998
  readonly typeExpression?: JSDocTypeExpression | JSDocTypeLiteral;
2004
1999
  }
2005
- interface JSDocCallbackTag extends JSDocTag, NamedDeclaration, LocalsContainer {
2000
+ interface JSDocCallbackTag extends JSDocTag, NamedDeclaration {
2006
2001
  readonly kind: SyntaxKind.JSDocCallbackTag;
2007
2002
  readonly parent: JSDoc;
2008
2003
  readonly fullName?: JSDocNamespaceDeclaration | Identifier;
2009
2004
  readonly name?: Identifier;
2010
2005
  readonly typeExpression: JSDocSignature;
2011
2006
  }
2012
- interface JSDocSignature extends JSDocType, Declaration, JSDocContainer, LocalsContainer {
2007
+ interface JSDocSignature extends JSDocType, Declaration {
2013
2008
  readonly kind: SyntaxKind.JSDocSignature;
2014
2009
  readonly typeParameters?: readonly JSDocTemplateTag[];
2015
2010
  readonly parameters: readonly JSDocParameterTag[];
@@ -2029,7 +2024,7 @@ declare namespace ts {
2029
2024
  interface JSDocParameterTag extends JSDocPropertyLikeTag {
2030
2025
  readonly kind: SyntaxKind.JSDocParameterTag;
2031
2026
  }
2032
- interface JSDocTypeLiteral extends JSDocType, Declaration {
2027
+ interface JSDocTypeLiteral extends JSDocType {
2033
2028
  readonly kind: SyntaxKind.JSDocTypeLiteral;
2034
2029
  readonly jsDocPropertyTags?: readonly JSDocPropertyLikeTag[];
2035
2030
  /** If true, then this type literal represents an *array* of its type. */
@@ -2109,7 +2104,7 @@ declare namespace ts {
2109
2104
  getLineAndCharacterOfPosition(pos: number): LineAndCharacter;
2110
2105
  }
2111
2106
  type ResolutionMode = ModuleKind.ESNext | ModuleKind.CommonJS | undefined;
2112
- interface SourceFile extends Declaration, LocalsContainer {
2107
+ interface SourceFile extends Declaration {
2113
2108
  readonly kind: SyntaxKind.SourceFile;
2114
2109
  readonly statements: NodeArray<Statement>;
2115
2110
  readonly endOfFileToken: Token<SyntaxKind.EndOfFileToken>;
@@ -3032,7 +3027,8 @@ declare namespace ts {
3032
3027
  Classic = 1,
3033
3028
  NodeJs = 2,
3034
3029
  Node16 = 3,
3035
- NodeNext = 99
3030
+ NodeNext = 99,
3031
+ Hybrid = 100
3036
3032
  }
3037
3033
  enum ModuleDetectionKind {
3038
3034
  /**
@@ -3083,6 +3079,7 @@ declare namespace ts {
3083
3079
  }
3084
3080
  type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike<string[]> | PluginImport[] | ProjectReference[] | null | undefined;
3085
3081
  interface CompilerOptions {
3082
+ allowImportingTsExtensions?: boolean;
3086
3083
  allowJs?: boolean;
3087
3084
  allowSyntheticDefaultImports?: boolean;
3088
3085
  allowUmdGlobalAccess?: boolean;
@@ -3092,6 +3089,7 @@ declare namespace ts {
3092
3089
  baseUrl?: string;
3093
3090
  charset?: string;
3094
3091
  checkJs?: boolean;
3092
+ customConditions?: string[];
3095
3093
  declaration?: boolean;
3096
3094
  declarationMap?: boolean;
3097
3095
  emitDeclarationOnly?: boolean;
@@ -3156,6 +3154,8 @@ declare namespace ts {
3156
3154
  incremental?: boolean;
3157
3155
  tsBuildInfoFile?: string;
3158
3156
  removeComments?: boolean;
3157
+ resolvePackageJsonExports?: boolean;
3158
+ resolvePackageJsonImports?: boolean;
3159
3159
  rootDir?: string;
3160
3160
  rootDirs?: string[];
3161
3161
  skipLibCheck?: boolean;
@@ -3327,6 +3327,11 @@ declare namespace ts {
3327
3327
  resolvedFileName: string;
3328
3328
  /** True if `resolvedFileName` comes from `node_modules`. */
3329
3329
  isExternalLibraryImport?: boolean;
3330
+ /**
3331
+ * True if the original module reference used a .ts extension to refer directly to a .ts file,
3332
+ * which should produce an error during checking if emit is enabled.
3333
+ */
3334
+ resolvedUsingTsExtension?: boolean;
3330
3335
  }
3331
3336
  /**
3332
3337
  * ResolvedModule with an explicitly provided `extension` property.
@@ -3535,12 +3540,11 @@ declare namespace ts {
3535
3540
  createToken(token: SyntaxKind.NullKeyword): NullLiteral;
3536
3541
  createToken(token: SyntaxKind.TrueKeyword): TrueLiteral;
3537
3542
  createToken(token: SyntaxKind.FalseKeyword): FalseLiteral;
3538
- createToken(token: SyntaxKind.EndOfFileToken): EndOfFileToken;
3539
- createToken(token: SyntaxKind.Unknown): Token<SyntaxKind.Unknown>;
3540
3543
  createToken<TKind extends PunctuationSyntaxKind>(token: TKind): PunctuationToken<TKind>;
3541
3544
  createToken<TKind extends KeywordTypeSyntaxKind>(token: TKind): KeywordTypeNode<TKind>;
3542
3545
  createToken<TKind extends ModifierSyntaxKind>(token: TKind): ModifierToken<TKind>;
3543
3546
  createToken<TKind extends KeywordSyntaxKind>(token: TKind): KeywordToken<TKind>;
3547
+ createToken<TKind extends SyntaxKind.Unknown | SyntaxKind.EndOfFileToken>(token: TKind): Token<TKind>;
3544
3548
  createSuper(): SuperExpression;
3545
3549
  createThis(): ThisExpression;
3546
3550
  createNull(): NullLiteral;
@@ -4831,6 +4835,7 @@ declare namespace ts {
4831
4835
  parent: ConstructorDeclaration;
4832
4836
  name: Identifier;
4833
4837
  };
4838
+ function emitModuleKindIsNonNodeESM(moduleKind: ModuleKind): boolean;
4834
4839
  function createUnparsedSourceFile(text: string): UnparsedSource;
4835
4840
  function createUnparsedSourceFile(inputFile: InputFiles, type: "js" | "dts", stripInternal?: boolean): UnparsedSource;
4836
4841
  function createUnparsedSourceFile(text: string, mapPath: string | undefined, map: string | undefined): UnparsedSource;
@@ -5258,8 +5263,11 @@ declare namespace ts {
5258
5263
  function createTypeReferenceDirectiveResolutionCache(currentDirectory: string, getCanonicalFileName: (s: string) => string, options?: CompilerOptions, packageJsonInfoCache?: PackageJsonInfoCache): TypeReferenceDirectiveResolutionCache;
5259
5264
  function resolveModuleNameFromCache(moduleName: string, containingFile: string, cache: ModuleResolutionCache, mode?: ResolutionMode): ResolvedModuleWithFailedLookupLocations | undefined;
5260
5265
  function resolveModuleName(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference, resolutionMode?: ResolutionMode): ResolvedModuleWithFailedLookupLocations;
5266
+ function hybridModuleNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations;
5261
5267
  function nodeModuleNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations;
5262
5268
  function classicNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: NonRelativeModuleNameResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations;
5269
+ function moduleResolutionSupportsResolvingTsExtensions(compilerOptions: CompilerOptions): boolean;
5270
+ function shouldAllowImportingTsExtension(compilerOptions: CompilerOptions, fromFileName?: string): boolean | "" | undefined;
5263
5271
  interface TypeReferenceDirectiveResolutionCache extends PerDirectoryResolutionCache<ResolvedTypeReferenceDirectiveWithFailedLookupLocations>, NonRelativeNameResolutionCache<ResolvedTypeReferenceDirectiveWithFailedLookupLocations>, PackageJsonInfoCache {
5264
5272
  }
5265
5273
  interface ModeAwareCache<T> {
@@ -6197,6 +6205,7 @@ declare namespace ts {
6197
6205
  toggleMultilineComment(fileName: string, textRange: TextRange): TextChange[];
6198
6206
  commentSelection(fileName: string, textRange: TextRange): TextChange[];
6199
6207
  uncommentSelection(fileName: string, textRange: TextRange): TextChange[];
6208
+ getSupportedCodeFixes(fileName?: string): readonly string[];
6200
6209
  dispose(): void;
6201
6210
  }
6202
6211
  interface JsxClosingTagInfo {
@@ -7179,7 +7188,7 @@ declare namespace ts {
7179
7188
  function toEditorSettings(options: EditorOptions | EditorSettings): EditorSettings;
7180
7189
  function displayPartsToString(displayParts: SymbolDisplayPart[] | undefined): string;
7181
7190
  function getDefaultCompilerOptions(): CompilerOptions;
7182
- function getSupportedCodeFixes(): string[];
7191
+ function getSupportedCodeFixes(): readonly string[];
7183
7192
  function createLanguageServiceSourceFile(fileName: string, scriptSnapshot: IScriptSnapshot, scriptTargetOrOptions: ScriptTarget | CreateSourceFileOptions, version: string, setNodeParents: boolean, scriptKind?: ScriptKind): SourceFile;
7184
7193
  function updateLanguageServiceSourceFile(sourceFile: SourceFile, scriptSnapshot: IScriptSnapshot, version: string, textChangeRange: TextChangeRange | undefined, aggressiveChecks?: boolean): SourceFile;
7185
7194
  function createLanguageService(host: LanguageServiceHost, documentRegistry?: DocumentRegistry, syntaxOnlyOrLanguageServiceMode?: boolean | LanguageServiceMode): LanguageService;