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