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.
@@ -89,7 +89,7 @@ var ts;
89
89
  // The following is baselined as a literal template type without intervention
90
90
  /** The version of the TypeScript compiler release */
91
91
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
92
- ts.version = "4.8.2";
92
+ ts.version = "4.8.4";
93
93
  /* @internal */
94
94
  var Comparison;
95
95
  (function (Comparison) {
@@ -8855,7 +8855,7 @@ var ts;
8855
8855
  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."),
8856
8856
  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."),
8857
8857
  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."),
8858
- 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."),
8858
+ 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."),
8859
8859
  _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."),
8860
8860
  _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."),
8861
8861
  _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."),
@@ -31496,6 +31496,7 @@ var ts;
31496
31496
  case 335 /* SyntaxKind.JSDocProtectedTag */:
31497
31497
  case 336 /* SyntaxKind.JSDocReadonlyTag */:
31498
31498
  case 331 /* SyntaxKind.JSDocDeprecatedTag */:
31499
+ case 337 /* SyntaxKind.JSDocOverrideTag */:
31499
31500
  return visitNode(cbNode, node.tagName)
31500
31501
  || (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
31501
31502
  case 350 /* SyntaxKind.PartiallyEmittedExpression */:
@@ -42784,7 +42785,7 @@ var ts;
42784
42785
  function withPackageId(packageInfo, r) {
42785
42786
  var packageId;
42786
42787
  if (r && packageInfo) {
42787
- var packageJsonContent = packageInfo.packageJsonContent;
42788
+ var packageJsonContent = packageInfo.contents.packageJsonContent;
42788
42789
  if (typeof packageJsonContent.name === "string" && typeof packageJsonContent.version === "string") {
42789
42790
  packageId = {
42790
42791
  name: packageJsonContent.name,
@@ -44103,16 +44104,16 @@ var ts;
44103
44104
  function loadNodeModuleFromDirectory(extensions, candidate, onlyRecordFailures, state, considerPackageJson) {
44104
44105
  if (considerPackageJson === void 0) { considerPackageJson = true; }
44105
44106
  var packageInfo = considerPackageJson ? getPackageJsonInfo(candidate, onlyRecordFailures, state) : undefined;
44106
- var packageJsonContent = packageInfo && packageInfo.packageJsonContent;
44107
- var versionPaths = packageInfo && packageInfo.versionPaths;
44107
+ var packageJsonContent = packageInfo && packageInfo.contents.packageJsonContent;
44108
+ var versionPaths = packageInfo && packageInfo.contents.versionPaths;
44108
44109
  return withPackageId(packageInfo, loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageJsonContent, versionPaths));
44109
44110
  }
44110
44111
  /* @internal */
44111
44112
  function getEntrypointsFromPackageJsonInfo(packageJsonInfo, options, host, cache, resolveJs) {
44112
- if (!resolveJs && packageJsonInfo.resolvedEntrypoints !== undefined) {
44113
+ if (!resolveJs && packageJsonInfo.contents.resolvedEntrypoints !== undefined) {
44113
44114
  // Cached value excludes resolutions to JS files - those could be
44114
44115
  // cached separately, but they're used rarely.
44115
- return packageJsonInfo.resolvedEntrypoints;
44116
+ return packageJsonInfo.contents.resolvedEntrypoints;
44116
44117
  }
44117
44118
  var entrypoints;
44118
44119
  var extensions = resolveJs ? Extensions.JavaScript : Extensions.TypeScript;
@@ -44121,13 +44122,13 @@ var ts;
44121
44122
  requireState.conditions = ["node", "require", "types"];
44122
44123
  requireState.requestContainingDirectory = packageJsonInfo.packageDirectory;
44123
44124
  var requireResolution = loadNodeModuleFromDirectoryWorker(extensions, packageJsonInfo.packageDirectory,
44124
- /*onlyRecordFailures*/ false, requireState, packageJsonInfo.packageJsonContent, packageJsonInfo.versionPaths);
44125
+ /*onlyRecordFailures*/ false, requireState, packageJsonInfo.contents.packageJsonContent, packageJsonInfo.contents.versionPaths);
44125
44126
  entrypoints = ts.append(entrypoints, requireResolution === null || requireResolution === void 0 ? void 0 : requireResolution.path);
44126
- if (features & NodeResolutionFeatures.Exports && packageJsonInfo.packageJsonContent.exports) {
44127
+ if (features & NodeResolutionFeatures.Exports && packageJsonInfo.contents.packageJsonContent.exports) {
44127
44128
  for (var _i = 0, _a = [["node", "import", "types"], ["node", "require", "types"]]; _i < _a.length; _i++) {
44128
44129
  var conditions = _a[_i];
44129
44130
  var exportState = __assign(__assign({}, requireState), { failedLookupLocations: [], conditions: conditions });
44130
- var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.packageJsonContent.exports, exportState, extensions);
44131
+ var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.contents.packageJsonContent.exports, exportState, extensions);
44131
44132
  if (exportResolutions) {
44132
44133
  for (var _b = 0, exportResolutions_1 = exportResolutions; _b < exportResolutions_1.length; _b++) {
44133
44134
  var resolution = exportResolutions_1[_b];
@@ -44136,7 +44137,7 @@ var ts;
44136
44137
  }
44137
44138
  }
44138
44139
  }
44139
- return packageJsonInfo.resolvedEntrypoints = entrypoints || false;
44140
+ return packageJsonInfo.contents.resolvedEntrypoints = entrypoints || false;
44140
44141
  }
44141
44142
  ts.getEntrypointsFromPackageJsonInfo = getEntrypointsFromPackageJsonInfo;
44142
44143
  function loadEntrypointsFromExportMap(scope, exports, state, extensions) {
@@ -44240,7 +44241,9 @@ var ts;
44240
44241
  if (traceEnabled)
44241
44242
  trace(host, ts.Diagnostics.File_0_exists_according_to_earlier_cached_lookups, packageJsonPath);
44242
44243
  state.affectingLocations.push(packageJsonPath);
44243
- return existing;
44244
+ return existing.packageDirectory === packageDirectory ?
44245
+ existing :
44246
+ { packageDirectory: packageDirectory, contents: existing.contents };
44244
44247
  }
44245
44248
  else {
44246
44249
  if (existing && traceEnabled)
@@ -44256,7 +44259,7 @@ var ts;
44256
44259
  trace(host, ts.Diagnostics.Found_package_json_at_0, packageJsonPath);
44257
44260
  }
44258
44261
  var versionPaths = readPackageJsonTypesVersionPaths(packageJsonContent, state);
44259
- var result = { packageDirectory: packageDirectory, packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined };
44262
+ var result = { packageDirectory: packageDirectory, contents: { packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined } };
44260
44263
  (_b = state.packageJsonInfoCache) === null || _b === void 0 ? void 0 : _b.setPackageJsonInfo(packageJsonPath, result);
44261
44264
  state.affectingLocations.push(packageJsonPath);
44262
44265
  return result;
@@ -44381,17 +44384,16 @@ var ts;
44381
44384
  }
44382
44385
  function loadModuleFromSelfNameReference(extensions, moduleName, directory, state, cache, redirectedReference) {
44383
44386
  var _a, _b;
44384
- var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames;
44385
- 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));
44387
+ var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a));
44386
44388
  var scope = getPackageScopeForPath(directoryPath, state);
44387
- if (!scope || !scope.packageJsonContent.exports) {
44389
+ if (!scope || !scope.contents.packageJsonContent.exports) {
44388
44390
  return undefined;
44389
44391
  }
44390
- if (typeof scope.packageJsonContent.name !== "string") {
44392
+ if (typeof scope.contents.packageJsonContent.name !== "string") {
44391
44393
  return undefined;
44392
44394
  }
44393
44395
  var parts = ts.getPathComponents(moduleName); // unrooted paths should have `""` as their 0th entry
44394
- var nameParts = ts.getPathComponents(scope.packageJsonContent.name);
44396
+ var nameParts = ts.getPathComponents(scope.contents.packageJsonContent.name);
44395
44397
  if (!ts.every(nameParts, function (p, i) { return parts[i] === p; })) {
44396
44398
  return undefined;
44397
44399
  }
@@ -44399,30 +44401,30 @@ var ts;
44399
44401
  return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : ".".concat(ts.directorySeparator).concat(trailingParts.join(ts.directorySeparator)), state, cache, redirectedReference);
44400
44402
  }
44401
44403
  function loadModuleFromExports(scope, extensions, subpath, state, cache, redirectedReference) {
44402
- if (!scope.packageJsonContent.exports) {
44404
+ if (!scope.contents.packageJsonContent.exports) {
44403
44405
  return undefined;
44404
44406
  }
44405
44407
  if (subpath === ".") {
44406
44408
  var mainExport = void 0;
44407
- if (typeof scope.packageJsonContent.exports === "string" || Array.isArray(scope.packageJsonContent.exports) || (typeof scope.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.packageJsonContent.exports))) {
44408
- mainExport = scope.packageJsonContent.exports;
44409
+ if (typeof scope.contents.packageJsonContent.exports === "string" || Array.isArray(scope.contents.packageJsonContent.exports) || (typeof scope.contents.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.contents.packageJsonContent.exports))) {
44410
+ mainExport = scope.contents.packageJsonContent.exports;
44409
44411
  }
44410
- else if (ts.hasProperty(scope.packageJsonContent.exports, ".")) {
44411
- mainExport = scope.packageJsonContent.exports["."];
44412
+ else if (ts.hasProperty(scope.contents.packageJsonContent.exports, ".")) {
44413
+ mainExport = scope.contents.packageJsonContent.exports["."];
44412
44414
  }
44413
44415
  if (mainExport) {
44414
44416
  var loadModuleFromTargetImportOrExport = getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, subpath, scope, /*isImports*/ false);
44415
44417
  return loadModuleFromTargetImportOrExport(mainExport, "", /*pattern*/ false);
44416
44418
  }
44417
44419
  }
44418
- else if (allKeysStartWithDot(scope.packageJsonContent.exports)) {
44419
- if (typeof scope.packageJsonContent.exports !== "object") {
44420
+ else if (allKeysStartWithDot(scope.contents.packageJsonContent.exports)) {
44421
+ if (typeof scope.contents.packageJsonContent.exports !== "object") {
44420
44422
  if (state.traceEnabled) {
44421
44423
  trace(state.host, ts.Diagnostics.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1, subpath, scope.packageDirectory);
44422
44424
  }
44423
44425
  return toSearchResult(/*value*/ undefined);
44424
44426
  }
44425
- var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.packageJsonContent.exports, scope, /*isImports*/ false);
44427
+ var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.contents.packageJsonContent.exports, scope, /*isImports*/ false);
44426
44428
  if (result) {
44427
44429
  return result;
44428
44430
  }
@@ -44440,8 +44442,7 @@ var ts;
44440
44442
  }
44441
44443
  return toSearchResult(/*value*/ undefined);
44442
44444
  }
44443
- var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames;
44444
- 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));
44445
+ var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a));
44445
44446
  var scope = getPackageScopeForPath(directoryPath, state);
