typescript 5.3.0-dev.20231009 → 5.3.0-dev.20231011

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/typescript.js CHANGED
@@ -35,7 +35,7 @@ var ts = (() => {
35
35
  "src/compiler/corePublic.ts"() {
36
36
  "use strict";
37
37
  versionMajorMinor = "5.3";
38
- version = `${versionMajorMinor}.0-dev.20231009`;
38
+ version = `${versionMajorMinor}.0-dev.20231011`;
39
39
  Comparison = /* @__PURE__ */ ((Comparison3) => {
40
40
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
41
41
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -14864,6 +14864,7 @@ ${lanes.join("\n")}
14864
14864
  true
14865
14865
  ))) == null ? void 0 : _a.arguments[0];
14866
14866
  case 272 /* ImportDeclaration */:
14867
+ case 278 /* ExportDeclaration */:
14867
14868
  return tryCast(node.moduleSpecifier, isStringLiteralLike);
14868
14869
  case 271 /* ImportEqualsDeclaration */:
14869
14870
  return tryCast((_b = tryCast(node.moduleReference, isExternalModuleReference)) == null ? void 0 : _b.expression, isStringLiteralLike);
@@ -14875,6 +14876,8 @@ ${lanes.join("\n")}
14875
14876
  return tryCast(node.parent.parent.moduleSpecifier, isStringLiteralLike);
14876
14877
  case 276 /* ImportSpecifier */:
14877
14878
  return tryCast(node.parent.parent.parent.moduleSpecifier, isStringLiteralLike);
14879
+ case 205 /* ImportType */:
14880
+ return isLiteralImportTypeNode(node) ? node.argument.literal : void 0;
14878
14881
  default:
14879
14882
  Debug.assertNever(node);
14880
14883
  }
@@ -39250,7 +39253,7 @@ ${lanes.join("\n")}
39250
39253
  Debug.assert(extensionIsTS(resolved.extension));
39251
39254
  return { fileName: resolved.path, packageId: resolved.packageId };
39252
39255
  }
