typescript 4.8.2 → 4.8.4

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
@@ -294,7 +294,7 @@ var ts;
294
294
  // The following is baselined as a literal template type without intervention
295
295
  /** The version of the TypeScript compiler release */
296
296
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
297
- ts.version = "4.8.2";
297
+ ts.version = "4.8.4";
298
298
  /* @internal */
299
299
  var Comparison;
300
300
  (function (Comparison) {
@@ -9060,7 +9060,7 @@ var ts;
9060
9060
  Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig: diag(2591, ts.DiagnosticCategory.Error, "Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2591", "Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig."),
9061
9061
  Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig: diag(2592, ts.DiagnosticCategory.Error, "Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2592", "Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery` and then add 'jquery' to the types field in your tsconfig."),
9062
9062
  Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig: diag(2593, ts.DiagnosticCategory.Error, "Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2593", "Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha` and then add 'jest' or 'mocha' to the types field in your tsconfig."),
9063
- This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag: diag(2594, ts.DiagnosticCategory.Error, "This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the__2594", "This module is declared with using 'export =', and can only be used with a default import when using the '{0}' flag."),
9063
+ This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag: diag(2594, ts.DiagnosticCategory.Error, "This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag_2594", "This module is declared with 'export =', and can only be used with a default import when using the '{0}' flag."),
9064
9064
  _0_can_only_be_imported_by_using_a_default_import: diag(2595, ts.DiagnosticCategory.Error, "_0_can_only_be_imported_by_using_a_default_import_2595", "'{0}' can only be imported by using a default import."),
9065
9065
  _0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import: diag(2596, ts.DiagnosticCategory.Error, "_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import_2596", "'{0}' can only be imported by turning on the 'esModuleInterop' flag and using a default import."),
9066
9066
  _0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import: diag(2597, ts.DiagnosticCategory.Error, "_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import_2597", "'{0}' can only be imported by using a 'require' call or by using a default import."),
@@ -31701,6 +31701,7 @@ var ts;
31701
31701
  case 335 /* SyntaxKind.JSDocProtectedTag */:
31702
31702
  case 336 /* SyntaxKind.JSDocReadonlyTag */:
31703
31703
  case 331 /* SyntaxKind.JSDocDeprecatedTag */:
31704
+ case 337 /* SyntaxKind.JSDocOverrideTag */:
31704
31705
  return visitNode(cbNode, node.tagName)
31705
31706
  || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31706
31707
  case 350 /* SyntaxKind.PartiallyEmittedExpression */:
@@ -42989,7 +42990,7 @@ var ts;
42989
42990
  function withPackageId(packageInfo, r) {
42990
42991
  var packageId;
42991
42992
  if (r && packageInfo) {
42992
- var packageJsonContent = packageInfo.packageJsonContent;
42993
+ var packageJsonContent = packageInfo.contents.packageJsonContent;
42993
42994
  if (typeof packageJsonContent.name === "string" && typeof packageJsonContent.version === "string") {
42994
42995
  packageId = {
42995
42996
  name: packageJsonContent.name,
@@ -44308,16 +44309,16 @@ var ts;
44308
44309
  function loadNodeModuleFromDirectory(extensions, candidate, onlyRecordFailures, state, considerPackageJson) {
44309
44310
  if (considerPackageJson === void 0) { considerPackageJson = true; }
44310
44311
  var packageInfo = considerPackageJson ? getPackageJsonInfo(candidate, onlyRecordFailures, state) : undefined;
44311
- var packageJsonContent = packageInfo && packageInfo.packageJsonContent;
44312
- var versionPaths = packageInfo && packageInfo.versionPaths;
44312
+ var packageJsonContent = packageInfo && packageInfo.contents.packageJsonContent;
44313
+ var versionPaths = packageInfo && packageInfo.contents.versionPaths;
44313
44314
  return withPackageId(packageInfo, loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageJsonContent, versionPaths));
44314
44315
  }
44315
44316
  /* @internal */
44316
44317
  function getEntrypointsFromPackageJsonInfo(packageJsonInfo, options, host, cache, resolveJs) {
44317
- if (!resolveJs && packageJsonInfo.resolvedEntrypoints !== undefined) {
44318
+ if (!resolveJs && packageJsonInfo.contents.resolvedEntrypoints !== undefined) {
44318
44319
  // Cached value excludes resolutions to JS files - those could be
44319
44320
  // cached separately, but they're used rarely.
44320
- return packageJsonInfo.resolvedEntrypoints;
44321
+ return packageJsonInfo.contents.resolvedEntrypoints;
44321
44322
  }
44322
44323
  var entrypoints;
44323
44324
  var extensions = resolveJs ? Extensions.JavaScript : Extensions.TypeScript;
@@ -44326,13 +44327,13 @@ var ts;
44326
44327
  requireState.conditions = ["node", "require", "types"];
44327
44328
  requireState.requestContainingDirectory = packageJsonInfo.packageDirectory;
44328
44329
  var requireResolution = loadNodeModuleFromDirectoryWorker(extensions, packageJsonInfo.packageDirectory,
44329
- /*onlyRecordFailures*/ false, requireState, packageJsonInfo.packageJsonContent, packageJsonInfo.versionPaths);
44330
+ /*onlyRecordFailures*/ false, requireState, packageJsonInfo.contents.packageJsonContent, packageJsonInfo.contents.versionPaths);
44330
44331
  entrypoints = ts.append(entrypoints, requireResolution === null || requireResolution === void 0 ? void 0 : requireResolution.path);
44331
- if (features & NodeResolutionFeatures.Exports && packageJsonInfo.packageJsonContent.exports) {
44332
+ if (features & NodeResolutionFeatures.Exports && packageJsonInfo.contents.packageJsonContent.exports) {
44332
44333
  for (var _i = 0, _a = [["node", "import", "types"], ["node", "require", "types"]]; _i < _a.length; _i++) {
44333
44334
  var conditions = _a[_i];
44334
44335
  var exportState = __assign(__assign({}, requireState), { failedLookupLocations: [], conditions: conditions });
44335
- var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.packageJsonContent.exports, exportState, extensions);
44336
+ var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.contents.packageJsonContent.exports, exportState, extensions);
44336
44337
  if (exportResolutions) {
44337
44338
  for (var _b = 0, exportResolutions_1 = exportResolutions; _b < exportResolutions_1.length; _b++) {
44338
44339
  var resolution = exportResolutions_1[_b];
@@ -44341,7 +44342,7 @@ var ts;
44341
44342
  }
44342
44343
  }
44343
44344
  }
44344
- return packageJsonInfo.resolvedEntrypoints = entrypoints || false;
44345
+ return packageJsonInfo.contents.resolvedEntrypoints = entrypoints || false;
44345
44346
  }
44346
44347
  ts.getEntrypointsFromPackageJsonInfo = getEntrypointsFromPackageJsonInfo;
44347
44348
  function loadEntrypointsFromExportMap(scope, exports, state, extensions) {
@@ -44445,7 +44446,9 @@ var ts;
44445
44446
  if (traceEnabled)
44446
44447
  trace(host, ts.Diagnostics.File_0_exists_according_to_earlier_cached_lookups, packageJsonPath);
44447
44448
  state.affectingLocations.push(packageJsonPath);
44448
- return existing;
44449
+ return existing.packageDirectory === packageDirectory ?
44450
+ existing :
44451
+ { packageDirectory: packageDirectory, contents: existing.contents };
44449
44452
  }
44450
44453
  else {
44451
44454
  if (existing && traceEnabled)
@@ -44461,7 +44464,7 @@ var ts;
44461
44464
  trace(host, ts.Diagnostics.Found_package_json_at_0, packageJsonPath);
44462
44465
  }
44463
44466
  var versionPaths = readPackageJsonTypesVersionPaths(packageJsonContent, state);
44464
- var result = { packageDirectory: packageDirectory, packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined };
44467
+ var result = { packageDirectory: packageDirectory, contents: { packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined } };
44465
44468
  (_b = state.packageJsonInfoCache) === null || _b === void 0 ? void 0 : _b.setPackageJsonInfo(packageJsonPath, result);
44466
44469
  state.affectingLocations.push(packageJsonPath);
44467
44470
  return result;
@@ -44586,17 +44589,16 @@ var ts;
44586
44589
  }
44587
44590
  function loadModuleFromSelfNameReference(extensions, moduleName, directory, state, cache, redirectedReference) {
44588
44591
  var _a, _b;
44589
- var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames;
44590
- var directoryPath = ts.toPath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a), ts.createGetCanonicalFileName(useCaseSensitiveFileNames === undefined ? true : useCaseSensitiveFileNames));
44592
+ var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a));
44591
44593
  var scope = getPackageScopeForPath(directoryPath, state);
44592
- if (!scope || !scope.packageJsonContent.exports) {
44594
+ if (!scope || !scope.contents.packageJsonContent.exports) {
44593
44595
  return undefined;
44594
44596
  }
44595
- if (typeof scope.packageJsonContent.name !== "string") {
44597
+ if (typeof scope.contents.packageJsonContent.name !== "string") {
44596
44598
  return undefined;
44597
44599
  }
44598
44600
  var parts = ts.getPathComponents(moduleName); // unrooted paths should have `""` as their 0th entry
44599
- var nameParts = ts.getPathComponents(scope.packageJsonContent.name);
44601
+ var nameParts = ts.getPathComponents(scope.contents.packageJsonContent.name);
44600
44602
  if (!ts.every(nameParts, function (p, i) { return parts[i] === p; })) {
44601
44603
  return undefined;
44602
44604
  }
@@ -44604,30 +44606,30 @@ var ts;
44604
44606
  return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : ".".concat(ts.directorySeparator).concat(trailingParts.join(ts.directorySeparator)), state, cache, redirectedReference);
44605
44607
  }
44606
44608
  function loadModuleFromExports(scope, extensions, subpath, state, cache, redirectedReference) {
44607
- if (!scope.packageJsonContent.exports) {
44609
+ if (!scope.contents.packageJsonContent.exports) {
44608
44610
  return undefined;
44609
44611
  }
44610
44612
  if (subpath === ".") {
44611
44613
  var mainExport = void 0;
44612
- if (typeof scope.packageJsonContent.exports === "string" || Array.isArray(scope.packageJsonContent.exports) || (typeof scope.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.packageJsonContent.exports))) {
44613
- mainExport = scope.packageJsonContent.exports;
44614
+ if (typeof scope.contents.packageJsonContent.exports === "string" || Array.isArray(scope.contents.packageJsonContent.exports) || (typeof scope.contents.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.contents.packageJsonContent.exports))) {
44615
+ mainExport = scope.contents.packageJsonContent.exports;
44614
44616
  }
44615
- else if (ts.hasProperty(scope.packageJsonContent.exports, ".")) {
44616
- mainExport = scope.packageJsonContent.exports["."];
44617
+ else if (ts.hasProperty(scope.contents.packageJsonContent.exports, ".")) {
44618
+ mainExport = scope.contents.packageJsonContent.exports["."];
44617
44619
  }
44618
44620
  if (mainExport) {
44619
44621
  var loadModuleFromTargetImportOrExport = getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, subpath, scope, /*isImports*/ false);
44620
44622
  return loadModuleFromTargetImportOrExport(mainExport, "", /*pattern*/ false);
44621
44623
  }
44622
44624
  }
44623
- else if (allKeysStartWithDot(scope.packageJsonContent.exports)) {
44624
- if (typeof scope.packageJsonContent.exports !== "object") {
44625
+ else if (allKeysStartWithDot(scope.contents.packageJsonContent.exports)) {
44626
+ if (typeof scope.contents.packageJsonContent.exports !== "object") {
44625
44627
  if (state.traceEnabled) {
44626
44628
  trace(state.host, ts.Diagnostics.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1, subpath, scope.packageDirectory);
44627
44629
  }
44628
44630
  return toSearchResult(/*value*/ undefined);
44629
44631
  }
44630
- var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.packageJsonContent.exports, scope, /*isImports*/ false);
44632
+ var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.contents.packageJsonContent.exports, scope, /*isImports*/ false);
44631
44633
  if (result) {
44632
44634
  return result;
44633
44635
  }
@@ -44645,8 +44647,7 @@ var ts;
44645
44647
  }
44646
44648
  return toSearchResult(/*value*/ undefined);
44647
44649
  }
44648
- var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames;
44649
- var directoryPath = ts.toPath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a), ts.createGetCanonicalFileName(useCaseSensitiveFileNames === undefined ? true : useCaseSensitiveFileNames));
44650
+ var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a));
44650
44651
  var scope = getPackageScopeForPath(directoryPath, state);