44446
44447
  if (!scope) {
44447
44448
  if (state.traceEnabled) {
@@ -44449,13 +44450,13 @@ var ts;
44449
44450
  }
44450
44451
  return toSearchResult(/*value*/ undefined);
44451
44452
  }
44452
- if (!scope.packageJsonContent.imports) {
44453
+ if (!scope.contents.packageJsonContent.imports) {
44453
44454
  if (state.traceEnabled) {
44454
44455
  trace(state.host, ts.Diagnostics.package_json_scope_0_has_no_imports_defined, scope.packageDirectory);
44455
44456
  }
44456
44457
  return toSearchResult(/*value*/ undefined);
44457
44458
  }
44458
- var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.packageJsonContent.imports, scope, /*isImports*/ true);
44459
+ var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.contents.packageJsonContent.imports, scope, /*isImports*/ true);
44459
44460
  if (result) {
44460
44461
  return result;
44461
44462
  }
@@ -44616,7 +44617,7 @@ var ts;
44616
44617
  var _a, _b;
44617
44618
  if (path === undefined)
44618
44619
  return path;
44619
- return ts.hostGetCanonicalFileName({ useCaseSensitiveFileNames: useCaseSensitiveFileNames })(ts.getNormalizedAbsolutePath(path, (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a)));
44620
+ return ts.getNormalizedAbsolutePath(path, (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a));
44620
44621
  }
