typescript 5.7.1-rc → 5.7.3

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.
package/lib/_tsc.js CHANGED
@@ -18,7 +18,7 @@ and limitations under the License.
18
18
 
19
19
  // src/compiler/corePublic.ts
20
20
  var versionMajorMinor = "5.7";
21
- var version = "5.7.1-rc";
21
+ var version = "5.7.3";
22
22
 
23
23
  // src/compiler/core.ts
24
24
  var emptyArray = [];
@@ -11143,6 +11143,7 @@ function sortAndDeduplicateDiagnostics(diagnostics) {
11143
11143
  }
11144
11144
  var targetToLibMap = /* @__PURE__ */ new Map([
11145
11145
  [99 /* ESNext */, "lib.esnext.full.d.ts"],
11146
+ [11 /* ES2024 */, "lib.es2024.full.d.ts"],
11146
11147
  [10 /* ES2023 */, "lib.es2023.full.d.ts"],
11147
11148
  [9 /* ES2022 */, "lib.es2022.full.d.ts"],
11148
11149
  [8 /* ES2021 */, "lib.es2021.full.d.ts"],
@@ -11158,6 +11159,7 @@ function getDefaultLibFileName(options) {
11158
11159
  const target = getEmitScriptTarget(options);
11159
11160
  switch (target) {
11160
11161
  case 99 /* ESNext */:
11162
+ case 11 /* ES2024 */:
11161
11163
  case 10 /* ES2023 */:
11162
11164
  case 9 /* ES2022 */:
11163
11165
  case 8 /* ES2021 */:
@@ -46776,6 +46778,12 @@ function createTypeChecker(host) {
46776
46778
  /*isReadonly*/
46777
46779
  true
46778
46780
  );
46781
+ var anyBaseTypeIndexInfo = createIndexInfo(
46782
+ stringType,
46783
+ anyType,
46784
+ /*isReadonly*/
46785
+ false
46786
+ );
46779
46787
  var iterationTypesCache = /* @__PURE__ */ new Map();
46780
46788
  var noIterationTypes = {
46781
46789
  get yieldType() {
@@ -50319,7 +50327,7 @@ function createTypeChecker(host) {
50319
50327
  return true;
50320
50328
  }
50321
50329
  if (requiresAddingUndefined && annotationType) {
50322
- annotationType = getOptionalType(annotationType, !isParameter(node));
50330
+ annotationType = addOptionality(annotationType, !isParameter(node));
50323
50331
  }
50324
50332
  return !!annotationType && typeNodeIsEquivalentToType(node, type, annotationType) && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type);
50325
50333
  }
@@ -56577,12 +56585,7 @@ function createTypeChecker(host) {
56577
56585
  addInheritedMembers(members, getPropertiesOfType(instantiatedBaseType));
56578
56586
  callSignatures = concatenate(callSignatures, getSignaturesOfType(instantiatedBaseType, 0 /* Call */));
56579
56587
  constructSignatures = concatenate(constructSignatures, getSignaturesOfType(instantiatedBaseType, 1 /* Construct */));
56580
- const inheritedIndexInfos = instantiatedBaseType !== anyType ? getIndexInfosOfType(instantiatedBaseType) : [createIndexInfo(
56581
- stringType,
56582
- anyType,
56583
- /*isReadonly*/
56584
- false
56585
- )];
56588
+ const inheritedIndexInfos = instantiatedBaseType !== anyType ? getIndexInfosOfType(instantiatedBaseType) : [anyBaseTypeIndexInfo];
56586
56589
  indexInfos = concatenate(indexInfos, filter(inheritedIndexInfos, (info) => !findIndexInfo(indexInfos, info.keyType)));
56587
56590
  }
56588
56591
  }
@@ -57108,12 +57111,7 @@ function createTypeChecker(host) {
57108
57111
  members = createSymbolTable(getNamedOrIndexSignatureMembers(members));
57109
57112
  addInheritedMembers(members, getPropertiesOfType(baseConstructorType));
57110
57113
  } else if (baseConstructorType === anyType) {
57111
- baseConstructorIndexInfo = createIndexInfo(
57112
- stringType,
57113
- anyType,
57114
- /*isReadonly*/
57115
- false
57116
- );
57114
+ baseConstructorIndexInfo = anyBaseTypeIndexInfo;
57117
57115
  }
57118
57116
  }
57119
57117
  const indexSymbol = getIndexSymbolFromSymbolTable(members);
@@ -70460,12 +70458,13 @@ function createTypeChecker(host) {
70460
70458
  const jsxFactoryRefErr = diagnostics && compilerOptions.jsx === 2 /* React */ ? Diagnostics.This_JSX_tag_requires_0_to_be_in_scope_but_it_could_not_be_found : void 0;
70461
70459
  const jsxFactoryNamespace = getJsxNamespace(node);
70462
70460
  const jsxFactoryLocation = isJsxOpeningLikeElement(node) ? node.tagName : node;
70461
+ const shouldFactoryRefErr = compilerOptions.jsx !== 1 /* Preserve */ && compilerOptions.jsx !== 3 /* ReactNative */;
70463
70462
  let jsxFactorySym;
70464
70463
  if (!(isJsxOpeningFragment(node) && jsxFactoryNamespace === "null")) {
70465
70464
  jsxFactorySym = resolveName(
70466
70465
  jsxFactoryLocation,
70467
70466
  jsxFactoryNamespace,
70468
- compilerOptions.jsx === 1 /* Preserve */ ? 111551 /* Value */ & ~384 /* Enum */ : 111551 /* Value */,
70467
+ shouldFactoryRefErr ? 111551 /* Value */ : 111551 /* Value */ & ~384 /* Enum */,
70469
70468
  jsxFactoryRefErr,
70470
70469
  /*isUse*/
70471
70470
  true
@@ -70484,7 +70483,7 @@ function createTypeChecker(host) {
70484
70483
  resolveName(
70485
70484
  jsxFactoryLocation,
70486
70485
  localJsxNamespace,
70487
- compilerOptions.jsx === 1 /* Preserve */ ? 111551 /* Value */ & ~384 /* Enum */ : 111551 /* Value */,
70486
+ shouldFactoryRefErr ? 111551 /* Value */ : 111551 /* Value */ & ~384 /* Enum */,
70488
70487
  jsxFactoryRefErr,
70489
70488
  /*isUse*/
70490
70489
  true
@@ -74045,6 +74044,13 @@ function createTypeChecker(host) {
74045
74044
  return getIntersectionType(x);
74046
74045
  }
74047
74046
  function reportNonexistentProperty(propNode, containingType, isUncheckedJS) {
74047
+ const links = getNodeLinks(propNode);
74048
+ const cache = links.nonExistentPropCheckCache || (links.nonExistentPropCheckCache = /* @__PURE__ */ new Set());
74049
+ const key = `${getTypeId(containingType)}|${isUncheckedJS}`;
74050
+ if (cache.has(key)) {
74051
+ return;
74052
+ }
74053
+ cache.add(key);
74048
74054
  let errorInfo;
74049
74055
  let relatedInfo;
74050
74056
  if (!isPrivateIdentifier(propNode) && containingType.flags & 1048576 /* Union */ && !(containingType.flags & 402784252 /* Primitive */)) {
@@ -76003,12 +76009,14 @@ function createTypeChecker(host) {
76003
76009
  const sourceFileLinks = getNodeLinks(getSourceFileOfNode(node));
76004
76010
  if (sourceFileLinks.jsxFragmentType !== void 0) return sourceFileLinks.jsxFragmentType;
76005
76011
  const jsxFragmentFactoryName = getJsxNamespace(node);
76006
- if (jsxFragmentFactoryName === "null") return sourceFileLinks.jsxFragmentType = anyType;
76012
+ const shouldResolveFactoryReference = (compilerOptions.jsx === 2 /* React */ || compilerOptions.jsxFragmentFactory !== void 0) && jsxFragmentFactoryName !== "null";
76013
+ if (!shouldResolveFactoryReference) return sourceFileLinks.jsxFragmentType = anyType;
76014
+ const shouldModuleRefErr = compilerOptions.jsx !== 1 /* Preserve */ && compilerOptions.jsx !== 3 /* ReactNative */;
76007
76015
  const jsxFactoryRefErr = diagnostics ? Diagnostics.Using_JSX_fragments_requires_fragment_factory_0_to_be_in_scope_but_it_could_not_be_found : void 0;
76008
76016
  const jsxFactorySymbol = getJsxNamespaceContainerForImplicitImport(node) ?? resolveName(
76009
76017
  node,
76010
76018
  jsxFragmentFactoryName,
76011
- compilerOptions.jsx === 1 /* Preserve */ ? 111551 /* Value */ & ~384 /* Enum */ : 111551 /* Value */,
76019
+ shouldModuleRefErr ? 111551 /* Value */ : 111551 /* Value */ & ~384 /* Enum */,
76012
76020
  /*nameNotFoundMessage*/
76013
76021
  jsxFactoryRefErr,
76014
76022
  /*isUse*/
@@ -78574,7 +78582,9 @@ function createTypeChecker(host) {
78574
78582
  switch (node.kind) {
78575
78583
  case 223 /* AwaitExpression */:
78576
78584
  case 213 /* CallExpression */:
78585
+ case 215 /* TaggedTemplateExpression */:
78577
78586
  case 212 /* ElementAccessExpression */:
78587
+ case 236 /* MetaProperty */:
78578
78588
  case 214 /* NewExpression */:
78579
78589
  case 211 /* PropertyAccessExpression */:
78580
78590
  case 229 /* YieldExpression */:
@@ -78590,6 +78600,8 @@ function createTypeChecker(host) {
78590
78600
  case 56 /* AmpersandAmpersandToken */:
78591
78601
  case 77 /* AmpersandAmpersandEqualsToken */:
78592
78602
  return 3 /* Sometimes */;
78603
+ case 28 /* CommaToken */:
78604
+ return getSyntacticNullishnessSemantics(node.right);
78593
78605
  }
78594
78606
  return 2 /* Never */;
78595
78607
  case 227 /* ConditionalExpression */:
@@ -84702,7 +84714,7 @@ function createTypeChecker(host) {
84702
84714
  }
84703
84715
  }
84704
84716
  }
84705
- if (isOnlyImportableAsDefault(node.moduleSpecifier, resolvedModule) && !hasTypeJsonImportAttribute(node)) {
84717
+ if (!importClause.isTypeOnly && moduleKind === 199 /* NodeNext */ && isOnlyImportableAsDefault(node.moduleSpecifier, resolvedModule) && !hasTypeJsonImportAttribute(node)) {
84706
84718
  error(node.moduleSpecifier, Diagnostics.Importing_a_JSON_file_into_an_ECMAScript_module_requires_a_type_Colon_json_import_attribute_when_module_is_set_to_0, ModuleKind[moduleKind]);
84707
84719
  }
84708
84720
  } else if (noUncheckedSideEffectImports && !importClause) {
@@ -86986,6 +86998,7 @@ function createTypeChecker(host) {
86986
86998
  result || (result = []);
86987
86999
  for (const info of infoList) {
86988
87000
  if (info.declaration) continue;
87001
+ if (info === anyBaseTypeIndexInfo) continue;
86989
87002
  const node = nodeBuilder.indexInfoToIndexSignatureDeclaration(info, enclosing, flags, internalFlags, tracker);
86990
87003
  if (node && infoList === staticInfos) {
86991
87004
  (node.modifiers || (node.modifiers = factory.createNodeArray())).unshift(factory.createModifier(126 /* StaticKeyword */));
@@ -131703,9 +131716,9 @@ function createSyntacticTypeNodeBuilder(options, resolver) {
131703
131716
  }
131704
131717
  if (!result && node.kind === 303 /* PropertyAssignment */) {
131705
131718
  const initializer = node.initializer;
131706
- const type = isJSDocTypeAssertion(initializer) ? getJSDocTypeAssertionType(initializer) : initializer.kind === 234 /* AsExpression */ || initializer.kind === 216 /* TypeAssertionExpression */ ? initializer.type : void 0;
131707
- if (type && !isConstTypeReference(type)) {
131708
- result = serializeExistingTypeNode(type, context);
131719
+ const assertionNode = isJSDocTypeAssertion(initializer) ? getJSDocTypeAssertionType(initializer) : initializer.kind === 234 /* AsExpression */ || initializer.kind === 216 /* TypeAssertionExpression */ ? initializer.type : void 0;
131720
+ if (assertionNode && !isConstTypeReference(assertionNode) && resolver.canReuseTypeNodeAnnotation(context, node, assertionNode, symbol)) {
131721
+ result = serializeExistingTypeNode(assertionNode, context);
131709
131722
  }
131710
131723
  }
131711
131724
  return result ?? inferTypeOfDeclaration(
@@ -123,7 +123,6 @@ declare namespace ts {
123
123
  ProvideInlayHints = "provideInlayHints",
124
124
  WatchChange = "watchChange",
125
125
  MapCode = "mapCode",
126
- CopilotRelated = "copilotRelated",
127
126
  }
128
127
  /**
129
128
  * A TypeScript Server message
@@ -1831,16 +1830,6 @@ declare namespace ts {
1831
1830
  export interface MapCodeResponse extends Response {
1832
1831
  body: readonly FileCodeEdits[];
1833
1832
  }
1834
- export interface CopilotRelatedRequest extends FileRequest {
1835
- command: CommandTypes.CopilotRelated;
1836
- arguments: FileRequestArgs;
1837
- }
1838
- export interface CopilotRelatedItems {
1839
- relatedFiles: readonly string[];
1840
- }
1841
- export interface CopilotRelatedResponse extends Response {
1842
- body: CopilotRelatedItems;
1843
- }
1844
1833
  /**
1845
1834
  * Synchronous request for semantic diagnostics of one file.
1846
1835
  */
package/lib/typescript.js CHANGED
@@ -2278,7 +2278,7 @@ module.exports = __toCommonJS(typescript_exports);
2278
2278
 
2279
2279
  // src/compiler/corePublic.ts
2280
2280
  var versionMajorMinor = "5.7";
2281
- var version = "5.7.1-rc";
2281
+ var version = "5.7.3";
2282
2282
  var Comparison = /* @__PURE__ */ ((Comparison3) => {
2283
2283
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
2284
2284
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -14547,6 +14547,7 @@ function sortAndDeduplicateDiagnostics(diagnostics) {
14547
14547
  }
14548
14548
  var targetToLibMap = /* @__PURE__ */ new Map([
14549
14549
  [99 /* ESNext */, "lib.esnext.full.d.ts"],
14550
+ [11 /* ES2024 */, "lib.es2024.full.d.ts"],
14550
14551
  [10 /* ES2023 */, "lib.es2023.full.d.ts"],
14551
14552
  [9 /* ES2022 */, "lib.es2022.full.d.ts"],
14552
14553
  [8 /* ES2021 */, "lib.es2021.full.d.ts"],
@@ -14562,6 +14563,7 @@ function getDefaultLibFileName(options) {
14562
14563
  const target = getEmitScriptTarget(options);
14563
14564
  switch (target) {
14564
14565
  case 99 /* ESNext */:
14566
+ case 11 /* ES2024 */:
14565
14567
  case 10 /* ES2023 */:
14566
14568
  case 9 /* ES2022 */:
14567
14569
  case 8 /* ES2021 */:
@@ -51379,6 +51381,12 @@ function createTypeChecker(host) {
51379
51381
  /*isReadonly*/
51380
51382
  true
51381
51383
  );
51384
+ var anyBaseTypeIndexInfo = createIndexInfo(
51385
+ stringType,
51386
+ anyType,
51387
+ /*isReadonly*/
51388
+ false
51389
+ );
51382
51390
  var iterationTypesCache = /* @__PURE__ */ new Map();
51383
51391
  var noIterationTypes = {
51384
51392
  get yieldType() {
@@ -54922,7 +54930,7 @@ function createTypeChecker(host) {
54922
54930
  return true;
54923
54931
  }
54924
54932
  if (requiresAddingUndefined && annotationType) {
54925
- annotationType = getOptionalType(annotationType, !isParameter(node));
54933
+ annotationType = addOptionality(annotationType, !isParameter(node));
54926
54934
  }
54927
54935
  return !!annotationType && typeNodeIsEquivalentToType(node, type, annotationType) && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type);
54928
54936
  }
@@ -61180,12 +61188,7 @@ function createTypeChecker(host) {
61180
61188
  addInheritedMembers(members, getPropertiesOfType(instantiatedBaseType));
61181
61189
  callSignatures = concatenate(callSignatures, getSignaturesOfType(instantiatedBaseType, 0 /* Call */));
61182
61190
  constructSignatures = concatenate(constructSignatures, getSignaturesOfType(instantiatedBaseType, 1 /* Construct */));
61183
- const inheritedIndexInfos = instantiatedBaseType !== anyType ? getIndexInfosOfType(instantiatedBaseType) : [createIndexInfo(
61184
- stringType,
61185
- anyType,
61186
- /*isReadonly*/
61187
- false
61188
- )];
61191
+ const inheritedIndexInfos = instantiatedBaseType !== anyType ? getIndexInfosOfType(instantiatedBaseType) : [anyBaseTypeIndexInfo];
61189
61192
  indexInfos = concatenate(indexInfos, filter(inheritedIndexInfos, (info) => !findIndexInfo(indexInfos, info.keyType)));
61190
61193
  }
61191
61194
  }
@@ -61711,12 +61714,7 @@ function createTypeChecker(host) {
61711
61714
  members = createSymbolTable(getNamedOrIndexSignatureMembers(members));
61712
61715
  addInheritedMembers(members, getPropertiesOfType(baseConstructorType));
61713
61716
  } else if (baseConstructorType === anyType) {
61714
- baseConstructorIndexInfo = createIndexInfo(
61715
- stringType,
61716
- anyType,
61717
- /*isReadonly*/
61718
- false
61719
- );
61717
+ baseConstructorIndexInfo = anyBaseTypeIndexInfo;
61720
61718
  }
61721
61719
  }
61722
61720
  const indexSymbol = getIndexSymbolFromSymbolTable(members);
@@ -75063,12 +75061,13 @@ function createTypeChecker(host) {
75063
75061
  const jsxFactoryRefErr = diagnostics && compilerOptions.jsx === 2 /* React */ ? Diagnostics.This_JSX_tag_requires_0_to_be_in_scope_but_it_could_not_be_found : void 0;
75064
75062
  const jsxFactoryNamespace = getJsxNamespace(node);
75065
75063
  const jsxFactoryLocation = isJsxOpeningLikeElement(node) ? node.tagName : node;
75064
+ const shouldFactoryRefErr = compilerOptions.jsx !== 1 /* Preserve */ && compilerOptions.jsx !== 3 /* ReactNative */;
75066
75065
  let jsxFactorySym;
75067
75066
  if (!(isJsxOpeningFragment(node) && jsxFactoryNamespace === "null")) {
75068
75067
  jsxFactorySym = resolveName(
75069
75068
  jsxFactoryLocation,
75070
75069
  jsxFactoryNamespace,
75071
- compilerOptions.jsx === 1 /* Preserve */ ? 111551 /* Value */ & ~384 /* Enum */ : 111551 /* Value */,
75070
+ shouldFactoryRefErr ? 111551 /* Value */ : 111551 /* Value */ & ~384 /* Enum */,
75072
75071
  jsxFactoryRefErr,
75073
75072
  /*isUse*/
75074
75073
  true
@@ -75087,7 +75086,7 @@ function createTypeChecker(host) {
75087
75086
  resolveName(
75088
75087
  jsxFactoryLocation,
75089
75088
  localJsxNamespace,
75090
- compilerOptions.jsx === 1 /* Preserve */ ? 111551 /* Value */ & ~384 /* Enum */ : 111551 /* Value */,
75089
+ shouldFactoryRefErr ? 111551 /* Value */ : 111551 /* Value */ & ~384 /* Enum */,
75091
75090
  jsxFactoryRefErr,
75092
75091
  /*isUse*/
75093
75092
  true
@@ -78648,6 +78647,13 @@ function createTypeChecker(host) {
78648
78647
  return getIntersectionType(x);
78649
78648
  }
78650
78649
  function reportNonexistentProperty(propNode, containingType, isUncheckedJS) {
78650
+ const links = getNodeLinks(propNode);
78651
+ const cache = links.nonExistentPropCheckCache || (links.nonExistentPropCheckCache = /* @__PURE__ */ new Set());
78652
+ const key = `${getTypeId(containingType)}|${isUncheckedJS}`;
78653
+ if (cache.has(key)) {
78654
+ return;
78655
+ }
78656
+ cache.add(key);
78651
78657
  let errorInfo;
78652
78658
  let relatedInfo;
78653
78659
  if (!isPrivateIdentifier(propNode) && containingType.flags & 1048576 /* Union */ && !(containingType.flags & 402784252 /* Primitive */)) {
@@ -80606,12 +80612,14 @@ function createTypeChecker(host) {
80606
80612
  const sourceFileLinks = getNodeLinks(getSourceFileOfNode(node));
80607
80613
  if (sourceFileLinks.jsxFragmentType !== void 0) return sourceFileLinks.jsxFragmentType;
80608
80614
  const jsxFragmentFactoryName = getJsxNamespace(node);
80609
- if (jsxFragmentFactoryName === "null") return sourceFileLinks.jsxFragmentType = anyType;
80615
+ const shouldResolveFactoryReference = (compilerOptions.jsx === 2 /* React */ || compilerOptions.jsxFragmentFactory !== void 0) && jsxFragmentFactoryName !== "null";
80616
+ if (!shouldResolveFactoryReference) return sourceFileLinks.jsxFragmentType = anyType;
80617
+ const shouldModuleRefErr = compilerOptions.jsx !== 1 /* Preserve */ && compilerOptions.jsx !== 3 /* ReactNative */;
80610
80618
  const jsxFactoryRefErr = diagnostics ? Diagnostics.Using_JSX_fragments_requires_fragment_factory_0_to_be_in_scope_but_it_could_not_be_found : void 0;
80611
80619
  const jsxFactorySymbol = getJsxNamespaceContainerForImplicitImport(node) ?? resolveName(
80612
80620
  node,
80613
80621
  jsxFragmentFactoryName,
80614
- compilerOptions.jsx === 1 /* Preserve */ ? 111551 /* Value */ & ~384 /* Enum */ : 111551 /* Value */,
80622
+ shouldModuleRefErr ? 111551 /* Value */ : 111551 /* Value */ & ~384 /* Enum */,
80615
80623
  /*nameNotFoundMessage*/
80616
80624
  jsxFactoryRefErr,
80617
80625
  /*isUse*/
@@ -83177,7 +83185,9 @@ function createTypeChecker(host) {
83177
83185
  switch (node.kind) {
83178
83186
  case 223 /* AwaitExpression */:
83179
83187
  case 213 /* CallExpression */:
83188
+ case 215 /* TaggedTemplateExpression */:
83180
83189
  case 212 /* ElementAccessExpression */:
83190
+ case 236 /* MetaProperty */:
83181
83191
  case 214 /* NewExpression */:
83182
83192
  case 211 /* PropertyAccessExpression */:
83183
83193
  case 229 /* YieldExpression */:
@@ -83193,6 +83203,8 @@ function createTypeChecker(host) {
83193
83203
  case 56 /* AmpersandAmpersandToken */:
83194
83204
  case 77 /* AmpersandAmpersandEqualsToken */:
83195
83205
  return 3 /* Sometimes */;
83206
+ case 28 /* CommaToken */:
83207
+ return getSyntacticNullishnessSemantics(node.right);
83196
83208
  }
83197
83209
  return 2 /* Never */;
83198
83210
  case 227 /* ConditionalExpression */:
@@ -89305,7 +89317,7 @@ function createTypeChecker(host) {
89305
89317
  }
89306
89318
  }
89307
89319
  }
89308
- if (isOnlyImportableAsDefault(node.moduleSpecifier, resolvedModule) && !hasTypeJsonImportAttribute(node)) {
89320
+ if (!importClause.isTypeOnly && moduleKind === 199 /* NodeNext */ && isOnlyImportableAsDefault(node.moduleSpecifier, resolvedModule) && !hasTypeJsonImportAttribute(node)) {
89309
89321
  error2(node.moduleSpecifier, Diagnostics.Importing_a_JSON_file_into_an_ECMAScript_module_requires_a_type_Colon_json_import_attribute_when_module_is_set_to_0, ModuleKind[moduleKind]);
89310
89322
  }
89311
89323
  } else if (noUncheckedSideEffectImports && !importClause) {
@@ -91589,6 +91601,7 @@ function createTypeChecker(host) {
91589
91601
  result || (result = []);
91590
91602
  for (const info of infoList) {
91591
91603
  if (info.declaration) continue;
91604
+ if (info === anyBaseTypeIndexInfo) continue;
91592
91605
  const node = nodeBuilder.indexInfoToIndexSignatureDeclaration(info, enclosing, flags, internalFlags, tracker);
91593
91606
  if (node && infoList === staticInfos) {
91594
91607
  (node.modifiers || (node.modifiers = factory.createNodeArray())).unshift(factory.createModifier(126 /* StaticKeyword */));
@@ -136663,9 +136676,9 @@ function createSyntacticTypeNodeBuilder(options, resolver) {
136663
136676
  }
136664
136677
  if (!result && node.kind === 303 /* PropertyAssignment */) {
136665
136678
  const initializer = node.initializer;
136666
- const type = isJSDocTypeAssertion(initializer) ? getJSDocTypeAssertionType(initializer) : initializer.kind === 234 /* AsExpression */ || initializer.kind === 216 /* TypeAssertionExpression */ ? initializer.type : void 0;
136667
- if (type && !isConstTypeReference(type)) {
136668
- result = serializeExistingTypeNode(type, context);
136679
+ const assertionNode = isJSDocTypeAssertion(initializer) ? getJSDocTypeAssertionType(initializer) : initializer.kind === 234 /* AsExpression */ || initializer.kind === 216 /* TypeAssertionExpression */ ? initializer.type : void 0;
136680
+ if (assertionNode && !isConstTypeReference(assertionNode) && resolver.canReuseTypeNodeAnnotation(context, node, assertionNode, symbol)) {
136681
+ result = serializeExistingTypeNode(assertionNode, context);
136669
136682
  }
136670
136683
  }
136671
136684
  return result ?? inferTypeOfDeclaration(
@@ -146430,23 +146443,22 @@ function getUsageInfo(oldFile, toMove, checker, existingTargetLocals = /* @__PUR
146430
146443
  const unusedImportsFromOldFile = /* @__PURE__ */ new Set();
146431
146444
  for (const statement of toMove) {
146432
146445
  forEachReference(statement, checker, enclosingRange, (symbol, isValidTypeOnlyUseSite) => {
146433
- if (!symbol.declarations || isGlobalType(checker, symbol)) {
146446
+ if (!symbol.declarations) {
146434
146447
  return;
146435
146448
  }
146436
146449
  if (existingTargetLocals.has(skipAlias(symbol, checker))) {
146437
146450
  unusedImportsFromOldFile.add(symbol);
146438
146451
  return;
146439
146452
  }
146440
- for (const decl of symbol.declarations) {
146441
- if (isInImport(decl)) {
146442
- const prevIsTypeOnly = oldImportsNeededByTargetFile.get(symbol);
146443
- oldImportsNeededByTargetFile.set(symbol, [
146444
- prevIsTypeOnly === void 0 ? isValidTypeOnlyUseSite : prevIsTypeOnly && isValidTypeOnlyUseSite,
146445
- tryCast(decl, (d) => isImportSpecifier(d) || isImportClause(d) || isNamespaceImport(d) || isImportEqualsDeclaration(d) || isBindingElement(d) || isVariableDeclaration(d))
146446
- ]);
146447
- } else if (isTopLevelDeclaration(decl) && sourceFileOfTopLevelDeclaration(decl) === oldFile && !movedSymbols.has(symbol)) {
146448
- targetFileImportsFromOldFile.set(symbol, isValidTypeOnlyUseSite);
146449
- }
146453
+ const importedDeclaration = find(symbol.declarations, isInImport);
146454
+ if (importedDeclaration) {
146455
+ const prevIsTypeOnly = oldImportsNeededByTargetFile.get(symbol);
146456
+ oldImportsNeededByTargetFile.set(symbol, [
146457
+ prevIsTypeOnly === void 0 ? isValidTypeOnlyUseSite : prevIsTypeOnly && isValidTypeOnlyUseSite,
146458
+ tryCast(importedDeclaration, (d) => isImportSpecifier(d) || isImportClause(d) || isNamespaceImport(d) || isImportEqualsDeclaration(d) || isBindingElement(d) || isVariableDeclaration(d))
146459
+ ]);
146460
+ } else if (!movedSymbols.has(symbol) && every(symbol.declarations, (decl) => isTopLevelDeclaration(decl) && sourceFileOfTopLevelDeclaration(decl) === oldFile)) {
146461
+ targetFileImportsFromOldFile.set(symbol, isValidTypeOnlyUseSite);
146450
146462
  }
146451
146463
  });
146452
146464
  }
@@ -146480,16 +146492,6 @@ function getUsageInfo(oldFile, toMove, checker, existingTargetLocals = /* @__PUR
146480
146492
  return !!jsxNamespaceSymbol2 && some(jsxNamespaceSymbol2.declarations, isInImport) ? jsxNamespaceSymbol2 : void 0;
146481
146493
  }
146482
146494
  }
146483
- function isGlobalType(checker, symbol) {
146484
- return !!checker.resolveName(
146485
- symbol.name,
146486
- /*location*/
146487
- void 0,
146488
- 788968 /* Type */,
146489
- /*excludeGlobals*/
146490
- false
146491
- );
146492
- }
146493
146495
  function makeUniqueFilename(proposedFilename, extension, inDirectory, host) {
146494
146496
  let newFilename = proposedFilename;
146495
146497
  for (let i = 1; ; i++) {
@@ -151312,8 +151314,7 @@ var invalidOperationsInPartialSemanticMode = [
151312
151314
  "provideCallHierarchyOutgoingCalls",
151313
151315
  "provideInlayHints",
151314
151316
  "getSupportedCodeFixes",
151315
- "getPasteEdits",
151316
- "getImports"
151317
+ "getPasteEdits"
151317
151318
  ];
151318
151319
  var invalidOperationsInSyntacticMode = [
151319
151320
  ...invalidOperationsInPartialSemanticMode,
@@ -152565,18 +152566,6 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h
152565
152566
  preferences
152566
152567
  );
152567
152568
  }
152568
- function getImports(fileName) {
152569
- var _a2, _b;
152570
- synchronizeHostData();
152571
- const file = getValidSourceFile(fileName);
152572
- let imports;
152573
- for (const specifier of file.imports) {
152574
- if (nodeIsSynthesized(specifier)) continue;
152575
- const name = (_b = (_a2 = program.getResolvedModuleFromModuleSpecifier(specifier, file)) == null ? void 0 : _a2.resolvedModule) == null ? void 0 : _b.resolvedFileName;
152576
- if (name) (imports ?? (imports = /* @__PURE__ */ new Set())).add(name);
152577
- }
152578
- return imports ? arrayFrom(imports) : emptyArray;
152579
- }
152580
152569
  const ls = {
152581
152570
  dispose,
152582
152571
  cleanupSemanticCache,
@@ -152650,8 +152639,7 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h
152650
152639
  getSupportedCodeFixes,
152651
152640
  preparePasteEditsForFile,
152652
152641
  getPasteEdits,
152653
- mapCode: mapCode2,
152654
- getImports
152642
+ mapCode: mapCode2
152655
152643
  };
152656
152644
  switch (languageServiceMode) {
152657
152645
  case 0 /* Semantic */:
@@ -193108,8 +193096,8 @@ var Session3 = class _Session {
193108
193096
  ["mapCode" /* MapCode */]: (request) => {
193109
193097
  return this.requiredResponse(this.mapCode(request.arguments));
193110
193098
  },
193111
- ["copilotRelated" /* CopilotRelated */]: (request) => {
193112
- return this.requiredResponse(this.getCopilotRelatedInfo(request.arguments));
193099
+ ["copilotRelated" /* CopilotRelated */]: () => {
193100
+ return this.requiredResponse(this.getCopilotRelatedInfo());
193113
193101
  }
193114
193102
  }));
193115
193103
  this.host = opts.host;
@@ -194057,10 +194045,9 @@ Project '${project.projectName}' (${ProjectKind[project.projectKind]}) ${counter
194057
194045
  const changes = languageService.mapCode(file, args.mapping.contents, focusLocations, formatOptions, preferences);
194058
194046
  return this.mapTextChangesToCodeEdits(changes);
194059
194047
  }
194060
- getCopilotRelatedInfo(args) {
194061
- const { file, project } = this.getFileAndProject(args);
194048
+ getCopilotRelatedInfo() {
194062
194049
  return {
194063
- relatedFiles: project.getLanguageService().getImports(file)
194050
+ relatedFiles: []
194064
194051
  };
194065
194052
  }
194066
194053
  setCompilerOptionsForInferredProjects(args) {
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "typescript",
3
3
  "author": "Microsoft Corp.",
4
4
  "homepage": "https://www.typescriptlang.org/",
5
- "version": "5.7.1-rc",
5
+ "version": "5.7.3",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [
@@ -116,5 +116,5 @@
116
116
  "node": "20.1.0",
117
117
  "npm": "8.19.4"
118
118
  },
119
- "gitHead": "c1216dea1a504da7b89b5221b925abcd1702d7e4"
119
+ "gitHead": "a5e123d9e0690fcea92878ea8a0a382922009fc9"
120
120
  }