44651
44652
  if (!scope) {
44652
44653
  if (state.traceEnabled) {
@@ -44654,13 +44655,13 @@ var ts;
44654
44655
  }
44655
44656
  return toSearchResult(/*value*/ undefined);
44656
44657
  }
44657
- if (!scope.packageJsonContent.imports) {
44658
+ if (!scope.contents.packageJsonContent.imports) {
44658
44659
  if (state.traceEnabled) {
44659
44660
  trace(state.host, ts.Diagnostics.package_json_scope_0_has_no_imports_defined, scope.packageDirectory);
44660
44661
  }
44661
44662
  return toSearchResult(/*value*/ undefined);
44662
44663
  }
44663
- var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.packageJsonContent.imports, scope, /*isImports*/ true);
44664
+ var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.contents.packageJsonContent.imports, scope, /*isImports*/ true);
44664
44665
  if (result) {
44665
44666
  return result;
44666
44667
  }
@@ -44821,7 +44822,7 @@ var ts;
44821
44822
  var _a, _b;
44822
44823
  if (path === undefined)
44823
44824
  return path;
44824
- return ts.hostGetCanonicalFileName({ useCaseSensitiveFileNames: useCaseSensitiveFileNames })(ts.getNormalizedAbsolutePath(path, (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a)));
44825
+ return ts.getNormalizedAbsolutePath(path, (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a));
44825
44826
  }