44621
44622
  function combineDirectoryPath(root, dir) {
44622
44623
  return ts.ensureTrailingDirectorySeparator(ts.combinePaths(root, dir));
@@ -44636,7 +44637,7 @@ var ts;
44636
44637
  if ((extensions === Extensions.TypeScript || extensions === Extensions.JavaScript || extensions === Extensions.Json)
44637
44638
  && (state.compilerOptions.declarationDir || state.compilerOptions.outDir)
44638
44639
  && finalPath.indexOf("/node_modules/") === -1
44639
- && (state.compilerOptions.configFile ? ts.startsWith(toAbsolutePath(state.compilerOptions.configFile.fileName), scope.packageDirectory) : true)) {
44640
+ && (state.compilerOptions.configFile ? ts.containsPath(scope.packageDirectory, toAbsolutePath(state.compilerOptions.configFile.fileName), !useCaseSensitiveFileNames()) : true)) {
44640
44641
  // 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.
44641
44642
  // Even with all that, we still don't know if the root of the output file structure will be (relative to the package file)
44642
44643
  // `.`, `./src` or any other deeper directory structure. (If project references are used, it's definitely `.` by fiat, so that should be pretty common.)
@@ -44692,7 +44693,7 @@ var ts;
44692
44693
  var candidateDirectories = getOutputDirectoriesForBaseDirectory(commonSourceDirGuess);
44693
44694
  for (var _e = 0, candidateDirectories_1 = candidateDirectories; _e < candidateDirectories_1.length; _e++) {
44694
44695
  var candidateDir = candidateDirectories_1[_e];
44695
- if (ts.startsWith(finalPath, candidateDir)) {
44696
+ if (ts.containsPath(candidateDir, finalPath, !useCaseSensitiveFileNames())) {
44696
44697
  // 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
44697
44698
  var pathFragment = finalPath.slice(candidateDir.length + 1); // +1 to also remove directory seperator
44698
44699
  var possibleInputBase = ts.combinePaths(commonSourceDirGuess, pathFragment);
@@ -44800,7 +44801,7 @@ var ts;
44800
44801
  if (fromFile) {
44801
44802
  return noPackageId(fromFile);
44802
44803
  }
44803
- var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.packageJsonContent, packageInfo.versionPaths);
44804
+ var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.contents.packageJsonContent, packageInfo.contents.versionPaths);
44804
44805
  return withPackageId(packageInfo, fromDirectory);
44805
44806
  }
44806
44807
  }
@@ -44808,14 +44809,14 @@ var ts;
44808
44809
  var loader = function (extensions, candidate, onlyRecordFailures, state) {
44809
44810
  var _a;
44810
44811
  // package exports are higher priority than file/directory lookups (and, if there's exports present, blocks them)
44811
- if (packageInfo && packageInfo.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) {
44812
+ if (packageInfo && packageInfo.contents.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) {
44812
44813
  return (_a = loadModuleFromExports(packageInfo, extensions, ts.combinePaths(".", rest), state, cache, redirectedReference)) === null || _a === void 0 ? void 0 : _a.value;
44813
44814
  }
44814
44815
  var pathAndExtension = loadModuleFromFile(extensions, candidate, onlyRecordFailures, state) ||
44815
- loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.packageJsonContent, packageInfo && packageInfo.versionPaths);
44816
+ loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.contents.packageJsonContent, packageInfo && packageInfo.contents.versionPaths);
44816
44817
  if (!pathAndExtension && packageInfo
44817
44818
  // eslint-disable-next-line no-null/no-null
44818
- && (packageInfo.packageJsonContent.exports === undefined || packageInfo.packageJsonContent.exports === null)
44819
+ && (packageInfo.contents.packageJsonContent.exports === undefined || packageInfo.contents.packageJsonContent.exports === null)
44819
44820
  && state.features & NodeResolutionFeatures.EsmMode) {
44820
44821
  // EsmMode disables index lookup in `loadNodeModuleFromDirectoryWorker` generally, however non-relative package resolutions still assume
44821
44822
  // a default `index.js` entrypoint if no `main` or `exports` are present
@@ -44827,12 +44828,12 @@ var ts;
44827
44828
  var packageDirectory = ts.combinePaths(nodeModulesDirectory, packageName);
44828
44829
  // 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.
44829
44830
  packageInfo = getPackageJsonInfo(packageDirectory, !nodeModulesDirectoryExists, state);
44830
- if (packageInfo && packageInfo.versionPaths) {
44831
+ if (packageInfo && packageInfo.contents.versionPaths) {
44831
44832
  if (state.traceEnabled) {
44832
- 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);
44833
+ 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);
44833
44834
  }
44834
44835
  var packageDirectoryExists = nodeModulesDirectoryExists && ts.directoryProbablyExists(packageDirectory, state.host);
44835
- var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state);
44836
+ var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.contents.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state);
44836
44837
  if (fromPaths) {
44837
44838
  return fromPaths.value;
44838
44839
  }
@@ -49133,6 +49134,7 @@ var ts;
49133
49134
  var wildcardType = createIntrinsicType(1 /* TypeFlags.Any */, "any");
49134
49135
  var errorType = createIntrinsicType(1 /* TypeFlags.Any */, "error");
49135
49136
  var unresolvedType = createIntrinsicType(1 /* TypeFlags.Any */, "unresolved");
49137
+ var nonInferrableAnyType = createIntrinsicType(1 /* TypeFlags.Any */, "any", 65536 /* ObjectFlags.ContainsWideningType */);
49136
49138
  var intrinsicMarkerType = createIntrinsicType(1 /* TypeFlags.Any */, "intrinsic");
49137
49139
  var unknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown");
49138
49140
  var nonNullUnknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown");
@@ -50974,41 +50976,61 @@ var ts;
50974
50976
  return typeof file.externalModuleIndicator !== "object" && !resolveExportByName(moduleSymbol, ts.escapeLeadingUnderscores("__esModule"), /*sourceNode*/ undefined, dontResolveAlias);
50975
50977
  }
