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/tsc.js +165 -137
- package/lib/tsserver.js +186 -152
- package/lib/tsserverlibrary.d.ts +0 -1
- package/lib/tsserverlibrary.js +185 -151
- package/lib/typescript.js +177 -143
- package/lib/typescriptServices.js +177 -143
- package/lib/typingsInstaller.js +176 -142
- package/package.json +1 -1
package/lib/typingsInstaller.js
CHANGED
|
@@ -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.
|
|
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
|
-
|
|
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
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
50981
|
-
|
|
50982
|
-
|
|
50983
|
-
|
|
50984
|
-
|
|
50985
|
-
|
|
50986
|
-
|
|
50987
|
-
|
|
50988
|
-
|
|
50989
|
-
|
|
50990
|
-
|
|
50991
|
-
|
|
50992
|
-
|
|
50993
|
-
|
|
50994
|
-
|
|
50995
|
-
|
|
50996
|
-
|
|
50997
|
-
|
|
50998
|
-
|
|
50999
|
-
|
|
51000
|
-
|
|
51001
|
-
|
|
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 (
|
|
51005
|
-
|
|
51006
|
-
|
|
51007
|
-
|
|
51008
|
-
|
|
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
|
-
|
|
51011
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
53928
|
-
function
|
|
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,
|
|
53972
|
+
var visited = ts.visitEachChild(node, elideInitializerAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndSetEmitFlags);
|
|
53933
53973
|
if (ts.isBindingElement(visited)) {
|
|
53934
|
-
|
|
53935
|
-
|
|
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
|
-
|
|
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 &
|
|
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
|
-
|
|
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 */) &&
|
|
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 */)
|
|
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
|
-
|
|
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
|
|
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 <
|
|
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(
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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) {
|