44826
44827
  function combineDirectoryPath(root, dir) {
44827
44828
  return ts.ensureTrailingDirectorySeparator(ts.combinePaths(root, dir));
@@ -44841,7 +44842,7 @@ var ts;
44841
44842
  if ((extensions === Extensions.TypeScript || extensions === Extensions.JavaScript || extensions === Extensions.Json)
44842
44843
  && (state.compilerOptions.declarationDir || state.compilerOptions.outDir)
44843
44844
  && finalPath.indexOf("/node_modules/") === -1
44844
- && (state.compilerOptions.configFile ? ts.startsWith(toAbsolutePath(state.compilerOptions.configFile.fileName), scope.packageDirectory) : true)) {
44845
+ && (state.compilerOptions.configFile ? ts.containsPath(scope.packageDirectory, toAbsolutePath(state.compilerOptions.configFile.fileName), !useCaseSensitiveFileNames()) : true)) {
44845
44846
  // So that all means we'll only try these guesses for files outside `node_modules` in a directory where the `package.json` and `tsconfig.json` are siblings.
44846
44847
  // Even with all that, we still don't know if the root of the output file structure will be (relative to the package file)
44847
44848
  // `.`, `./src` or any other deeper directory structure. (If project references are used, it's definitely `.` by fiat, so that should be pretty common.)
@@ -44897,7 +44898,7 @@ var ts;
44897
44898
  var candidateDirectories = getOutputDirectoriesForBaseDirectory(commonSourceDirGuess);
44898
44899
  for (var _e = 0, candidateDirectories_1 = candidateDirectories; _e < candidateDirectories_1.length; _e++) {
44899
44900
  var candidateDir = candidateDirectories_1[_e];
44900
- if (ts.startsWith(finalPath, candidateDir)) {
44901
+ if (ts.containsPath(candidateDir, finalPath, !useCaseSensitiveFileNames())) {
44901
44902
  // The matched export is looking up something in either the out declaration or js dir, now map the written path back into the source dir and source extension
44902
44903
  var pathFragment = finalPath.slice(candidateDir.length + 1); // +1 to also remove directory seperator
44903
44904
  var possibleInputBase = ts.combinePaths(commonSourceDirGuess, pathFragment);
@@ -45005,7 +45006,7 @@ var ts;
45005
45006
  if (fromFile) {
45006
45007
  return noPackageId(fromFile);
45007
45008
  }
45008
- var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.packageJsonContent, packageInfo.versionPaths);
45009
+ var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.contents.packageJsonContent, packageInfo.contents.versionPaths);
45009
45010
  return withPackageId(packageInfo, fromDirectory);
45010
45011
  }
45011
45012
  }
@@ -45013,14 +45014,14 @@ var ts;
45013
45014
  var loader = function (extensions, candidate, onlyRecordFailures, state) {
45014
45015
  var _a;
45015
45016
  // package exports are higher priority than file/directory lookups (and, if there's exports present, blocks them)
45016
- if (packageInfo && packageInfo.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) {
45017
+ if (packageInfo && packageInfo.contents.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) {
45017
45018
  return (_a = loadModuleFromExports(packageInfo, extensions, ts.combinePaths(".", rest), state, cache, redirectedReference)) === null || _a === void 0 ? void 0 : _a.value;
45018
45019
  }
45019
45020
  var pathAndExtension = loadModuleFromFile(extensions, candidate, onlyRecordFailures, state) ||
45020
- loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.packageJsonContent, packageInfo && packageInfo.versionPaths);
45021
+ loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.contents.packageJsonContent, packageInfo && packageInfo.contents.versionPaths);
45021
45022
  if (!pathAndExtension && packageInfo
45022
45023
  // eslint-disable-next-line no-null/no-null
45023
- && (packageInfo.packageJsonContent.exports === undefined || packageInfo.packageJsonContent.exports === null)
45024
+ && (packageInfo.contents.packageJsonContent.exports === undefined || packageInfo.contents.packageJsonContent.exports === null)
45024
45025
  && state.features & NodeResolutionFeatures.EsmMode) {
45025
45026
  // EsmMode disables index lookup in `loadNodeModuleFromDirectoryWorker` generally, however non-relative package resolutions still assume
45026
45027
  // a default `index.js` entrypoint if no `main` or `exports` are present
@@ -45032,12 +45033,12 @@ var ts;
45032
45033
  var packageDirectory = ts.combinePaths(nodeModulesDirectory, packageName);
45033
45034
  // Don't use a "types" or "main" from here because we're not loading the root, but a subdirectory -- just here for the packageId and path mappings.
45034
45035
  packageInfo = getPackageJsonInfo(packageDirectory, !nodeModulesDirectoryExists, state);
45035
- if (packageInfo && packageInfo.versionPaths) {
45036
+ if (packageInfo && packageInfo.contents.versionPaths) {
45036
45037
  if (state.traceEnabled) {
45037
- trace(state.host, ts.Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2, packageInfo.versionPaths.version, ts.version, rest);
45038
+ trace(state.host, ts.Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2, packageInfo.contents.versionPaths.version, ts.version, rest);
45038
45039
  }
45039
45040
  var packageDirectoryExists = nodeModulesDirectoryExists && ts.directoryProbablyExists(packageDirectory, state.host);
45040
- var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state);
45041
+ var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.contents.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state);
45041
45042
  if (fromPaths) {
45042
45043
  return fromPaths.value;
45043
45044
  }
@@ -49338,6 +49339,7 @@ var ts;
49338
49339
  var wildcardType = createIntrinsicType(1 /* TypeFlags.Any */, "any");
49339
49340
  var errorType = createIntrinsicType(1 /* TypeFlags.Any */, "error");
49340
49341
  var unresolvedType = createIntrinsicType(1 /* TypeFlags.Any */, "unresolved");
49342
+ var nonInferrableAnyType = createIntrinsicType(1 /* TypeFlags.Any */, "any", 65536 /* ObjectFlags.ContainsWideningType */);
49341
49343
  var intrinsicMarkerType = createIntrinsicType(1 /* TypeFlags.Any */, "intrinsic");
49342
49344
  var unknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown");
49343
49345
  var nonNullUnknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown");
@@ -51179,41 +51181,61 @@ var ts;
51179
51181
  return typeof file.externalModuleIndicator !== "object" && !resolveExportByName(moduleSymbol, ts.escapeLeadingUnderscores("__esModule"), /*sourceNode*/ undefined, dontResolveAlias);
51180
51182
  }
51181
51183
  function getTargetOfImportClause(node, dontResolveAlias) {
51182
- var _a;
51183
51184
  var moduleSymbol = resolveExternalModuleName(node, node.parent.moduleSpecifier);
51184
51185
  if (moduleSymbol) {
51185
- var exportDefaultSymbol = void 0;
51186
- if (ts.isShorthandAmbientModuleSymbol(moduleSymbol)) {
51187
- exportDefaultSymbol = moduleSymbol;
51188
- }
51189
- else {
51190
- exportDefaultSymbol = resolveExportByName(moduleSymbol, "default" /* InternalSymbolName.Default */, node, dontResolveAlias);
51191
- }
51192
- var file = (_a = moduleSymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.isSourceFile);
51193
- var hasDefaultOnly = isOnlyImportedAsDefault(node.parent.moduleSpecifier);
51194
- var hasSyntheticDefault = canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias, node.parent.moduleSpecifier);
51195
- if (!exportDefaultSymbol && !hasSyntheticDefault && !hasDefaultOnly) {
51196
- if (hasExportAssignmentSymbol(moduleSymbol)) {
51197
- var compilerOptionName = moduleKind >= ts.ModuleKind.ES2015 ? "allowSyntheticDefaultImports" : "esModuleInterop";
51198
- var exportEqualsSymbol = moduleSymbol.exports.get("export=" /* InternalSymbolName.ExportEquals */);
51199
- var exportAssignment = exportEqualsSymbol.valueDeclaration;
51200
- var err = error(node.name, ts.Diagnostics.Module_0_can_only_be_default_imported_using_the_1_flag, symbolToString(moduleSymbol), compilerOptionName);
51201
- if (exportAssignment) {
51202
- ts.addRelatedInfo(err, ts.createDiagnosticForNode(exportAssignment, ts.Diagnostics.This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag, compilerOptionName));
51203
- }
51204
- }
51205
- else {
51206
- reportNonDefaultExport(moduleSymbol, node);
51186
+ return getTargetofModuleDefault(moduleSymbol, node, dontResolveAlias);
51187
+ }
51188
+ }
51189
+ function getTargetofModuleDefault(moduleSymbol, node, dontResolveAlias) {
51190
+ var _a;
51191
+ var exportDefaultSymbol;
51192
+ if (ts.isShorthandAmbientModuleSymbol(moduleSymbol)) {
51193
+ exportDefaultSymbol = moduleSymbol;
51194
+ }
51195
+ else {
51196
+ exportDefaultSymbol = resolveExportByName(moduleSymbol, "default" /* InternalSymbolName.Default */, node, dontResolveAlias);
51197
+ }
51198
+ var file = (_a = moduleSymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.isSourceFile);
51199
+ var specifier = getModuleSpecifierForImportOrExport(node);
51200
+ if (!specifier) {
51201
+ return exportDefaultSymbol;
51202
+ }
51203
+ var hasDefaultOnly = isOnlyImportedAsDefault(specifier);
51204
+ var hasSyntheticDefault = canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias, specifier);
51205
+ if (!exportDefaultSymbol && !hasSyntheticDefault && !hasDefaultOnly) {
51206
+ if (hasExportAssignmentSymbol(moduleSymbol)) {
51207
+ var compilerOptionName = moduleKind >= ts.ModuleKind.ES2015 ? "allowSyntheticDefaultImports" : "esModuleInterop";
51208
+ var exportEqualsSymbol = moduleSymbol.exports.get("export=" /* InternalSymbolName.ExportEquals */);
51209
+ var exportAssignment = exportEqualsSymbol.valueDeclaration;
51210
+ var err = error(node.name, ts.Diagnostics.Module_0_can_only_be_default_imported_using_the_1_flag, symbolToString(moduleSymbol), compilerOptionName);
51211
+ if (exportAssignment) {
51212
+ ts.addRelatedInfo(err, ts.createDiagnosticForNode(exportAssignment, ts.Diagnostics.This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag, compilerOptionName));
51207
51213
  }
51208
51214
  }
51209
- else if (hasSyntheticDefault || hasDefaultOnly) {
51210
- // per emit behavior, a synthetic default overrides a "real" .default member if `__esModule` is not present
51211
- var resolved = resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias) || resolveSymbol(moduleSymbol, dontResolveAlias);
51212
- markSymbolOfAliasDeclarationIfTypeOnly(node, moduleSymbol, resolved, /*overwriteTypeOnly*/ false);
51213
- return resolved;
51215
+ else if (ts.isImportClause(node)) {
51216
+ reportNonDefaultExport(moduleSymbol, node);
51214
51217
  }
51215
- markSymbolOfAliasDeclarationIfTypeOnly(node, exportDefaultSymbol, /*finalTarget*/ undefined, /*overwriteTypeOnly*/ false);
51216
- return exportDefaultSymbol;
51218
+ else {
51219
+ errorNoModuleMemberSymbol(moduleSymbol, moduleSymbol, node, ts.isImportOrExportSpecifier(node) && node.propertyName || node.name);
51220
+ }
51221
+ }
51222
+ else if (hasSyntheticDefault || hasDefaultOnly) {
51223
+ // per emit behavior, a synthetic default overrides a "real" .default member if `__esModule` is not present
51224
+ var resolved = resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias) || resolveSymbol(moduleSymbol, dontResolveAlias);
51225
+ markSymbolOfAliasDeclarationIfTypeOnly(node, moduleSymbol, resolved, /*overwriteTypeOnly*/ false);
51226
+ return resolved;
51227
+ }
51228
+ markSymbolOfAliasDeclarationIfTypeOnly(node, exportDefaultSymbol, /*finalTarget*/ undefined, /*overwriteTypeOnly*/ false);
51229
+ return exportDefaultSymbol;
51230
+ }
51231
+ function getModuleSpecifierForImportOrExport(node) {
51232
+ switch (node.kind) {
51233
+ case 267 /* SyntaxKind.ImportClause */: return node.parent.moduleSpecifier;
51234
+ case 265 /* SyntaxKind.ImportEqualsDeclaration */: return ts.isExternalModuleReference(node.moduleReference) ? node.moduleReference.expression : undefined;
51235
+ case 268 /* SyntaxKind.NamespaceImport */: return node.parent.parent.moduleSpecifier;
51236
+ case 270 /* SyntaxKind.ImportSpecifier */: return node.parent.parent.parent.moduleSpecifier;
51237
+ case 275 /* SyntaxKind.ExportSpecifier */: return node.parent.parent.moduleSpecifier;
51238
+ default: return ts.Debug.assertNever(node);
51217
51239
  }
51218
51240
  }