50976
50978
  function getTargetOfImportClause(node, dontResolveAlias) {
50977
- var _a;
50978
50979
  var moduleSymbol = resolveExternalModuleName(node, node.parent.moduleSpecifier);
50979
50980
  if (moduleSymbol) {
50980
- var exportDefaultSymbol = void 0;
50981
- if (ts.isShorthandAmbientModuleSymbol(moduleSymbol)) {
50982
- exportDefaultSymbol = moduleSymbol;
50983
- }
50984
- else {
50985
- exportDefaultSymbol = resolveExportByName(moduleSymbol, "default" /* InternalSymbolName.Default */, node, dontResolveAlias);
50986
- }
50987
- var file = (_a = moduleSymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.isSourceFile);
50988
- var hasDefaultOnly = isOnlyImportedAsDefault(node.parent.moduleSpecifier);
50989
- var hasSyntheticDefault = canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias, node.parent.moduleSpecifier);
50990
- if (!exportDefaultSymbol && !hasSyntheticDefault && !hasDefaultOnly) {
50991
- if (hasExportAssignmentSymbol(moduleSymbol)) {
50992
- var compilerOptionName = moduleKind >= ts.ModuleKind.ES2015 ? "allowSyntheticDefaultImports" : "esModuleInterop";
50993
- var exportEqualsSymbol = moduleSymbol.exports.get("export=" /* InternalSymbolName.ExportEquals */);
50994
- var exportAssignment = exportEqualsSymbol.valueDeclaration;
50995
- var err = error(node.name, ts.Diagnostics.Module_0_can_only_be_default_imported_using_the_1_flag, symbolToString(moduleSymbol), compilerOptionName);
50996
- if (exportAssignment) {
50997
- 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));
50998
- }
50999
- }
51000
- else {
51001
- reportNonDefaultExport(moduleSymbol, node);
50981
+ return getTargetofModuleDefault(moduleSymbol, node, dontResolveAlias);
50982
+ }
50983
+ }
50984
+ function getTargetofModuleDefault(moduleSymbol, node, dontResolveAlias) {
50985
+ var _a;
50986
+ var exportDefaultSymbol;
50987
+ if (ts.isShorthandAmbientModuleSymbol(moduleSymbol)) {
50988
+ exportDefaultSymbol = moduleSymbol;
50989
+ }
50990
+ else {
50991
+ exportDefaultSymbol = resolveExportByName(moduleSymbol, "default" /* InternalSymbolName.Default */, node, dontResolveAlias);
50992
+ }
50993
+ var file = (_a = moduleSymbol.declarations) === null || _a === void 0 ? void 0 : _a.find(ts.isSourceFile);
50994
+ var specifier = getModuleSpecifierForImportOrExport(node);
50995
+ if (!specifier) {
50996
+ return exportDefaultSymbol;
50997
+ }
50998
+ var hasDefaultOnly = isOnlyImportedAsDefault(specifier);
50999
+ var hasSyntheticDefault = canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias, specifier);
51000
+ if (!exportDefaultSymbol && !hasSyntheticDefault && !hasDefaultOnly) {
51001
+ if (hasExportAssignmentSymbol(moduleSymbol)) {
51002
+ var compilerOptionName = moduleKind >= ts.ModuleKind.ES2015 ? "allowSyntheticDefaultImports" : "esModuleInterop";
51003
+ var exportEqualsSymbol = moduleSymbol.exports.get("export=" /* InternalSymbolName.ExportEquals */);
51004
+ var exportAssignment = exportEqualsSymbol.valueDeclaration;
51005
+ var err = error(node.name, ts.Diagnostics.Module_0_can_only_be_default_imported_using_the_1_flag, symbolToString(moduleSymbol), compilerOptionName);
51006
+ if (exportAssignment) {
51007
+ 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));
51002
51008
  }
51003
51009
  }
51004
- else if (hasSyntheticDefault || hasDefaultOnly) {
51005
- // per emit behavior, a synthetic default overrides a "real" .default member if `__esModule` is not present
51006
- var resolved = resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias) || resolveSymbol(moduleSymbol, dontResolveAlias);
51007
- markSymbolOfAliasDeclarationIfTypeOnly(node, moduleSymbol, resolved, /*overwriteTypeOnly*/ false);
51008
- return resolved;
51010
+ else if (ts.isImportClause(node)) {
51011
+ reportNonDefaultExport(moduleSymbol, node);
51012
+ }
51013
+ else {
51014
+ errorNoModuleMemberSymbol(moduleSymbol, moduleSymbol, node, ts.isImportOrExportSpecifier(node) && node.propertyName || node.name);
51009
51015
  }
51010
- markSymbolOfAliasDeclarationIfTypeOnly(node, exportDefaultSymbol, /*finalTarget*/ undefined, /*overwriteTypeOnly*/ false);
51011
- return exportDefaultSymbol;
51016
+ }
51017
+ else if (hasSyntheticDefault || hasDefaultOnly) {
51018
+ // per emit behavior, a synthetic default overrides a "real" .default member if `__esModule` is not present
51019
+ var resolved = resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias) || resolveSymbol(moduleSymbol, dontResolveAlias);
51020
+ markSymbolOfAliasDeclarationIfTypeOnly(node, moduleSymbol, resolved, /*overwriteTypeOnly*/ false);
51021
+ return resolved;
51022
+ }
51023
+ markSymbolOfAliasDeclarationIfTypeOnly(node, exportDefaultSymbol, /*finalTarget*/ undefined, /*overwriteTypeOnly*/ false);
51024
+ return exportDefaultSymbol;
51025
+ }
51026
+ function getModuleSpecifierForImportOrExport(node) {
51027
+ switch (node.kind) {
51028
+ case 267 /* SyntaxKind.ImportClause */: return node.parent.moduleSpecifier;
51029
+ case 265 /* SyntaxKind.ImportEqualsDeclaration */: return ts.isExternalModuleReference(node.moduleReference) ? node.moduleReference.expression : undefined;
51030
+ case 268 /* SyntaxKind.NamespaceImport */: return node.parent.parent.moduleSpecifier;
51031
+ case 270 /* SyntaxKind.ImportSpecifier */: return node.parent.parent.parent.moduleSpecifier;
51032
+ case 275 /* SyntaxKind.ExportSpecifier */: return node.parent.parent.moduleSpecifier;
51033
+ default: return ts.Debug.assertNever(node);
51012
51034
  }
51013
51035
  }
51014
51036
  function reportNonDefaultExport(moduleSymbol, node) {
@@ -51098,7 +51120,7 @@ var ts;
51098
51120
  }
51099
51121
  }