39253
- function createResolvedModuleWithFailedLookupLocationsHandlingSymlink(moduleName, resolved, isExternalLibraryImport, failedLookupLocations, affectingLocations, diagnostics, state, legacyResult) {
39256
+ function createResolvedModuleWithFailedLookupLocationsHandlingSymlink(moduleName, resolved, isExternalLibraryImport, failedLookupLocations, affectingLocations, diagnostics, state, cache, legacyResult) {
39254
39257
  if (!state.resultFromCache && !state.compilerOptions.preserveSymlinks && resolved && isExternalLibraryImport && !resolved.originalPath && !isExternalModuleNameRelative(moduleName)) {
39255
39258
  const { resolvedFileName, originalPath } = getOriginalAndResolvedFileName(resolved.path, state.host, state.traceEnabled);
39256
39259
  if (originalPath)
@@ -39263,15 +39266,25 @@ ${lanes.join("\n")}
39263
39266
  affectingLocations,
39264
39267
  diagnostics,
39265
39268
  state.resultFromCache,
39269
+ cache,
39266
39270
  legacyResult
39267
39271
  );
39268
39272
  }
39269
- function createResolvedModuleWithFailedLookupLocations(resolved, isExternalLibraryImport, failedLookupLocations, affectingLocations, diagnostics, resultFromCache, legacyResult) {
39273
+ function createResolvedModuleWithFailedLookupLocations(resolved, isExternalLibraryImport, failedLookupLocations, affectingLocations, diagnostics, resultFromCache, cache, legacyResult) {
39270
39274
  if (resultFromCache) {
39271
- resultFromCache.failedLookupLocations = updateResolutionField(resultFromCache.failedLookupLocations, failedLookupLocations);
39272
- resultFromCache.affectingLocations = updateResolutionField(resultFromCache.affectingLocations, affectingLocations);
39273
- resultFromCache.resolutionDiagnostics = updateResolutionField(resultFromCache.resolutionDiagnostics, diagnostics);
39274
- return resultFromCache;
39275
+ if (!(cache == null ? void 0 : cache.isReadonly)) {
39276
+ resultFromCache.failedLookupLocations = updateResolutionField(resultFromCache.failedLookupLocations, failedLookupLocations);
39277
+ resultFromCache.affectingLocations = updateResolutionField(resultFromCache.affectingLocations, affectingLocations);
39278
+ resultFromCache.resolutionDiagnostics = updateResolutionField(resultFromCache.resolutionDiagnostics, diagnostics);
39279
+ return resultFromCache;
39280
+ } else {
39281
+ return {
39282
+ ...resultFromCache,
39283
+ failedLookupLocations: initializeResolutionFieldForReadonlyCache(resultFromCache.failedLookupLocations, failedLookupLocations),
39284
+ affectingLocations: initializeResolutionFieldForReadonlyCache(resultFromCache.affectingLocations, affectingLocations),
39285
+ resolutionDiagnostics: initializeResolutionFieldForReadonlyCache(resultFromCache.resolutionDiagnostics, diagnostics)
39286
+ };
39287
+ }
39275
39288
  }
39276
39289
  return {
39277
39290
  resolvedModule: resolved && {
@@ -39299,6 +39312,13 @@ ${lanes.join("\n")}
39299
39312
  to.push(...value);
39300
39313
  return to;
39301
39314
  }
39315
+ function initializeResolutionFieldForReadonlyCache(fromCache, value) {
39316
+ if (!(fromCache == null ? void 0 : fromCache.length))
39317
+ return initializeResolutionField(value);
39318
+ if (!value.length)
39319
+ return fromCache.slice();
39320
+ return [...fromCache, ...value];
39321
+ }
39302
39322
  function readPackageJsonField(jsonContent, fieldName, typeOfTag, state) {
39303
39323
  if (!hasProperty(jsonContent, fieldName)) {
39304
39324
  if (state.traceEnabled) {
@@ -39524,15 +39544,15 @@ ${lanes.join("\n")}
39524
39544
  affectingLocations: initializeResolutionField(affectingLocations),
39525
39545
  resolutionDiagnostics: initializeResolutionField(diagnostics)
39526
39546
  };
39527
- if (containingDirectory) {
39528
- cache == null ? void 0 : cache.getOrCreateCacheForDirectory(containingDirectory, redirectedReference).set(
39547
+ if (containingDirectory && cache && !cache.isReadonly) {
39548
+ cache.getOrCreateCacheForDirectory(containingDirectory, redirectedReference).set(
39529
39549
  typeReferenceDirectiveName,
39530
39550
  /*mode*/
39531
39551
  resolutionMode,
39532
39552
  result
39533
39553
  );
39534
39554
  if (!isExternalModuleNameRelative(typeReferenceDirectiveName)) {
39535
- cache == null ? void 0 : cache.getOrCreateCacheForNonRelativeName(typeReferenceDirectiveName, resolutionMode, redirectedReference).set(containingDirectory, result);
39555
+ cache.getOrCreateCacheForNonRelativeName(typeReferenceDirectiveName, resolutionMode, redirectedReference).set(containingDirectory, result);
39536
39556
  }
39537
39557
  }
39538
39558
  if (traceEnabled)
@@ -39739,7 +39759,8 @@ ${lanes.join("\n")}
39739
39759
  getMapOfCacheRedirects,
39740
39760
  getOrCreateMapOfCacheRedirects,
39741
39761
  update,
39742
- clear: clear2
39762
+ clear: clear2,
39763
+ getOwnMap: () => ownMap
39743
39764
  };
39744
39765
  function getMapOfCacheRedirects(redirectedReference) {
39745
39766
  return redirectedReference ? getOrCreateMap(
@@ -39846,7 +39867,8 @@ ${lanes.join("\n")}
39846
39867
  getFromDirectoryCache,
39847
39868
  getOrCreateCacheForDirectory,
39848
39869
  clear: clear2,
39849
- update
39870
+ update,
39871
+ directoryToModuleNameMap
39850
39872
  };
39851
39873
  function clear2() {
39852
39874
  directoryToModuleNameMap.clear();
@@ -40120,9 +40142,11 @@ ${lanes.join("\n")}
40120
40142
  if (result && result.resolvedModule)
40121
40143
  (_b = perfLogger) == null ? void 0 : _b.logInfoEvent(`Module "${moduleName}" resolved to "${result.resolvedModule.resolvedFileName}"`);
40122
40144
  (_c = perfLogger) == null ? void 0 : _c.logStopResolveModule(result && result.resolvedModule ? "" + result.resolvedModule.resolvedFileName : "null");
40123
- cache == null ? void 0 : cache.getOrCreateCacheForDirectory(containingDirectory, redirectedReference).set(moduleName, resolutionMode, result);
40124
- if (!isExternalModuleNameRelative(moduleName)) {
40125
- cache == null ? void 0 : cache.getOrCreateCacheForNonRelativeName(moduleName, resolutionMode, redirectedReference).set(containingDirectory, result);
40145
+ if (cache && !cache.isReadonly) {
40146
+ cache.getOrCreateCacheForDirectory(containingDirectory, redirectedReference).set(moduleName, resolutionMode, result);
40147
+ if (!isExternalModuleNameRelative(moduleName)) {
40148
+ cache.getOrCreateCacheForNonRelativeName(moduleName, resolutionMode, redirectedReference).set(containingDirectory, result);
40149
+ }
40126
40150
  }
40127
40151
  }
40128
40152
  if (traceEnabled) {
@@ -40424,6 +40448,7 @@ ${lanes.join("\n")}
40424
40448
  affectingLocations,
40425
40449
  diagnostics,
40426
40450
  state,
40451
+ cache,
40427
40452
  legacyResult
40428
40453
  );
40429
40454
  function tryResolve(extensions2, state2) {
@@ -40824,7 +40849,7 @@ ${lanes.join("\n")}
40824
40849
  return packageJsonInfo.contents.versionPaths || void 0;
40825
40850
  }
40826
40851
  function getPackageJsonInfo(packageDirectory, onlyRecordFailures, state) {
40827
- var _a, _b, _c, _d, _e, _f, _g, _h;
40852
+ var _a, _b, _c, _d, _e, _f;
40828
40853
  const { host, traceEnabled } = state;
40829
40854
  const packageJsonPath = combinePaths(packageDirectory, "package.json");
40830
40855
  if (onlyRecordFailures) {
@@ -40852,15 +40877,17 @@ ${lanes.join("\n")}
40852
40877
  trace(host, Diagnostics.Found_package_json_at_0, packageJsonPath);
40853
40878
  }
40854
40879
  const result = { packageDirectory, contents: { packageJsonContent, versionPaths: void 0, resolvedEntrypoints: void 0 } };
40855
- (_e = state.packageJsonInfoCache) == null ? void 0 : _e.setPackageJsonInfo(packageJsonPath, result);
40856
- (_f = state.affectingLocations) == null ? void 0 : _f.push(packageJsonPath);
40880
+ if (state.packageJsonInfoCache && !state.packageJsonInfoCache.isReadonly)
40881
+ state.packageJsonInfoCache.setPackageJsonInfo(packageJsonPath, result);
40882
+ (_e = state.affectingLocations) == null ? void 0 : _e.push(packageJsonPath);
40857
40883
  return result;
40858
40884
  } else {
40859
40885
  if (directoryExists && traceEnabled) {
40860
40886
  trace(host, Diagnostics.File_0_does_not_exist, packageJsonPath);
40861
40887
  }
40862
- (_g = state.packageJsonInfoCache) == null ? void 0 : _g.setPackageJsonInfo(packageJsonPath, directoryExists);
40863
- (_h = state.failedLookupLocations) == null ? void 0 : _h.push(packageJsonPath);
40888
+ if (state.packageJsonInfoCache && !state.packageJsonInfoCache.isReadonly)
40889
+ state.packageJsonInfoCache.setPackageJsonInfo(packageJsonPath, directoryExists);
40890
+ (_f = state.failedLookupLocations) == null ? void 0 : _f.push(packageJsonPath);
40864
40891
  }
40865
40892
  }
40866
40893
  function loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, jsonContent, versionPaths) {
@@ -41649,7 +41676,8 @@ ${lanes.join("\n")}
41649
41676
  failedLookupLocations,
41650
41677
  affectingLocations,
41651
41678
  diagnostics,
41652
- state
41679
+ state,
41680
+ cache
41653
41681
  );
41654
41682
  function tryResolve(extensions) {
41655
41683
  const resolvedUsingSettings = tryLoadModuleUsingOptionalResolutionSettings(extensions, moduleName, containingDirectory, loadModuleFromFileNoPackageId, state);
@@ -41768,7 +41796,9 @@ ${lanes.join("\n")}
41768
41796
  failedLookupLocations,
41769
41797
  affectingLocations,
41770
41798
  diagnostics,
41771
- state.resultFromCache
41799
+ state.resultFromCache,
41800
+ /*cache*/
41801
+ void 0
41772
41802
  );
41773
41803
  }
41774
41804
  function toSearchResult(value) {
@@ -68211,7 +68241,7 @@ ${lanes.join("\n")}
68211
68241
  return createFlowType(narrowedType, isIncomplete(flowType));
68212
68242
  }
68213
68243
  function getTypeAtSwitchClause(flow) {
68214
- const expr = flow.switchStatement.expression;
68244
+ const expr = skipParentheses(flow.switchStatement.expression);
68215
68245
  const flowType = getTypeAtFlowNode(flow.antecedent);
68216
68246
  let type = getTypeFromFlowType(flowType);
68217
68247
  if (isMatchingReference(reference, expr)) {
@@ -75827,8 +75857,20 @@ ${lanes.join("\n")}
75827
75857
  let hasReturnWithNoExpression = functionHasImplicitReturn(func);
75828
75858
  let hasReturnOfTypeNever = false;
75829
75859
  forEachReturnStatement(func.body, (returnStatement) => {
75830
- const expr = returnStatement.expression;
75860
+ let expr = returnStatement.expression;
75831
75861
  if (expr) {
75862
+ expr = skipParentheses(
75863
+ expr,
75864
+ /*excludeJSDocTypeAssertions*/
75865
+ true
75866
+ );
75867
+ if (functionFlags & 2 /* Async */ && expr.kind === 223 /* AwaitExpression */) {
75868
+ expr = skipParentheses(
75869
+ expr.expression,
75870
+ /*excludeJSDocTypeAssertions*/
75871
+ true
75872
+ );
75873
+ }
75832
75874
  if (expr.kind === 213 /* CallExpression */ && expr.expression.kind === 80 /* Identifier */ && checkExpressionCached(expr.expression).symbol === func.symbol) {
75833
75875
  hasReturnOfTypeNever = true;
75834
75876
  return;
@@ -84805,7 +84847,16 @@ ${lanes.join("\n")}
84805
84847
  }
84806
84848
  return !sym.exports ? [] : nodeBuilder.symbolTableToDeclarationStatements(sym.exports, node, flags, tracker, bundled);
84807
84849
  },
84808
- isImportRequiredByAugmentation
84850
+ isImportRequiredByAugmentation,
84851
+ tryFindAmbientModule: (moduleReferenceExpression) => {
84852
+ const node = getParseTreeNode(moduleReferenceExpression);
84853
+ const moduleSpecifier = node && isStringLiteralLike(node) ? node.text : void 0;
84854
+ return moduleSpecifier !== void 0 ? tryFindAmbientModule(
84855
+ moduleSpecifier,
84856
+ /*withAugmentations*/
84857
+ true
84858
+ ) : void 0;
84859
+ }
84809
84860
  };
84810
84861
  function isImportRequiredByAugmentation(node) {
84811
84862
  const file = getSourceFileOfNode(node);
@@ -110045,6 +110096,17 @@ ${lanes.join("\n")}
110045
110096
  const container = getSourceFileOfNode(node);
110046
110097
  refs.set(getOriginalNodeId(container), container);
110047
110098
  }
110099
+ function trackReferencedAmbientModuleFromImport(node) {
110100
+ const moduleSpecifier = tryGetModuleSpecifierFromDeclaration(node);
110101
+ const symbol = moduleSpecifier && resolver.tryFindAmbientModule(moduleSpecifier);
110102
+ if (symbol == null ? void 0 : symbol.declarations) {
110103
+ for (const decl of symbol.declarations) {
110104
+ if (isAmbientModule(decl) && getSourceFileOfNode(decl) !== currentSourceFile) {
110105
+ trackReferencedAmbientModule(decl, symbol);
110106
+ }
110107
+ }
110108
+ }
110109
+ }
110048
110110
  function handleSymbolAccessibilityError(symbolAccessibilityResult) {
110049
110111
  if (symbolAccessibilityResult.accessibility === 0 /* Accessible */) {
110050
110112
  if (symbolAccessibilityResult && symbolAccessibilityResult.aliasesToMakeVisible) {
@@ -110992,6 +111054,7 @@ ${lanes.join("\n")}
110992
111054
  case 205 /* ImportType */: {
110993
111055
  if (!isLiteralImportTypeNode(input))
110994
111056
  return cleanup(input);
111057
+ trackReferencedAmbientModuleFromImport(input);
110995
111058
  return cleanup(factory2.updateImportTypeNode(
110996
111059
  input,
110997
111060
  factory2.updateLiteralTypeNode(input.argument, rewriteModuleSpecifier(input, input.argument.literal)),
@@ -111043,6 +111106,7 @@ ${lanes.join("\n")}
111043
111106
  resultHasExternalModuleIndicator = true;
111044
111107
  }
111045
111108
  resultHasScopeMarker = true;
111109
+ trackReferencedAmbientModuleFromImport(input);
111046
111110
  return factory2.updateExportDeclaration(
111047
111111
  input,
111048
111112
  input.modifiers,
@@ -111117,10 +111181,18 @@ ${lanes.join("\n")}
111117
111181
  return;
111118
111182
  switch (input.kind) {
111119
111183
  case 271 /* ImportEqualsDeclaration */: {
111120
- return transformImportEqualsDeclaration(input);
111184
+ const transformed = transformImportEqualsDeclaration(input);
111185
+ if (transformed) {
111186
+ trackReferencedAmbientModuleFromImport(input);
111187
+ }
111188
+ return transformed;
111121
111189
  }
111122
111190
  case 272 /* ImportDeclaration */: {
111123
- return transformImportDeclaration(input);
111191
+ const transformed = transformImportDeclaration(input);
111192
+ if (transformed) {
111193
+ trackReferencedAmbientModuleFromImport(input);
111194
+ }
111195
+ return transformed;
111124
111196
  }
111125
111197
  }
111126
111198
  if (isDeclaration(input) && isDeclarationAndNotVisible(input))
@@ -117607,7 +117679,8 @@ ${lanes.join("\n")}
117607
117679
  getSymbolOfExternalModuleSpecifier: notImplemented,
117608
117680
  isBindingCapturedByNode: notImplemented,
117609
117681
  getDeclarationStatementsForSourceFile: notImplemented,
117610
- isImportRequiredByAugmentation: notImplemented
117682
+ isImportRequiredByAugmentation: notImplemented,
117683
+ tryFindAmbientModule: notImplemented
117611
117684
  };
117612
117685
  createPrinterWithDefaults = /* @__PURE__ */ memoize(() => createPrinter({}));
117613
117686
  createPrinterWithRemoveComments = /* @__PURE__ */ memoize(() => createPrinter({ removeComments: true }));
@@ -118119,17 +118192,17 @@ ${lanes.join("\n")}
118119
118192
  function closeFileWatcherOf(objWithWatcher) {
118120
118193
  objWithWatcher.watcher.close();
118121
118194
  }
118122
- var ConfigFileProgramReloadLevel, WatchLogLevel;
118195
+ var ProgramUpdateLevel, WatchLogLevel;
118123
118196
  var init_watchUtilities = __esm({
118124
118197
  "src/compiler/watchUtilities.ts"() {
118125
118198
  "use strict";
118126
118199
  init_ts2();
118127
- ConfigFileProgramReloadLevel = /* @__PURE__ */ ((ConfigFileProgramReloadLevel2) => {
118128
- ConfigFileProgramReloadLevel2[ConfigFileProgramReloadLevel2["None"] = 0] = "None";
118129
- ConfigFileProgramReloadLevel2[ConfigFileProgramReloadLevel2["Partial"] = 1] = "Partial";
118130
- ConfigFileProgramReloadLevel2[ConfigFileProgramReloadLevel2["Full"] = 2] = "Full";
118131
- return ConfigFileProgramReloadLevel2;
118132
- })(ConfigFileProgramReloadLevel || {});
118200
+ ProgramUpdateLevel = /* @__PURE__ */ ((ProgramUpdateLevel2) => {
118201
+ ProgramUpdateLevel2[ProgramUpdateLevel2["Update"] = 0] = "Update";
118202
+ ProgramUpdateLevel2[ProgramUpdateLevel2["RootNamesAndUpdate"] = 1] = "RootNamesAndUpdate";
118203
+ ProgramUpdateLevel2[ProgramUpdateLevel2["Full"] = 2] = "Full";
118204
+ return ProgramUpdateLevel2;
118205
+ })(ProgramUpdateLevel || {});
118133
118206
  WatchLogLevel = /* @__PURE__ */ ((WatchLogLevel2) => {
118134
118207
  WatchLogLevel2[WatchLogLevel2["None"] = 0] = "None";
118135
118208
  WatchLogLevel2[WatchLogLevel2["TriggerOnly"] = 1] = "TriggerOnly";
@@ -124092,6 +124165,10 @@ ${lanes.join("\n")}
124092
124165
  function getRootPathSplitLength(rootPath) {
124093
124166
  return rootPath.split(directorySeparator).length - (hasTrailingDirectorySeparator(rootPath) ? 1 : 0);
124094
124167
  }
124168
+ function getModuleResolutionHost(resolutionHost) {
124169
+ var _a;
124170
+ return ((_a = resolutionHost.getCompilerHost) == null ? void 0 : _a.call(resolutionHost)) || resolutionHost;
124171
+ }
124095
124172
  function createModuleResolutionLoaderUsingGlobalCache(containingFile, redirectedReference, options, resolutionHost, moduleResolutionCache) {
124096
124173
  return {
124097
124174
  nameAndMode: moduleResolutionNameAndModeGetter,
@@ -124107,8 +124184,7 @@ ${lanes.join("\n")}
124107
124184
  };
124108
124185
  }
124109
124186
  function resolveModuleNameUsingGlobalCache(resolutionHost, moduleResolutionCache, moduleName, containingFile, compilerOptions, redirectedReference, mode) {
124110
- var _a;
124111
- const host = ((_a = resolutionHost.getCompilerHost) == null ? void 0 : _a.call(resolutionHost)) || resolutionHost;
124187
+ const host = getModuleResolutionHost(resolutionHost);
124112
124188
  const primaryResult = resolveModuleName(moduleName, containingFile, compilerOptions, host, moduleResolutionCache, redirectedReference, mode);
124113
124189
  if (!resolutionHost.getGlobalCache) {
124114
124190
  return primaryResult;
@@ -124279,6 +124355,10 @@ ${lanes.join("\n")}
124279
124355
  };
124280
124356
  }
124281
124357
  function startCachingPerDirectoryResolution() {
124358
+ moduleResolutionCache.isReadonly = void 0;
124359
+ typeReferenceDirectiveResolutionCache.isReadonly = void 0;
124360
+ libraryResolutionCache.isReadonly = void 0;
124361
+ moduleResolutionCache.getPackageJsonInfoCache().isReadonly = void 0;
124282
124362
  moduleResolutionCache.clearAllExceptPackageJsonInfoCache();
124283
124363
  typeReferenceDirectiveResolutionCache.clearAllExceptPackageJsonInfoCache();
124284
124364
  libraryResolutionCache.clearAllExceptPackageJsonInfoCache();
@@ -124336,6 +124416,10 @@ ${lanes.join("\n")}
124336
124416
  directoryWatchesOfFailedLookups.forEach(closeDirectoryWatchesOfFailedLookup);
124337
124417
  fileWatchesOfAffectingLocations.forEach(closeFileWatcherOfAffectingLocation);
124338
124418
  hasChangedAutomaticTypeDirectiveNames = false;
124419
+ moduleResolutionCache.isReadonly = true;
124420
+ typeReferenceDirectiveResolutionCache.isReadonly = true;
124421
+ libraryResolutionCache.isReadonly = true;
124422
+ moduleResolutionCache.getPackageJsonInfoCache().isReadonly = true;
124339
124423
  }
124340
124424
  function closeDirectoryWatchesOfFailedLookup(watcher, path) {
124341
124425
  if (watcher.refCount === 0) {
@@ -124364,7 +124448,6 @@ ${lanes.join("\n")}
124364
124448
  shouldRetryResolution,
124365
124449
  logChanges
124366
124450
  }) {
124367
- var _a;
124368
124451
  const path = resolutionHost.toPath(containingFile);
124369
124452
  const resolutionsInFile = perFileCache.get(path) || perFileCache.set(path, createModeAwareCache()).get(path);
124370
124453
  const resolvedModules = [];
@@ -124396,7 +124479,7 @@ ${lanes.join("\n")}
124396
124479
  logChanges = false;
124397
124480
  }
124398
124481
  } else {
124399
- const host = ((_a = resolutionHost.getCompilerHost) == null ? void 0 : _a.call(resolutionHost)) || resolutionHost;
124482
+ const host = getModuleResolutionHost(resolutionHost);
124400
124483
  if (isTraceEnabled(options, host) && !seenNamesInFile.has(name, mode)) {
124401
124484
  const resolved = getResolutionWithResolvedFileName(resolution);
124402
124485
  trace(
@@ -124448,7 +124531,6 @@ ${lanes.join("\n")}
124448
124531
  }
124449
124532
  }
124450
124533
  function resolveTypeReferenceDirectiveReferences(typeDirectiveReferences, containingFile, redirectedReference, options, containingSourceFile, reusedNames) {
124451
- var _a;
124452
124534
  return resolveNamesWithLocalCache({
124453
124535
  entries: typeDirectiveReferences,
124454
124536
  containingFile,
@@ -124461,7 +124543,7 @@ ${lanes.join("\n")}
124461
124543
  containingFile,
124462
124544
  redirectedReference,
124463
124545
  options,
124464
- ((_a = resolutionHost.getCompilerHost) == null ? void 0 : _a.call(resolutionHost)) || resolutionHost,
124546
+ getModuleResolutionHost(resolutionHost),
124465
124547
  typeReferenceDirectiveResolutionCache
124466
124548
  ),
124467
124549
  getResolutionWithResolvedFileName: getResolvedTypeReferenceDirective,
@@ -124493,8 +124575,7 @@ ${lanes.join("\n")}
124493
124575
  });
124494
124576
  }
124495
124577
  function resolveLibrary2(libraryName, resolveFrom, options, libFileName) {
124496
- var _a;
124497
- const host = ((_a = resolutionHost.getCompilerHost) == null ? void 0 : _a.call(resolutionHost)) || resolutionHost;
124578
+ const host = getModuleResolutionHost(resolutionHost);
124498
124579
  let resolution = resolvedLibraries == null ? void 0 : resolvedLibraries.get(libFileName);
124499
124580
  if (!resolution || resolution.isInvalidated) {
124500
124581
  const existingResolution = resolution;
@@ -124528,6 +124609,7 @@ ${lanes.join("\n")}
124528
124609
  return resolution;
124529
124610
  }
124530
124611
  function resolveSingleModuleNameWithoutWatching(moduleName, containingFile) {
124612
+ var _a, _b;
124531
124613
  const path = resolutionHost.toPath(containingFile);
124532
124614
  const resolutionsInFile = resolvedModuleNames.get(path);
124533
124615
  const resolution = resolutionsInFile == null ? void 0 : resolutionsInFile.get(
@@ -124537,7 +124619,17 @@ ${lanes.join("\n")}
124537
124619
  );
124538
124620
  if (resolution && !resolution.isInvalidated)
124539
124621
  return resolution;
124540
- return resolveModuleNameUsingGlobalCache(resolutionHost, moduleResolutionCache, moduleName, containingFile, resolutionHost.getCompilationSettings());
124622
+ const data = (_a = resolutionHost.beforeResolveSingleModuleNameWithoutWatching) == null ? void 0 : _a.call(resolutionHost, moduleResolutionCache);
124623
+ const host = getModuleResolutionHost(resolutionHost);
124624
+ const result = resolveModuleName(
124625
+ moduleName,
124626
+ containingFile,
124627
+ resolutionHost.getCompilationSettings(),
124628
+ host,
124629
+ moduleResolutionCache
124630
+ );
124631
+ (_b = resolutionHost.afterResolveSingleModuleNameWithoutWatching) == null ? void 0 : _b.call(resolutionHost, moduleResolutionCache, moduleName, containingFile, result, data);
124632
+ return result;
124541
124633
  }
124542
124634
  function isNodeModulesAtTypesDirectory(dirPath) {
124543
124635
  return endsWith(dirPath, "/node_modules/@types");
@@ -125721,7 +125813,7 @@ ${lanes.join("\n")}
125721
125813
  }
125722
125814
  function createWatchProgram(host) {
125723
125815
  let builderProgram;
125724
- let reloadLevel;
125816
+ let updateLevel;
125725
125817
  let missingFilesMap;
125726
125818
  let watchedWildcardDirectories;
125727
125819
  let timerToUpdateProgram;
@@ -126080,7 +126172,7 @@ ${lanes.join("\n")}
126080
126172
  }
126081
126173
  function scheduleProgramReload() {
126082
126174
  Debug.assert(!!configFileName);
126083
- reloadLevel = 2 /* Full */;
126175
+ updateLevel = 2 /* Full */;
126084
126176
  scheduleProgramUpdate();
126085
126177
  }
126086
126178
  function updateProgramWithWatchStatus() {
@@ -126090,8 +126182,8 @@ ${lanes.join("\n")}
126090
126182
  }
126091
126183
  function updateProgram() {
126092
126184
  var _a, _b, _c, _d;
126093
- switch (reloadLevel) {
126094
- case 1 /* Partial */:
126185
+ switch (updateLevel) {
126186
+ case 1 /* RootNamesAndUpdate */:
126095
126187
  (_a = perfLogger) == null ? void 0 : _a.logStartUpdateProgram("PartialConfigReload");
126096
126188
  reloadFileNamesFromConfigFile();
126097
126189
  break;
@@ -126111,7 +126203,7 @@ ${lanes.join("\n")}
126111
126203
  writeLog("Reloading new file names and options");
126112
126204
  Debug.assert(compilerOptions);
126113
126205
  Debug.assert(configFileName);
126114
- reloadLevel = 0 /* None */;
126206
+ updateLevel = 0 /* Update */;
126115
126207
  rootFileNames = getFileNamesFromConfigSpecs(compilerOptions.configFile.configFileSpecs, getNormalizedAbsolutePath(getDirectoryPath(configFileName), currentDirectory), compilerOptions, parseConfigFileHost, extraFileExtensions);
126116
126208
  if (updateErrorForNoInputFiles(rootFileNames, getNormalizedAbsolutePath(configFileName, currentDirectory), compilerOptions.configFile.configFileSpecs, configFileParsingDiagnostics, canConfigFileJsonReportNoInputFiles)) {
126117
126209
  hasChangedConfigFileParsingErrors = true;
@@ -126121,7 +126213,7 @@ ${lanes.join("\n")}
126121
126213
  function reloadConfigFile() {
126122
126214
  Debug.assert(configFileName);
126123
126215
  writeLog(`Reloading config file: ${configFileName}`);
126124
- reloadLevel = 0 /* None */;
126216
+ updateLevel = 0 /* Update */;
126125
126217
  if (cachedDirectoryStructureHost) {
126126
126218
  cachedDirectoryStructureHost.clearCache();
126127
126219
  }
@@ -126158,9 +126250,9 @@ ${lanes.join("\n")}
126158
126250
  const configPath = toPath3(configFileName2);
126159
126251
  let config = parsedConfigs == null ? void 0 : parsedConfigs.get(configPath);
126160
126252
  if (config) {
126161
- if (!config.reloadLevel)
126253
+ if (!config.updateLevel)
126162
126254
  return config.parsedCommandLine;
126163
- if (config.parsedCommandLine && config.reloadLevel === 1 /* Partial */ && !host.getParsedCommandLine) {
126255
+ if (config.parsedCommandLine && config.updateLevel === 1 /* RootNamesAndUpdate */ && !host.getParsedCommandLine) {
126164
126256
  writeLog("Reloading new file names and options");
126165
126257
  Debug.assert(compilerOptions);
126166
126258
  const fileNames = getFileNamesFromConfigSpecs(
@@ -126170,7 +126262,7 @@ ${lanes.join("\n")}
126170
126262
  parseConfigFileHost
126171
126263
  );
126172
126264
  config.parsedCommandLine = { ...config.parsedCommandLine, fileNames };
126173
- config.reloadLevel = void 0;
126265
+ config.updateLevel = void 0;
126174
126266
  return config.parsedCommandLine;
126175
126267
  }
126176
126268
  }
@@ -126178,7 +126270,7 @@ ${lanes.join("\n")}
126178
126270
  const parsedCommandLine = host.getParsedCommandLine ? host.getParsedCommandLine(configFileName2) : getParsedCommandLineFromConfigFileHost(configFileName2);
126179
126271
  if (config) {
126180
126272
  config.parsedCommandLine = parsedCommandLine;
126181
- config.reloadLevel = void 0;
126273
+ config.updateLevel = void 0;
126182
126274
  } else {
126183
126275
  (parsedConfigs || (parsedConfigs = /* @__PURE__ */ new Map())).set(configPath, config = { parsedCommandLine });
126184
126276
  }
@@ -126275,8 +126367,8 @@ ${lanes.join("\n")}
126275
126367
  toPath: toPath3
126276
126368
  }))
126277
126369
  return;
126278
- if (reloadLevel !== 2 /* Full */) {
126279
- reloadLevel = 1 /* Partial */;
126370
+ if (updateLevel !== 2 /* Full */) {
126371
+ updateLevel = 1 /* RootNamesAndUpdate */;
126280
126372
  scheduleProgramUpdate();
126281
126373
  }
126282
126374
  },
@@ -126302,11 +126394,11 @@ ${lanes.join("\n")}
126302
126394
  return;
126303
126395
  projects.forEach((projectPath) => {
126304
126396
  if (configFileName && toPath3(configFileName) === projectPath) {
126305
- reloadLevel = 2 /* Full */;
126397
+ updateLevel = 2 /* Full */;
126306
126398
  } else {
126307
126399
  const config = parsedConfigs == null ? void 0 : parsedConfigs.get(projectPath);
126308
126400
  if (config)
126309
- config.reloadLevel = 2 /* Full */;
126401
+ config.updateLevel = 2 /* Full */;
126310
126402
  resolutionCache.removeResolutionsFromProjectReferenceRedirects(projectPath);
126311
126403
  }
126312
126404
  scheduleProgramUpdate();
@@ -126327,7 +126419,7 @@ ${lanes.join("\n")}
126327
126419
  updateCachedSystemWithFile(configFileName2, configPath, eventKind);
126328
126420
  const config = parsedConfigs == null ? void 0 : parsedConfigs.get(configPath);
126329
126421
  if (config)
126330
- config.reloadLevel = 2 /* Full */;
126422
+ config.updateLevel = 2 /* Full */;
126331
126423
  resolutionCache.removeResolutionsFromProjectReferenceRedirects(configPath);
126332
126424
  scheduleProgramUpdate();
126333
126425
  },
@@ -126365,8 +126457,8 @@ ${lanes.join("\n")}
126365
126457
  toPath: toPath3
126366
126458
  }))
126367
126459
  return;
126368
- if (config.reloadLevel !== 2 /* Full */) {
126369
- config.reloadLevel = 1 /* Partial */;
126460
+ if (config.updateLevel !== 2 /* Full */) {
126461
+ config.updateLevel = 1 /* RootNamesAndUpdate */;
126370
126462
  scheduleProgramUpdate();
126371
126463
  }
126372
126464
  },
@@ -126840,12 +126932,12 @@ ${lanes.join("\n")}
126840
126932
  state.projectStatus.delete(resolved);
126841
126933
  state.diagnostics.delete(resolved);
126842
126934
  }
126843
- function addProjToQueue({ projectPendingBuild }, proj, reloadLevel) {
126935
+ function addProjToQueue({ projectPendingBuild }, proj, updateLevel) {
126844
126936
  const value = projectPendingBuild.get(proj);
126845
126937
  if (value === void 0) {
126846
- projectPendingBuild.set(proj, reloadLevel);
126847
- } else if (value < reloadLevel) {
126848
- projectPendingBuild.set(proj, reloadLevel);
126938
+ projectPendingBuild.set(proj, updateLevel);
126939
+ } else if (value < updateLevel) {
126940
+ projectPendingBuild.set(proj, updateLevel);
126849
126941
  }
126850
126942
  }
126851
126943
  function setupInitialBuild(state, cancellationToken) {
@@ -126859,7 +126951,7 @@ ${lanes.join("\n")}
126859
126951
  buildOrder.forEach(
126860
126952
  (configFileName) => state.projectPendingBuild.set(
126861
126953
  toResolvedConfigFilePath(state, configFileName),
126862
- 0 /* None */
126954
+ 0 /* Update */
126863
126955
  )
126864
126956
  );
126865
126957
  if (cancellationToken) {
@@ -127295,8 +127387,8 @@ ${lanes.join("\n")}
127295
127387
  for (let projectIndex = 0; projectIndex < buildOrder.length; projectIndex++) {
127296
127388
  const project = buildOrder[projectIndex];
127297
127389
  const projectPath = toResolvedConfigFilePath(state, project);
127298
- const reloadLevel = state.projectPendingBuild.get(projectPath);
127299
- if (reloadLevel === void 0)
127390
+ const updateLevel = state.projectPendingBuild.get(projectPath);
127391
+ if (updateLevel === void 0)
127300
127392
  continue;
127301
127393
  if (reportQueue) {
127302
127394
  reportQueue = false;
@@ -127308,13 +127400,13 @@ ${lanes.join("\n")}
127308
127400
  projectPendingBuild.delete(projectPath);
127309
127401
  continue;
127310
127402
  }
127311
- if (reloadLevel === 2 /* Full */) {
127403
+ if (updateLevel === 2 /* Full */) {
127312
127404
  watchConfigFile(state, project, projectPath, config);
127313
127405
  watchExtendedConfigFiles(state, projectPath, config);
127314
127406
  watchWildCardDirectories(state, project, projectPath, config);
127315
127407
  watchInputFiles(state, project, projectPath, config);
127316
127408
  watchPackageJsonFiles(state, project, projectPath, config);
127317
- } else if (reloadLevel === 1 /* Partial */) {
127409
+ } else if (updateLevel === 1 /* RootNamesAndUpdate */) {
127318
127410
  config.fileNames = getFileNamesFromConfigSpecs(config.options.configFile.configFileSpecs, getDirectoryPath(project), config.options, state.parseConfigFileHost);
127319
127411
  updateErrorForNoInputFiles(config.fileNames, project, config.options.configFile.configFileSpecs, config.errors, canJsonReportNoInputFiles(config.raw));
127320
127412
  watchInputFiles(state, project, projectPath, config);
@@ -127901,7 +127993,7 @@ ${lanes.join("\n")}
127901
127993
  break;
127902
127994
  }
127903
127995
  }
127904
- addProjToQueue(state, nextProjectPath, 0 /* None */);
127996
+ addProjToQueue(state, nextProjectPath, 0 /* Update */);
127905
127997
  break;
127906
127998
  }
127907
127999
  }
@@ -127970,7 +128062,7 @@ ${lanes.join("\n")}
127970
128062
  filesToDelete.push(output);
127971
128063
  } else {
127972
128064
  host.deleteFile(output);
127973
- invalidateProject(state, resolvedPath, 0 /* None */);
128065
+ invalidateProject(state, resolvedPath, 0 /* Update */);
127974
128066
  }
127975
128067
  }
127976
128068
  }
@@ -127981,22 +128073,22 @@ ${lanes.join("\n")}
127981
128073
  }
127982
128074
  return 0 /* Success */;
127983
128075
  }
127984
- function invalidateProject(state, resolved, reloadLevel) {
127985
- if (state.host.getParsedCommandLine && reloadLevel === 1 /* Partial */) {
127986
- reloadLevel = 2 /* Full */;
128076
+ function invalidateProject(state, resolved, updateLevel) {
128077
+ if (state.host.getParsedCommandLine && updateLevel === 1 /* RootNamesAndUpdate */) {
128078
+ updateLevel = 2 /* Full */;
127987
128079
  }
127988
- if (reloadLevel === 2 /* Full */) {
128080
+ if (updateLevel === 2 /* Full */) {
127989
128081
  state.configFileCache.delete(resolved);
127990
128082
  state.buildOrder = void 0;
127991
128083
  }
127992
128084
  state.needsSummary = true;
127993
128085
  clearProjectStatus(state, resolved);
127994
- addProjToQueue(state, resolved, reloadLevel);
128086
+ addProjToQueue(state, resolved, updateLevel);
127995
128087
  enableCache(state);
127996
128088
  }
127997
- function invalidateProjectAndScheduleBuilds(state, resolvedPath, reloadLevel) {
128089
+ function invalidateProjectAndScheduleBuilds(state, resolvedPath, updateLevel) {
127998
128090
  state.reportFileChangeDetected = true;
127999
- invalidateProject(state, resolvedPath, reloadLevel);
128091
+ invalidateProject(state, resolvedPath, updateLevel);
128000
128092
  scheduleBuildInvalidatedProject(
128001
128093
  state,
128002
128094
  250,
@@ -128127,7 +128219,7 @@ ${lanes.join("\n")}
128127
128219
  toPath: (fileName) => toPath2(state, fileName)
128128
128220
  }))
128129
128221
  return;
128130
- invalidateProjectAndScheduleBuilds(state, resolvedPath, 1 /* Partial */);
128222
+ invalidateProjectAndScheduleBuilds(state, resolvedPath, 1 /* RootNamesAndUpdate */);
128131
128223
  },
128132
128224
  flags,
128133
128225
  parsed == null ? void 0 : parsed.watchOptions,
@@ -128146,7 +128238,7 @@ ${lanes.join("\n")}
128146
128238
  createNewValue: (_path, input) => watchFile(
128147
128239
  state,
128148
128240
  input,
128149
- () => invalidateProjectAndScheduleBuilds(state, resolvedPath, 0 /* None */),
128241
+ () => invalidateProjectAndScheduleBuilds(state, resolvedPath, 0 /* Update */),
128150
128242
  250 /* Low */,
128151
128243
  parsed == null ? void 0 : parsed.watchOptions,
128152
128244
  WatchType.SourceFile,
@@ -128166,7 +128258,7 @@ ${lanes.join("\n")}
128166
128258
  createNewValue: (path, _input) => watchFile(
128167
128259
  state,
128168
128260
  path,
128169
- () => invalidateProjectAndScheduleBuilds(state, resolvedPath, 0 /* None */),
128261
+ () => invalidateProjectAndScheduleBuilds(state, resolvedPath, 0 /* Update */),
128170
128262
  2e3 /* High */,
128171
128263
  parsed == null ? void 0 : parsed.watchOptions,
128172
128264
  WatchType.PackageJson,
@@ -128237,7 +128329,7 @@ ${lanes.join("\n")}
128237
128329
  const configFilePath = toResolvedConfigFilePath(state, configFileName);
128238
128330
  return getUpToDateStatus(state, parseConfigFile(state, configFileName, configFilePath), configFilePath);
128239
128331
  },
128240
- invalidateProject: (configFilePath, reloadLevel) => invalidateProject(state, configFilePath, reloadLevel || 0 /* None */),
128332
+ invalidateProject: (configFilePath, updateLevel) => invalidateProject(state, configFilePath, updateLevel || 0 /* Update */),
128241
128333
  close: () => stopWatching(state)
128242
128334
  };
128243
128335
  }
@@ -172600,7 +172692,7 @@ ${options.prefix}` : "\n" : options.prefix
172600
172692
  return fileName[0] === "^" || (fileName.includes("walkThroughSnippet:/") || fileName.includes("untitled:/")) && getBaseFileName(fileName)[0] === "^" || fileName.includes(":^") && !fileName.includes(directorySeparator);
172601
172693
  }
172602
172694
  function ensurePrimaryProjectKind(project) {
172603
- if (!project || project.projectKind === 3 /* AutoImportProvider */ || project.projectKind === 4 /* Auxiliary */) {
172695
+ if (!project || isBackgroundProject(project)) {
172604
172696
  return Errors.ThrowNoProject();
172605
172697
  }
172606
172698
  return project;
@@ -173062,7 +173154,7 @@ ${options.prefix}` : "\n" : options.prefix
173062
173154
  isContainedByBackgroundProject() {
173063
173155
  return some(
173064
173156
  this.containingProjects,
173065
- (p) => p.projectKind === 3 /* AutoImportProvider */ || p.projectKind === 4 /* Auxiliary */
173157
+ isBackgroundProject
173066
173158
  );
173067
173159
  }
173068
173160
  /**
@@ -173298,6 +173390,9 @@ ${options.prefix}` : "\n" : options.prefix
173298
173390
  function isExternalProject(project) {
173299
173391
  return project.projectKind === 2 /* External */;
173300
173392
  }
173393
+ function isBackgroundProject(project) {
173394
+ return project.projectKind === 3 /* AutoImportProvider */ || project.projectKind === 4 /* Auxiliary */;
173395
+ }
173301
173396
  var ProjectKind, Project3, InferredProject2, AuxiliaryProject, _AutoImportProviderProject, AutoImportProviderProject, ConfiguredProject2, ExternalProject2;
173302
173397
  var init_project = __esm({
173303
173398
  "src/server/project.ts"() {
@@ -173414,9 +173509,10 @@ ${options.prefix}` : "\n" : options.prefix
173414
173509
  this.disableLanguageService(lastFileExceededProgramSize);
173415
173510
  }
173416
173511
  this.markAsDirty();
173417
- if (projectKind !== 3 /* AutoImportProvider */) {
173512
+ if (!isBackgroundProject(this)) {
173418
173513
  this.projectService.pendingEnsureProjectForOpenFiles = true;
173419
173514
  }
173515
+ this.projectService.onProjectCreation(this);
173420
173516
  }
173421
173517
  /** @internal */
173422
173518
  getResolvedProjectReferenceToRedirect(_fileName) {
@@ -173586,6 +173682,7 @@ ${options.prefix}` : "\n" : options.prefix
173586
173682
  resolveModuleNameLiterals(moduleLiterals, containingFile, redirectedReference, options, containingSourceFile, reusedNames) {
173587
173683
  return this.resolutionCache.resolveModuleNameLiterals(moduleLiterals, containingFile, redirectedReference, options, containingSourceFile, reusedNames);
173588
173684
  }
173685
+ /** @internal */
173589
173686
  getModuleResolutionCache() {
173590
173687
  return this.resolutionCache.getModuleResolutionCache();
173591
173688
  }
@@ -173851,12 +173948,12 @@ ${options.prefix}` : "\n" : options.prefix
173851
173948
  }
173852
173949
  return { ...newTypeAcquisition, include: this.removeExistingTypings(newTypeAcquisition.include) };
173853
173950
  }
173854
- getExternalFiles() {
173951
+ getExternalFiles(updateLevel) {
173855
173952
  return sort(flatMap(this.plugins, (plugin) => {
173856
173953
  if (typeof plugin.module.getExternalFiles !== "function")
173857
173954
  return;
173858
173955
  try {
173859
- return plugin.module.getExternalFiles(this);
173956
+ return plugin.module.getExternalFiles(this, updateLevel || 0 /* Update */);
173860
173957
  } catch (e) {
173861
173958
  this.projectService.logger.info(`A plugin threw an exception in getExternalFiles: ${e}`);
173862
173959
  if (e.stack) {
@@ -174591,6 +174688,7 @@ ${options.prefix}` : "\n" : options.prefix
174591
174688
  }
174592
174689
  /** @internal */
174593
174690
  getChangesSinceVersion(lastKnownVersion, includeProjectReferenceRedirectInfo) {
174691
+ var _a, _b;
174594
174692
  const includeProjectReferenceRedirectInfoIfRequested = includeProjectReferenceRedirectInfo ? (files) => arrayFrom(files.entries(), ([fileName, isSourceOfProjectReferenceRedirect]) => ({
174595
174693
  fileName,
174596
174694
  isSourceOfProjectReferenceRedirect
@@ -174613,10 +174711,10 @@ ${options.prefix}` : "\n" : options.prefix
174613
174711
  return { info, projectErrors: this.getGlobalProjectErrors() };
174614
174712
  }
174615
174713
  const lastReportedFileNames = this.lastReportedFileNames;
174616
- const externalFiles = this.getExternalFiles().map((f) => ({
174714
+ const externalFiles = ((_a = this.externalFiles) == null ? void 0 : _a.map((f) => ({
174617
174715
  fileName: toNormalizedPath(f),
174618
174716
  isSourceOfProjectReferenceRedirect: false
174619
- }));
174717
+ }))) || emptyArray2;
174620
174718
  const currentFiles = arrayToMap(
174621
174719
  this.getFileNamesWithRedirectInfo(!!includeProjectReferenceRedirectInfo).concat(externalFiles),
174622
174720
  (info2) => info2.fileName,
@@ -174658,10 +174756,10 @@ ${options.prefix}` : "\n" : options.prefix
174658
174756
  };
174659
174757
  } else {
174660
174758
  const projectFileNames = this.getFileNamesWithRedirectInfo(!!includeProjectReferenceRedirectInfo);
174661
- const externalFiles = this.getExternalFiles().map((f) => ({
174759
+ const externalFiles = ((_b = this.externalFiles) == null ? void 0 : _b.map((f) => ({
174662
174760
  fileName: toNormalizedPath(f),
174663
174761
  isSourceOfProjectReferenceRedirect: false
174664
- }));
174762
+ }))) || emptyArray2;
174665
174763
  const allFiles = projectFileNames.concat(externalFiles);
174666
174764
  this.lastReportedFileNames = arrayToMap(
174667
174765
  allFiles,
@@ -174863,32 +174961,15 @@ ${options.prefix}` : "\n" : options.prefix
174863
174961
  return this.projectService.getIncompleteCompletionsCache();
174864
174962
  }
174865
174963
  /** @internal */
174866
- getNoDtsResolutionProject(rootFileNames) {
174964
+ getNoDtsResolutionProject(rootFile) {
174867
174965
  Debug.assert(this.projectService.serverMode === 0 /* Semantic */);
174868
174966
  if (!this.noDtsResolutionProject) {
174869
174967
  this.noDtsResolutionProject = new AuxiliaryProject(this.projectService, this.documentRegistry, this.getCompilerOptionsForNoDtsResolutionProject(), this.currentDirectory);
174870
174968
  }
174871
- enumerateInsertsAndDeletes(
174872
- rootFileNames.map(toNormalizedPath),
174873
- this.noDtsResolutionProject.getRootFiles(),
174874
- getStringComparer(!this.useCaseSensitiveFileNames()),
174875
- (pathToAdd) => {
174876
- const info = this.projectService.getOrCreateScriptInfoNotOpenedByClient(
174877
- pathToAdd,
174878
- this.currentDirectory,
174879
- this.noDtsResolutionProject.directoryStructureHost
174880
- );
174881
- if (info) {
174882
- this.noDtsResolutionProject.addRoot(info, pathToAdd);
174883
- }
174884
- },
174885
- (pathToRemove) => {
174886
- const info = this.noDtsResolutionProject.getScriptInfo(pathToRemove);
174887
- if (info) {
174888
- this.noDtsResolutionProject.removeRoot(info);
174889
- }
174890
- }
174891
- );
174969
+ if (this.noDtsResolutionProject.rootFile !== rootFile) {
174970
+ this.projectService.setFileNamesOfAutpImportProviderOrAuxillaryProject(this.noDtsResolutionProject, [rootFile]);
174971
+ this.noDtsResolutionProject.rootFile = rootFile;
174972
+ }
174892
174973
  return this.noDtsResolutionProject;
174893
174974
  }
174894
174975
  /** @internal */
@@ -175195,7 +175276,7 @@ ${options.prefix}` : "\n" : options.prefix
175195
175276
  this.getCompilationSettings()
175196
175277
  );
175197
175278
  }
175198
- this.projectService.setFileNamesOfAutoImportProviderProject(this, rootFileNames);
175279
+ this.projectService.setFileNamesOfAutpImportProviderOrAuxillaryProject(this, rootFileNames);
175199
175280
  this.rootFileNames = rootFileNames;
175200
175281
  const oldProgram = this.getCurrentProgram();
175201
175282
  const hasSameSetOfFiles = super.updateGraph();
@@ -175340,18 +175421,18 @@ ${options.prefix}` : "\n" : options.prefix
175340
175421
  updateGraph() {
175341
175422
  const isInitialLoad = this.isInitialLoadPending();
175342
175423
  this.isInitialLoadPending = returnFalse;
175343
- const reloadLevel = this.pendingReload;
175344
- this.pendingReload = 0 /* None */;
175424
+ const updateLevel = this.pendingUpdateLevel;
175425
+ this.pendingUpdateLevel = 0 /* Update */;
175345
175426
  let result;
175346
- switch (reloadLevel) {
175347
- case 1 /* Partial */:
175427
+ switch (updateLevel) {
175428
+ case 1 /* RootNamesAndUpdate */:
175348
175429
  this.openFileWatchTriggered.clear();
175349
175430
  result = this.projectService.reloadFileNamesOfConfiguredProject(this);
175350
175431
  break;
175351
175432
  case 2 /* Full */:
175352
175433
  this.openFileWatchTriggered.clear();
175353
- const reason = Debug.checkDefined(this.pendingReloadReason);
175354
- this.pendingReloadReason = void 0;
175434
+ const reason = Debug.checkDefined(this.pendingUpdateReason);
175435
+ this.pendingUpdateReason = void 0;
175355
175436
  this.projectService.reloadConfiguredProject(
175356
175437
  this,
175357
175438
  reason,
@@ -176018,6 +176099,8 @@ ${options.prefix}` : "\n" : options.prefix
176018
176099
  this.verifyDocumentRegistry = noop;
176019
176100
  /** @internal */
176020
176101
  this.verifyProgram = noop;
176102
+ /** @internal */
176103
+ this.onProjectCreation = noop;
176021
176104
  var _a;
176022
176105
  this.host = opts.host;
176023
176106
  this.logger = opts.logger;
@@ -176185,20 +176268,20 @@ ${options.prefix}` : "\n" : options.prefix
176185
176268
  }
176186
176269
  delayUpdateProjectGraph(project) {
176187
176270
  project.markAsDirty();
176188
- if (project.projectKind !== 3 /* AutoImportProvider */ && project.projectKind !== 4 /* Auxiliary */) {
176189
- const projectName = project.getProjectName();
176190
- this.pendingProjectUpdates.set(projectName, project);
176191
- this.throttledOperations.schedule(
176192
- projectName,
176193
- /*delay*/
176194
- 250,
176195
- () => {
176196
- if (this.pendingProjectUpdates.delete(projectName)) {
176197
- updateProjectIfDirty(project);
176198
- }
176271
+ if (isBackgroundProject(project))
176272
+ return;
176273
+ const projectName = project.getProjectName();
176274
+ this.pendingProjectUpdates.set(projectName, project);
176275
+ this.throttledOperations.schedule(
176276
+ projectName,
176277
+ /*delay*/
176278
+ 250,
176279
+ () => {
176280
+ if (this.pendingProjectUpdates.delete(projectName)) {
176281
+ updateProjectIfDirty(project);
176199
176282
  }
176200
- );
176201
- }
176283
+ }
176284
+ );
176202
176285
  }
176203
176286
  /** @internal */
176204
176287
  hasPendingProjectUpdate(project) {
@@ -176474,28 +176557,28 @@ ${options.prefix}` : "\n" : options.prefix
176474
176557
  getScriptKind: configuredProjectForConfig ? (fileName) => configuredProjectForConfig.getScriptKind(fileName) : void 0
176475
176558
  }))
176476
176559
  return;
176477
- if (config.reloadLevel !== 2 /* Full */)
176478
- config.reloadLevel = 1 /* Partial */;
176560
+ if (config.updateLevel !== 2 /* Full */)
176561
+ config.updateLevel = 1 /* RootNamesAndUpdate */;
176479
176562
  config.projects.forEach((watchWildcardDirectories, projectCanonicalPath) => {
176480
176563
  if (!watchWildcardDirectories)
176481
176564
  return;
176482
176565
  const project = this.getConfiguredProjectByCanonicalConfigFilePath(projectCanonicalPath);
176483
176566
  if (!project)
176484
176567
  return;
176485
- const reloadLevel = configuredProjectForConfig === project ? 1 /* Partial */ : 0 /* None */;
176486
- if (project.pendingReload !== void 0 && project.pendingReload > reloadLevel)
176568
+ const updateLevel = configuredProjectForConfig === project ? 1 /* RootNamesAndUpdate */ : 0 /* Update */;
176569
+ if (project.pendingUpdateLevel !== void 0 && project.pendingUpdateLevel > updateLevel)
176487
176570
  return;
176488
176571
  if (this.openFiles.has(fileOrDirectoryPath)) {
176489
176572
  const info = Debug.checkDefined(this.getScriptInfoForPath(fileOrDirectoryPath));
176490
176573
  if (info.isAttached(project)) {
176491
- const loadLevelToSet = Math.max(reloadLevel, project.openFileWatchTriggered.get(fileOrDirectoryPath) || 0 /* None */);
176574
+ const loadLevelToSet = Math.max(updateLevel, project.openFileWatchTriggered.get(fileOrDirectoryPath) || 0 /* Update */);
176492
176575
  project.openFileWatchTriggered.set(fileOrDirectoryPath, loadLevelToSet);
176493
176576
  } else {
176494
- project.pendingReload = reloadLevel;
176577
+ project.pendingUpdateLevel = updateLevel;
176495
176578
  this.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(project);
176496
176579
  }
176497
176580
  } else {
176498
- project.pendingReload = reloadLevel;
176581
+ project.pendingUpdateLevel = updateLevel;
176499
176582
  this.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(project);
176500
176583
  }
176501
176584
  });
@@ -176507,12 +176590,12 @@ ${options.prefix}` : "\n" : options.prefix
176507
176590
  );
176508
176591
  }
176509
176592
  /** @internal */
176510
- delayUpdateProjectsFromParsedConfigOnConfigFileChange(canonicalConfigFilePath, reloadReason) {
176593
+ delayUpdateProjectsFromParsedConfigOnConfigFileChange(canonicalConfigFilePath, loadReason) {
176511
176594
  const configFileExistenceInfo = this.configFileExistenceInfoCache.get(canonicalConfigFilePath);
176512
176595
  if (!(configFileExistenceInfo == null ? void 0 : configFileExistenceInfo.config))
176513
176596
  return false;
176514
176597
  let scheduledAnyProjectUpdate = false;
176515
- configFileExistenceInfo.config.reloadLevel = 2 /* Full */;
176598
+ configFileExistenceInfo.config.updateLevel = 2 /* Full */;
176516
176599
  configFileExistenceInfo.config.projects.forEach((_watchWildcardDirectories, projectCanonicalPath) => {
176517
176600
  const project = this.getConfiguredProjectByCanonicalConfigFilePath(projectCanonicalPath);
176518
176601
  if (!project)
@@ -176521,8 +176604,8 @@ ${options.prefix}` : "\n" : options.prefix
176521
176604
  if (projectCanonicalPath === canonicalConfigFilePath) {
176522
176605
  if (project.isInitialLoadPending())
176523
176606
  return;
176524
- project.pendingReload = 2 /* Full */;
176525
- project.pendingReloadReason = reloadReason;
176607
+ project.pendingUpdateLevel = 2 /* Full */;
176608
+ project.pendingUpdateReason = loadReason;
176526
176609
  this.delayUpdateProjectGraph(project);
176527
176610
  } else {
176528
176611
  project.resolutionCache.removeResolutionsFromProjectReferenceRedirects(this.toPath(canonicalConfigFilePath));
@@ -176671,11 +176754,11 @@ ${options.prefix}` : "\n" : options.prefix
176671
176754
  if (info.hasMixedContent) {
176672
176755
  info.registerFileUpdate();
176673
176756
  }
176674
- const reloadLevel = p.openFileWatchTriggered.get(info.path);
176675
- if (reloadLevel !== void 0) {
176757
+ const updateLevel = p.openFileWatchTriggered.get(info.path);
176758
+ if (updateLevel !== void 0) {
176676
176759
  p.openFileWatchTriggered.delete(info.path);
176677
- if (p.pendingReload !== void 0 && p.pendingReload < reloadLevel) {
176678
- p.pendingReload = reloadLevel;
176760
+ if (p.pendingUpdateLevel !== void 0 && p.pendingUpdateLevel < updateLevel) {
176761
+ p.pendingUpdateLevel = updateLevel;
176679
176762
  p.markFileAsDirty(info.path);
176680
176763
  }
176681
176764
  }
@@ -177055,6 +177138,7 @@ ${options.prefix}` : "\n" : options.prefix
177055
177138
  addFilesToNonInferredProject(project, files, propertyReader, typeAcquisition) {
177056
177139
  this.updateNonInferredProjectFiles(project, files, propertyReader);
177057
177140
  project.setTypeAcquisition(typeAcquisition);
177141
+ project.markAsDirty();
177058
177142
  }
177059
177143
  /** @internal */
177060
177144
  createConfiguredProject(configFileName) {
@@ -177072,7 +177156,7 @@ ${options.prefix}` : "\n" : options.prefix
177072
177156
  configFileExistenceInfo.config = {
177073
177157
  cachedDirectoryStructureHost: createCachedDirectoryStructureHost(this.host, this.host.getCurrentDirectory(), this.host.useCaseSensitiveFileNames),
177074
177158
  projects: /* @__PURE__ */ new Map(),
177075
- reloadLevel: 2 /* Full */
177159
+ updateLevel: 2 /* Full */
177076
177160
  };
177077
177161
  }
177078
177162
  const project = new ConfiguredProject2(
@@ -177089,8 +177173,8 @@ ${options.prefix}` : "\n" : options.prefix
177089
177173
  /** @internal */
177090
177174
  createConfiguredProjectWithDelayLoad(configFileName, reason) {
177091
177175
  const project = this.createConfiguredProject(configFileName);
177092
- project.pendingReload = 2 /* Full */;
177093
- project.pendingReloadReason = reason;
177176
+ project.pendingUpdateLevel = 2 /* Full */;
177177
+ project.pendingUpdateReason = reason;
177094
177178
  return project;
177095
177179
  }
177096
177180
  /** @internal */
@@ -177146,7 +177230,7 @@ ${options.prefix}` : "\n" : options.prefix
177146
177230
  this.watchWildcards(configFilename, configFileExistenceInfo, project);
177147
177231
  }
177148
177232
  project.enablePluginsWithOptions(compilerOptions);
177149
- const filesToAdd = parsedCommandLine.fileNames.concat(project.getExternalFiles());
177233
+ const filesToAdd = parsedCommandLine.fileNames.concat(project.getExternalFiles(2 /* Full */));
177150
177234
  this.updateRootAndOptionsOfNonInferredProject(project, filesToAdd, fileNamePropertyReader, compilerOptions, parsedCommandLine.typeAcquisition, parsedCommandLine.compileOnSave, parsedCommandLine.watchOptions);
177151
177235
  (_b = tracing) == null ? void 0 : _b.pop();
177152
177236
  }
@@ -177154,9 +177238,9 @@ ${options.prefix}` : "\n" : options.prefix
177154
177238
  ensureParsedConfigUptoDate(configFilename, canonicalConfigFilePath, configFileExistenceInfo, forProject) {
177155
177239
  var _a, _b, _c;
177156
177240
  if (configFileExistenceInfo.config) {
177157
- if (!configFileExistenceInfo.config.reloadLevel)
177241
+ if (!configFileExistenceInfo.config.updateLevel)
177158
177242
  return configFileExistenceInfo;
177159
- if (configFileExistenceInfo.config.reloadLevel === 1 /* Partial */) {
177243
+ if (configFileExistenceInfo.config.updateLevel === 1 /* RootNamesAndUpdate */) {
177160
177244
  this.reloadFileNamesOfParsedConfig(configFilename, configFileExistenceInfo.config);
177161
177245
  return configFileExistenceInfo;
177162
177246
  }
@@ -177199,7 +177283,7 @@ ${options.prefix}` : "\n" : options.prefix
177199
177283
  } else {
177200
177284
  configFileExistenceInfo.config.parsedCommandLine = parsedCommandLine;
177201
177285
  configFileExistenceInfo.config.watchedDirectoriesStale = true;
177202
- configFileExistenceInfo.config.reloadLevel = void 0;
177286
+ configFileExistenceInfo.config.updateLevel = void 0;
177203
177287
  }
177204
177288
  if (!oldCommandLine && !isJsonEqual(
177205
177289
  // Old options
@@ -177340,7 +177424,6 @@ ${options.prefix}` : "\n" : options.prefix
177340
177424
  }
177341
177425
  });
177342
177426
  }
177343
- project.markAsDirty();
177344
177427
  }
177345
177428
  updateRootAndOptionsOfNonInferredProject(project, newUncheckedFiles, propertyReader, newOptions, newTypeAcquisition, compileOnSave, watchOptions) {
177346
177429
  project.setCompilerOptions(newOptions);
@@ -177358,14 +177441,15 @@ ${options.prefix}` : "\n" : options.prefix
177358
177441
  reloadFileNamesOfConfiguredProject(project) {
177359
177442
  const fileNames = this.reloadFileNamesOfParsedConfig(project.getConfigFilePath(), this.configFileExistenceInfoCache.get(project.canonicalConfigFilePath).config);
177360
177443
  project.updateErrorOnNoInputFiles(fileNames);
177361
- this.updateNonInferredProjectFiles(project, fileNames.concat(project.getExternalFiles()), fileNamePropertyReader);
177444
+ this.updateNonInferredProjectFiles(project, fileNames.concat(project.getExternalFiles(1 /* RootNamesAndUpdate */)), fileNamePropertyReader);
177445
+ project.markAsDirty();
177362
177446
  return project.updateGraph();
177363
177447
  }
177364
177448
  /** @internal */
177365
177449
  reloadFileNamesOfParsedConfig(configFileName, config) {
177366
- if (config.reloadLevel === void 0)
177450
+ if (config.updateLevel === void 0)
177367
177451
  return config.parsedCommandLine.fileNames;
177368
- Debug.assert(config.reloadLevel === 1 /* Partial */);
177452
+ Debug.assert(config.updateLevel === 1 /* RootNamesAndUpdate */);
177369
177453
  const configFileSpecs = config.parsedCommandLine.options.configFile.configFileSpecs;
177370
177454
  const fileNames = getFileNamesFromConfigSpecs(
177371
177455
  configFileSpecs,
@@ -177378,7 +177462,7 @@ ${options.prefix}` : "\n" : options.prefix
177378
177462
  return fileNames;
177379
177463
  }
177380
177464
  /** @internal */
177381
- setFileNamesOfAutoImportProviderProject(project, fileNames) {
177465
+ setFileNamesOfAutpImportProviderOrAuxillaryProject(project, fileNames) {
177382
177466
  this.updateNonInferredProjectFiles(project, fileNames, fileNamePropertyReader);
177383
177467
  }
177384
177468
  /**
@@ -177907,7 +177991,7 @@ Dynamic files must always be opened with service's current directory or service
177907
177991
  this.hostConfiguration.preferences = { ...this.hostConfiguration.preferences, ...args.preferences };
177908
177992
  if (lazyConfiguredProjectsFromExternalProject && !this.hostConfiguration.preferences.lazyConfiguredProjectsFromExternalProject) {
177909
177993
  this.configuredProjects.forEach((project) => {
177910
- if (project.hasExternalProjectRef() && project.pendingReload === 2 /* Full */ && !this.pendingProjectUpdates.has(project.getProjectName())) {
177994
+ if (project.hasExternalProjectRef() && project.pendingUpdateLevel === 2 /* Full */ && !this.pendingProjectUpdates.has(project.getProjectName())) {
177911
177995
  project.updateGraph();
177912
177996
  }
177913
177997
  });
@@ -177962,7 +178046,7 @@ Dynamic files must always be opened with service's current directory or service
177962
178046
  this.pendingEnsureProjectForOpenFiles = false;
177963
178047
  this.configFileExistenceInfoCache.forEach((info) => {
177964
178048
  if (info.config)
177965
- info.config.reloadLevel = 2 /* Full */;
178049
+ info.config.updateLevel = 2 /* Full */;
177966
178050
  });
177967
178051
  this.reloadConfiguredProjectForFiles(
177968
178052
  this.openFiles,
@@ -178014,8 +178098,8 @@ Dynamic files must always be opened with service's current directory or service
178014
178098
  if (!updatedProjects.has(project.canonicalConfigFilePath)) {
178015
178099
  updatedProjects.set(project.canonicalConfigFilePath, true);
178016
178100
  if (delayReload) {
178017
- project.pendingReload = 2 /* Full */;
178018
- project.pendingReloadReason = reason;
178101
+ project.pendingUpdateLevel = 2 /* Full */;
178102
+ project.pendingUpdateReason = reason;
178019
178103
  if (clearSemanticCache)
178020
178104
  this.clearSemanticCache(project);
178021
178105
  this.delayUpdateProjectGraph(project);
@@ -180843,7 +180927,7 @@ Project '${project.projectName}' (${ProjectKind[project.projectKind]}) ${counter
180843
180927
  if (needsJsResolution) {
180844
180928
  const definitionSet = createSet((d) => d.textSpan.start, documentSpansEqual);
180845
180929
  definitions == null ? void 0 : definitions.forEach((d) => definitionSet.add(d));
180846
- const noDtsProject = project.getNoDtsResolutionProject([file]);
180930
+ const noDtsProject = project.getNoDtsResolutionProject(file);
180847
180931
  const ls = noDtsProject.getLanguageService();
180848
180932
  const jsDefinitions = (_a = ls.getDefinitionAtPosition(
180849
180933
  file,
@@ -180870,8 +180954,18 @@ Project '${project.projectName}' (${ProjectKind[project.projectKind]}) ${counter
180870
180954
  const ambientCandidates = definitions.filter((d) => toNormalizedPath(d.fileName) !== file && d.isAmbient);
180871
180955
  for (const candidate of some(ambientCandidates) ? ambientCandidates : getAmbientCandidatesByClimbingAccessChain()) {
180872
180956
  const fileNameToSearch = findImplementationFileFromDtsFileName(candidate.fileName, file, noDtsProject);
180873
- if (!fileNameToSearch || !ensureRoot(noDtsProject, fileNameToSearch)) {
180957
+ if (!fileNameToSearch)
180958
+ continue;
180959
+ const info = this.projectService.getOrCreateScriptInfoNotOpenedByClient(
180960
+ fileNameToSearch,
180961
+ noDtsProject.currentDirectory,
180962
+ noDtsProject.directoryStructureHost
180963
+ );
180964
+ if (!info)
180874
180965
  continue;
180966
+ if (!noDtsProject.containsScriptInfo(info)) {
180967
+ noDtsProject.addRoot(info);
180968
+ noDtsProject.updateGraph();
180875
180969
  }
180876
180970
  const noDtsProgram = ls.getProgram();
180877
180971
  const fileToSearch = Debug.checkDefined(noDtsProgram.getSourceFile(fileNameToSearch));
@@ -180974,16 +181068,6 @@ Project '${project.projectName}' (${ProjectKind[project.projectKind]}) ${counter
180974
181068
  }
180975
181069
  });
180976
181070
  }
180977
- function ensureRoot(project2, fileName) {
180978
- const info = project2.getScriptInfo(fileName);
180979
- if (!info)
180980
- return false;
180981
- if (!project2.containsScriptInfo(info)) {
180982
- project2.addRoot(info);
180983
- project2.updateGraph();
180984
- }
180985
- return true;
180986
- }
180987
181071
  }
180988
181072
  getEmitOutput(args) {
180989
181073
  const { file, project } = this.getFileAndProject(args);
@@ -183243,6 +183327,7 @@ ${e.message}`;
183243
183327
  hasArgument: () => hasArgument,
183244
183328
  hasNoTypeScriptSource: () => hasNoTypeScriptSource,
183245
183329
  indent: () => indent2,
183330
+ isBackgroundProject: () => isBackgroundProject,
183246
183331
  isConfigFile: () => isConfigFile,
183247
183332
  isConfiguredProject: () => isConfiguredProject,
183248
183333
  isDynamicFileName: () => isDynamicFileName,
@@ -183313,7 +183398,6 @@ ${e.message}`;
183313
183398
  CompletionInfoFlags: () => CompletionInfoFlags,
183314
183399
  CompletionTriggerKind: () => CompletionTriggerKind,
183315
183400
  Completions: () => ts_Completions_exports,
183316
- ConfigFileProgramReloadLevel: () => ConfigFileProgramReloadLevel,
183317
183401
  ContainerFlags: () => ContainerFlags,
183318
183402
  ContextFlags: () => ContextFlags,
183319
183403
  Debug: () => Debug,
@@ -183400,6 +183484,7 @@ ${e.message}`;
183400
183484
  PragmaKindFlags: () => PragmaKindFlags,
183401
183485
  PrivateIdentifierKind: () => PrivateIdentifierKind,
183402
183486
  ProcessLevel: () => ProcessLevel,
183487
+ ProgramUpdateLevel: () => ProgramUpdateLevel,
183403
183488
  QuotePreference: () => QuotePreference,
183404
183489
  RelationComparisonResult: () => RelationComparisonResult,
183405
183490
  Rename: () => ts_Rename_exports,
@@ -185662,6 +185747,7 @@ ${e.message}`;
185662
185747
  hasArgument: () => hasArgument,
185663
185748
  hasNoTypeScriptSource: () => hasNoTypeScriptSource,
185664
185749
  indent: () => indent2,
185750
+ isBackgroundProject: () => isBackgroundProject,
185665
185751
  isConfigFile: () => isConfigFile,
185666
185752
  isConfiguredProject: () => isConfiguredProject,
185667
185753
  isDynamicFileName: () => isDynamicFileName,
@@ -185720,7 +185806,6 @@ ${e.message}`;
185720
185806
  CompletionInfoFlags: () => CompletionInfoFlags,
185721
185807
  CompletionTriggerKind: () => CompletionTriggerKind,
185722
185808
  Completions: () => ts_Completions_exports,
185723
- ConfigFileProgramReloadLevel: () => ConfigFileProgramReloadLevel,
185724
185809
  ContainerFlags: () => ContainerFlags,
185725
185810
  ContextFlags: () => ContextFlags,
185726
185811
  Debug: () => Debug,
@@ -185807,6 +185892,7 @@ ${e.message}`;
185807
185892
  PragmaKindFlags: () => PragmaKindFlags,
185808
185893
  PrivateIdentifierKind: () => PrivateIdentifierKind,
185809
185894
  ProcessLevel: () => ProcessLevel,
185895
+ ProgramUpdateLevel: () => ProgramUpdateLevel,
185810
185896
  QuotePreference: () => QuotePreference,
185811
185897
  RelationComparisonResult: () => RelationComparisonResult,
185812
185898
  Rename: () => ts_Rename_exports,