51219
51241
  function reportNonDefaultExport(moduleSymbol, node) {
@@ -51303,7 +51325,7 @@ var ts;
51303
51325
  }
51304
51326
  }
51305
51327
  function getExternalModuleMember(node, specifier, dontResolveAlias) {
51306
- var _a, _b;
51328
+ var _a;
51307
51329
  if (dontResolveAlias === void 0) { dontResolveAlias = false; }
51308
51330
  var moduleSpecifier = ts.getExternalModuleRequireArgument(node) || node.moduleSpecifier;
51309
51331
  var moduleSymbol = resolveExternalModuleName(node, moduleSpecifier); // TODO: GH#18217
@@ -51339,29 +51361,33 @@ var ts;
51339
51361
  combineValueAndTypeSymbols(symbolFromVariable, symbolFromModule) :
51340
51362
  symbolFromModule || symbolFromVariable;
51341
51363
  if (!symbol) {
51342
- var moduleName = getFullyQualifiedName(moduleSymbol, node);
51343
- var declarationName = ts.declarationNameToString(name);
51344
- var suggestion = getSuggestedSymbolForNonexistentModule(name, targetSymbol);
51345
- if (suggestion !== undefined) {
51346
- var suggestionName = symbolToString(suggestion);
51347
- var diagnostic = error(name, ts.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2, moduleName, declarationName, suggestionName);
51348
- if (suggestion.valueDeclaration) {
51349
- ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(suggestion.valueDeclaration, ts.Diagnostics._0_is_declared_here, suggestionName));
51350
- }
51351
- }
51352
- else {
51353
- if ((_b = moduleSymbol.exports) === null || _b === void 0 ? void 0 : _b.has("default" /* InternalSymbolName.Default */)) {
51354
- error(name, ts.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead, moduleName, declarationName);
51355
- }
51356
- else {
51357
- reportNonExportedMember(node, name, declarationName, moduleSymbol, moduleName);
51358
- }
51359
- }
51364
+ errorNoModuleMemberSymbol(moduleSymbol, targetSymbol, node, name);
51360
51365
  }