51100
51122
  function getExternalModuleMember(node, specifier, dontResolveAlias) {
51101
- var _a, _b;
51123
+ var _a;
51102
51124
  if (dontResolveAlias === void 0) { dontResolveAlias = false; }
51103
51125
  var moduleSpecifier = ts.getExternalModuleRequireArgument(node) || node.moduleSpecifier;
51104
51126
  var moduleSymbol = resolveExternalModuleName(node, moduleSpecifier); // TODO: GH#18217
@@ -51134,29 +51156,33 @@ var ts;
51134
51156
  combineValueAndTypeSymbols(symbolFromVariable, symbolFromModule) :
51135
51157
  symbolFromModule || symbolFromVariable;
51136
51158
  if (!symbol) {
51137
- var moduleName = getFullyQualifiedName(moduleSymbol, node);
51138
- var declarationName = ts.declarationNameToString(name);
51139
- var suggestion = getSuggestedSymbolForNonexistentModule(name, targetSymbol);
51140
- if (suggestion !== undefined) {
51141
- var suggestionName = symbolToString(suggestion);
51142
- var diagnostic = error(name, ts.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2, moduleName, declarationName, suggestionName);
51143
- if (suggestion.valueDeclaration) {
51144
- ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(suggestion.valueDeclaration, ts.Diagnostics._0_is_declared_here, suggestionName));
51145
- }
51146
- }
51147
- else {
51148
- if ((_b = moduleSymbol.exports) === null || _b === void 0 ? void 0 : _b.has("default" /* InternalSymbolName.Default */)) {
51149
- error(name, ts.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead, moduleName, declarationName);
51150
- }
51151
- else {
51152
- reportNonExportedMember(node, name, declarationName, moduleSymbol, moduleName);
51153
- }
51154
- }
51159
+ errorNoModuleMemberSymbol(moduleSymbol, targetSymbol, node, name);
51155
51160
  }
51156
51161
  return symbol;
51157
51162
  }
51158
51163
  }
51159
51164
  }
51165
+ function errorNoModuleMemberSymbol(moduleSymbol, targetSymbol, node, name) {
51166
+ var _a;
51167
+ var moduleName = getFullyQualifiedName(moduleSymbol, node);
51168
+ var declarationName = ts.declarationNameToString(name);
51169
+ var suggestion = getSuggestedSymbolForNonexistentModule(name, targetSymbol);
51170
+ if (suggestion !== undefined) {
51171
+ var suggestionName = symbolToString(suggestion);
51172
+ var diagnostic = error(name, ts.Diagnostics._0_has_no_exported_member_named_1_Did_you_mean_2, moduleName, declarationName, suggestionName);
51173
+ if (suggestion.valueDeclaration) {
51174
+ ts.addRelatedInfo(diagnostic, ts.createDiagnosticForNode(suggestion.valueDeclaration, ts.Diagnostics._0_is_declared_here, suggestionName));
51175
+ }
51176
+ }
51177
+ else {
51178
+ if ((_a = moduleSymbol.exports) === null || _a === void 0 ? void 0 : _a.has("default" /* InternalSymbolName.Default */)) {
51179
+ error(name, ts.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead, moduleName, declarationName);
51180
+ }
51181
+ else {
51182
+ reportNonExportedMember(node, name, declarationName, moduleSymbol, moduleName);
51183
+ }
51184
+ }
51185
+ }
51160
51186
  function reportNonExportedMember(node, name, declarationName, moduleSymbol, moduleName) {
51161
51187
  var _a, _b;
51162
51188
  var localSymbol = (_b = (_a = moduleSymbol.valueDeclaration) === null || _a === void 0 ? void 0 : _a.locals) === null || _b === void 0 ? void 0 : _b.get(name.escapedText);
@@ -51202,6 +51228,13 @@ var ts;
51202
51228
  }
51203
51229
  }
51204
51230
  function getTargetOfImportSpecifier(node, dontResolveAlias) {
51231
+ if (ts.isImportSpecifier(node) && ts.idText(node.propertyName || node.name) === "default" /* InternalSymbolName.Default */) {
51232
+ var specifier = getModuleSpecifierForImportOrExport(node);
51233
+ var moduleSymbol = specifier && resolveExternalModuleName(node, specifier);
51234
+ if (moduleSymbol) {
51235
+ return getTargetofModuleDefault(moduleSymbol, node, dontResolveAlias);
51236
+ }
51237
+ }
51205
51238
  var root = ts.isBindingElement(node) ? ts.getRootDeclaration(node) : node.parent.parent.parent;
51206
51239
  var commonJSPropertyAccess = getCommonJSPropertyAccess(root);
51207
51240
  var resolved = getExternalModuleMember(root, commonJSPropertyAccess || node, dontResolveAlias);
@@ -51223,6 +51256,13 @@ var ts;
51223
51256
  return resolved;
51224
51257
  }
