typescript 5.3.0-dev.20230920 → 5.3.0-dev.20230921

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/tsserver.js CHANGED
@@ -994,8 +994,6 @@ __export(server_exports, {
994
994
  getResolvePackageJsonExports: () => getResolvePackageJsonExports,
995
995
  getResolvePackageJsonImports: () => getResolvePackageJsonImports,
996
996
  getResolvedExternalModuleName: () => getResolvedExternalModuleName,
997
- getResolvedModule: () => getResolvedModule,
998
- getResolvedTypeReferenceDirective: () => getResolvedTypeReferenceDirective,
999
997
  getRestIndicatorOfBindingOrAssignmentElement: () => getRestIndicatorOfBindingOrAssignmentElement,
1000
998
  getRestParameterElementType: () => getRestParameterElementType,
1001
999
  getRightMostAssignedExpression: () => getRightMostAssignedExpression,
@@ -2093,8 +2091,6 @@ __export(server_exports, {
2093
2091
  setParent: () => setParent,
2094
2092
  setParentRecursive: () => setParentRecursive,
2095
2093
  setPrivateIdentifier: () => setPrivateIdentifier,
2096
- setResolvedModule: () => setResolvedModule,
2097
- setResolvedTypeReferenceDirective: () => setResolvedTypeReferenceDirective,
2098
2094
  setSnippetElement: () => setSnippetElement,
2099
2095
  setSourceMapRange: () => setSourceMapRange,
2100
2096
  setStackTraceLimit: () => setStackTraceLimit,
@@ -2321,14 +2317,13 @@ __export(server_exports, {
2321
2317
  writeCommentRange: () => writeCommentRange,
2322
2318
  writeFile: () => writeFile,
2323
2319
  writeFileEnsuringDirectories: () => writeFileEnsuringDirectories,
2324
- zipToModeAwareCache: () => zipToModeAwareCache,
2325
2320
  zipWith: () => zipWith
2326
2321
  });
2327
2322
  module.exports = __toCommonJS(server_exports);
2328
2323
 
2329
2324
  // src/compiler/corePublic.ts
2330
2325
  var versionMajorMinor = "5.3";
2331
- var version = `${versionMajorMinor}.0-dev.20230920`;
2326
+ var version = `${versionMajorMinor}.0-dev.20230921`;
2332
2327
  var Comparison = /* @__PURE__ */ ((Comparison3) => {
2333
2328
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
2334
2329
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -15143,26 +15138,6 @@ function usingSingleLineStringWriter(action) {
15143
15138
  function getFullWidth(node) {
15144
15139
  return node.end - node.pos;
15145
15140
  }
15146
- function getResolvedModule(sourceFile, moduleNameText, mode) {
15147
- var _a, _b;
15148
- return (_b = (_a = sourceFile == null ? void 0 : sourceFile.resolvedModules) == null ? void 0 : _a.get(moduleNameText, mode)) == null ? void 0 : _b.resolvedModule;
15149
- }
15150
- function setResolvedModule(sourceFile, moduleNameText, resolvedModule, mode) {
15151
- if (!sourceFile.resolvedModules) {
15152
- sourceFile.resolvedModules = createModeAwareCache();
15153
- }
15154
- sourceFile.resolvedModules.set(moduleNameText, mode, resolvedModule);
15155
- }
15156
- function setResolvedTypeReferenceDirective(sourceFile, typeReferenceDirectiveName, resolvedTypeReferenceDirective, mode) {
15157
- if (!sourceFile.resolvedTypeReferenceDirectiveNames) {
15158
- sourceFile.resolvedTypeReferenceDirectiveNames = createModeAwareCache();
15159
- }
15160
- sourceFile.resolvedTypeReferenceDirectiveNames.set(typeReferenceDirectiveName, mode, resolvedTypeReferenceDirective);
15161
- }
15162
- function getResolvedTypeReferenceDirective(sourceFile, typeReferenceDirectiveName, mode) {
15163
- var _a, _b;
15164
- return (_b = (_a = sourceFile == null ? void 0 : sourceFile.resolvedTypeReferenceDirectiveNames) == null ? void 0 : _a.get(typeReferenceDirectiveName, mode)) == null ? void 0 : _b.resolvedTypeReferenceDirective;
15165
- }
15166
15141
  function projectReferenceIsEqualTo(oldRef, newRef) {
15167
15142
  return oldRef.path === newRef.path && !oldRef.prepend === !newRef.prepend && !oldRef.circular === !newRef.circular;
15168
15143
  }
@@ -15170,8 +15145,8 @@ function moduleResolutionIsEqualTo(oldResolution, newResolution) {
15170
15145
  return oldResolution === newResolution || oldResolution.resolvedModule === newResolution.resolvedModule || !!oldResolution.resolvedModule && !!newResolution.resolvedModule && oldResolution.resolvedModule.isExternalLibraryImport === newResolution.resolvedModule.isExternalLibraryImport && oldResolution.resolvedModule.extension === newResolution.resolvedModule.extension && oldResolution.resolvedModule.resolvedFileName === newResolution.resolvedModule.resolvedFileName && oldResolution.resolvedModule.originalPath === newResolution.resolvedModule.originalPath && packageIdIsEqual(oldResolution.resolvedModule.packageId, newResolution.resolvedModule.packageId) && oldResolution.node10Result === newResolution.node10Result;
15171
15146
  }
15172
15147
  function createModuleNotFoundChain(sourceFile, host, moduleReference, mode, packageName) {
15173
- var _a, _b;
15174
- const node10Result = (_b = (_a = sourceFile.resolvedModules) == null ? void 0 : _a.get(moduleReference, mode)) == null ? void 0 : _b.node10Result;
15148
+ var _a, _b, _c;
15149
+ const node10Result = (_c = (_b = (_a = host.resolvedModules) == null ? void 0 : _a.get(sourceFile.path)) == null ? void 0 : _b.get(moduleReference, mode)) == null ? void 0 : _c.node10Result;
15175
15150
  const result = node10Result ? chainDiagnosticMessages(
15176
15151
  /*details*/
15177
15152
  void 0,
@@ -20619,14 +20594,11 @@ function createSymlinkCache(cwd, getCanonicalFileName) {
20619
20594
  (symlinkedDirectories || (symlinkedDirectories = /* @__PURE__ */ new Map())).set(symlinkPath, real);
20620
20595
  }
20621
20596
  },
20622
- setSymlinksFromResolutions(files, typeReferenceDirectives) {
20623
- var _a, _b;
20597
+ setSymlinksFromResolutions(resolvedModules, resolvedTypeReferenceDirectiveNames, typeReferenceDirectives) {
20624
20598
  Debug.assert(!hasProcessedResolutions);
20625
20599
  hasProcessedResolutions = true;
20626
- for (const file of files) {
20627
- (_a = file.resolvedModules) == null ? void 0 : _a.forEach((resolution) => processResolution(this, resolution.resolvedModule));
20628
- (_b = file.resolvedTypeReferenceDirectiveNames) == null ? void 0 : _b.forEach((resolution) => processResolution(this, resolution.resolvedTypeReferenceDirective));
20629
- }
20600
+ resolvedModules == null ? void 0 : resolvedModules.forEach((cache) => cache.forEach((resolution) => processResolution(this, resolution.resolvedModule)));
20601
+ resolvedTypeReferenceDirectiveNames == null ? void 0 : resolvedTypeReferenceDirectiveNames.forEach((cache) => cache.forEach((resolution) => processResolution(this, resolution.resolvedTypeReferenceDirective)));
20630
20602
  typeReferenceDirectives.forEach((resolution) => processResolution(this, resolution.resolvedTypeReferenceDirective));
20631
20603
  },
20632
20604
  hasProcessedResolutions: () => hasProcessedResolutions
@@ -25666,7 +25638,6 @@ function createNodeFactory(flags, baseFactory2) {
25666
25638
  node.imports = void 0;
25667
25639
  node.moduleAugmentations = void 0;
25668
25640
  node.ambientModuleNames = void 0;
25669
- node.resolvedModules = void 0;
25670
25641
  node.classifiableNames = void 0;
25671
25642
  node.impliedNodeFormat = void 0;
25672
25643
  return node;
@@ -38485,6 +38456,7 @@ var moduleOptionDeclaration = {
38485
38456
  node16: 100 /* Node16 */,
38486
38457
  nodenext: 199 /* NodeNext */
38487
38458
  })),
38459
+ affectsSourceFile: true,
38488
38460
  affectsModuleResolution: true,
38489
38461
  affectsEmit: true,
38490
38462
  affectsBuildInfo: true,
@@ -38921,6 +38893,7 @@ var commandOptionsWithoutBuild = [
38921
38893
  bundler: 100 /* Bundler */
38922
38894
  })),
38923
38895
  deprecatedKeys: /* @__PURE__ */ new Set(["node"]),
38896
+ affectsSourceFile: true,
38924
38897
  affectsModuleResolution: true,
38925
38898
  paramType: Diagnostics.STRATEGY,
38926
38899
  category: Diagnostics.Modules,
@@ -39463,6 +39436,7 @@ var commandOptionsWithoutBuild = [
39463
39436
  legacy: 1 /* Legacy */,
39464
39437
  force: 3 /* Force */
39465
39438
  })),
39439
+ affectsSourceFile: true,
39466
39440
  affectsModuleResolution: true,
39467
39441
  description: Diagnostics.Control_what_method_is_used_to_detect_module_format_JS_files,
39468
39442
  category: Diagnostics.Language_and_Environment,
@@ -39482,7 +39456,7 @@ var semanticDiagnosticsOptionDeclarations = optionDeclarations.filter((option) =
39482
39456
  var affectsEmitOptionDeclarations = optionDeclarations.filter((option) => !!option.affectsEmit);
39483
39457
  var affectsDeclarationPathOptionDeclarations = optionDeclarations.filter((option) => !!option.affectsDeclarationPath);
39484
39458
  var moduleResolutionOptionDeclarations = optionDeclarations.filter((option) => !!option.affectsModuleResolution);
39485
- var sourceFileAffectingCompilerOptions = optionDeclarations.filter((option) => !!option.affectsSourceFile || !!option.affectsModuleResolution || !!option.affectsBindDiagnostics);
39459
+ var sourceFileAffectingCompilerOptions = optionDeclarations.filter((option) => !!option.affectsSourceFile || !!option.affectsBindDiagnostics);
39486
39460
  var optionsAffectingProgramStructure = optionDeclarations.filter((option) => !!option.affectsProgramStructure);
39487
39461
  var transpileOptionValueCompilerOptions = optionDeclarations.filter((option) => hasProperty(option, "transpileOptionValue"));
39488
39462
  var optionsForBuild = [
@@ -41957,15 +41931,6 @@ function createModeAwareCache() {
41957
41931
  return result;
41958
41932
  }
41959
41933
  }
41960
- function zipToModeAwareCache(file, keys, values, nameAndModeGetter) {
41961
- Debug.assert(keys.length === values.length);
41962
- const map2 = createModeAwareCache();
41963
- for (let i = 0; i < keys.length; ++i) {
41964
- const entry = keys[i];
41965
- map2.set(nameAndModeGetter.getName(entry), nameAndModeGetter.getMode(entry, file), values[i]);
41966
- }
41967
- return map2;
41968
- }
41969
41934
  function getOriginalOrResolvedModuleFileName(result) {
41970
41935
  return result.resolvedModule && (result.resolvedModule.originalPath || result.resolvedModule.resolvedFileName);
41971
41936
  }
@@ -51013,7 +50978,7 @@ function createTypeChecker(host) {
51013
50978
  return isStringLiteralLike(moduleReferenceExpression) ? resolveExternalModule(location, moduleReferenceExpression.text, moduleNotFoundError, moduleReferenceExpression, isForAugmentation) : void 0;
51014
50979
  }
51015
50980
  function resolveExternalModule(location, moduleReference, moduleNotFoundError, errorNode, isForAugmentation = false) {
51016
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
50981
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
51017
50982
  if (startsWith(moduleReference, "@types/")) {
51018
50983
  const diag2 = Diagnostics.Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1;
51019
50984
  const withoutAtTypePrefix = removePrefix(moduleReference, "@types/");
@@ -51031,7 +50996,7 @@ function createTypeChecker(host) {
51031
50996
  const contextSpecifier = isStringLiteralLike(location) ? location : ((_a = findAncestor(location, isImportCall)) == null ? void 0 : _a.arguments[0]) || ((_b = findAncestor(location, isImportDeclaration)) == null ? void 0 : _b.moduleSpecifier) || ((_c = findAncestor(location, isExternalModuleImportEqualsDeclaration)) == null ? void 0 : _c.moduleReference.expression) || ((_d = findAncestor(location, isExportDeclaration)) == null ? void 0 : _d.moduleSpecifier) || ((_e = isModuleDeclaration(location) ? location : location.parent && isModuleDeclaration(location.parent) && location.parent.name === location ? location.parent : void 0) == null ? void 0 : _e.name) || ((_f = isLiteralImportTypeNode(location) ? location : void 0) == null ? void 0 : _f.argument.literal);
51032
50997
  const mode = contextSpecifier && isStringLiteralLike(contextSpecifier) ? getModeForUsageLocation(currentSourceFile, contextSpecifier) : currentSourceFile.impliedNodeFormat;
51033
50998
  const moduleResolutionKind = getEmitModuleResolutionKind(compilerOptions);
51034
- const resolvedModule = getResolvedModule(currentSourceFile, moduleReference, mode);
50999
+ const resolvedModule = (_i = (_h = (_g = host.resolvedModules) == null ? void 0 : _g.get(currentSourceFile.path)) == null ? void 0 : _h.get(moduleReference, mode)) == null ? void 0 : _i.resolvedModule;
51035
51000
  const resolutionDiagnostic = resolvedModule && getResolutionDiagnostic(compilerOptions, resolvedModule, currentSourceFile);
51036
51001
  const sourceFile = resolvedModule && (!resolutionDiagnostic || resolutionDiagnostic === Diagnostics.Module_0_was_resolved_to_1_but_jsx_is_not_set) && host.getSourceFile(resolvedModule.resolvedFileName);
51037
51002
  if (sourceFile) {
@@ -51039,7 +51004,7 @@ function createTypeChecker(host) {
51039
51004
  error2(errorNode, resolutionDiagnostic, moduleReference, resolvedModule.resolvedFileName);
51040
51005
  }
51041
51006
  if (resolvedModule.resolvedUsingTsExtension && isDeclarationFileName(moduleReference)) {
51042
- const importOrExport = ((_g = findAncestor(location, isImportDeclaration)) == null ? void 0 : _g.importClause) || findAncestor(location, or(isImportEqualsDeclaration, isExportDeclaration));
51007
+ const importOrExport = ((_j = findAncestor(location, isImportDeclaration)) == null ? void 0 : _j.importClause) || findAncestor(location, or(isImportEqualsDeclaration, isExportDeclaration));
51043
51008
  if (importOrExport && !importOrExport.isTypeOnly || findAncestor(location, isImportCall)) {
51044
51009
  error2(
51045
51010
  errorNode,
@@ -51048,7 +51013,7 @@ function createTypeChecker(host) {
51048
51013
  );
51049
51014
  }
51050
51015
  } else if (resolvedModule.resolvedUsingTsExtension && !shouldAllowImportingTsExtension(compilerOptions, currentSourceFile.fileName)) {
51051
- const importOrExport = ((_h = findAncestor(location, isImportDeclaration)) == null ? void 0 : _h.importClause) || findAncestor(location, or(isImportEqualsDeclaration, isExportDeclaration));
51016
+ const importOrExport = ((_k = findAncestor(location, isImportDeclaration)) == null ? void 0 : _k.importClause) || findAncestor(location, or(isImportEqualsDeclaration, isExportDeclaration));
51052
51017
  if (!((importOrExport == null ? void 0 : importOrExport.isTypeOnly) || findAncestor(location, isImportTypeNode))) {
51053
51018
  const tsExtension = Debug.checkDefined(tryExtractTSExtension(moduleReference));
51054
51019
  error2(errorNode, Diagnostics.An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled, tsExtension);
@@ -51069,7 +51034,7 @@ function createTypeChecker(host) {
51069
51034
  if (moduleResolutionKind === 3 /* Node16 */ || moduleResolutionKind === 99 /* NodeNext */) {
51070
51035
  const isSyncImport = currentSourceFile.impliedNodeFormat === 1 /* CommonJS */ && !findAncestor(location, isImportCall) || !!findAncestor(location, isImportEqualsDeclaration);
51071
51036
  const overrideClauseHost = findAncestor(location, (l) => isImportTypeNode(l) || isExportDeclaration(l) || isImportDeclaration(l));
51072
- const overrideClause = overrideClauseHost && isImportTypeNode(overrideClauseHost) ? (_i = overrideClauseHost.assertions) == null ? void 0 : _i.assertClause : overrideClauseHost == null ? void 0 : overrideClauseHost.assertClause;
51037
+ const overrideClause = overrideClauseHost && isImportTypeNode(overrideClauseHost) ? (_l = overrideClauseHost.assertions) == null ? void 0 : _l.assertClause : overrideClauseHost == null ? void 0 : overrideClauseHost.assertClause;
51073
51038
  if (isSyncImport && sourceFile.impliedNodeFormat === 99 /* ESNext */ && !getResolutionModeOverrideForClause(overrideClause)) {
51074
51039
  if (findAncestor(location, isImportEqualsDeclaration)) {
51075
51040
  error2(errorNode, Diagnostics.Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead, moduleReference);
@@ -51176,7 +51141,7 @@ function createTypeChecker(host) {
51176
51141
  error2(errorNode, Diagnostics.Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension, moduleReference);
51177
51142
  } else if (mode === 99 /* ESNext */ && resolutionIsNode16OrNext && isExtensionlessRelativePathImport) {
51178
51143
  const absoluteRef = getNormalizedAbsolutePath(moduleReference, getDirectoryPath(currentSourceFile.path));
51179
- const suggestedExt = (_j = suggestedExtensions.find(([actualExt, _importExt]) => host.fileExists(absoluteRef + actualExt))) == null ? void 0 : _j[1];
51144
+ const suggestedExt = (_m = suggestedExtensions.find(([actualExt, _importExt]) => host.fileExists(absoluteRef + actualExt))) == null ? void 0 : _m[1];
51180
51145
  if (suggestedExt) {
51181
51146
  error2(errorNode, Diagnostics.Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0, moduleReference + suggestedExt);
51182
51147
  } else {
@@ -120327,15 +120292,15 @@ function isReferencedFile(reason) {
120327
120292
  function isReferenceFileLocation(location) {
120328
120293
  return location.pos !== void 0;
120329
120294
  }
120330
- function getReferencedFileLocation(getSourceFileByPath, ref) {
120331
- var _a, _b, _c, _d, _e, _f;
120332
- const file = Debug.checkDefined(getSourceFileByPath(ref.file));
120295
+ function getReferencedFileLocation(program, ref) {
120296
+ var _a, _b, _c, _d, _e, _f, _g, _h;
120297
+ const file = Debug.checkDefined(program.getSourceFileByPath(ref.file));
120333
120298
  const { kind, index } = ref;
120334
120299
  let pos, end, packageId, resolutionMode;
120335
120300
  switch (kind) {
120336
120301
  case 3 /* Import */:
120337
120302
  const importLiteral = getModuleNameStringLiteralAt(file, index);
120338
- packageId = (_c = (_b = (_a = file.resolvedModules) == null ? void 0 : _a.get(importLiteral.text, getModeForResolutionAtIndex(file, index))) == null ? void 0 : _b.resolvedModule) == null ? void 0 : _c.packageId;
120303
+ packageId = (_d = (_c = (_b = (_a = program.resolvedModules) == null ? void 0 : _a.get(file.path)) == null ? void 0 : _b.get(importLiteral.text, getModeForResolutionAtIndex(file, index))) == null ? void 0 : _c.resolvedModule) == null ? void 0 : _d.packageId;
120339
120304
  if (importLiteral.pos === -1)
120340
120305
  return { file, packageId, text: importLiteral.text };
120341
120306
  pos = skipTrivia(file.text, importLiteral.pos);
@@ -120346,7 +120311,7 @@ function getReferencedFileLocation(getSourceFileByPath, ref) {
120346
120311
  break;
120347
120312
  case 5 /* TypeReferenceDirective */:
120348
120313
  ({ pos, end, resolutionMode } = file.typeReferenceDirectives[index]);
120349
- packageId = (_f = (_e = (_d = file.resolvedTypeReferenceDirectiveNames) == null ? void 0 : _d.get(toFileNameLowerCase(file.typeReferenceDirectives[index].fileName), resolutionMode || file.impliedNodeFormat)) == null ? void 0 : _e.resolvedTypeReferenceDirective) == null ? void 0 : _f.packageId;
120314
+ packageId = (_h = (_g = (_f = (_e = program.resolvedTypeReferenceDirectiveNames) == null ? void 0 : _e.get(file.path)) == null ? void 0 : _f.get(toFileNameLowerCase(file.typeReferenceDirectives[index].fileName), resolutionMode || file.impliedNodeFormat)) == null ? void 0 : _g.resolvedTypeReferenceDirective) == null ? void 0 : _h.packageId;
120350
120315
  break;
120351
120316
  case 7 /* LibReferenceDirective */:
120352
120317
  ({ pos, end } = file.libReferenceDirectives[index]);
@@ -120564,6 +120529,10 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
120564
120529
  let automaticTypeDirectiveResolutions;
120565
120530
  let resolvedLibReferences;
120566
120531
  let resolvedLibProcessing;
120532
+ let resolvedModules;
120533
+ let resolvedModulesProcessing;
120534
+ let resolvedTypeReferenceDirectiveNames;
120535
+ let resolvedTypeReferenceDirectiveNamesProcessing;
120567
120536
  let packageMap;
120568
120537
  const maxNodeModuleJsDepth = typeof options.maxNodeModuleJsDepth === "number" ? options.maxNodeModuleJsDepth : 0;
120569
120538
  let currentNodeModulesDepth = 0;
@@ -120828,6 +120797,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
120828
120797
  }
120829
120798
  oldProgram = void 0;
120830
120799
  resolvedLibProcessing = void 0;
120800
+ resolvedModulesProcessing = void 0;
120801
+ resolvedTypeReferenceDirectiveNamesProcessing = void 0;
120831
120802
  const program = {
120832
120803
  getRootFileNames: () => rootNames,
120833
120804
  getSourceFile,
@@ -120869,6 +120840,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
120869
120840
  sourceFileToPackageName,
120870
120841
  redirectTargetsMap,
120871
120842
  usesUriStyleNodeCoreModules,
120843
+ resolvedModules,
120844
+ resolvedTypeReferenceDirectiveNames,
120872
120845
  resolvedLibReferences,
120873
120846
  getCurrentPackagesMap: () => packageMap,
120874
120847
  typesPackageExists,
@@ -120900,7 +120873,7 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
120900
120873
  case 1 /* FilePreprocessingFileExplainingDiagnostic */:
120901
120874
  return programDiagnostics.add(createDiagnosticExplainingFile(diagnostic.file && getSourceFileByPath(diagnostic.file), diagnostic.fileProcessingReason, diagnostic.diagnostic, diagnostic.args || emptyArray));
120902
120875
  case 0 /* FilePreprocessingReferencedDiagnostic */:
120903
- const { file, pos, end } = getReferencedFileLocation(getSourceFileByPath, diagnostic.reason);
120876
+ const { file, pos, end } = getReferencedFileLocation(program, diagnostic.reason);
120904
120877
  return programDiagnostics.add(createFileDiagnostic(file, Debug.checkDefined(pos), Debug.checkDefined(end) - pos, diagnostic.diagnostic, ...diagnostic.args || emptyArray));
120905
120878
  case 2 /* ResolutionDiagnostics */:
120906
120879
  return diagnostic.diagnostics.forEach((d) => programDiagnostics.add(d));
@@ -120917,14 +120890,15 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
120917
120890
  if (packageMap)
120918
120891
  return packageMap;
120919
120892
  packageMap = /* @__PURE__ */ new Map();
120920
- files.forEach((sf) => {
120921
- if (!sf.resolvedModules)
120922
- return;
120923
- sf.resolvedModules.forEach(({ resolvedModule }) => {
120924
- if (resolvedModule == null ? void 0 : resolvedModule.packageId)
120925
- packageMap.set(resolvedModule.packageId.name, resolvedModule.extension === ".d.ts" /* Dts */ || !!packageMap.get(resolvedModule.packageId.name));
120926
- });
120927
- });
120893
+ files.forEach(
120894
+ (sf) => {
120895
+ var _a2;
120896
+ return (_a2 = resolvedModules == null ? void 0 : resolvedModules.get(sf.path)) == null ? void 0 : _a2.forEach(({ resolvedModule }) => {
120897
+ if (resolvedModule == null ? void 0 : resolvedModule.packageId)
120898
+ packageMap.set(resolvedModule.packageId.name, resolvedModule.extension === ".d.ts" /* Dts */ || !!packageMap.get(resolvedModule.packageId.name));
120899
+ });
120900
+ }
120901
+ );
120928
120902
  return packageMap;
120929
120903
  }
120930
120904
  function typesPackageExists(packageName) {
@@ -121056,7 +121030,7 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
121056
121030
  return classifiableNames;
121057
121031
  }
121058
121032
  function resolveModuleNamesReusingOldState(moduleNames, file) {
121059
- var _a2;
121033
+ var _a2, _b2;
121060
121034
  if (structureIsReused === 0 /* Not */ && !file.ambientModuleNames.length) {
121061
121035
  return resolveModuleNamesWorker(
121062
121036
  moduleNames,
@@ -121065,24 +121039,16 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
121065
121039
  void 0
121066
121040
  );
121067
121041
  }
121068
- const oldSourceFile = oldProgram && oldProgram.getSourceFile(file.fileName);
121069
- if (oldSourceFile !== file && file.resolvedModules) {
121070
- const result2 = [];
121071
- for (const moduleName of moduleNames) {
121072
- const resolvedModule = file.resolvedModules.get(moduleName.text, getModeForUsageLocation(file, moduleName));
121073
- result2.push(resolvedModule);
121074
- }
121075
- return result2;
121076
- }
121077
121042
  let unknownModuleNames;
121078
121043
  let result;
121079
121044
  let reusedNames;
121080
121045
  const predictedToResolveToAmbientModuleMarker = emptyResolution;
121046
+ const oldSourceFile = oldProgram && oldProgram.getSourceFile(file.fileName);
121081
121047
  for (let i = 0; i < moduleNames.length; i++) {
121082
121048
  const moduleName = moduleNames[i];
121083
- if (file === oldSourceFile && !hasInvalidatedResolutions(oldSourceFile.path)) {
121049
+ if (file === oldSourceFile && !hasInvalidatedResolutions(file.path)) {
121084
121050
  const mode = getModeForUsageLocation(file, moduleName);
121085
- const oldResolution = (_a2 = oldSourceFile.resolvedModules) == null ? void 0 : _a2.get(moduleName.text, mode);
121051
+ const oldResolution = (_b2 = (_a2 = oldProgram == null ? void 0 : oldProgram.resolvedModules) == null ? void 0 : _a2.get(file.path)) == null ? void 0 : _b2.get(moduleName.text, mode);
121086
121052
  if (oldResolution == null ? void 0 : oldResolution.resolvedModule) {
121087
121053
  if (isTraceEnabled(options, host)) {
121088
121054
  trace(
@@ -121129,7 +121095,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
121129
121095
  Debug.assert(j === resolutions.length);
121130
121096
  return result;
121131
121097
  function moduleNameResolvesToAmbientModuleInNonModifiedFile(moduleName) {
121132
- const resolutionToFile = getResolvedModule(oldSourceFile, moduleName.text, getModeForUsageLocation(file, moduleName));
121098
+ var _a3, _b3, _c2;
121099
+ const resolutionToFile = (_c2 = (_b3 = (_a3 = oldProgram == null ? void 0 : oldProgram.resolvedModules) == null ? void 0 : _a3.get(file.path)) == null ? void 0 : _b3.get(moduleName.text, getModeForUsageLocation(file, moduleName))) == null ? void 0 : _c2.resolvedModule;
121133
121100
  const resolvedFile = resolutionToFile && oldProgram.getSourceFile(resolutionToFile.resolvedFileName);
121134
121101
  if (resolutionToFile && resolvedFile) {
121135
121102
  return false;
@@ -121145,7 +121112,7 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
121145
121112
  }
121146
121113
  }
121147
121114
  function resolveTypeReferenceDirectiveNamesReusingOldState(typeDirectiveNames, containingFile) {
121148
- var _a2;
121115
+ var _a2, _b2;
121149
121116
  if (structureIsReused === 0 /* Not */) {
121150
121117
  return resolveTypeReferenceDirectiveNamesWorker(
121151
121118
  typeDirectiveNames,
@@ -121154,28 +121121,18 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
121154
121121
  void 0
121155
121122
  );
121156
121123
  }
121157
- const oldSourceFile = !isString(containingFile) ? oldProgram && oldProgram.getSourceFile(containingFile.fileName) : void 0;
121158
- if (!isString(containingFile)) {
121159
- if (oldSourceFile !== containingFile && containingFile.resolvedTypeReferenceDirectiveNames) {
121160
- const result2 = [];
121161
- for (const typeDirectiveName of typeDirectiveNames) {
121162
- const resolvedTypeReferenceDirective = containingFile.resolvedTypeReferenceDirectiveNames.get(getTypeReferenceResolutionName(typeDirectiveName), getModeForFileReference(typeDirectiveName, containingFile.impliedNodeFormat));
121163
- result2.push(resolvedTypeReferenceDirective);
121164
- }
121165
- return result2;
121166
- }
121167
- }
121168
121124
  let unknownTypeReferenceDirectiveNames;
121169
121125
  let result;
121170
121126
  let reusedNames;
121171
121127
  const containingSourceFile = !isString(containingFile) ? containingFile : void 0;
121172
- const canReuseResolutions = !isString(containingFile) ? containingFile === oldSourceFile && !hasInvalidatedResolutions(oldSourceFile.path) : !hasInvalidatedResolutions(toPath3(containingFile));
121128
+ const oldSourceFile = !isString(containingFile) ? oldProgram && oldProgram.getSourceFile(containingFile.fileName) : void 0;
121129
+ const canReuseResolutions = !isString(containingFile) ? containingFile === oldSourceFile && !hasInvalidatedResolutions(containingFile.path) : !hasInvalidatedResolutions(toPath3(containingFile));
121173
121130
  for (let i = 0; i < typeDirectiveNames.length; i++) {
121174
121131
  const entry = typeDirectiveNames[i];
121175
121132
  if (canReuseResolutions) {
121176
121133
  const typeDirectiveName = getTypeReferenceResolutionName(entry);
121177
121134
  const mode = getModeForFileReference(entry, containingSourceFile == null ? void 0 : containingSourceFile.impliedNodeFormat);
121178
- const oldResolution = (_a2 = !isString(containingFile) ? oldSourceFile == null ? void 0 : oldSourceFile.resolvedTypeReferenceDirectiveNames : oldProgram == null ? void 0 : oldProgram.getAutomaticTypeDirectiveResolutions()) == null ? void 0 : _a2.get(typeDirectiveName, mode);
121135
+ const oldResolution = (_b2 = !isString(containingFile) ? (_a2 = oldProgram == null ? void 0 : oldProgram.resolvedTypeReferenceDirectiveNames) == null ? void 0 : _a2.get(containingFile.path) : oldProgram == null ? void 0 : oldProgram.getAutomaticTypeDirectiveResolutions()) == null ? void 0 : _b2.get(typeDirectiveName, mode);
121179
121136
  if (oldResolution == null ? void 0 : oldResolution.resolvedTypeReferenceDirective) {
121180
121137
  if (isTraceEnabled(options, host)) {
121181
121138
  trace(
@@ -121235,7 +121192,7 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
121235
121192
  );
121236
121193
  }
121237
121194
  function tryReuseStructureFromOldProgram() {
121238
- var _a2;
121195
+ var _a2, _b2, _c2;
121239
121196
  if (!oldProgram) {
121240
121197
  return 0 /* Not */;
121241
121198
  }
@@ -121337,42 +121294,37 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
121337
121294
  structureIsReused = 1 /* SafeModules */;
121338
121295
  }
121339
121296
  }
121340
- modifiedSourceFiles.push({ oldFile: oldSourceFile, newFile: newSourceFile });
121297
+ modifiedSourceFiles.push(newSourceFile);
121341
121298
  } else if (hasInvalidatedResolutions(oldSourceFile.path)) {
121342
121299
  structureIsReused = 1 /* SafeModules */;
121343
- modifiedSourceFiles.push({ oldFile: oldSourceFile, newFile: newSourceFile });
121300
+ modifiedSourceFiles.push(newSourceFile);
121301
+ } else {
121302
+ for (const moduleName of oldSourceFile.ambientModuleNames) {
121303
+ ambientModuleNameToUnmodifiedFileName.set(moduleName, oldSourceFile.fileName);
121304
+ }
121344
121305
  }
121345
121306
  newSourceFiles.push(newSourceFile);
121346
121307
  }
121347
121308
  if (structureIsReused !== 2 /* Completely */) {
121348
121309
  return structureIsReused;
121349
121310
  }
121350
- const modifiedFiles = modifiedSourceFiles.map((f) => f.oldFile);
121351
- for (const oldFile of oldSourceFiles) {
121352
- if (!contains(modifiedFiles, oldFile)) {
121353
- for (const moduleName of oldFile.ambientModuleNames) {
121354
- ambientModuleNameToUnmodifiedFileName.set(moduleName, oldFile.fileName);
121355
- }
121356
- }
121357
- }
121358
- for (const { oldFile: oldSourceFile, newFile: newSourceFile } of modifiedSourceFiles) {
121311
+ for (const newSourceFile of modifiedSourceFiles) {
121359
121312
  const moduleNames = getModuleNames(newSourceFile);
121360
121313
  const resolutions = resolveModuleNamesReusingOldState(moduleNames, newSourceFile);
121361
- const resolutionsChanged = hasChangesInResolutions(moduleNames, newSourceFile, resolutions, oldSourceFile.resolvedModules, moduleResolutionIsEqualTo, moduleResolutionNameAndModeGetter);
121362
- if (resolutionsChanged) {
121314
+ (resolvedModulesProcessing ?? (resolvedModulesProcessing = /* @__PURE__ */ new Map())).set(newSourceFile.path, resolutions);
121315
+ const oldResolutions = (_b2 = oldProgram.resolvedModules) == null ? void 0 : _b2.get(newSourceFile.path);
121316
+ const resolutionsChanged = hasChangesInResolutions(moduleNames, newSourceFile, resolutions, oldResolutions, moduleResolutionIsEqualTo, moduleResolutionNameAndModeGetter);
121317
+ if (resolutionsChanged)
121363
121318
  structureIsReused = 1 /* SafeModules */;
121364
- newSourceFile.resolvedModules = zipToModeAwareCache(newSourceFile, moduleNames, resolutions, moduleResolutionNameAndModeGetter);
121365
- } else {
121366
- newSourceFile.resolvedModules = oldSourceFile.resolvedModules;
121367
- }
121368
121319
  const typesReferenceDirectives = newSourceFile.typeReferenceDirectives;
121369
121320
  const typeReferenceResolutions = resolveTypeReferenceDirectiveNamesReusingOldState(typesReferenceDirectives, newSourceFile);
121370
- const typeReferenceResolutionsChanged = hasChangesInResolutions(typesReferenceDirectives, newSourceFile, typeReferenceResolutions, oldSourceFile.resolvedTypeReferenceDirectiveNames, typeDirectiveIsEqualTo, typeReferenceResolutionNameAndModeGetter);
121321
+ (resolvedTypeReferenceDirectiveNamesProcessing ?? (resolvedTypeReferenceDirectiveNamesProcessing = /* @__PURE__ */ new Map())).set(newSourceFile.path, typeReferenceResolutions);
121322
+ const oldTypeResolutions = (_c2 = oldProgram.resolvedTypeReferenceDirectiveNames) == null ? void 0 : _c2.get(newSourceFile.path);
121323
+ const typeReferenceResolutionsChanged = hasChangesInResolutions(typesReferenceDirectives, newSourceFile, typeReferenceResolutions, oldTypeResolutions, typeDirectiveIsEqualTo, typeReferenceResolutionNameAndModeGetter);
121371
121324
  if (typeReferenceResolutionsChanged) {
121372
121325
  structureIsReused = 1 /* SafeModules */;
121373
- newSourceFile.resolvedTypeReferenceDirectiveNames = zipToModeAwareCache(newSourceFile, typesReferenceDirectives, typeReferenceResolutions, typeReferenceResolutionNameAndModeGetter);
121374
- } else {
121375
- newSourceFile.resolvedTypeReferenceDirectiveNames = oldSourceFile.resolvedTypeReferenceDirectiveNames;
121326
+ } else if (oldTypeResolutions) {
121327
+ (resolvedTypeReferenceDirectiveNamesProcessing ?? (resolvedTypeReferenceDirectiveNamesProcessing = /* @__PURE__ */ new Map())).set(newSourceFile.path, oldTypeResolutions);
121376
121328
  }
121377
121329
  }
121378
121330
  if (structureIsReused !== 2 /* Completely */) {
@@ -121420,6 +121372,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
121420
121372
  sourceFileToPackageName = oldProgram.sourceFileToPackageName;
121421
121373
  redirectTargetsMap = oldProgram.redirectTargetsMap;
121422
121374
  usesUriStyleNodeCoreModules = oldProgram.usesUriStyleNodeCoreModules;
121375
+ resolvedModules = oldProgram.resolvedModules;
121376
+ resolvedTypeReferenceDirectiveNames = oldProgram.resolvedTypeReferenceDirectiveNames;
121423
121377
  resolvedLibReferences = oldProgram.resolvedLibReferences;
121424
121378
  packageMap = oldProgram.getCurrentPackagesMap();
121425
121379
  return 2 /* Completely */;
@@ -122465,16 +122419,16 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
122465
122419
  }
122466
122420
  function processTypeReferenceDirectives(file) {
122467
122421
  const typeDirectives = file.typeReferenceDirectives;
122468
- if (!typeDirectives.length) {
122469
- file.resolvedTypeReferenceDirectiveNames = void 0;
122422
+ if (!typeDirectives.length)
122470
122423
  return;
122471
- }
122472
- const resolutions = resolveTypeReferenceDirectiveNamesReusingOldState(typeDirectives, file);
122424
+ const resolutions = (resolvedTypeReferenceDirectiveNamesProcessing == null ? void 0 : resolvedTypeReferenceDirectiveNamesProcessing.get(file.path)) || resolveTypeReferenceDirectiveNamesReusingOldState(typeDirectives, file);
122425
+ const resolutionsInFile = createModeAwareCache();
122426
+ (resolvedTypeReferenceDirectiveNames ?? (resolvedTypeReferenceDirectiveNames = /* @__PURE__ */ new Map())).set(file.path, resolutionsInFile);
122473
122427
  for (let index = 0; index < typeDirectives.length; index++) {
122474
122428
  const ref = file.typeReferenceDirectives[index];
122475
122429
  const resolvedTypeReferenceDirective = resolutions[index];
122476
122430
  const fileName = toFileNameLowerCase(ref.fileName);
122477
- setResolvedTypeReferenceDirective(file, fileName, resolvedTypeReferenceDirective, getModeForFileReference(ref, file.impliedNodeFormat));
122431
+ resolutionsInFile.set(fileName, getModeForFileReference(ref, file.impliedNodeFormat), resolvedTypeReferenceDirective);
122478
122432
  const mode = ref.resolutionMode || file.impliedNodeFormat;
122479
122433
  if (mode && getEmitModuleResolutionKind(options) !== 3 /* Node16 */ && getEmitModuleResolutionKind(options) !== 99 /* NodeNext */) {
122480
122434
  (fileProcessingDiagnostics ?? (fileProcessingDiagnostics = [])).push({
@@ -122638,14 +122592,16 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
122638
122592
  collectExternalModuleReferences(file);
122639
122593
  if (file.imports.length || file.moduleAugmentations.length) {
122640
122594
  const moduleNames = getModuleNames(file);
122641
- const resolutions = resolveModuleNamesReusingOldState(moduleNames, file);
122595
+ const resolutions = (resolvedModulesProcessing == null ? void 0 : resolvedModulesProcessing.get(file.path)) || resolveModuleNamesReusingOldState(moduleNames, file);
122642
122596
  Debug.assert(resolutions.length === moduleNames.length);
122643
122597
  const optionsForFile = (useSourceOfProjectReferenceRedirect ? (_a2 = getRedirectReferenceForResolution(file)) == null ? void 0 : _a2.commandLine.options : void 0) || options;
122598
+ const resolutionsInFile = createModeAwareCache();
122599
+ (resolvedModules ?? (resolvedModules = /* @__PURE__ */ new Map())).set(file.path, resolutionsInFile);
122644
122600
  for (let index = 0; index < moduleNames.length; index++) {
122645
122601
  const resolution = resolutions[index].resolvedModule;
122646
122602
  const moduleName = moduleNames[index].text;
122647
122603
  const mode = getModeForUsageLocation(file, moduleNames[index]);
122648
- setResolvedModule(file, moduleName, resolutions[index], mode);
122604
+ resolutionsInFile.set(moduleName, mode, resolutions[index]);
122649
122605
  addResolutionDiagnosticsFromResolutionOrCache(file, moduleName, resolutions[index], mode);
122650
122606
  if (!resolution) {
122651
122607
  continue;
@@ -122676,8 +122632,6 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
122676
122632
  currentNodeModulesDepth--;
122677
122633
  }
122678
122634
  }
122679
- } else {
122680
- file.resolvedModules = void 0;
122681
122635
  }
122682
122636
  }
122683
122637
  function checkSourceFilesBelongToPath(sourceFiles, rootDirectory) {
@@ -123192,7 +123146,7 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
123192
123146
  processReason(fileProcessingReason);
123193
123147
  if (locationReason && (fileIncludeReasons == null ? void 0 : fileIncludeReasons.length) === 1)
123194
123148
  fileIncludeReasons = void 0;
123195
- const location = locationReason && getReferencedFileLocation(getSourceFileByPath, locationReason);
123149
+ const location = locationReason && getReferencedFileLocation(program, locationReason);
123196
123150
  const fileIncludeReasonDetails = fileIncludeReasons && chainDiagnosticMessages(fileIncludeReasons, Diagnostics.The_file_is_in_the_program_because_Colon);
123197
123151
  const redirectInfo = file && explainIfFileIsRedirectAndImpliedFormat(file);
123198
123152
  const chain = chainDiagnosticMessages(redirectInfo ? fileIncludeReasonDetails ? [fileIncludeReasonDetails, ...redirectInfo] : redirectInfo : fileIncludeReasonDetails, diagnostic, ...args || emptyArray);
@@ -123228,7 +123182,7 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
123228
123182
  }
123229
123183
  function fileIncludeReasonToRelatedInformation(reason) {
123230
123184
  if (isReferencedFile(reason)) {
123231
- const referenceLocation = getReferencedFileLocation(getSourceFileByPath, reason);
123185
+ const referenceLocation = getReferencedFileLocation(program, reason);
123232
123186
  let message2;
123233
123187
  switch (reason.kind) {
123234
123188
  case 3 /* Import */:
@@ -123517,8 +123471,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
123517
123471
  if (!symlinks) {
123518
123472
  symlinks = createSymlinkCache(currentDirectory, getCanonicalFileName);
123519
123473
  }
123520
- if (files && automaticTypeDirectiveResolutions && !symlinks.hasProcessedResolutions()) {
123521
- symlinks.setSymlinksFromResolutions(files, automaticTypeDirectiveResolutions);
123474
+ if (files && !symlinks.hasProcessedResolutions()) {
123475
+ symlinks.setSymlinksFromResolutions(resolvedModules, resolvedTypeReferenceDirectiveNames, automaticTypeDirectiveResolutions);
123522
123476
  }
123523
123477
  return symlinks;
123524
123478
  }
@@ -123880,6 +123834,7 @@ var BuilderState;
123880
123834
  return toPath(program.getProjectReferenceRedirect(fileName) || fileName, sourceFileDirectory, getCanonicalFileName);
123881
123835
  }
123882
123836
  function getReferencedFiles(program, sourceFile, getCanonicalFileName) {
123837
+ var _a;
123883
123838
  let referencedFiles;
123884
123839
  if (sourceFile.imports && sourceFile.imports.length > 0) {
123885
123840
  const checker = program.getTypeChecker();
@@ -123895,8 +123850,9 @@ var BuilderState;
123895
123850
  addReferencedFile(referencedPath);
123896
123851
  }
123897
123852
  }
123898
- if (sourceFile.resolvedTypeReferenceDirectiveNames) {
123899
- sourceFile.resolvedTypeReferenceDirectiveNames.forEach(({ resolvedTypeReferenceDirective }) => {
123853
+ const resolvedTypeReferenceDirectiveNames = (_a = program.resolvedTypeReferenceDirectiveNames) == null ? void 0 : _a.get(sourceFile.path);
123854
+ if (resolvedTypeReferenceDirectiveNames) {
123855
+ resolvedTypeReferenceDirectiveNames.forEach(({ resolvedTypeReferenceDirective }) => {
123900
123856
  if (!resolvedTypeReferenceDirective) {
123901
123857
  return;
123902
123858
  }
@@ -125719,10 +125675,10 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW
125719
125675
  clear: clear2,
125720
125676
  onChangesAffectModuleResolution
125721
125677
  };
125722
- function getResolvedModule2(resolution) {
125678
+ function getResolvedModule(resolution) {
125723
125679
  return resolution.resolvedModule;
125724
125680
  }
125725
- function getResolvedTypeReferenceDirective2(resolution) {
125681
+ function getResolvedTypeReferenceDirective(resolution) {
125726
125682
  return resolution.resolvedTypeReferenceDirective;
125727
125683
  }
125728
125684
  function clear2() {
@@ -125798,7 +125754,7 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW
125798
125754
  stopWatchFailedLookupLocationOfResolution(
125799
125755
  resolution,
125800
125756
  resolutionHost.toPath(getInferredLibraryNameResolveFrom(newProgram.getCompilerOptions(), getCurrentDirectory(), libFileName)),
125801
- getResolvedModule2
125757
+ getResolvedModule
125802
125758
  );
125803
125759
  resolvedLibraries.delete(libFileName);
125804
125760
  }
@@ -126004,7 +125960,7 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW
126004
125960
  ((_a = resolutionHost.getCompilerHost) == null ? void 0 : _a.call(resolutionHost)) || resolutionHost,
126005
125961
  typeReferenceDirectiveResolutionCache
126006
125962
  ),
126007
- getResolutionWithResolvedFileName: getResolvedTypeReferenceDirective2,
125963
+ getResolutionWithResolvedFileName: getResolvedTypeReferenceDirective,
126008
125964
  shouldRetryResolution: (resolution) => resolution.resolvedTypeReferenceDirective === void 0,
126009
125965
  deferWatchingNonRelativeResolution: false
126010
125966
  });
@@ -126023,7 +125979,7 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW
126023
125979
  redirectedReference,
126024
125980
  options
126025
125981
  ),
126026
- getResolutionWithResolvedFileName: getResolvedModule2,
125982
+ getResolutionWithResolvedFileName: getResolvedModule,
126027
125983
  shouldRetryResolution: (resolution) => !resolution.resolvedModule || !resolutionExtensionIsTSOrJson(resolution.resolvedModule.extension),
126028
125984
  logChanges: logChangesWhenResolvingModule,
126029
125985
  deferWatchingNonRelativeResolution: true
@@ -126042,17 +125998,17 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW
126042
125998
  libraryName,
126043
125999
  resolution,
126044
126000
  path,
126045
- getResolvedModule2,
126001
+ getResolvedModule,
126046
126002
  /*deferWatchingNonRelativeResolution*/
126047
126003
  false
126048
126004
  );
126049
126005
  resolvedLibraries.set(libFileName, resolution);
126050
126006
  if (existingResolution) {
126051
- stopWatchFailedLookupLocationOfResolution(existingResolution, path, getResolvedModule2);
126007
+ stopWatchFailedLookupLocationOfResolution(existingResolution, path, getResolvedModule);
126052
126008
  }
126053
126009
  } else {
126054
126010
  if (isTraceEnabled(options, host)) {
126055
- const resolved = getResolvedModule2(resolution);
126011
+ const resolved = getResolvedModule(resolution);
126056
126012
  trace(
126057
126013
  host,
126058
126014
  (resolved == null ? void 0 : resolved.resolvedFileName) ? resolved.packageId ? Diagnostics.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3 : Diagnostics.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2 : Diagnostics.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved,
@@ -126329,8 +126285,8 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW
126329
126285
  resolvedProjectReference.commandLine.fileNames.forEach((f) => removeResolutionsOfFile(resolutionHost.toPath(f)));
126330
126286
  }
126331
126287
  function removeResolutionsOfFile(filePath) {
126332
- removeResolutionsOfFileFromCache(resolvedModuleNames, filePath, getResolvedModule2);
126333
- removeResolutionsOfFileFromCache(resolvedTypeReferenceDirectives, filePath, getResolvedTypeReferenceDirective2);
126288
+ removeResolutionsOfFileFromCache(resolvedModuleNames, filePath, getResolvedModule);
126289
+ removeResolutionsOfFileFromCache(resolvedTypeReferenceDirectives, filePath, getResolvedTypeReferenceDirective);
126334
126290
  }
126335
126291
  function invalidateResolutions(resolutions, canInvalidate) {
126336
126292
  if (!resolutions)
@@ -126756,7 +126712,7 @@ function fileIncludeReasonToDiagnostics(program, reason, fileNameConvertor) {
126756
126712
  var _a, _b;
126757
126713
  const options = program.getCompilerOptions();
126758
126714
  if (isReferencedFile(reason)) {
126759
- const referenceLocation = getReferencedFileLocation((path) => program.getSourceFileByPath(path), reason);
126715
+ const referenceLocation = getReferencedFileLocation(program, reason);
126760
126716
  const referenceText = isReferenceFileLocation(referenceLocation) ? referenceLocation.file.text.substring(referenceLocation.pos, referenceLocation.end) : `"${referenceLocation.text}"`;
126761
126717
  let message;
126762
126718
  Debug.assert(isReferenceFileLocation(referenceLocation) || reason.kind === 3 /* Import */, "Only synthetic references are imports");
@@ -135441,14 +135397,14 @@ function combinePathsSafe(pathA, pathB) {
135441
135397
  return ensurePathIsNonModuleName(combineNormal(pathA, pathB));
135442
135398
  }
135443
135399
  function getSourceFileToImport(importedModuleSymbol, importLiteral, importingSourceFile, program, host, oldToNew) {
135444
- var _a;
135400
+ var _a, _b;
135445
135401
  if (importedModuleSymbol) {
135446
135402
  const oldFileName = find(importedModuleSymbol.declarations, isSourceFile).fileName;
135447
135403
  const newFileName = oldToNew(oldFileName);
135448
135404
  return newFileName === void 0 ? { newFileName: oldFileName, updated: false } : { newFileName, updated: true };
135449
135405
  } else {
135450
135406
  const mode = getModeForUsageLocation(importingSourceFile, importLiteral);
135451
- const resolved = host.resolveModuleNameLiterals || !host.resolveModuleNames ? (_a = importingSourceFile.resolvedModules) == null ? void 0 : _a.get(importLiteral.text, mode) : host.getResolvedModuleWithFailedLookupLocationsFromCache && host.getResolvedModuleWithFailedLookupLocationsFromCache(importLiteral.text, importingSourceFile.fileName, mode);
135407
+ const resolved = host.resolveModuleNameLiterals || !host.resolveModuleNames ? (_b = (_a = program.resolvedModules) == null ? void 0 : _a.get(importingSourceFile.path)) == null ? void 0 : _b.get(importLiteral.text, mode) : host.getResolvedModuleWithFailedLookupLocationsFromCache && host.getResolvedModuleWithFailedLookupLocationsFromCache(importLiteral.text, importingSourceFile.fileName, mode);
135452
135408
  return getSourceFileToImportFromResolved(importLiteral, resolved, oldToNew, program.getSourceFiles());
135453
135409
  }
135454
135410
  }
@@ -136343,6 +136299,7 @@ function createSourceFileLike(text, lineMap) {
136343
136299
  // src/services/suggestionDiagnostics.ts
136344
136300
  var visitedNestedConvertibleFunctions = /* @__PURE__ */ new Map();
136345
136301
  function computeSuggestionDiagnostics(sourceFile, program, cancellationToken) {
136302
+ var _a, _b, _c;
136346
136303
  program.getSemanticDiagnostics(sourceFile, cancellationToken);
136347
136304
  const diags = [];
136348
136305
  const checker = program.getTypeChecker();
@@ -136359,7 +136316,7 @@ function computeSuggestionDiagnostics(sourceFile, program, cancellationToken) {
136359
136316
  const name = importNameForConvertToDefaultImport(importNode);
136360
136317
  if (!name)
136361
136318
  continue;
136362
- const module2 = getResolvedModule(sourceFile, moduleSpecifier.text, getModeForUsageLocation(sourceFile, moduleSpecifier));
136319
+ const module2 = (_c = (_b = (_a = program.resolvedModules) == null ? void 0 : _a.get(sourceFile.path)) == null ? void 0 : _b.get(moduleSpecifier.text, getModeForUsageLocation(sourceFile, moduleSpecifier))) == null ? void 0 : _c.resolvedModule;
136363
136320
  const resolvedFile = module2 && program.getSourceFile(module2.resolvedFileName);
136364
136321
  if (resolvedFile && resolvedFile.externalModuleIndicator && resolvedFile.externalModuleIndicator !== true && isExportAssignment(resolvedFile.externalModuleIndicator) && resolvedFile.externalModuleIndicator.isExportEquals) {
136365
136322
  diags.push(createDiagnosticForNode(name, Diagnostics.Import_may_be_converted_to_a_default_import));
@@ -138762,10 +138719,10 @@ function getTargetFileImportsAndAddExportInOldFile(oldFile, targetFile, importsT
138762
138719
  const targetSourceFile = program.getSourceFile(targetFile);
138763
138720
  for (const oldStatement of oldFile.statements) {
138764
138721
  forEachImportInStatement(oldStatement, (i) => {
138765
- var _a, _b;
138722
+ var _a, _b, _c;
138766
138723
  const moduleSpecifier = moduleSpecifierFromImport(i);
138767
- const resolved = (_a = oldFile.resolvedModules) == null ? void 0 : _a.get(moduleSpecifier.text, getModeForUsageLocation(oldFile, moduleSpecifier));
138768
- const fileName = (_b = resolved == null ? void 0 : resolved.resolvedModule) == null ? void 0 : _b.resolvedFileName;
138724
+ const resolved = (_b = (_a = program.resolvedModules) == null ? void 0 : _a.get(oldFile.path)) == null ? void 0 : _b.get(moduleSpecifier.text, getModeForUsageLocation(oldFile, moduleSpecifier));
138725
+ const fileName = (_c = resolved == null ? void 0 : resolved.resolvedModule) == null ? void 0 : _c.resolvedFileName;
138769
138726
  if (fileName && targetSourceFile) {
138770
138727
  const newModuleSpecifier = getModuleSpecifier(program.getCompilerOptions(), targetSourceFile, targetSourceFile.path, fileName, createModuleSpecifierResolutionHost(program, host));
138771
138728
  append(copiedOldImports, filterImport(i, makeStringLiteral(newModuleSpecifier, quotePreference), (name) => importsToCopy.has(checker.getSymbolAtLocation(name))));
@@ -149039,16 +148996,17 @@ registerCodeFix({
149039
148996
  const moduleExportsChangedToDefault = convertFileToEsModule(sourceFile, program.getTypeChecker(), changes2, getEmitScriptTarget(program.getCompilerOptions()), getQuotePreference(sourceFile, preferences));
149040
148997
  if (moduleExportsChangedToDefault) {
149041
148998
  for (const importingFile of program.getSourceFiles()) {
149042
- fixImportOfModuleExports(importingFile, sourceFile, changes2, getQuotePreference(importingFile, preferences));
148999
+ fixImportOfModuleExports(importingFile, sourceFile, program, changes2, getQuotePreference(importingFile, preferences));
149043
149000
  }
149044
149001
  }
149045
149002
  });
149046
149003
  return [createCodeFixActionWithoutFixAll("convertToEsModule", changes, Diagnostics.Convert_to_ES_module)];
149047
149004
  }
149048
149005
  });
149049
- function fixImportOfModuleExports(importingFile, exportingFile, changes, quotePreference) {
149006
+ function fixImportOfModuleExports(importingFile, exportingFile, program, changes, quotePreference) {
149007
+ var _a, _b, _c;
149050
149008
  for (const moduleSpecifier of importingFile.imports) {
149051
- const imported = getResolvedModule(importingFile, moduleSpecifier.text, getModeForUsageLocation(importingFile, moduleSpecifier));
149009
+ const imported = (_c = (_b = (_a = program.resolvedModules) == null ? void 0 : _a.get(importingFile.path)) == null ? void 0 : _b.get(moduleSpecifier.text, getModeForUsageLocation(importingFile, moduleSpecifier))) == null ? void 0 : _c.resolvedModule;
149052
149010
  if (!imported || imported.resolvedFileName !== exportingFile.fileName) {
149053
149011
  continue;
149054
149012
  }
@@ -150201,7 +150159,7 @@ registerCodeFix({
150201
150159
  fix,
150202
150160
  /*includeSymbolNameInDescription*/
150203
150161
  symbolName2 !== errorIdentifierText,
150204
- program.getCompilerOptions(),
150162
+ program,
150205
150163
  preferences
150206
150164
  )
150207
150165
  );
@@ -150450,7 +150408,6 @@ function createImportSpecifierResolver(importingFile, program, host, preferences
150450
150408
  }
150451
150409
  }
150452
150410
  function getImportCompletionAction(targetSymbol, moduleSymbol, exportMapKey, sourceFile, symbolName2, isJsxTagName, host, program, formatContext, position, preferences, cancellationToken) {
150453
- const compilerOptions = program.getCompilerOptions();
150454
150411
  let exportInfos;
150455
150412
  if (exportMapKey) {
150456
150413
  exportInfos = getExportInfoMap(sourceFile, host, program, preferences, cancellationToken).get(sourceFile.path, exportMapKey);
@@ -150471,7 +150428,7 @@ function getImportCompletionAction(targetSymbol, moduleSymbol, exportMapKey, sou
150471
150428
  fix,
150472
150429
  /*includeSymbolNameInDescription*/
150473
150430
  false,
150474
- compilerOptions,
150431
+ program,
150475
150432
  preferences
150476
150433
  ))
150477
150434
  };
@@ -150481,7 +150438,15 @@ function getPromoteTypeOnlyCompletionAction(sourceFile, symbolToken, program, ho
150481
150438
  const symbolName2 = single(getSymbolNamesToImport(sourceFile, program.getTypeChecker(), symbolToken, compilerOptions));
150482
150439
  const fix = getTypeOnlyPromotionFix(sourceFile, symbolToken, symbolName2, program);
150483
150440
  const includeSymbolNameInDescription = symbolName2 !== symbolToken.text;
150484
- return fix && codeFixActionToCodeAction(codeActionForFix({ host, formatContext, preferences }, sourceFile, symbolName2, fix, includeSymbolNameInDescription, compilerOptions, preferences));
150441
+ return fix && codeFixActionToCodeAction(codeActionForFix(
150442
+ { host, formatContext, preferences },
150443
+ sourceFile,
150444
+ symbolName2,
150445
+ fix,
150446
+ includeSymbolNameInDescription,
150447
+ program,
150448
+ preferences
150449
+ ));
150485
150450
  }
150486
150451
  function getImportFixForSymbol(sourceFile, exportInfos, program, position, isValidTypeOnlyUseSite, useRequire, host, preferences) {
150487
150452
  const packageJsonImportFilter = createPackageJsonImportFilter(sourceFile, preferences, host);
@@ -151051,14 +151016,14 @@ function getExportEqualsImportKind(importingFile, compilerOptions, forceImportKe
151051
151016
  }
151052
151017
  return allowSyntheticDefaults ? 1 /* Default */ : 3 /* CommonJS */;
151053
151018
  }
151054
- function codeActionForFix(context, sourceFile, symbolName2, fix, includeSymbolNameInDescription, compilerOptions, preferences) {
151019
+ function codeActionForFix(context, sourceFile, symbolName2, fix, includeSymbolNameInDescription, program, preferences) {
151055
151020
  let diag2;
151056
151021
  const changes = ts_textChanges_exports.ChangeTracker.with(context, (tracker) => {
151057
- diag2 = codeActionForFixWorker(tracker, sourceFile, symbolName2, fix, includeSymbolNameInDescription, compilerOptions, preferences);
151022
+ diag2 = codeActionForFixWorker(tracker, sourceFile, symbolName2, fix, includeSymbolNameInDescription, program, preferences);
151058
151023
  });
151059
151024
  return createCodeFixAction(importFixName, changes, diag2, importFixId, Diagnostics.Add_all_missing_imports);
151060
151025
  }
151061
- function codeActionForFixWorker(changes, sourceFile, symbolName2, fix, includeSymbolNameInDescription, compilerOptions, preferences) {
151026
+ function codeActionForFixWorker(changes, sourceFile, symbolName2, fix, includeSymbolNameInDescription, program, preferences) {
151062
151027
  const quotePreference = getQuotePreference(sourceFile, preferences);
151063
151028
  switch (fix.kind) {
151064
151029
  case 0 /* UseNamespace */:
@@ -151095,7 +151060,7 @@ function codeActionForFixWorker(changes, sourceFile, symbolName2, fix, includeSy
151095
151060
  defaultImport,
151096
151061
  namedImports,
151097
151062
  namespaceLikeImport,
151098
- compilerOptions
151063
+ program.getCompilerOptions()
151099
151064
  ),
151100
151065
  /*blankLineBetween*/
151101
151066
  true,
@@ -151108,7 +151073,7 @@ function codeActionForFixWorker(changes, sourceFile, symbolName2, fix, includeSy
151108
151073
  }
151109
151074
  case 4 /* PromoteTypeOnly */: {
151110
151075
  const { typeOnlyAliasDeclaration } = fix;
151111
- const promotedDeclaration = promoteFromTypeOnly(changes, typeOnlyAliasDeclaration, compilerOptions, sourceFile, preferences);
151076
+ const promotedDeclaration = promoteFromTypeOnly(changes, typeOnlyAliasDeclaration, program, sourceFile, preferences);
151112
151077
  return promotedDeclaration.kind === 276 /* ImportSpecifier */ ? [Diagnostics.Remove_type_from_import_of_0_from_1, symbolName2, getModuleSpecifierText(promotedDeclaration.parent.parent)] : [Diagnostics.Remove_type_from_import_declaration_from_0, getModuleSpecifierText(promotedDeclaration)];
151113
151078
  }
151114
151079
  default:
@@ -151119,7 +151084,8 @@ function getModuleSpecifierText(promotedDeclaration) {
151119
151084
  var _a, _b;
151120
151085
  return promotedDeclaration.kind === 271 /* ImportEqualsDeclaration */ ? ((_b = tryCast((_a = tryCast(promotedDeclaration.moduleReference, isExternalModuleReference)) == null ? void 0 : _a.expression, isStringLiteralLike)) == null ? void 0 : _b.text) || promotedDeclaration.moduleReference.getText() : cast(promotedDeclaration.parent.moduleSpecifier, isStringLiteral).text;
151121
151086
  }
151122
- function promoteFromTypeOnly(changes, aliasDeclaration, compilerOptions, sourceFile, preferences) {
151087
+ function promoteFromTypeOnly(changes, aliasDeclaration, program, sourceFile, preferences) {
151088
+ const compilerOptions = program.getCompilerOptions();
151123
151089
  const convertExistingToTypeOnly = importNameElisionDisabled(compilerOptions);
151124
151090
  switch (aliasDeclaration.kind) {
151125
151091
  case 276 /* ImportSpecifier */:
@@ -151161,10 +151127,11 @@ function promoteFromTypeOnly(changes, aliasDeclaration, compilerOptions, sourceF
151161
151127
  Debug.failBadSyntaxKind(aliasDeclaration);
151162
151128
  }
151163
151129
  function promoteImportClause(importClause) {
151130
+ var _a, _b, _c;
151164
151131
  changes.delete(sourceFile, getTypeKeywordOfTypeOnlyImport(importClause, sourceFile));
151165
151132
  if (!compilerOptions.allowImportingTsExtensions) {
151166
151133
  const moduleSpecifier = tryGetModuleSpecifierFromDeclaration(importClause.parent);
151167
- const resolvedModule = moduleSpecifier && getResolvedModule(sourceFile, moduleSpecifier.text, getModeForUsageLocation(sourceFile, moduleSpecifier));
151134
+ const resolvedModule = moduleSpecifier && ((_c = (_b = (_a = program.resolvedModules) == null ? void 0 : _a.get(sourceFile.path)) == null ? void 0 : _b.get(moduleSpecifier.text, getModeForUsageLocation(sourceFile, moduleSpecifier))) == null ? void 0 : _c.resolvedModule);
151168
151135
  if (resolvedModule == null ? void 0 : resolvedModule.resolvedUsingTsExtension) {
151169
151136
  const changedExtension = changeAnyExtension(moduleSpecifier.text, getOutputExtension(moduleSpecifier.text, compilerOptions));
151170
151137
  changes.replaceNode(sourceFile, moduleSpecifier, factory.createStringLiteral(changedExtension));
@@ -151832,7 +151799,7 @@ registerCodeFix({
151832
151799
  }
151833
151800
  });
151834
151801
  function getInfo7(sourceFile, pos, program) {
151835
- var _a;
151802
+ var _a, _b, _c, _d;
151836
151803
  const token = getTokenAtPosition(sourceFile, pos);
151837
151804
  if (isIdentifier(token)) {
151838
151805
  const importDeclaration = findAncestor(token, isImportDeclaration);
@@ -151841,19 +151808,18 @@ function getInfo7(sourceFile, pos, program) {
151841
151808
  const moduleSpecifier = isStringLiteral(importDeclaration.moduleSpecifier) ? importDeclaration.moduleSpecifier.text : void 0;
151842
151809
  if (moduleSpecifier === void 0)
151843
151810
  return void 0;
151844
- const resolvedModule = getResolvedModule(
151845
- sourceFile,
151811
+ const resolvedModule = (_c = (_b = (_a = program.resolvedModules) == null ? void 0 : _a.get(sourceFile.path)) == null ? void 0 : _b.get(
151846
151812
  moduleSpecifier,
151847
151813
  /*mode*/
151848
151814
  void 0
151849
- );
151815
+ )) == null ? void 0 : _c.resolvedModule;
151850
151816
  if (resolvedModule === void 0)
151851
151817
  return void 0;
151852
151818
  const moduleSourceFile = program.getSourceFile(resolvedModule.resolvedFileName);
151853
151819
  if (moduleSourceFile === void 0 || isSourceFileFromLibrary(program, moduleSourceFile))
151854
151820
  return void 0;
151855
151821
  const moduleSymbol = moduleSourceFile.symbol;
151856
- const locals = (_a = tryCast(moduleSymbol.valueDeclaration, canHaveLocals)) == null ? void 0 : _a.locals;
151822
+ const locals = (_d = tryCast(moduleSymbol.valueDeclaration, canHaveLocals)) == null ? void 0 : _d.locals;
151857
151823
  if (locals === void 0)
151858
151824
  return void 0;
151859
151825
  const localSymbol = locals.get(token.escapedText);
@@ -152108,9 +152074,10 @@ function convertSemanticMeaningToSymbolFlags(meaning) {
152108
152074
  return flags;
152109
152075
  }
152110
152076
  function getResolvedSourceFileFromImportDeclaration(sourceFile, context, importDeclaration) {
152077
+ var _a, _b, _c;
152111
152078
  if (!importDeclaration || !isStringLiteralLike(importDeclaration.moduleSpecifier))
152112
152079
  return void 0;
152113
- const resolvedModule = getResolvedModule(sourceFile, importDeclaration.moduleSpecifier.text, getModeForUsageLocation(sourceFile, importDeclaration.moduleSpecifier));
152080
+ const resolvedModule = (_c = (_b = (_a = context.program.resolvedModules) == null ? void 0 : _a.get(sourceFile.path)) == null ? void 0 : _b.get(importDeclaration.moduleSpecifier.text, getModeForUsageLocation(sourceFile, importDeclaration.moduleSpecifier))) == null ? void 0 : _c.resolvedModule;
152114
152081
  if (!resolvedModule)
152115
152082
  return void 0;
152116
152083
  return context.program.getSourceFile(resolvedModule.resolvedFileName);
@@ -162913,7 +162880,7 @@ function declarationIsWriteAccess(decl) {
162913
162880
  var Core;
162914
162881
  ((Core2) => {
162915
162882
  function getReferencedSymbolsForNode(position, node, program, sourceFiles, cancellationToken, options = {}, sourceFilesSet = new Set(sourceFiles.map((f) => f.fileName))) {
162916
- var _a, _b, _c;
162883
+ var _a, _b, _c, _d;
162917
162884
  node = getAdjustedNode2(node, options);
162918
162885
  if (isSourceFile(node)) {
162919
162886
  const resolvedRef = ts_GoToDefinition_exports.getReferenceAtPosition(node, position, program);
@@ -162952,7 +162919,7 @@ var Core;
162952
162919
  if (!options.implementations && isStringLiteralLike(node)) {
162953
162920
  if (isModuleSpecifierLike(node)) {
162954
162921
  const fileIncludeReasons = program.getFileIncludeReasons();
162955
- const referencedFileName = (_c = (_b = (_a = node.getSourceFile().resolvedModules) == null ? void 0 : _a.get(node.text, getModeForUsageLocation(node.getSourceFile(), node))) == null ? void 0 : _b.resolvedModule) == null ? void 0 : _c.resolvedFileName;
162922
+ const referencedFileName = (_d = (_c = (_b = (_a = program.resolvedModules) == null ? void 0 : _a.get(node.getSourceFile().path)) == null ? void 0 : _b.get(node.text, getModeForUsageLocation(node.getSourceFile(), node))) == null ? void 0 : _c.resolvedModule) == null ? void 0 : _d.resolvedFileName;
162956
162923
  const referencedFile = referencedFileName ? program.getSourceFile(referencedFileName) : void 0;
162957
162924
  if (referencedFile) {
162958
162925
  return [{ definition: { type: 4 /* String */, node }, references: getReferencesForNonModule(referencedFile, fileIncludeReasons, program) || emptyArray }];
@@ -163015,7 +162982,7 @@ var Core;
163015
162982
  for (const ref of references) {
163016
162983
  if (isReferencedFile(ref)) {
163017
162984
  const referencingFile = program.getSourceFileByPath(ref.file);
163018
- const location = getReferencedFileLocation(program.getSourceFileByPath, ref);
162985
+ const location = getReferencedFileLocation(program, ref);
163019
162986
  if (isReferenceFileLocation(location)) {
163020
162987
  entries = append(entries, {
163021
162988
  kind: 0 /* Span */,
@@ -164355,7 +164322,7 @@ __export(ts_GoToDefinition_exports, {
164355
164322
 
164356
164323
  // src/services/goToDefinition.ts
164357
164324
  function getDefinitionAtPosition(program, sourceFile, position, searchOtherFilesOnly, stopAtAlias) {
164358
- var _a, _b;
164325
+ var _a, _b, _c;
164359
164326
  const resolvedRef = getReferenceAtPosition(sourceFile, position, program);
164360
164327
  const fileReferenceDefinition = resolvedRef && [getDefinitionInfoForFileReference(resolvedRef.reference.fileName, resolvedRef.fileName, resolvedRef.unverified)] || emptyArray;
164361
164328
  if (resolvedRef == null ? void 0 : resolvedRef.file) {
@@ -164428,7 +164395,7 @@ function getDefinitionAtPosition(program, sourceFile, position, searchOtherFiles
164428
164395
  }
164429
164396
  }
164430
164397
  if (!symbol && isModuleSpecifierLike(fallbackNode)) {
164431
- const ref = (_b = (_a = sourceFile.resolvedModules) == null ? void 0 : _a.get(fallbackNode.text, getModeForUsageLocation(sourceFile, fallbackNode))) == null ? void 0 : _b.resolvedModule;
164398
+ const ref = (_c = (_b = (_a = program.resolvedModules) == null ? void 0 : _a.get(sourceFile.path)) == null ? void 0 : _b.get(fallbackNode.text, getModeForUsageLocation(sourceFile, fallbackNode))) == null ? void 0 : _c.resolvedModule;
164432
164399
  if (ref) {
164433
164400
  return [{
164434
164401
  name: fallbackNode.text,
@@ -164540,10 +164507,11 @@ function getReferenceAtPosition(sourceFile, position, program) {
164540
164507
  const file = program.getLibFileFromReference(libReferenceDirective);
164541
164508
  return file && { reference: libReferenceDirective, fileName: file.fileName, file, unverified: false };
164542
164509
  }
164543
- if ((_b = sourceFile.resolvedModules) == null ? void 0 : _b.size()) {
164510
+ const resolvedModules = (_b = program.resolvedModules) == null ? void 0 : _b.get(sourceFile.path);
164511
+ if (resolvedModules == null ? void 0 : resolvedModules.size()) {
164544
164512
  const node = getTouchingToken(sourceFile, position);
164545
- if (isModuleSpecifierLike(node) && isExternalModuleNameRelative(node.text) && sourceFile.resolvedModules.has(node.text, getModeForUsageLocation(sourceFile, node))) {
164546
- const verifiedFileName = (_d = (_c = sourceFile.resolvedModules.get(node.text, getModeForUsageLocation(sourceFile, node))) == null ? void 0 : _c.resolvedModule) == null ? void 0 : _d.resolvedFileName;
164513
+ if (isModuleSpecifierLike(node) && isExternalModuleNameRelative(node.text) && resolvedModules.has(node.text, getModeForUsageLocation(sourceFile, node))) {
164514
+ const verifiedFileName = (_d = (_c = resolvedModules.get(node.text, getModeForUsageLocation(sourceFile, node))) == null ? void 0 : _c.resolvedModule) == null ? void 0 : _d.resolvedFileName;
164547
164515
  const fileName = verifiedFileName || resolvePath(getDirectoryPath(sourceFile.fileName), node.text);
164548
164516
  return {
164549
164517
  file: program.getSourceFile(fileName),
@@ -173481,8 +173449,6 @@ __export(ts_exports2, {
173481
173449
  getResolvePackageJsonExports: () => getResolvePackageJsonExports,
173482
173450
  getResolvePackageJsonImports: () => getResolvePackageJsonImports,
173483
173451
  getResolvedExternalModuleName: () => getResolvedExternalModuleName,
173484
- getResolvedModule: () => getResolvedModule,
173485
- getResolvedTypeReferenceDirective: () => getResolvedTypeReferenceDirective,
173486
173452
  getRestIndicatorOfBindingOrAssignmentElement: () => getRestIndicatorOfBindingOrAssignmentElement,
173487
173453
  getRestParameterElementType: () => getRestParameterElementType,
173488
173454
  getRightMostAssignedExpression: () => getRightMostAssignedExpression,
@@ -174580,8 +174546,6 @@ __export(ts_exports2, {
174580
174546
  setParent: () => setParent,
174581
174547
  setParentRecursive: () => setParentRecursive,
174582
174548
  setPrivateIdentifier: () => setPrivateIdentifier,
174583
- setResolvedModule: () => setResolvedModule,
174584
- setResolvedTypeReferenceDirective: () => setResolvedTypeReferenceDirective,
174585
174549
  setSnippetElement: () => setSnippetElement,
174586
174550
  setSourceMapRange: () => setSourceMapRange,
174587
174551
  setStackTraceLimit: () => setStackTraceLimit,
@@ -174808,7 +174772,6 @@ __export(ts_exports2, {
174808
174772
  writeCommentRange: () => writeCommentRange,
174809
174773
  writeFile: () => writeFile,
174810
174774
  writeFileEnsuringDirectories: () => writeFileEnsuringDirectories,
174811
- zipToModeAwareCache: () => zipToModeAwareCache,
174812
174775
  zipWith: () => zipWith
174813
174776
  });
174814
174777
 
@@ -176682,7 +176645,8 @@ var Project3 = class _Project {
176682
176645
  }
176683
176646
  if (this.program && !this.symlinks.hasProcessedResolutions()) {
176684
176647
  this.symlinks.setSymlinksFromResolutions(
176685
- this.program.getSourceFiles(),
176648
+ this.program.resolvedModules,
176649
+ this.program.resolvedTypeReferenceDirectiveNames,
176686
176650
  this.program.getAutomaticTypeDirectiveResolutions()
176687
176651
  );
176688
176652
  }
@@ -178087,16 +178051,23 @@ function getUnresolvedImports(program, cachedUnresolvedImportsPerFile) {
178087
178051
  const sourceFiles = program.getSourceFiles();
178088
178052
  (_a = tracing) == null ? void 0 : _a.push(tracing.Phase.Session, "getUnresolvedImports", { count: sourceFiles.length });
178089
178053
  const ambientModules = program.getTypeChecker().getAmbientModules().map((mod) => stripQuotes(mod.getName()));
178090
- const result = sortAndDeduplicate(flatMap(sourceFiles, (sourceFile) => extractUnresolvedImportsFromSourceFile(sourceFile, ambientModules, cachedUnresolvedImportsPerFile)));
178054
+ const result = sortAndDeduplicate(flatMap(sourceFiles, (sourceFile) => extractUnresolvedImportsFromSourceFile(
178055
+ program,
178056
+ sourceFile,
178057
+ ambientModules,
178058
+ cachedUnresolvedImportsPerFile
178059
+ )));
178091
178060
  (_b = tracing) == null ? void 0 : _b.pop();
178092
178061
  return result;
178093
178062
  }
178094
- function extractUnresolvedImportsFromSourceFile(file, ambientModules, cachedUnresolvedImportsPerFile) {
178063
+ function extractUnresolvedImportsFromSourceFile(program, file, ambientModules, cachedUnresolvedImportsPerFile) {
178095
178064
  return getOrUpdate(cachedUnresolvedImportsPerFile, file.path, () => {
178096
- if (!file.resolvedModules)
178065
+ var _a;
178066
+ const resolvedModules = (_a = program.resolvedModules) == null ? void 0 : _a.get(file.path);
178067
+ if (!resolvedModules)
178097
178068
  return emptyArray2;
178098
178069
  let unresolvedImports;
178099
- file.resolvedModules.forEach(({ resolvedModule }, name) => {
178070
+ resolvedModules.forEach(({ resolvedModule }, name) => {
178100
178071
  if ((!resolvedModule || !resolutionExtensionIsTSOrJson(resolvedModule.extension)) && !isExternalModuleNameRelative(name) && !ambientModules.some((m) => m === name)) {
178101
178072
  unresolvedImports = append(unresolvedImports, parsePackageName(name).packageName);
178102
178073
  }
@@ -188043,8 +188014,6 @@ start(initializeNodeSystem(), require("os").platform());
188043
188014
  getResolvePackageJsonExports,
188044
188015
  getResolvePackageJsonImports,
188045
188016
  getResolvedExternalModuleName,
188046
- getResolvedModule,
188047
- getResolvedTypeReferenceDirective,
188048
188017
  getRestIndicatorOfBindingOrAssignmentElement,
188049
188018
  getRestParameterElementType,
188050
188019
  getRightMostAssignedExpression,
@@ -189142,8 +189111,6 @@ start(initializeNodeSystem(), require("os").platform());
189142
189111
  setParent,
189143
189112
  setParentRecursive,
189144
189113
  setPrivateIdentifier,
189145
- setResolvedModule,
189146
- setResolvedTypeReferenceDirective,
189147
189114
  setSnippetElement,
189148
189115
  setSourceMapRange,
189149
189116
  setStackTraceLimit,
@@ -189370,7 +189337,6 @@ start(initializeNodeSystem(), require("os").platform());
189370
189337
  writeCommentRange,
189371
189338
  writeFile,
189372
189339
  writeFileEnsuringDirectories,
189373
- zipToModeAwareCache,
189374
189340
  zipWith
189375
189341
  });
189376
189342
  //# sourceMappingURL=tsserver.js.map