51361
51366
  return symbol;
51362
51367
  }
51363
51368
  }
51364
51369
  }
51370
+ function errorNoModuleMemberSymbol(moduleSymbol, targetSymbol, node, name) {
51371
+ var _a;
51372
+ var moduleName = getFullyQualifiedName(moduleSymbol, node);
51373
+ var declarationName = ts.declarationNameToString(name);
51374
+ var suggestion = getSuggestedSymbolForNonexistentModule(name, targetSymbol);
51375
+ if (suggestion !== undefined) {
51376
+ var suggestionName = symbolToString(suggestion);
51377
+ var diagnostic = error(name, ts.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2, moduleName, declarationName, suggestionName);
51378
+ if (suggestion.valueDeclaration) {
51379
+ ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(suggestion.valueDeclaration, ts.Diagnostics._0_is_declared_here, suggestionName));
51380
+ }
51381
+ }
51382
+ else {
51383
+ if ((_a = moduleSymbol.exports) === null || _a === void 0 ? void 0 : _a.has("default" /* InternalSymbolName.Default */)) {
51384
+ error(name, ts.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead, moduleName, declarationName);
51385
+ }
51386
+ else {
51387
+ reportNonExportedMember(node, name, declarationName, moduleSymbol, moduleName);
51388
+ }
51389
+ }
51390
+ }
51365
51391
  function reportNonExportedMember(node, name, declarationName, moduleSymbol, moduleName) {
51366
51392
  var _a, _b;
51367
51393
  var localSymbol = (_b = (_a = moduleSymbol.valueDeclaration) === null || _a === void 0 ? void 0 : _a.locals) === null || _b === void 0 ? void 0 : _b.get(name.escapedText);
@@ -51407,6 +51433,13 @@ var ts;
51407
51433
  }
51408
51434
  }
51409
51435
  function getTargetOfImportSpecifier(node, dontResolveAlias) {
51436
+ if (ts.isImportSpecifier(node) && ts.idText(node.propertyName || node.name) === "default" /* InternalSymbolName.Default */) {
51437
+ var specifier = getModuleSpecifierForImportOrExport(node);
51438
+ var moduleSymbol = specifier && resolveExternalModuleName(node, specifier);
51439
+ if (moduleSymbol) {
51440
+ return getTargetofModuleDefault(moduleSymbol, node, dontResolveAlias);
51441
+ }
51442
+ }
51410
51443
  var root = ts.isBindingElement(node) ? ts.getRootDeclaration(node) : node.parent.parent.parent;
51411
51444
  var commonJSPropertyAccess = getCommonJSPropertyAccess(root);
51412
51445
  var resolved = getExternalModuleMember(root, commonJSPropertyAccess || node, dontResolveAlias);
@@ -51428,6 +51461,13 @@ var ts;
51428
51461
  return resolved;
51429
51462
  }