51225
51258
  function getTargetOfExportSpecifier(node, meaning, dontResolveAlias) {
51259
+ if (ts.idText(node.propertyName || node.name) === "default" /* InternalSymbolName.Default */) {
51260
+ var specifier = getModuleSpecifierForImportOrExport(node);
51261
+ var moduleSymbol = specifier && resolveExternalModuleName(node, specifier);
51262
+ if (moduleSymbol) {
51263
+ return getTargetofModuleDefault(moduleSymbol, node, !!dontResolveAlias);
51264
+ }
51265
+ }
51226
51266
  var resolved = node.parent.parent.moduleSpecifier ?
51227
51267
  getExternalModuleMember(node.parent.parent, node, dontResolveAlias) :
51228
51268
  resolveEntityName(node.propertyName || node.name, meaning, /*ignoreErrors*/ false, dontResolveAlias);
@@ -51696,7 +51736,7 @@ var ts;
51696
51736
  if (ext === ".ts" /* Extension.Ts */ || ext === ".js" /* Extension.Js */ || ext === ".tsx" /* Extension.Tsx */ || ext === ".jsx" /* Extension.Jsx */) {
51697
51737
  var scope = currentSourceFile.packageJsonScope;
51698
51738
  var targetExt = ext === ".ts" /* Extension.Ts */ ? ".mts" /* Extension.Mts */ : ext === ".js" /* Extension.Js */ ? ".mjs" /* Extension.Mjs */ : undefined;
51699
- if (scope && !scope.packageJsonContent.type) {
51739
+ if (scope && !scope.contents.packageJsonContent.type) {
51700
51740
  if (targetExt) {
51701
51741
  diagnosticDetails = ts.chainDiagnosticMessages(
51702
51742
  /*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"));
@@ -53924,22 +53964,15 @@ var ts;
53924
53964
  context.approximateLength += ts.symbolName(parameterSymbol).length + 3;
53925
53965
  return parameterNode;
53926
53966
  function cloneBindingName(node) {
53927
- return elideInitializerAndPropertyRenamingAndSetEmitFlags(node);
53928
- function elideInitializerAndPropertyRenamingAndSetEmitFlags(node) {
53967
+ return elideInitializerAndSetEmitFlags(node);
53968
+ function elideInitializerAndSetEmitFlags(node) {
53929
53969
  if (context.tracker.trackSymbol && ts.isComputedPropertyName(node) && isLateBindableName(node)) {
53930
53970
  trackComputedName(node.expression, context.enclosingDeclaration, context);
53931
53971
  }
53932
- var visited = ts.visitEachChild(node, elideInitializerAndPropertyRenamingAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndPropertyRenamingAndSetEmitFlags);
53972
+ var visited = ts.visitEachChild(node, elideInitializerAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndSetEmitFlags);
53933
53973
  if (ts.isBindingElement(visited)) {
53934
- if (visited.propertyName && ts.isIdentifier(visited.propertyName) && ts.isIdentifier(visited.name)) {
53935
- visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken,
53936
- /* propertyName*/ undefined, visited.propertyName,
53937
- /*initializer*/ undefined);
53938
- }
53939
- else {
53940
- visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name,
53941
- /*initializer*/ undefined);
53942
- }
53974
+ visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name,
53975
+ /*initializer*/ undefined);
53943
53976
  }
53944
53977
  if (!ts.nodeIsSynthesized(visited)) {
53945
53978
  visited = ts.factory.cloneNode(visited);
@@ -56934,7 +56967,11 @@ var ts;
56934
56967
  if (reportErrors && !declarationBelongsToPrivateAmbientMember(element)) {
56935
56968
  reportImplicitAny(element, anyType);
56936
56969
  }
56937
- return anyType;
56970
+ // When we're including the pattern in the type (an indication we're obtaining a contextual type), we
56971
+ // use a non-inferrable any type. Inference will never directly infer this type, but it is possible
56972
+ // to infer a type that contains it, e.g. for a binding pattern like [foo] or { foo }. In such cases,
56973
+ // widening of the binding pattern type substitutes a regular any for the non-inferrable any.
56974
+ return includePatternInType ? nonInferrableAnyType : anyType;
56938
56975
  }
56939
56976
  // Return the type implied by an object binding pattern
56940
56977
  function getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) {
@@ -59035,6 +59072,12 @@ var ts;
59035
59072
  return mapType(type, getLowerBoundOfKeyType);
59036
59073
  }
59037
59074
  if (type.flags & 2097152 /* TypeFlags.Intersection */) {
59075
+ // Similarly to getTypeFromIntersectionTypeNode, we preserve the special string & {}, number & {},
59076
+ // and bigint & {} intersections that are used to prevent subtype reduction in union types.
59077
+ var types = type.types;
59078
+ if (types.length === 2 && !!(types[0].flags & (4 /* TypeFlags.String */ | 8 /* TypeFlags.Number */ | 64 /* TypeFlags.BigInt */)) && types[1] === emptyTypeLiteralType) {
59079
+ return type;
59080
+ }
59038
59081
  return getIntersectionType(ts.sameMap(type.types, getLowerBoundOfKeyType));
59039
59082
  }
59040
59083
  return type;
@@ -62173,7 +62216,7 @@ var ts;
62173
62216
  return includes & 8388608 /* TypeFlags.IncludesWildcard */ ? wildcardType : anyType;
62174
62217
  }
62175
62218
  if (!strictNullChecks && includes & 98304 /* TypeFlags.Nullable */) {
62176
- return includes & 32768 /* TypeFlags.Undefined */ ? undefinedType : nullType;
62219
+ return includes & 16777216 /* TypeFlags.IncludesEmptyObject */ ? neverType : includes & 32768 /* TypeFlags.Undefined */ ? undefinedType : nullType;
62177
62220
  }