51430
51463
  function getTargetOfExportSpecifier(node, meaning, dontResolveAlias) {
51464
+ if (ts.idText(node.propertyName || node.name) === "default" /* InternalSymbolName.Default */) {
51465
+ var specifier = getModuleSpecifierForImportOrExport(node);
51466
+ var moduleSymbol = specifier && resolveExternalModuleName(node, specifier);
51467
+ if (moduleSymbol) {
51468
+ return getTargetofModuleDefault(moduleSymbol, node, !!dontResolveAlias);
51469
+ }
51470
+ }
51431
51471
  var resolved = node.parent.parent.moduleSpecifier ?
51432
51472
  getExternalModuleMember(node.parent.parent, node, dontResolveAlias) :
51433
51473
  resolveEntityName(node.propertyName || node.name, meaning, /*ignoreErrors*/ false, dontResolveAlias);
@@ -51901,7 +51941,7 @@ var ts;
51901
51941
  if (ext === ".ts" /* Extension.Ts */ || ext === ".js" /* Extension.Js */ || ext === ".tsx" /* Extension.Tsx */ || ext === ".jsx" /* Extension.Jsx */) {
51902
51942
  var scope = currentSourceFile.packageJsonScope;
51903
51943
  var targetExt = ext === ".ts" /* Extension.Ts */ ? ".mts" /* Extension.Mts */ : ext === ".js" /* Extension.Js */ ? ".mjs" /* Extension.Mjs */ : undefined;
51904
- if (scope && !scope.packageJsonContent.type) {
51944
+ if (scope && !scope.contents.packageJsonContent.type) {
51905
51945
  if (targetExt) {
51906
51946
  diagnosticDetails = ts.chainDiagnosticMessages(
51907
51947
  /*details*/ undefined, ts.Diagnostics.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1, targetExt, ts.combinePaths(scope.packageDirectory, "package.json"));
@@ -54129,22 +54169,15 @@ var ts;
54129
54169
  context.approximateLength += ts.symbolName(parameterSymbol).length + 3;
54130
54170
  return parameterNode;
54131
54171
  function cloneBindingName(node) {
54132
- return elideInitializerAndPropertyRenamingAndSetEmitFlags(node);
54133
- function elideInitializerAndPropertyRenamingAndSetEmitFlags(node) {
54172
+ return elideInitializerAndSetEmitFlags(node);
54173
+ function elideInitializerAndSetEmitFlags(node) {
54134
54174
  if (context.tracker.trackSymbol && ts.isComputedPropertyName(node) && isLateBindableName(node)) {
54135
54175
  trackComputedName(node.expression, context.enclosingDeclaration, context);
54136
54176
  }
54137
- var visited = ts.visitEachChild(node, elideInitializerAndPropertyRenamingAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndPropertyRenamingAndSetEmitFlags);
54177
+ var visited = ts.visitEachChild(node, elideInitializerAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndSetEmitFlags);
54138
54178
  if (ts.isBindingElement(visited)) {
54139
- if (visited.propertyName && ts.isIdentifier(visited.propertyName) && ts.isIdentifier(visited.name)) {
54140
- visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken,
54141
- /* propertyName*/ undefined, visited.propertyName,
54142
- /*initializer*/ undefined);
54143
- }
54144
- else {
54145
- visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name,
54146
- /*initializer*/ undefined);
54147
- }
54179
+ visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name,
54180
+ /*initializer*/ undefined);
54148
54181
  }
54149
54182
  if (!ts.nodeIsSynthesized(visited)) {
54150
54183
  visited = ts.factory.cloneNode(visited);
@@ -57139,7 +57172,11 @@ var ts;
57139
57172
  if (reportErrors && !declarationBelongsToPrivateAmbientMember(element)) {
57140
57173
  reportImplicitAny(element, anyType);
57141
57174
  }
57142
- return anyType;
57175
+ // When we're including the pattern in the type (an indication we're obtaining a contextual type), we
57176
+ // use a non-inferrable any type. Inference will never directly infer this type, but it is possible
57177
+ // to infer a type that contains it, e.g. for a binding pattern like [foo] or { foo }. In such cases,
57178
+ // widening of the binding pattern type substitutes a regular any for the non-inferrable any.
57179
+ return includePatternInType ? nonInferrableAnyType : anyType;
57143
57180
  }
57144
57181
  // Return the type implied by an object binding pattern
57145
57182
  function getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) {
@@ -59240,6 +59277,12 @@ var ts;
59240
59277
  return mapType(type, getLowerBoundOfKeyType);
59241
59278
  }
59242
59279
  if (type.flags & 2097152 /* TypeFlags.Intersection */) {
59280
+ // Similarly to getTypeFromIntersectionTypeNode, we preserve the special string & {}, number & {},
59281
+ // and bigint & {} intersections that are used to prevent subtype reduction in union types.
59282
+ var types = type.types;
59283
+ if (types.length === 2 && !!(types[0].flags & (4 /* TypeFlags.String */ | 8 /* TypeFlags.Number */ | 64 /* TypeFlags.BigInt */)) && types[1] === emptyTypeLiteralType) {
59284
+ return type;
59285
+ }
59243
59286
  return getIntersectionType(ts.sameMap(type.types, getLowerBoundOfKeyType));
59244
59287
  }
59245
59288
  return type;
@@ -62378,7 +62421,7 @@ var ts;
62378
62421
  return includes & 8388608 /* TypeFlags.IncludesWildcard */ ? wildcardType : anyType;
62379
62422
  }
62380
62423
  if (!strictNullChecks && includes & 98304 /* TypeFlags.Nullable */) {
62381
- return includes & 32768 /* TypeFlags.Undefined */ ? undefinedType : nullType;
62424
+ return includes & 16777216 /* TypeFlags.IncludesEmptyObject */ ? neverType : includes & 32768 /* TypeFlags.Undefined */ ? undefinedType : nullType;
62382
62425
  }
62383
62426
  if (includes & 4 /* TypeFlags.String */ && includes & (128 /* TypeFlags.StringLiteral */ | 134217728 /* TypeFlags.TemplateLiteral */ | 268435456 /* TypeFlags.StringMapping */) ||
62384
62427
  includes & 8 /* TypeFlags.Number */ && includes & 256 /* TypeFlags.NumberLiteral */ ||
@@ -63068,7 +63111,7 @@ var ts;
63068
63111
  // (T | U)[K] -> T[K] | U[K] (reading)
63069
63112
  // (T | U)[K] -> T[K] & U[K] (writing)
63070
63113
  // (T & U)[K] -> T[K] & U[K]
63071
- if (objectType.flags & 3145728 /* TypeFlags.UnionOrIntersection */) {
63114
+ if (objectType.flags & 1048576 /* TypeFlags.Union */ || objectType.flags & 2097152 /* TypeFlags.Intersection */ && !shouldDeferIndexType(objectType)) {
63072
63115
  var types = ts.map(objectType.types, function (t) { return getSimplifiedType(getIndexedAccessType(t, indexType), writing); });
63073
63116
  return objectType.flags & 2097152 /* TypeFlags.Intersection */ || writing ? getIntersectionType(types) : getUnionType(types);
63074
63117
  }
@@ -65476,7 +65519,7 @@ var ts;
65476
65519
  if (reduced !== type) {
65477
65520
  return reduced;
65478
65521
  }
65479
- if (type.flags & 2097152 /* TypeFlags.Intersection */) {
65522
+ if (type.flags & 2097152 /* TypeFlags.Intersection */ && ts.some(type.types, isEmptyAnonymousObjectType)) {
65480
65523
  var normalizedTypes = ts.sameMap(type.types, function (t) { return getNormalizedType(t, writing); });
65481
65524
  if (normalizedTypes !== type.types) {
65482
65525
  return getIntersectionType(normalizedTypes);
@@ -66647,7 +66690,7 @@ var ts;
66647
66690
  // create a new chain for the constraint error
66648
66691
  resetErrorInfo(saveErrorInfo);
66649
66692
  }
66650
- if (result = isRelatedTo(source, constraint, 2 /* RecursionFlags.Target */, reportErrors)) {
66693
+ if (result = isRelatedTo(source, constraint, 2 /* RecursionFlags.Target */, reportErrors, /* headMessage */ undefined, intersectionState)) {
66651
66694
  return result;
66652
66695
  }
66653
66696
  // prefer the shorter chain of the constraint comparison chain, and the direct comparison chain
@@ -66739,8 +66782,8 @@ var ts;
66739
66782
  var skipTrue = !isTypeAssignableTo(getPermissiveInstantiation(c.checkType), getPermissiveInstantiation(c.extendsType));
66740
66783
  var skipFalse = !skipTrue && isTypeAssignableTo(getRestrictiveInstantiation(c.checkType), getRestrictiveInstantiation(c.extendsType));
66741
66784
  // TODO: Find a nice way to include potential conditional type breakdowns in error output, if they seem good (they usually don't)
66742
- if (result = skipTrue ? -1 /* Ternary.True */ : isRelatedTo(source, getTrueTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false)) {
66743
- result &= skipFalse ? -1 /* Ternary.True */ : isRelatedTo(source, getFalseTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false);
66785
+ if (result = skipTrue ? -1 /* Ternary.True */ : isRelatedTo(source, getTrueTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState)) {
66786
+ result &= skipFalse ? -1 /* Ternary.True */ : isRelatedTo(source, getFalseTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState);
66744
66787
  if (result) {
66745
66788
  return result;
66746
66789
  }
@@ -69427,7 +69470,10 @@ var ts;
69427
69470
  //
69428
69471
  // This flag is infectious; if we produce Box<never> (where never is silentNeverType), Box<never> is
69429
69472
  // also non-inferrable.
69430
- if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */) {
69473
+ //
69474
+ // As a special case, also ignore nonInferrableAnyType, which is a special form of the any type
69475
+ // used as a stand-in for binding elements when they are being inferred.
69476
+ if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */ || source === nonInferrableAnyType) {
69431
69477
  return;
69432
69478
  }
69433
69479
  if (!inference.isFixed) {
@@ -71769,7 +71815,7 @@ var ts;
71769
71815
  var narrowedPropType = narrowType(propType);
71770
71816
  return filterType(type, function (t) {
71771
71817
  var discriminantType = getTypeOfPropertyOrIndexSignature(t, propName);
71772
- return !(narrowedPropType.flags & 131072 /* TypeFlags.Never */) && isTypeComparableTo(narrowedPropType, discriminantType);
71818
+ return !(narrowedPropType.flags & 131072 /* TypeFlags.Never */) && areTypesComparable(narrowedPropType, discriminantType);
71773
71819
  });
71774
71820
  }
71775
71821
  function narrowTypeByDiscriminantProperty(type, access, operator, value, assumeTrue) {
@@ -71818,7 +71864,7 @@ var ts;
71818
71864
  }
71819
71865
  function narrowByInKeyword(type, name, assumeTrue) {
71820
71866
  if (type.flags & 1048576 /* TypeFlags.Union */
71821
- || type.flags & 524288 /* TypeFlags.Object */ && declaredType !== type
71867
+ || type.flags & 524288 /* TypeFlags.Object */ && declaredType !== type && !(declaredType === unknownType && isEmptyAnonymousObjectType(type))
71822
71868
  || ts.isThisTypeParameter(type)
71823
71869
  || type.flags & 2097152 /* TypeFlags.Intersection */ && ts.every(type.types, function (t) { return t.symbol !== globalThisSymbol; })) {
71824
71870
  return filterType(type, function (t) { return isTypePresencePossible(t, name, assumeTrue); });
@@ -71951,14 +71997,18 @@ var ts;
71951
71997
  assumeTrue = !assumeTrue;
71952
71998
  }
71953
71999
  var valueType = getTypeOfExpression(value);
71954
- if ((type.flags & 2 /* TypeFlags.Unknown */) && assumeTrue && (operator === 36 /* SyntaxKind.EqualsEqualsEqualsToken */ || operator === 37 /* SyntaxKind.ExclamationEqualsEqualsToken */)) {
72000
+ if (((type.flags & 2 /* TypeFlags.Unknown */) || isEmptyAnonymousObjectType(type) && !(valueType.flags & 98304 /* TypeFlags.Nullable */)) &&
72001
+ assumeTrue &&
72002
+ (operator === 36 /* SyntaxKind.EqualsEqualsEqualsToken */ || operator === 37 /* SyntaxKind.ExclamationEqualsEqualsToken */)) {
71955
72003
  if (valueType.flags & (131068 /* TypeFlags.Primitive */ | 67108864 /* TypeFlags.NonPrimitive */)) {
71956
72004
  return valueType;
71957
72005
  }
71958
72006
  if (valueType.flags & 524288 /* TypeFlags.Object */) {
71959
72007
  return nonPrimitiveType;
71960
72008
  }
71961
- return type;
72009
+ if (type.flags & 2 /* TypeFlags.Unknown */) {
72010
+ return type;
72011
+ }
71962
72012
  }
71963
72013
  if (valueType.flags & 98304 /* TypeFlags.Nullable */) {
71964
72014
  if (!strictNullChecks) {
@@ -72417,7 +72467,9 @@ var ts;
72417
72467
  !!(type.flags & 465829888 /* TypeFlags.Instantiable */ && getBaseConstraintOrType(type).flags & (98304 /* TypeFlags.Nullable */ | 1048576 /* TypeFlags.Union */));
72418
72468
  }
72419
72469
  function isGenericTypeWithoutNullableConstraint(type) {
72420
- return !!(type.flags & 465829888 /* TypeFlags.Instantiable */ && !maybeTypeOfKind(getBaseConstraintOrType(type), 98304 /* TypeFlags.Nullable */));
72470
+ return type.flags & 2097152 /* TypeFlags.Intersection */ ?
72471
+ ts.some(type.types, isGenericTypeWithoutNullableConstraint) :
72472
+ !!(type.flags & 465829888 /* TypeFlags.Instantiable */ && !maybeTypeOfKind(getBaseConstraintOrType(type), 98304 /* TypeFlags.Nullable */));
72421
72473
  }
72422
72474
  function hasContextualTypeWithNoGenericTypes(node, checkMode) {
72423
72475
  // Computing the contextual type for a child of a JSX element involves resolving the type of the
@@ -81587,7 +81639,7 @@ var ts;
81587
81639
  checkDecorators(node);
81588
81640
  }
81589
81641
  function getEffectiveTypeArgumentAtIndex(node, typeParameters, index) {
81590
- if (index < typeParameters.length) {
81642
+ if (node.typeArguments && index < node.typeArguments.length) {
81591
81643
  return getTypeFromTypeNode(node.typeArguments[index]);
81592
81644
  }
81593
81645
  return getEffectiveTypeArguments(node, typeParameters)[index];
@@ -90366,7 +90418,7 @@ var ts;
90366
90418
  return grammarErrorOnNode(node, ts.Diagnostics.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments);
90367
90419
  }
90368
90420
  var nodeArguments = node.arguments;
90369
- if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext) {
90421
+ if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext && moduleKind !== ts.ModuleKind.Node16) {
90370
90422
  // We are allowed trailing comma after proposal-import-assertions.
90371
90423
  checkGrammarForDisallowedTrailingComma(nodeArguments);
90372
90424
  if (nodeArguments.length > 1) {
@@ -118013,7 +118065,7 @@ var ts;
118013
118065
  state.failedLookupLocations = packageJsonLocations;
118014
118066
  state.affectingLocations = packageJsonLocations;
118015
118067
  var packageJsonScope = ts.getPackageScopeForPath(fileName, state);
118016
- var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS;
118068
+ var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.contents.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS;
118017
118069
  return { impliedNodeFormat: impliedNodeFormat, packageJsonLocations: packageJsonLocations, packageJsonScope: packageJsonScope };
118018
118070
  }
118019
118071
  }
@@ -119744,7 +119796,7 @@ var ts;
119744
119796
  // It's a _little odd_ that we can't set `impliedNodeFormat` until the program step - but it's the first and only time we have a resolution cache
119745
119797
  // and a freshly made source file node on hand at the same time, and we need both to set the field. Persisting the resolution cache all the way
119746
119798
  // to the check and emit steps would be bad - so we much prefer detecting and storing the format information on the source file node upfront.
119747
- var result = getImpliedNodeFormatForFileWorker(toPath(fileName), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options);
119799
+ var result = getImpliedNodeFormatForFileWorker(ts.getNormalizedAbsolutePath(fileName, currentDirectory), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options);
119748
119800
  var languageVersion = ts.getEmitScriptTarget(options);
119749
119801
  var setExternalModuleIndicator = ts.getSetExternalModuleIndicator(options);
119750
119802
  return typeof result === "object" ? __assign(__assign({}, result), { languageVersion: languageVersion, setExternalModuleIndicator: setExternalModuleIndicator }) :
@@ -124405,7 +124457,7 @@ var ts;
124405
124457
  var maybeBlockedByTypesVersions = false;
124406
124458
  var cachedPackageJson = (_b = (_a = host.getPackageJsonInfoCache) === null || _a === void 0 ? void 0 : _a.call(host)) === null || _b === void 0 ? void 0 : _b.getPackageJsonInfo(packageJsonPath);
124407
124459
  if (typeof cachedPackageJson === "object" || cachedPackageJson === undefined && host.fileExists(packageJsonPath)) {
124408
- var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath));
124460
+ var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.contents.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath));
124409
124461
  var importMode = overrideMode || importingSourceFile.impliedNodeFormat;
124410
124462
  if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node16 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) {
124411
124463
  var conditions = ["node", importMode === ts.ModuleKind.ESNext ? "import" : "require", "types"];
@@ -124767,7 +124819,7 @@ var ts;
124767
124819
  case ts.ModuleKind.CommonJS:
124768
124820
  if (file.packageJsonScope) {
124769
124821
  (result !== null && result !== void 0 ? result : (result = [])).push(ts.chainDiagnosticMessages(
124770
- /*details*/ undefined, file.packageJsonScope.packageJsonContent.type ?
124822
+ /*details*/ undefined, file.packageJsonScope.contents.packageJsonContent.type ?
124771
124823
  ts.Diagnostics.File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module :
124772
124824
  ts.Diagnostics.File_is_CommonJS_module_because_0_does_not_have_field_type, toFileName(ts.last(file.packageJsonLocations), fileNameConvertor)));
124773
124825
  }
@@ -127114,9 +127166,7 @@ var ts;
127114
127166
  }
127115
127167
  }
127116
127168
  }
127117
- var seenRefs = buildInfoPath ? new ts.Set() : undefined;
127118
127169
  var buildInfoCacheEntry = state.buildInfoCache.get(resolvedPath);
127119
- seenRefs === null || seenRefs === void 0 ? void 0 : seenRefs.add(resolvedPath);
127120
127170
  /** Inputs are up-to-date, just need either timestamp update or bundle prepend manipulation to make it look up-to-date */
127121
127171
  var pseudoUpToDate = false;
127122
127172
  var usesPrepend = false;
@@ -127131,7 +127181,7 @@ var ts;
127131
127181
  continue;
127132
127182
  }
127133
127183
  // Check if tsbuildinfo path is shared, then we need to rebuild
127134
- if (buildInfoCacheEntry && hasSameBuildInfo(state, buildInfoCacheEntry, seenRefs, resolvedConfig, resolvedRefPath)) {
127184
+ if (buildInfoCacheEntry && hasSameBuildInfo(state, buildInfoCacheEntry, resolvedRefPath)) {
127135
127185
  return {
127136
127186
  type: ts.UpToDateStatusType.OutOfDateWithUpstream,
127137
127187
  outOfDateOutputFileName: buildInfoPath,
@@ -127189,25 +127239,9 @@ var ts;
127189
127239
  oldestOutputFileName: oldestOutputFileName
127190
127240
  };
127191
127241
  }
127192
- function hasSameBuildInfo(state, buildInfoCacheEntry, seenRefs, resolvedConfig, resolvedRefPath) {
127193
- if (seenRefs.has(resolvedRefPath))
127194
- return false;
127195
- seenRefs.add(resolvedRefPath);
127242
+ function hasSameBuildInfo(state, buildInfoCacheEntry, resolvedRefPath) {
127196
127243
  var refBuildInfo = state.buildInfoCache.get(resolvedRefPath);
127197
- if (refBuildInfo.path === buildInfoCacheEntry.path)
127198
- return true;
127199
- if (resolvedConfig.projectReferences) {
127200
- // Check references
127201
- for (var _i = 0, _a = resolvedConfig.projectReferences; _i < _a.length; _i++) {
127202
- var ref = _a[_i];
127203
- var resolvedRef = ts.resolveProjectReferencePath(ref);
127204
- var resolvedRefPath_1 = toResolvedConfigFilePath(state, resolvedRef);
127205
- var resolvedConfig_1 = parseConfigFile(state, resolvedRef, resolvedRefPath_1);
127206
- if (hasSameBuildInfo(state, buildInfoCacheEntry, seenRefs, resolvedConfig_1, resolvedRefPath_1))
127207
- return true;
127208
- }
127209
- }
127210
- return false;
127244
+ return refBuildInfo.path === buildInfoCacheEntry.path;
127211
127245
  }
127212
127246
  function getUpToDateStatus(state, project, resolvedPath) {
127213
127247
  if (project === undefined) {
@@ -141940,7 +141974,7 @@ var ts;
141940
141974
  }
141941
141975
  var parent = node.parent;
141942
141976
  var typeChecker = program.getTypeChecker();
141943
- if (node.kind === 159 /* SyntaxKind.OverrideKeyword */ || (ts.isJSDocOverrideTag(node) && ts.rangeContainsPosition(node.tagName, position))) {
141977
+ if (node.kind === 159 /* SyntaxKind.OverrideKeyword */ || (ts.isIdentifier(node) && ts.isJSDocOverrideTag(parent) && parent.tagName === node)) {
141944
141978
  return getDefinitionFromOverriddenMember(typeChecker, node) || ts.emptyArray;
141945
141979
  }
141946
141980
  // Labels