62178
62221
  if (includes & 4 /* TypeFlags.String */ && includes & (128 /* TypeFlags.StringLiteral */ | 134217728 /* TypeFlags.TemplateLiteral */ | 268435456 /* TypeFlags.StringMapping */) ||
62179
62222
  includes & 8 /* TypeFlags.Number */ && includes & 256 /* TypeFlags.NumberLiteral */ ||
@@ -62863,7 +62906,7 @@ var ts;
62863
62906
  // (T | U)[K] -> T[K] | U[K] (reading)
62864
62907
  // (T | U)[K] -> T[K] & U[K] (writing)
62865
62908
  // (T & U)[K] -> T[K] & U[K]
62866
- if (objectType.flags & 3145728 /* TypeFlags.UnionOrIntersection */) {
62909
+ if (objectType.flags & 1048576 /* TypeFlags.Union */ || objectType.flags & 2097152 /* TypeFlags.Intersection */ && !shouldDeferIndexType(objectType)) {
62867
62910
  var types = ts.map(objectType.types, function (t) { return getSimplifiedType(getIndexedAccessType(t, indexType), writing); });
62868
62911
  return objectType.flags & 2097152 /* TypeFlags.Intersection */ || writing ? getIntersectionType(types) : getUnionType(types);
62869
62912
  }
@@ -65271,7 +65314,7 @@ var ts;
65271
65314
  if (reduced !== type) {
65272
65315
  return reduced;
65273
65316
  }
65274
- if (type.flags & 2097152 /* TypeFlags.Intersection */) {
65317
+ if (type.flags & 2097152 /* TypeFlags.Intersection */ && ts.some(type.types, isEmptyAnonymousObjectType)) {
65275
65318
  var normalizedTypes = ts.sameMap(type.types, function (t) { return getNormalizedType(t, writing); });
65276
65319
  if (normalizedTypes !== type.types) {
65277
65320
  return getIntersectionType(normalizedTypes);
@@ -66442,7 +66485,7 @@ var ts;
66442
66485
  // create a new chain for the constraint error
66443
66486
  resetErrorInfo(saveErrorInfo);
66444
66487
  }
66445
- if (result = isRelatedTo(source, constraint, 2 /* RecursionFlags.Target */, reportErrors)) {
66488
+ if (result = isRelatedTo(source, constraint, 2 /* RecursionFlags.Target */, reportErrors, /* headMessage */ undefined, intersectionState)) {
66446
66489
  return result;
66447
66490
  }
66448
66491
  // prefer the shorter chain of the constraint comparison chain, and the direct comparison chain
@@ -66534,8 +66577,8 @@ var ts;
66534
66577
  var skipTrue = !isTypeAssignableTo(getPermissiveInstantiation(c.checkType), getPermissiveInstantiation(c.extendsType));
66535
66578
  var skipFalse = !skipTrue && isTypeAssignableTo(getRestrictiveInstantiation(c.checkType), getRestrictiveInstantiation(c.extendsType));
66536
66579
  // TODO: Find a nice way to include potential conditional type breakdowns in error output, if they seem good (they usually don't)
66537
- if (result = skipTrue ? -1 /* Ternary.True */ : isRelatedTo(source, getTrueTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false)) {
66538
- result &= skipFalse ? -1 /* Ternary.True */ : isRelatedTo(source, getFalseTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false);
66580
+ if (result = skipTrue ? -1 /* Ternary.True */ : isRelatedTo(source, getTrueTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState)) {
66581
+ result &= skipFalse ? -1 /* Ternary.True */ : isRelatedTo(source, getFalseTypeFromConditionalType(c), 2 /* RecursionFlags.Target */, /*reportErrors*/ false, /*headMessage*/ undefined, intersectionState);
66539
66582
  if (result) {
66540
66583
  return result;
66541
66584
  }
@@ -69222,7 +69265,10 @@ var ts;
69222
69265
  //
69223
69266
  // This flag is infectious; if we produce Box<never> (where never is silentNeverType), Box<never> is
69224
69267
  // also non-inferrable.
69225
- if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */) {
69268
+ //
69269
+ // As a special case, also ignore nonInferrableAnyType, which is a special form of the any type
69270
+ // used as a stand-in for binding elements when they are being inferred.
69271
+ if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */ || source === nonInferrableAnyType) {
69226
69272
  return;
69227
69273
  }
69228
69274
  if (!inference.isFixed) {
@@ -71564,7 +71610,7 @@ var ts;
71564
71610
  var narrowedPropType = narrowType(propType);
71565
71611
  return filterType(type, function (t) {
71566
71612
  var discriminantType = getTypeOfPropertyOrIndexSignature(t, propName);
71567
- return !(narrowedPropType.flags & 131072 /* TypeFlags.Never */) && isTypeComparableTo(narrowedPropType, discriminantType);
71613
+ return !(narrowedPropType.flags & 131072 /* TypeFlags.Never */) && areTypesComparable(narrowedPropType, discriminantType);
71568
71614
  });
71569
71615
  }
71570
71616
  function narrowTypeByDiscriminantProperty(type, access, operator, value, assumeTrue) {
@@ -71613,7 +71659,7 @@ var ts;
71613
71659
  }
71614
71660
  function narrowByInKeyword(type, name, assumeTrue) {
71615
71661
  if (type.flags & 1048576 /* TypeFlags.Union */
71616
- || type.flags & 524288 /* TypeFlags.Object */ && declaredType !== type
71662
+ || type.flags & 524288 /* TypeFlags.Object */ && declaredType !== type && !(declaredType === unknownType && isEmptyAnonymousObjectType(type))
71617
71663
  || ts.isThisTypeParameter(type)
71618
71664
  || type.flags & 2097152 /* TypeFlags.Intersection */ && ts.every(type.types, function (t) { return t.symbol !== globalThisSymbol; })) {
71619
71665
  return filterType(type, function (t) { return isTypePresencePossible(t, name, assumeTrue); });
@@ -71746,14 +71792,18 @@ var ts;
71746
71792
  assumeTrue = !assumeTrue;
71747
71793
  }
71748
71794
  var valueType = getTypeOfExpression(value);
71749
- if ((type.flags & 2 /* TypeFlags.Unknown */) && assumeTrue && (operator === 36 /* SyntaxKind.EqualsEqualsEqualsToken */ || operator === 37 /* SyntaxKind.ExclamationEqualsEqualsToken */)) {
71795
+ if (((type.flags & 2 /* TypeFlags.Unknown */) || isEmptyAnonymousObjectType(type) && !(valueType.flags & 98304 /* TypeFlags.Nullable */)) &&
71796
+ assumeTrue &&
71797
+ (operator === 36 /* SyntaxKind.EqualsEqualsEqualsToken */ || operator === 37 /* SyntaxKind.ExclamationEqualsEqualsToken */)) {
71750
71798
  if (valueType.flags & (131068 /* TypeFlags.Primitive */ | 67108864 /* TypeFlags.NonPrimitive */)) {
71751
71799
  return valueType;
71752
71800
  }
71753
71801
  if (valueType.flags & 524288 /* TypeFlags.Object */) {
71754
71802
  return nonPrimitiveType;
71755
71803
  }
71756
- return type;
71804
+ if (type.flags & 2 /* TypeFlags.Unknown */) {
71805
+ return type;
71806
+ }
71757
71807
  }
71758
71808
  if (valueType.flags & 98304 /* TypeFlags.Nullable */) {
71759
71809
  if (!strictNullChecks) {
@@ -72212,7 +72262,9 @@ var ts;
72212
72262
  !!(type.flags & 465829888 /* TypeFlags.Instantiable */ && getBaseConstraintOrType(type).flags & (98304 /* TypeFlags.Nullable */ | 1048576 /* TypeFlags.Union */));
72213
72263
  }
72214
72264
  function isGenericTypeWithoutNullableConstraint(type) {
72215
- return !!(type.flags & 465829888 /* TypeFlags.Instantiable */ && !maybeTypeOfKind(getBaseConstraintOrType(type), 98304 /* TypeFlags.Nullable */));
72265
+ return type.flags & 2097152 /* TypeFlags.Intersection */ ?
72266
+ ts.some(type.types, isGenericTypeWithoutNullableConstraint) :
72267
+ !!(type.flags & 465829888 /* TypeFlags.Instantiable */ && !maybeTypeOfKind(getBaseConstraintOrType(type), 98304 /* TypeFlags.Nullable */));
72216
72268
  }
72217
72269
  function hasContextualTypeWithNoGenericTypes(node, checkMode) {
72218
72270
  // Computing the contextual type for a child of a JSX element involves resolving the type of the
@@ -81382,7 +81434,7 @@ var ts;
81382
81434
  checkDecorators(node);
81383
81435
  }
81384
81436
  function getEffectiveTypeArgumentAtIndex(node, typeParameters, index) {
81385
- if (index < typeParameters.length) {
81437
+ if (node.typeArguments && index < node.typeArguments.length) {
81386
81438
  return getTypeFromTypeNode(node.typeArguments[index]);
81387
81439
  }
81388
81440
  return getEffectiveTypeArguments(node, typeParameters)[index];
@@ -90161,7 +90213,7 @@ var ts;
90161
90213
  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);
90162
90214
  }
90163
90215
  var nodeArguments = node.arguments;
90164
- if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext) {
90216
+ if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext && moduleKind !== ts.ModuleKind.Node16) {
90165
90217
  // We are allowed trailing comma after proposal-import-assertions.
90166
90218
  checkGrammarForDisallowedTrailingComma(nodeArguments);
90167
90219
  if (nodeArguments.length > 1) {
@@ -117808,7 +117860,7 @@ var ts;
117808
117860
  state.failedLookupLocations = packageJsonLocations;
117809
117861
  state.affectingLocations = packageJsonLocations;
117810
117862
  var packageJsonScope = ts.getPackageScopeForPath(fileName, state);
117811
- var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS;
117863
+ var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.contents.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS;
117812
117864
  return { impliedNodeFormat: impliedNodeFormat, packageJsonLocations: packageJsonLocations, packageJsonScope: packageJsonScope };
117813
117865
  }
117814
117866
  }
@@ -119539,7 +119591,7 @@ var ts;
119539
119591
  // 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
119540
119592
  // 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
119541
119593
  // 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.
119542
- var result = getImpliedNodeFormatForFileWorker(toPath(fileName), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options);
119594
+ var result = getImpliedNodeFormatForFileWorker(ts.getNormalizedAbsolutePath(fileName, currentDirectory), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options);
119543
119595
  var languageVersion = ts.getEmitScriptTarget(options);
119544
119596
  var setExternalModuleIndicator = ts.getSetExternalModuleIndicator(options);
119545
119597
  return typeof result === "object" ? __assign(__assign({}, result), { languageVersion: languageVersion, setExternalModuleIndicator: setExternalModuleIndicator }) :
@@ -124200,7 +124252,7 @@ var ts;
124200
124252
  var maybeBlockedByTypesVersions = false;
124201
124253
  var cachedPackageJson = (_b = (_a = host.getPackageJsonInfoCache) === null || _a === void 0 ? void 0 : _a.call(host)) === null || _b === void 0 ? void 0 : _b.getPackageJsonInfo(packageJsonPath);
124202
124254
  if (typeof cachedPackageJson === "object" || cachedPackageJson === undefined && host.fileExists(packageJsonPath)) {
124203
- var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath));
124255
+ var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.contents.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath));
124204
124256
  var importMode = overrideMode || importingSourceFile.impliedNodeFormat;
124205
124257
  if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node16 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) {
124206
124258
  var conditions = ["node", importMode === ts.ModuleKind.ESNext ? "import" : "require", "types"];
@@ -124562,7 +124614,7 @@ var ts;
124562
124614
  case ts.ModuleKind.CommonJS:
124563
124615
  if (file.packageJsonScope) {
124564
124616
  (result !== null && result !== void 0 ? result : (result = [])).push(ts.chainDiagnosticMessages(
124565
- /*details*/ undefined, file.packageJsonScope.packageJsonContent.type ?
124617
+ /*details*/ undefined, file.packageJsonScope.contents.packageJsonContent.type ?
124566
124618
  ts.Diagnostics.File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module :
124567
124619
  ts.Diagnostics.File_is_CommonJS_module_because_0_does_not_have_field_type, toFileName(ts.last(file.packageJsonLocations), fileNameConvertor)));
124568
124620
  }
@@ -126909,9 +126961,7 @@ var ts;
126909
126961
  }
126910
126962
  }
126911
126963
  }
126912
- var seenRefs = buildInfoPath ? new ts.Set() : undefined;
126913
126964
  var buildInfoCacheEntry = state.buildInfoCache.get(resolvedPath);
126914
- seenRefs === null || seenRefs === void 0 ? void 0 : seenRefs.add(resolvedPath);
126915
126965
  /** Inputs are up-to-date, just need either timestamp update or bundle prepend manipulation to make it look up-to-date */
126916
126966
  var pseudoUpToDate = false;
126917
126967
  var usesPrepend = false;
@@ -126926,7 +126976,7 @@ var ts;
126926
126976
  continue;
126927
126977
  }
126928
126978
  // Check if tsbuildinfo path is shared, then we need to rebuild
126929
- if (buildInfoCacheEntry && hasSameBuildInfo(state, buildInfoCacheEntry, seenRefs, resolvedConfig, resolvedRefPath)) {
126979
+ if (buildInfoCacheEntry && hasSameBuildInfo(state, buildInfoCacheEntry, resolvedRefPath)) {
126930
126980
  return {
126931
126981
  type: ts.UpToDateStatusType.OutOfDateWithUpstream,
126932
126982
  outOfDateOutputFileName: buildInfoPath,
@@ -126984,25 +127034,9 @@ var ts;
126984
127034
  oldestOutputFileName: oldestOutputFileName
126985
127035
  };
126986
127036
  }
126987
- function hasSameBuildInfo(state, buildInfoCacheEntry, seenRefs, resolvedConfig, resolvedRefPath) {
126988
- if (seenRefs.has(resolvedRefPath))
126989
- return false;
126990
- seenRefs.add(resolvedRefPath);
127037
+ function hasSameBuildInfo(state, buildInfoCacheEntry, resolvedRefPath) {
126991
127038
  var refBuildInfo = state.buildInfoCache.get(resolvedRefPath);
126992
- if (refBuildInfo.path === buildInfoCacheEntry.path)
126993
- return true;
126994
- if (resolvedConfig.projectReferences) {
126995
- // Check references
126996
- for (var _i = 0, _a = resolvedConfig.projectReferences; _i < _a.length; _i++) {
126997
- var ref = _a[_i];
126998
- var resolvedRef = ts.resolveProjectReferencePath(ref);
126999
- var resolvedRefPath_1 = toResolvedConfigFilePath(state, resolvedRef);
127000
- var resolvedConfig_1 = parseConfigFile(state, resolvedRef, resolvedRefPath_1);
127001
- if (hasSameBuildInfo(state, buildInfoCacheEntry, seenRefs, resolvedConfig_1, resolvedRefPath_1))
127002
- return true;
127003
- }
127004
- }
127005
- return false;
127039
+ return refBuildInfo.path === buildInfoCacheEntry.path;
127006
127040
  }
127007
127041
  function getUpToDateStatus(state, project, resolvedPath) {
127008
127042
  if (project === undefined) {