Update LKG to 4.8.4 (#50987)

This commit is contained in:
Jake Bailey 2022-09-29 12:42:20 -07:00 committed by GitHub
parent 9a83f2551d
commit 45148dd715
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 388 additions and 347 deletions

View File

@ -69,7 +69,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
var ts;
(function (ts) {
ts.versionMajorMinor = "4.8";
ts.version = "4.8.3";
ts.version = "4.8.4";
var NativeCollections;
(function (NativeCollections) {
var globals = typeof globalThis !== "undefined" ? globalThis :
@ -25457,6 +25457,7 @@ var ts;
case 335:
case 336:
case 331:
case 337:
return visitNode(cbNode, node.tagName)
|| (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
case 350:
@ -34938,7 +34939,7 @@ var ts;
function withPackageId(packageInfo, r) {
var packageId;
if (r && packageInfo) {
var packageJsonContent = packageInfo.packageJsonContent;
var packageJsonContent = packageInfo.contents.packageJsonContent;
if (typeof packageJsonContent.name === "string" && typeof packageJsonContent.version === "string") {
packageId = {
name: packageJsonContent.name,
@ -36067,13 +36068,13 @@ var ts;
function loadNodeModuleFromDirectory(extensions, candidate, onlyRecordFailures, state, considerPackageJson) {
if (considerPackageJson === void 0) { considerPackageJson = true; }
var packageInfo = considerPackageJson ? getPackageJsonInfo(candidate, onlyRecordFailures, state) : undefined;
var packageJsonContent = packageInfo && packageInfo.packageJsonContent;
var versionPaths = packageInfo && packageInfo.versionPaths;
var packageJsonContent = packageInfo && packageInfo.contents.packageJsonContent;
var versionPaths = packageInfo && packageInfo.contents.versionPaths;
return withPackageId(packageInfo, loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageJsonContent, versionPaths));
}
function getEntrypointsFromPackageJsonInfo(packageJsonInfo, options, host, cache, resolveJs) {
if (!resolveJs && packageJsonInfo.resolvedEntrypoints !== undefined) {
return packageJsonInfo.resolvedEntrypoints;
if (!resolveJs && packageJsonInfo.contents.resolvedEntrypoints !== undefined) {
return packageJsonInfo.contents.resolvedEntrypoints;
}
var entrypoints;
var extensions = resolveJs ? Extensions.JavaScript : Extensions.TypeScript;
@ -36081,13 +36082,13 @@ var ts;
var requireState = getTemporaryModuleResolutionState(cache === null || cache === void 0 ? void 0 : cache.getPackageJsonInfoCache(), host, options);
requireState.conditions = ["node", "require", "types"];
requireState.requestContainingDirectory = packageJsonInfo.packageDirectory;
var requireResolution = loadNodeModuleFromDirectoryWorker(extensions, packageJsonInfo.packageDirectory, false, requireState, packageJsonInfo.packageJsonContent, packageJsonInfo.versionPaths);
var requireResolution = loadNodeModuleFromDirectoryWorker(extensions, packageJsonInfo.packageDirectory, false, requireState, packageJsonInfo.contents.packageJsonContent, packageJsonInfo.contents.versionPaths);
entrypoints = ts.append(entrypoints, requireResolution === null || requireResolution === void 0 ? void 0 : requireResolution.path);
if (features & NodeResolutionFeatures.Exports && packageJsonInfo.packageJsonContent.exports) {
if (features & NodeResolutionFeatures.Exports && packageJsonInfo.contents.packageJsonContent.exports) {
for (var _i = 0, _a = [["node", "import", "types"], ["node", "require", "types"]]; _i < _a.length; _i++) {
var conditions = _a[_i];
var exportState = __assign(__assign({}, requireState), { failedLookupLocations: [], conditions: conditions });
var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.packageJsonContent.exports, exportState, extensions);
var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.contents.packageJsonContent.exports, exportState, extensions);
if (exportResolutions) {
for (var _b = 0, exportResolutions_1 = exportResolutions; _b < exportResolutions_1.length; _b++) {
var resolution = exportResolutions_1[_b];
@ -36096,7 +36097,7 @@ var ts;
}
}
}
return packageJsonInfo.resolvedEntrypoints = entrypoints || false;
return packageJsonInfo.contents.resolvedEntrypoints = entrypoints || false;
}
ts.getEntrypointsFromPackageJsonInfo = getEntrypointsFromPackageJsonInfo;
function loadEntrypointsFromExportMap(scope, exports, state, extensions) {
@ -36192,7 +36193,9 @@ var ts;
if (traceEnabled)
trace(host, ts.Diagnostics.File_0_exists_according_to_earlier_cached_lookups, packageJsonPath);
state.affectingLocations.push(packageJsonPath);
return existing;
return existing.packageDirectory === packageDirectory ?
existing :
{ packageDirectory: packageDirectory, contents: existing.contents };
}
else {
if (existing && traceEnabled)
@ -36208,7 +36211,7 @@ var ts;
trace(host, ts.Diagnostics.Found_package_json_at_0, packageJsonPath);
}
var versionPaths = readPackageJsonTypesVersionPaths(packageJsonContent, state);
var result = { packageDirectory: packageDirectory, packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined };
var result = { packageDirectory: packageDirectory, contents: { packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined } };
(_b = state.packageJsonInfoCache) === null || _b === void 0 ? void 0 : _b.setPackageJsonInfo(packageJsonPath, result);
state.affectingLocations.push(packageJsonPath);
return result;
@ -36320,17 +36323,16 @@ var ts;
}
function loadModuleFromSelfNameReference(extensions, moduleName, directory, state, cache, redirectedReference) {
var _a, _b;
var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames;
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));
var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a));
var scope = getPackageScopeForPath(directoryPath, state);
if (!scope || !scope.packageJsonContent.exports) {
if (!scope || !scope.contents.packageJsonContent.exports) {
return undefined;
}
if (typeof scope.packageJsonContent.name !== "string") {
if (typeof scope.contents.packageJsonContent.name !== "string") {
return undefined;
}
var parts = ts.getPathComponents(moduleName);
var nameParts = ts.getPathComponents(scope.packageJsonContent.name);
var nameParts = ts.getPathComponents(scope.contents.packageJsonContent.name);
if (!ts.every(nameParts, function (p, i) { return parts[i] === p; })) {
return undefined;
}
@ -36338,30 +36340,30 @@ var ts;
return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : ".".concat(ts.directorySeparator).concat(trailingParts.join(ts.directorySeparator)), state, cache, redirectedReference);
}
function loadModuleFromExports(scope, extensions, subpath, state, cache, redirectedReference) {
if (!scope.packageJsonContent.exports) {
if (!scope.contents.packageJsonContent.exports) {
return undefined;
}
if (subpath === ".") {
var mainExport = void 0;
if (typeof scope.packageJsonContent.exports === "string" || Array.isArray(scope.packageJsonContent.exports) || (typeof scope.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.packageJsonContent.exports))) {
mainExport = scope.packageJsonContent.exports;
if (typeof scope.contents.packageJsonContent.exports === "string" || Array.isArray(scope.contents.packageJsonContent.exports) || (typeof scope.contents.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.contents.packageJsonContent.exports))) {
mainExport = scope.contents.packageJsonContent.exports;
}
else if (ts.hasProperty(scope.packageJsonContent.exports, ".")) {
mainExport = scope.packageJsonContent.exports["."];
else if (ts.hasProperty(scope.contents.packageJsonContent.exports, ".")) {
mainExport = scope.contents.packageJsonContent.exports["."];
}
if (mainExport) {
var loadModuleFromTargetImportOrExport = getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, subpath, scope, false);
return loadModuleFromTargetImportOrExport(mainExport, "", false);
}
}
else if (allKeysStartWithDot(scope.packageJsonContent.exports)) {
if (typeof scope.packageJsonContent.exports !== "object") {
else if (allKeysStartWithDot(scope.contents.packageJsonContent.exports)) {
if (typeof scope.contents.packageJsonContent.exports !== "object") {
if (state.traceEnabled) {
trace(state.host, ts.Diagnostics.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1, subpath, scope.packageDirectory);
}
return toSearchResult(undefined);
}
var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.packageJsonContent.exports, scope, false);
var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.contents.packageJsonContent.exports, scope, false);
if (result) {
return result;
}
@ -36379,8 +36381,7 @@ var ts;
}
return toSearchResult(undefined);
}
var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames;
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));
var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a));
var scope = getPackageScopeForPath(directoryPath, state);
if (!scope) {
if (state.traceEnabled) {
@ -36388,13 +36389,13 @@ var ts;
}
return toSearchResult(undefined);
}
if (!scope.packageJsonContent.imports) {
if (!scope.contents.packageJsonContent.imports) {
if (state.traceEnabled) {
trace(state.host, ts.Diagnostics.package_json_scope_0_has_no_imports_defined, scope.packageDirectory);
}
return toSearchResult(undefined);
}
var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.packageJsonContent.imports, scope, true);
var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.contents.packageJsonContent.imports, scope, true);
if (result) {
return result;
}
@ -36691,20 +36692,20 @@ var ts;
if (fromFile) {
return noPackageId(fromFile);
}
var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.packageJsonContent, packageInfo.versionPaths);
var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.contents.packageJsonContent, packageInfo.contents.versionPaths);
return withPackageId(packageInfo, fromDirectory);
}
}
var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;
var loader = function (extensions, candidate, onlyRecordFailures, state) {
var _a;
if (packageInfo && packageInfo.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) {
if (packageInfo && packageInfo.contents.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) {
return (_a = loadModuleFromExports(packageInfo, extensions, ts.combinePaths(".", rest), state, cache, redirectedReference)) === null || _a === void 0 ? void 0 : _a.value;
}
var pathAndExtension = loadModuleFromFile(extensions, candidate, onlyRecordFailures, state) ||
loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.packageJsonContent, packageInfo && packageInfo.versionPaths);
loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.contents.packageJsonContent, packageInfo && packageInfo.contents.versionPaths);
if (!pathAndExtension && packageInfo
&& (packageInfo.packageJsonContent.exports === undefined || packageInfo.packageJsonContent.exports === null)
&& (packageInfo.contents.packageJsonContent.exports === undefined || packageInfo.contents.packageJsonContent.exports === null)
&& state.features & NodeResolutionFeatures.EsmMode) {
pathAndExtension = loadModuleFromFile(extensions, ts.combinePaths(candidate, "index.js"), onlyRecordFailures, state);
}
@ -36713,12 +36714,12 @@ var ts;
if (rest !== "") {
var packageDirectory = ts.combinePaths(nodeModulesDirectory, packageName);
packageInfo = getPackageJsonInfo(packageDirectory, !nodeModulesDirectoryExists, state);
if (packageInfo && packageInfo.versionPaths) {
if (packageInfo && packageInfo.contents.versionPaths) {
if (state.traceEnabled) {
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);
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);
}
var packageDirectoryExists = nodeModulesDirectoryExists && ts.directoryProbablyExists(packageDirectory, state.host);
var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.versionPaths.paths, undefined, loader, !packageDirectoryExists, state);
var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.contents.versionPaths.paths, undefined, loader, !packageDirectoryExists, state);
if (fromPaths) {
return fromPaths.value;
}
@ -40287,6 +40288,7 @@ var ts;
var wildcardType = createIntrinsicType(1, "any");
var errorType = createIntrinsicType(1, "error");
var unresolvedType = createIntrinsicType(1, "unresolved");
var nonInferrableAnyType = createIntrinsicType(1, "any", 65536);
var intrinsicMarkerType = createIntrinsicType(1, "intrinsic");
var unknownType = createIntrinsicType(2, "unknown");
var nonNullUnknownType = createIntrinsicType(2, "unknown");
@ -42545,7 +42547,7 @@ var ts;
if (ext === ".ts" || ext === ".js" || ext === ".tsx" || ext === ".jsx") {
var scope = currentSourceFile.packageJsonScope;
var targetExt = ext === ".ts" ? ".mts" : ext === ".js" ? ".mjs" : undefined;
if (scope && !scope.packageJsonContent.type) {
if (scope && !scope.contents.packageJsonContent.type) {
if (targetExt) {
diagnosticDetails = ts.chainDiagnosticMessages(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"));
}
@ -44559,19 +44561,14 @@ var ts;
context.approximateLength += ts.symbolName(parameterSymbol).length + 3;
return parameterNode;
function cloneBindingName(node) {
return elideInitializerAndPropertyRenamingAndSetEmitFlags(node);
function elideInitializerAndPropertyRenamingAndSetEmitFlags(node) {
return elideInitializerAndSetEmitFlags(node);
function elideInitializerAndSetEmitFlags(node) {
if (context.tracker.trackSymbol && ts.isComputedPropertyName(node) && isLateBindableName(node)) {
trackComputedName(node.expression, context.enclosingDeclaration, context);
}
var visited = ts.visitEachChild(node, elideInitializerAndPropertyRenamingAndSetEmitFlags, ts.nullTransformationContext, undefined, elideInitializerAndPropertyRenamingAndSetEmitFlags);
var visited = ts.visitEachChild(node, elideInitializerAndSetEmitFlags, ts.nullTransformationContext, undefined, elideInitializerAndSetEmitFlags);
if (ts.isBindingElement(visited)) {
if (visited.propertyName && ts.isIdentifier(visited.propertyName) && ts.isIdentifier(visited.name)) {
visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, undefined, visited.propertyName, undefined);
}
else {
visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name, undefined);
}
visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name, undefined);
}
if (!ts.nodeIsSynthesized(visited)) {
visited = ts.factory.cloneNode(visited);
@ -47113,7 +47110,7 @@ var ts;
if (reportErrors && !declarationBelongsToPrivateAmbientMember(element)) {
reportImplicitAny(element, anyType);
}
return anyType;
return includePatternInType ? nonInferrableAnyType : anyType;
}
function getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) {
var members = ts.createSymbolTable();
@ -48941,6 +48938,10 @@ var ts;
return mapType(type, getLowerBoundOfKeyType);
}
if (type.flags & 2097152) {
var types = type.types;
if (types.length === 2 && !!(types[0].flags & (4 | 8 | 64)) && types[1] === emptyTypeLiteralType) {
return type;
}
return getIntersectionType(ts.sameMap(type.types, getLowerBoundOfKeyType));
}
return type;
@ -57813,7 +57814,7 @@ var ts;
}
var inference = getInferenceInfoForType(target);
if (inference) {
if (ts.getObjectFlags(source) & 262144) {
if (ts.getObjectFlags(source) & 262144 || source === nonInferrableAnyType) {
return;
}
if (!inference.isFixed) {
@ -68354,7 +68355,7 @@ var ts;
checkDecorators(node);
}
function getEffectiveTypeArgumentAtIndex(node, typeParameters, index) {
if (index < typeParameters.length) {
if (node.typeArguments && index < node.typeArguments.length) {
return getTypeFromTypeNode(node.typeArguments[index]);
}
return getEffectiveTypeArguments(node, typeParameters)[index];
@ -76001,7 +76002,7 @@ var ts;
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);
}
var nodeArguments = node.arguments;
if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext) {
if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext && moduleKind !== ts.ModuleKind.Node16) {
checkGrammarForDisallowedTrailingComma(nodeArguments);
if (nodeArguments.length > 1) {
var assertionArgument = nodeArguments[1];
@ -97471,7 +97472,7 @@ var ts;
state.failedLookupLocations = packageJsonLocations;
state.affectingLocations = packageJsonLocations;
var packageJsonScope = ts.getPackageScopeForPath(fileName, state);
var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS;
var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.contents.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS;
return { impliedNodeFormat: impliedNodeFormat, packageJsonLocations: packageJsonLocations, packageJsonScope: packageJsonScope };
}
}
@ -98966,7 +98967,7 @@ var ts;
return result;
}
function getCreateSourceFileOptions(fileName, moduleResolutionCache, host, options) {
var result = getImpliedNodeFormatForFileWorker(toPath(fileName), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options);
var result = getImpliedNodeFormatForFileWorker(ts.getNormalizedAbsolutePath(fileName, currentDirectory), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options);
var languageVersion = ts.getEmitScriptTarget(options);
var setExternalModuleIndicator = ts.getSetExternalModuleIndicator(options);
return typeof result === "object" ? __assign(__assign({}, result), { languageVersion: languageVersion, setExternalModuleIndicator: setExternalModuleIndicator }) :
@ -102976,7 +102977,7 @@ var ts;
var maybeBlockedByTypesVersions = false;
var cachedPackageJson = (_b = (_a = host.getPackageJsonInfoCache) === null || _a === void 0 ? void 0 : _a.call(host)) === null || _b === void 0 ? void 0 : _b.getPackageJsonInfo(packageJsonPath);
if (typeof cachedPackageJson === "object" || cachedPackageJson === undefined && host.fileExists(packageJsonPath)) {
var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath));
var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.contents.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath));
var importMode = overrideMode || importingSourceFile.impliedNodeFormat;
if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node16 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) {
var conditions = ["node", importMode === ts.ModuleKind.ESNext ? "import" : "require", "types"];
@ -103308,7 +103309,7 @@ var ts;
break;
case ts.ModuleKind.CommonJS:
if (file.packageJsonScope) {
(result !== null && result !== void 0 ? result : (result = [])).push(ts.chainDiagnosticMessages(undefined, file.packageJsonScope.packageJsonContent.type ?
(result !== null && result !== void 0 ? result : (result = [])).push(ts.chainDiagnosticMessages(undefined, file.packageJsonScope.contents.packageJsonContent.type ?
ts.Diagnostics.File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module :
ts.Diagnostics.File_is_CommonJS_module_because_0_does_not_have_field_type, toFileName(ts.last(file.packageJsonLocations), fileNameConvertor)));
}

View File

@ -109,7 +109,7 @@ var ts;
// The following is baselined as a literal template type without intervention
/** The version of the TypeScript compiler release */
// eslint-disable-next-line @typescript-eslint/no-inferrable-types
ts.version = "4.8.3";
ts.version = "4.8.4";
/* @internal */
var Comparison;
(function (Comparison) {
@ -31516,6 +31516,7 @@ var ts;
case 335 /* SyntaxKind.JSDocProtectedTag */:
case 336 /* SyntaxKind.JSDocReadonlyTag */:
case 331 /* SyntaxKind.JSDocDeprecatedTag */:
case 337 /* SyntaxKind.JSDocOverrideTag */:
return visitNode(cbNode, node.tagName)
|| (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
case 350 /* SyntaxKind.PartiallyEmittedExpression */:
@ -42804,7 +42805,7 @@ var ts;
function withPackageId(packageInfo, r) {
var packageId;
if (r && packageInfo) {
var packageJsonContent = packageInfo.packageJsonContent;
var packageJsonContent = packageInfo.contents.packageJsonContent;
if (typeof packageJsonContent.name === "string" && typeof packageJsonContent.version === "string") {
packageId = {
name: packageJsonContent.name,
@ -44123,16 +44124,16 @@ var ts;
function loadNodeModuleFromDirectory(extensions, candidate, onlyRecordFailures, state, considerPackageJson) {
if (considerPackageJson === void 0) { considerPackageJson = true; }
var packageInfo = considerPackageJson ? getPackageJsonInfo(candidate, onlyRecordFailures, state) : undefined;
var packageJsonContent = packageInfo && packageInfo.packageJsonContent;
var versionPaths = packageInfo && packageInfo.versionPaths;
var packageJsonContent = packageInfo && packageInfo.contents.packageJsonContent;
var versionPaths = packageInfo && packageInfo.contents.versionPaths;
return withPackageId(packageInfo, loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageJsonContent, versionPaths));
}
/* @internal */
function getEntrypointsFromPackageJsonInfo(packageJsonInfo, options, host, cache, resolveJs) {
if (!resolveJs && packageJsonInfo.resolvedEntrypoints !== undefined) {
if (!resolveJs && packageJsonInfo.contents.resolvedEntrypoints !== undefined) {
// Cached value excludes resolutions to JS files - those could be
// cached separately, but they're used rarely.
return packageJsonInfo.resolvedEntrypoints;
return packageJsonInfo.contents.resolvedEntrypoints;
}
var entrypoints;
var extensions = resolveJs ? Extensions.JavaScript : Extensions.TypeScript;
@ -44141,13 +44142,13 @@ var ts;
requireState.conditions = ["node", "require", "types"];
requireState.requestContainingDirectory = packageJsonInfo.packageDirectory;
var requireResolution = loadNodeModuleFromDirectoryWorker(extensions, packageJsonInfo.packageDirectory,
/*onlyRecordFailures*/ false, requireState, packageJsonInfo.packageJsonContent, packageJsonInfo.versionPaths);
/*onlyRecordFailures*/ false, requireState, packageJsonInfo.contents.packageJsonContent, packageJsonInfo.contents.versionPaths);
entrypoints = ts.append(entrypoints, requireResolution === null || requireResolution === void 0 ? void 0 : requireResolution.path);
if (features & NodeResolutionFeatures.Exports && packageJsonInfo.packageJsonContent.exports) {
if (features & NodeResolutionFeatures.Exports && packageJsonInfo.contents.packageJsonContent.exports) {
for (var _i = 0, _a = [["node", "import", "types"], ["node", "require", "types"]]; _i < _a.length; _i++) {
var conditions = _a[_i];
var exportState = __assign(__assign({}, requireState), { failedLookupLocations: [], conditions: conditions });
var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.packageJsonContent.exports, exportState, extensions);
var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.contents.packageJsonContent.exports, exportState, extensions);
if (exportResolutions) {
for (var _b = 0, exportResolutions_1 = exportResolutions; _b < exportResolutions_1.length; _b++) {
var resolution = exportResolutions_1[_b];
@ -44156,7 +44157,7 @@ var ts;
}
}
}
return packageJsonInfo.resolvedEntrypoints = entrypoints || false;
return packageJsonInfo.contents.resolvedEntrypoints = entrypoints || false;
}
ts.getEntrypointsFromPackageJsonInfo = getEntrypointsFromPackageJsonInfo;
function loadEntrypointsFromExportMap(scope, exports, state, extensions) {
@ -44260,7 +44261,9 @@ var ts;
if (traceEnabled)
trace(host, ts.Diagnostics.File_0_exists_according_to_earlier_cached_lookups, packageJsonPath);
state.affectingLocations.push(packageJsonPath);
return existing;
return existing.packageDirectory === packageDirectory ?
existing :
{ packageDirectory: packageDirectory, contents: existing.contents };
}
else {
if (existing && traceEnabled)
@ -44276,7 +44279,7 @@ var ts;
trace(host, ts.Diagnostics.Found_package_json_at_0, packageJsonPath);
}
var versionPaths = readPackageJsonTypesVersionPaths(packageJsonContent, state);
var result = { packageDirectory: packageDirectory, packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined };
var result = { packageDirectory: packageDirectory, contents: { packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined } };
(_b = state.packageJsonInfoCache) === null || _b === void 0 ? void 0 : _b.setPackageJsonInfo(packageJsonPath, result);
state.affectingLocations.push(packageJsonPath);
return result;
@ -44401,17 +44404,16 @@ var ts;
}
function loadModuleFromSelfNameReference(extensions, moduleName, directory, state, cache, redirectedReference) {
var _a, _b;
var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames;
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));
var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a));
var scope = getPackageScopeForPath(directoryPath, state);
if (!scope || !scope.packageJsonContent.exports) {
if (!scope || !scope.contents.packageJsonContent.exports) {
return undefined;
}
if (typeof scope.packageJsonContent.name !== "string") {
if (typeof scope.contents.packageJsonContent.name !== "string") {
return undefined;
}
var parts = ts.getPathComponents(moduleName); // unrooted paths should have `""` as their 0th entry
var nameParts = ts.getPathComponents(scope.packageJsonContent.name);
var nameParts = ts.getPathComponents(scope.contents.packageJsonContent.name);
if (!ts.every(nameParts, function (p, i) { return parts[i] === p; })) {
return undefined;
}
@ -44419,30 +44421,30 @@ var ts;
return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : ".".concat(ts.directorySeparator).concat(trailingParts.join(ts.directorySeparator)), state, cache, redirectedReference);
}
function loadModuleFromExports(scope, extensions, subpath, state, cache, redirectedReference) {
if (!scope.packageJsonContent.exports) {
if (!scope.contents.packageJsonContent.exports) {
return undefined;
}
if (subpath === ".") {
var mainExport = void 0;
if (typeof scope.packageJsonContent.exports === "string" || Array.isArray(scope.packageJsonContent.exports) || (typeof scope.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.packageJsonContent.exports))) {
mainExport = scope.packageJsonContent.exports;
if (typeof scope.contents.packageJsonContent.exports === "string" || Array.isArray(scope.contents.packageJsonContent.exports) || (typeof scope.contents.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.contents.packageJsonContent.exports))) {
mainExport = scope.contents.packageJsonContent.exports;
}
else if (ts.hasProperty(scope.packageJsonContent.exports, ".")) {
mainExport = scope.packageJsonContent.exports["."];
else if (ts.hasProperty(scope.contents.packageJsonContent.exports, ".")) {
mainExport = scope.contents.packageJsonContent.exports["."];
}
if (mainExport) {
var loadModuleFromTargetImportOrExport = getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, subpath, scope, /*isImports*/ false);
return loadModuleFromTargetImportOrExport(mainExport, "", /*pattern*/ false);
}
}
else if (allKeysStartWithDot(scope.packageJsonContent.exports)) {
if (typeof scope.packageJsonContent.exports !== "object") {
else if (allKeysStartWithDot(scope.contents.packageJsonContent.exports)) {
if (typeof scope.contents.packageJsonContent.exports !== "object") {
if (state.traceEnabled) {
trace(state.host, ts.Diagnostics.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1, subpath, scope.packageDirectory);
}
return toSearchResult(/*value*/ undefined);
}
var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.packageJsonContent.exports, scope, /*isImports*/ false);
var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.contents.packageJsonContent.exports, scope, /*isImports*/ false);
if (result) {
return result;
}
@ -44460,8 +44462,7 @@ var ts;
}
return toSearchResult(/*value*/ undefined);
}
var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames;
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));
var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a));
var scope = getPackageScopeForPath(directoryPath, state);
if (!scope) {
if (state.traceEnabled) {
@ -44469,13 +44470,13 @@ var ts;
}
return toSearchResult(/*value*/ undefined);
}
if (!scope.packageJsonContent.imports) {
if (!scope.contents.packageJsonContent.imports) {
if (state.traceEnabled) {
trace(state.host, ts.Diagnostics.package_json_scope_0_has_no_imports_defined, scope.packageDirectory);
}
return toSearchResult(/*value*/ undefined);
}
var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.packageJsonContent.imports, scope, /*isImports*/ true);
var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.contents.packageJsonContent.imports, scope, /*isImports*/ true);
if (result) {
return result;
}
@ -44820,7 +44821,7 @@ var ts;
if (fromFile) {
return noPackageId(fromFile);
}
var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.packageJsonContent, packageInfo.versionPaths);
var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.contents.packageJsonContent, packageInfo.contents.versionPaths);
return withPackageId(packageInfo, fromDirectory);
}
}
@ -44828,14 +44829,14 @@ var ts;
var loader = function (extensions, candidate, onlyRecordFailures, state) {
var _a;
// package exports are higher priority than file/directory lookups (and, if there's exports present, blocks them)
if (packageInfo && packageInfo.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) {
if (packageInfo && packageInfo.contents.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) {
return (_a = loadModuleFromExports(packageInfo, extensions, ts.combinePaths(".", rest), state, cache, redirectedReference)) === null || _a === void 0 ? void 0 : _a.value;
}
var pathAndExtension = loadModuleFromFile(extensions, candidate, onlyRecordFailures, state) ||
loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.packageJsonContent, packageInfo && packageInfo.versionPaths);
loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.contents.packageJsonContent, packageInfo && packageInfo.contents.versionPaths);
if (!pathAndExtension && packageInfo
// eslint-disable-next-line no-null/no-null
&& (packageInfo.packageJsonContent.exports === undefined || packageInfo.packageJsonContent.exports === null)
&& (packageInfo.contents.packageJsonContent.exports === undefined || packageInfo.contents.packageJsonContent.exports === null)
&& state.features & NodeResolutionFeatures.EsmMode) {
// EsmMode disables index lookup in `loadNodeModuleFromDirectoryWorker` generally, however non-relative package resolutions still assume
// a default `index.js` entrypoint if no `main` or `exports` are present
@ -44847,12 +44848,12 @@ var ts;
var packageDirectory = ts.combinePaths(nodeModulesDirectory, packageName);
// 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.
packageInfo = getPackageJsonInfo(packageDirectory, !nodeModulesDirectoryExists, state);
if (packageInfo && packageInfo.versionPaths) {
if (packageInfo && packageInfo.contents.versionPaths) {
if (state.traceEnabled) {
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);
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);
}
var packageDirectoryExists = nodeModulesDirectoryExists && ts.directoryProbablyExists(packageDirectory, state.host);
var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state);
var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.contents.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state);
if (fromPaths) {
return fromPaths.value;
}
@ -49153,6 +49154,7 @@ var ts;
var wildcardType = createIntrinsicType(1 /* TypeFlags.Any */, "any");
var errorType = createIntrinsicType(1 /* TypeFlags.Any */, "error");
var unresolvedType = createIntrinsicType(1 /* TypeFlags.Any */, "unresolved");
var nonInferrableAnyType = createIntrinsicType(1 /* TypeFlags.Any */, "any", 65536 /* ObjectFlags.ContainsWideningType */);
var intrinsicMarkerType = createIntrinsicType(1 /* TypeFlags.Any */, "intrinsic");
var unknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown");
var nonNullUnknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown");
@ -51754,7 +51756,7 @@ var ts;
if (ext === ".ts" /* Extension.Ts */ || ext === ".js" /* Extension.Js */ || ext === ".tsx" /* Extension.Tsx */ || ext === ".jsx" /* Extension.Jsx */) {
var scope = currentSourceFile.packageJsonScope;
var targetExt = ext === ".ts" /* Extension.Ts */ ? ".mts" /* Extension.Mts */ : ext === ".js" /* Extension.Js */ ? ".mjs" /* Extension.Mjs */ : undefined;
if (scope && !scope.packageJsonContent.type) {
if (scope && !scope.contents.packageJsonContent.type) {
if (targetExt) {
diagnosticDetails = ts.chainDiagnosticMessages(
/*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"));
@ -53982,22 +53984,15 @@ var ts;
context.approximateLength += ts.symbolName(parameterSymbol).length + 3;
return parameterNode;
function cloneBindingName(node) {
return elideInitializerAndPropertyRenamingAndSetEmitFlags(node);
function elideInitializerAndPropertyRenamingAndSetEmitFlags(node) {
return elideInitializerAndSetEmitFlags(node);
function elideInitializerAndSetEmitFlags(node) {
if (context.tracker.trackSymbol && ts.isComputedPropertyName(node) && isLateBindableName(node)) {
trackComputedName(node.expression, context.enclosingDeclaration, context);
}
var visited = ts.visitEachChild(node, elideInitializerAndPropertyRenamingAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndPropertyRenamingAndSetEmitFlags);
var visited = ts.visitEachChild(node, elideInitializerAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndSetEmitFlags);
if (ts.isBindingElement(visited)) {
if (visited.propertyName && ts.isIdentifier(visited.propertyName) && ts.isIdentifier(visited.name)) {
visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken,
/* propertyName*/ undefined, visited.propertyName,
/*initializer*/ undefined);
}
else {
visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name,
/*initializer*/ undefined);
}
visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name,
/*initializer*/ undefined);
}
if (!ts.nodeIsSynthesized(visited)) {
visited = ts.factory.cloneNode(visited);
@ -56992,7 +56987,11 @@ var ts;
if (reportErrors && !declarationBelongsToPrivateAmbientMember(element)) {
reportImplicitAny(element, anyType);
}
return anyType;
// When we're including the pattern in the type (an indication we're obtaining a contextual type), we
// use a non-inferrable any type. Inference will never directly infer this type, but it is possible
// to infer a type that contains it, e.g. for a binding pattern like [foo] or { foo }. In such cases,
// widening of the binding pattern type substitutes a regular any for the non-inferrable any.
return includePatternInType ? nonInferrableAnyType : anyType;
}
// Return the type implied by an object binding pattern
function getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) {
@ -59093,6 +59092,12 @@ var ts;
return mapType(type, getLowerBoundOfKeyType);
}
if (type.flags & 2097152 /* TypeFlags.Intersection */) {
// Similarly to getTypeFromIntersectionTypeNode, we preserve the special string & {}, number & {},
// and bigint & {} intersections that are used to prevent subtype reduction in union types.
var types = type.types;
if (types.length === 2 && !!(types[0].flags & (4 /* TypeFlags.String */ | 8 /* TypeFlags.Number */ | 64 /* TypeFlags.BigInt */)) && types[1] === emptyTypeLiteralType) {
return type;
}
return getIntersectionType(ts.sameMap(type.types, getLowerBoundOfKeyType));
}
return type;
@ -69280,7 +69285,10 @@ var ts;
//
// This flag is infectious; if we produce Box<never> (where never is silentNeverType), Box<never> is
// also non-inferrable.
if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */) {
//
// As a special case, also ignore nonInferrableAnyType, which is a special form of the any type
// used as a stand-in for binding elements when they are being inferred.
if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */ || source === nonInferrableAnyType) {
return;
}
if (!inference.isFixed) {
@ -81446,7 +81454,7 @@ var ts;
checkDecorators(node);
}
function getEffectiveTypeArgumentAtIndex(node, typeParameters, index) {
if (index < typeParameters.length) {
if (node.typeArguments && index < node.typeArguments.length) {
return getTypeFromTypeNode(node.typeArguments[index]);
}
return getEffectiveTypeArguments(node, typeParameters)[index];
@ -90225,7 +90233,7 @@ var ts;
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);
}
var nodeArguments = node.arguments;
if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext) {
if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext && moduleKind !== ts.ModuleKind.Node16) {
// We are allowed trailing comma after proposal-import-assertions.
checkGrammarForDisallowedTrailingComma(nodeArguments);
if (nodeArguments.length > 1) {
@ -117872,7 +117880,7 @@ var ts;
state.failedLookupLocations = packageJsonLocations;
state.affectingLocations = packageJsonLocations;
var packageJsonScope = ts.getPackageScopeForPath(fileName, state);
var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS;
var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.contents.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS;
return { impliedNodeFormat: impliedNodeFormat, packageJsonLocations: packageJsonLocations, packageJsonScope: packageJsonScope };
}
}
@ -119603,7 +119611,7 @@ var ts;
// 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
// 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
// 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.
var result = getImpliedNodeFormatForFileWorker(toPath(fileName), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options);
var result = getImpliedNodeFormatForFileWorker(ts.getNormalizedAbsolutePath(fileName, currentDirectory), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options);
var languageVersion = ts.getEmitScriptTarget(options);
var setExternalModuleIndicator = ts.getSetExternalModuleIndicator(options);
return typeof result === "object" ? __assign(__assign({}, result), { languageVersion: languageVersion, setExternalModuleIndicator: setExternalModuleIndicator }) :
@ -124264,7 +124272,7 @@ var ts;
var maybeBlockedByTypesVersions = false;
var cachedPackageJson = (_b = (_a = host.getPackageJsonInfoCache) === null || _a === void 0 ? void 0 : _a.call(host)) === null || _b === void 0 ? void 0 : _b.getPackageJsonInfo(packageJsonPath);
if (typeof cachedPackageJson === "object" || cachedPackageJson === undefined && host.fileExists(packageJsonPath)) {
var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath));
var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.contents.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath));
var importMode = overrideMode || importingSourceFile.impliedNodeFormat;
if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node16 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) {
var conditions = ["node", importMode === ts.ModuleKind.ESNext ? "import" : "require", "types"];
@ -124626,7 +124634,7 @@ var ts;
case ts.ModuleKind.CommonJS:
if (file.packageJsonScope) {
(result !== null && result !== void 0 ? result : (result = [])).push(ts.chainDiagnosticMessages(
/*details*/ undefined, file.packageJsonScope.packageJsonContent.type ?
/*details*/ undefined, file.packageJsonScope.contents.packageJsonContent.type ?
ts.Diagnostics.File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module :
ts.Diagnostics.File_is_CommonJS_module_because_0_does_not_have_field_type, toFileName(ts.last(file.packageJsonLocations), fileNameConvertor)));
}
@ -141362,7 +141370,7 @@ var ts;
}
var parent = node.parent;
var typeChecker = program.getTypeChecker();
if (node.kind === 159 /* SyntaxKind.OverrideKeyword */ || (ts.isJSDocOverrideTag(node) && ts.rangeContainsPosition(node.tagName, position))) {
if (node.kind === 159 /* SyntaxKind.OverrideKeyword */ || (ts.isIdentifier(node) && ts.isJSDocOverrideTag(parent) && parent.tagName === node)) {
return getDefinitionFromOverriddenMember(typeChecker, node) || ts.emptyArray;
}
// Labels
@ -178842,7 +178850,7 @@ var ts;
var packageDirectory = fileName.substring(0, nodeModulesPathParts.packageRootIndex);
var packageJsonCache = (_a = project.getModuleResolutionCache()) === null || _a === void 0 ? void 0 : _a.getPackageJsonInfoCache();
var compilerOptions = project.getCompilationSettings();
var packageJson = ts.getPackageScopeForPath(project.toPath(packageDirectory + "/package.json"), ts.getTemporaryModuleResolutionState(packageJsonCache, project, compilerOptions));
var packageJson = ts.getPackageScopeForPath(ts.getNormalizedAbsolutePath(packageDirectory + "/package.json", project.getCurrentDirectory()), ts.getTemporaryModuleResolutionState(packageJsonCache, project, compilerOptions));
if (!packageJson)
return undefined;
// Use fake options instead of actual compiler options to avoid following export map if the project uses node16 or nodenext -

View File

@ -303,7 +303,7 @@ var ts;
// The following is baselined as a literal template type without intervention
/** The version of the TypeScript compiler release */
// eslint-disable-next-line @typescript-eslint/no-inferrable-types
ts.version = "4.8.3";
ts.version = "4.8.4";
/* @internal */
var Comparison;
(function (Comparison) {
@ -31710,6 +31710,7 @@ var ts;
case 335 /* SyntaxKind.JSDocProtectedTag */:
case 336 /* SyntaxKind.JSDocReadonlyTag */:
case 331 /* SyntaxKind.JSDocDeprecatedTag */:
case 337 /* SyntaxKind.JSDocOverrideTag */:
return visitNode(cbNode, node.tagName)
|| (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
case 350 /* SyntaxKind.PartiallyEmittedExpression */:
@ -42998,7 +42999,7 @@ var ts;
function withPackageId(packageInfo, r) {
var packageId;
if (r && packageInfo) {
var packageJsonContent = packageInfo.packageJsonContent;
var packageJsonContent = packageInfo.contents.packageJsonContent;
if (typeof packageJsonContent.name === "string" && typeof packageJsonContent.version === "string") {
packageId = {
name: packageJsonContent.name,
@ -44317,16 +44318,16 @@ var ts;
function loadNodeModuleFromDirectory(extensions, candidate, onlyRecordFailures, state, considerPackageJson) {
if (considerPackageJson === void 0) { considerPackageJson = true; }
var packageInfo = considerPackageJson ? getPackageJsonInfo(candidate, onlyRecordFailures, state) : undefined;
var packageJsonContent = packageInfo && packageInfo.packageJsonContent;
var versionPaths = packageInfo && packageInfo.versionPaths;
var packageJsonContent = packageInfo && packageInfo.contents.packageJsonContent;
var versionPaths = packageInfo && packageInfo.contents.versionPaths;
return withPackageId(packageInfo, loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageJsonContent, versionPaths));
}
/* @internal */
function getEntrypointsFromPackageJsonInfo(packageJsonInfo, options, host, cache, resolveJs) {
if (!resolveJs && packageJsonInfo.resolvedEntrypoints !== undefined) {
if (!resolveJs && packageJsonInfo.contents.resolvedEntrypoints !== undefined) {
// Cached value excludes resolutions to JS files - those could be
// cached separately, but they're used rarely.
return packageJsonInfo.resolvedEntrypoints;
return packageJsonInfo.contents.resolvedEntrypoints;
}
var entrypoints;
var extensions = resolveJs ? Extensions.JavaScript : Extensions.TypeScript;
@ -44335,13 +44336,13 @@ var ts;
requireState.conditions = ["node", "require", "types"];
requireState.requestContainingDirectory = packageJsonInfo.packageDirectory;
var requireResolution = loadNodeModuleFromDirectoryWorker(extensions, packageJsonInfo.packageDirectory,
/*onlyRecordFailures*/ false, requireState, packageJsonInfo.packageJsonContent, packageJsonInfo.versionPaths);
/*onlyRecordFailures*/ false, requireState, packageJsonInfo.contents.packageJsonContent, packageJsonInfo.contents.versionPaths);
entrypoints = ts.append(entrypoints, requireResolution === null || requireResolution === void 0 ? void 0 : requireResolution.path);
if (features & NodeResolutionFeatures.Exports && packageJsonInfo.packageJsonContent.exports) {
if (features & NodeResolutionFeatures.Exports && packageJsonInfo.contents.packageJsonContent.exports) {
for (var _i = 0, _a = [["node", "import", "types"], ["node", "require", "types"]]; _i < _a.length; _i++) {
var conditions = _a[_i];
var exportState = __assign(__assign({}, requireState), { failedLookupLocations: [], conditions: conditions });
var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.packageJsonContent.exports, exportState, extensions);
var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.contents.packageJsonContent.exports, exportState, extensions);
if (exportResolutions) {
for (var _b = 0, exportResolutions_1 = exportResolutions; _b < exportResolutions_1.length; _b++) {
var resolution = exportResolutions_1[_b];
@ -44350,7 +44351,7 @@ var ts;
}
}
}
return packageJsonInfo.resolvedEntrypoints = entrypoints || false;
return packageJsonInfo.contents.resolvedEntrypoints = entrypoints || false;
}
ts.getEntrypointsFromPackageJsonInfo = getEntrypointsFromPackageJsonInfo;
function loadEntrypointsFromExportMap(scope, exports, state, extensions) {
@ -44454,7 +44455,9 @@ var ts;
if (traceEnabled)
trace(host, ts.Diagnostics.File_0_exists_according_to_earlier_cached_lookups, packageJsonPath);
state.affectingLocations.push(packageJsonPath);
return existing;
return existing.packageDirectory === packageDirectory ?
existing :
{ packageDirectory: packageDirectory, contents: existing.contents };
}
else {
if (existing && traceEnabled)
@ -44470,7 +44473,7 @@ var ts;
trace(host, ts.Diagnostics.Found_package_json_at_0, packageJsonPath);
}
var versionPaths = readPackageJsonTypesVersionPaths(packageJsonContent, state);
var result = { packageDirectory: packageDirectory, packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined };
var result = { packageDirectory: packageDirectory, contents: { packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined } };
(_b = state.packageJsonInfoCache) === null || _b === void 0 ? void 0 : _b.setPackageJsonInfo(packageJsonPath, result);
state.affectingLocations.push(packageJsonPath);
return result;
@ -44595,17 +44598,16 @@ var ts;
}
function loadModuleFromSelfNameReference(extensions, moduleName, directory, state, cache, redirectedReference) {
var _a, _b;
var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames;
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));
var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a));
var scope = getPackageScopeForPath(directoryPath, state);
if (!scope || !scope.packageJsonContent.exports) {
if (!scope || !scope.contents.packageJsonContent.exports) {
return undefined;
}
if (typeof scope.packageJsonContent.name !== "string") {
if (typeof scope.contents.packageJsonContent.name !== "string") {
return undefined;
}
var parts = ts.getPathComponents(moduleName); // unrooted paths should have `""` as their 0th entry
var nameParts = ts.getPathComponents(scope.packageJsonContent.name);
var nameParts = ts.getPathComponents(scope.contents.packageJsonContent.name);
if (!ts.every(nameParts, function (p, i) { return parts[i] === p; })) {
return undefined;
}
@ -44613,30 +44615,30 @@ var ts;
return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : ".".concat(ts.directorySeparator).concat(trailingParts.join(ts.directorySeparator)), state, cache, redirectedReference);
}
function loadModuleFromExports(scope, extensions, subpath, state, cache, redirectedReference) {
if (!scope.packageJsonContent.exports) {
if (!scope.contents.packageJsonContent.exports) {
return undefined;
}
if (subpath === ".") {
var mainExport = void 0;
if (typeof scope.packageJsonContent.exports === "string" || Array.isArray(scope.packageJsonContent.exports) || (typeof scope.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.packageJsonContent.exports))) {
mainExport = scope.packageJsonContent.exports;
if (typeof scope.contents.packageJsonContent.exports === "string" || Array.isArray(scope.contents.packageJsonContent.exports) || (typeof scope.contents.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.contents.packageJsonContent.exports))) {
mainExport = scope.contents.packageJsonContent.exports;
}
else if (ts.hasProperty(scope.packageJsonContent.exports, ".")) {
mainExport = scope.packageJsonContent.exports["."];
else if (ts.hasProperty(scope.contents.packageJsonContent.exports, ".")) {
mainExport = scope.contents.packageJsonContent.exports["."];
}
if (mainExport) {
var loadModuleFromTargetImportOrExport = getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, subpath, scope, /*isImports*/ false);
return loadModuleFromTargetImportOrExport(mainExport, "", /*pattern*/ false);
}
}
else if (allKeysStartWithDot(scope.packageJsonContent.exports)) {
if (typeof scope.packageJsonContent.exports !== "object") {
else if (allKeysStartWithDot(scope.contents.packageJsonContent.exports)) {
if (typeof scope.contents.packageJsonContent.exports !== "object") {
if (state.traceEnabled) {
trace(state.host, ts.Diagnostics.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1, subpath, scope.packageDirectory);
}
return toSearchResult(/*value*/ undefined);
}
var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.packageJsonContent.exports, scope, /*isImports*/ false);
var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.contents.packageJsonContent.exports, scope, /*isImports*/ false);
if (result) {
return result;
}
@ -44654,8 +44656,7 @@ var ts;
}
return toSearchResult(/*value*/ undefined);
}
var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames;
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));
var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a));
var scope = getPackageScopeForPath(directoryPath, state);
if (!scope) {
if (state.traceEnabled) {
@ -44663,13 +44664,13 @@ var ts;
}
return toSearchResult(/*value*/ undefined);
}
if (!scope.packageJsonContent.imports) {
if (!scope.contents.packageJsonContent.imports) {
if (state.traceEnabled) {
trace(state.host, ts.Diagnostics.package_json_scope_0_has_no_imports_defined, scope.packageDirectory);
}
return toSearchResult(/*value*/ undefined);
}
var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.packageJsonContent.imports, scope, /*isImports*/ true);
var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.contents.packageJsonContent.imports, scope, /*isImports*/ true);
if (result) {
return result;
}
@ -45014,7 +45015,7 @@ var ts;
if (fromFile) {
return noPackageId(fromFile);
}
var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.packageJsonContent, packageInfo.versionPaths);
var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.contents.packageJsonContent, packageInfo.contents.versionPaths);
return withPackageId(packageInfo, fromDirectory);
}
}
@ -45022,14 +45023,14 @@ var ts;
var loader = function (extensions, candidate, onlyRecordFailures, state) {
var _a;
// package exports are higher priority than file/directory lookups (and, if there's exports present, blocks them)
if (packageInfo && packageInfo.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) {
if (packageInfo && packageInfo.contents.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) {
return (_a = loadModuleFromExports(packageInfo, extensions, ts.combinePaths(".", rest), state, cache, redirectedReference)) === null || _a === void 0 ? void 0 : _a.value;
}
var pathAndExtension = loadModuleFromFile(extensions, candidate, onlyRecordFailures, state) ||
loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.packageJsonContent, packageInfo && packageInfo.versionPaths);
loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.contents.packageJsonContent, packageInfo && packageInfo.contents.versionPaths);
if (!pathAndExtension && packageInfo
// eslint-disable-next-line no-null/no-null
&& (packageInfo.packageJsonContent.exports === undefined || packageInfo.packageJsonContent.exports === null)
&& (packageInfo.contents.packageJsonContent.exports === undefined || packageInfo.contents.packageJsonContent.exports === null)
&& state.features & NodeResolutionFeatures.EsmMode) {
// EsmMode disables index lookup in `loadNodeModuleFromDirectoryWorker` generally, however non-relative package resolutions still assume
// a default `index.js` entrypoint if no `main` or `exports` are present
@ -45041,12 +45042,12 @@ var ts;
var packageDirectory = ts.combinePaths(nodeModulesDirectory, packageName);
// 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.
packageInfo = getPackageJsonInfo(packageDirectory, !nodeModulesDirectoryExists, state);
if (packageInfo && packageInfo.versionPaths) {
if (packageInfo && packageInfo.contents.versionPaths) {
if (state.traceEnabled) {
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);
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);
}
var packageDirectoryExists = nodeModulesDirectoryExists && ts.directoryProbablyExists(packageDirectory, state.host);
var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state);
var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.contents.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state);
if (fromPaths) {
return fromPaths.value;
}
@ -49347,6 +49348,7 @@ var ts;
var wildcardType = createIntrinsicType(1 /* TypeFlags.Any */, "any");
var errorType = createIntrinsicType(1 /* TypeFlags.Any */, "error");
var unresolvedType = createIntrinsicType(1 /* TypeFlags.Any */, "unresolved");
var nonInferrableAnyType = createIntrinsicType(1 /* TypeFlags.Any */, "any", 65536 /* ObjectFlags.ContainsWideningType */);
var intrinsicMarkerType = createIntrinsicType(1 /* TypeFlags.Any */, "intrinsic");
var unknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown");
var nonNullUnknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown");
@ -51948,7 +51950,7 @@ var ts;
if (ext === ".ts" /* Extension.Ts */ || ext === ".js" /* Extension.Js */ || ext === ".tsx" /* Extension.Tsx */ || ext === ".jsx" /* Extension.Jsx */) {
var scope = currentSourceFile.packageJsonScope;
var targetExt = ext === ".ts" /* Extension.Ts */ ? ".mts" /* Extension.Mts */ : ext === ".js" /* Extension.Js */ ? ".mjs" /* Extension.Mjs */ : undefined;
if (scope && !scope.packageJsonContent.type) {
if (scope && !scope.contents.packageJsonContent.type) {
if (targetExt) {
diagnosticDetails = ts.chainDiagnosticMessages(
/*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"));
@ -54176,22 +54178,15 @@ var ts;
context.approximateLength += ts.symbolName(parameterSymbol).length + 3;
return parameterNode;
function cloneBindingName(node) {
return elideInitializerAndPropertyRenamingAndSetEmitFlags(node);
function elideInitializerAndPropertyRenamingAndSetEmitFlags(node) {
return elideInitializerAndSetEmitFlags(node);
function elideInitializerAndSetEmitFlags(node) {
if (context.tracker.trackSymbol && ts.isComputedPropertyName(node) && isLateBindableName(node)) {
trackComputedName(node.expression, context.enclosingDeclaration, context);
}
var visited = ts.visitEachChild(node, elideInitializerAndPropertyRenamingAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndPropertyRenamingAndSetEmitFlags);
var visited = ts.visitEachChild(node, elideInitializerAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndSetEmitFlags);
if (ts.isBindingElement(visited)) {
if (visited.propertyName && ts.isIdentifier(visited.propertyName) && ts.isIdentifier(visited.name)) {
visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken,
/* propertyName*/ undefined, visited.propertyName,
/*initializer*/ undefined);
}
else {
visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name,
/*initializer*/ undefined);
}
visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name,
/*initializer*/ undefined);
}
if (!ts.nodeIsSynthesized(visited)) {
visited = ts.factory.cloneNode(visited);
@ -57186,7 +57181,11 @@ var ts;
if (reportErrors && !declarationBelongsToPrivateAmbientMember(element)) {
reportImplicitAny(element, anyType);
}
return anyType;
// When we're including the pattern in the type (an indication we're obtaining a contextual type), we
// use a non-inferrable any type. Inference will never directly infer this type, but it is possible
// to infer a type that contains it, e.g. for a binding pattern like [foo] or { foo }. In such cases,
// widening of the binding pattern type substitutes a regular any for the non-inferrable any.
return includePatternInType ? nonInferrableAnyType : anyType;
}
// Return the type implied by an object binding pattern
function getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) {
@ -59287,6 +59286,12 @@ var ts;
return mapType(type, getLowerBoundOfKeyType);
}
if (type.flags & 2097152 /* TypeFlags.Intersection */) {
// Similarly to getTypeFromIntersectionTypeNode, we preserve the special string & {}, number & {},
// and bigint & {} intersections that are used to prevent subtype reduction in union types.
var types = type.types;
if (types.length === 2 && !!(types[0].flags & (4 /* TypeFlags.String */ | 8 /* TypeFlags.Number */ | 64 /* TypeFlags.BigInt */)) && types[1] === emptyTypeLiteralType) {
return type;
}
return getIntersectionType(ts.sameMap(type.types, getLowerBoundOfKeyType));
}
return type;
@ -69474,7 +69479,10 @@ var ts;
//
// This flag is infectious; if we produce Box<never> (where never is silentNeverType), Box<never> is
// also non-inferrable.
if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */) {
//
// As a special case, also ignore nonInferrableAnyType, which is a special form of the any type
// used as a stand-in for binding elements when they are being inferred.
if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */ || source === nonInferrableAnyType) {
return;
}
if (!inference.isFixed) {
@ -81640,7 +81648,7 @@ var ts;
checkDecorators(node);
}
function getEffectiveTypeArgumentAtIndex(node, typeParameters, index) {
if (index < typeParameters.length) {
if (node.typeArguments && index < node.typeArguments.length) {
return getTypeFromTypeNode(node.typeArguments[index]);
}
return getEffectiveTypeArguments(node, typeParameters)[index];
@ -90419,7 +90427,7 @@ var ts;
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);
}
var nodeArguments = node.arguments;
if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext) {
if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext && moduleKind !== ts.ModuleKind.Node16) {
// We are allowed trailing comma after proposal-import-assertions.
checkGrammarForDisallowedTrailingComma(nodeArguments);
if (nodeArguments.length > 1) {
@ -118066,7 +118074,7 @@ var ts;
state.failedLookupLocations = packageJsonLocations;
state.affectingLocations = packageJsonLocations;
var packageJsonScope = ts.getPackageScopeForPath(fileName, state);
var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS;
var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.contents.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS;
return { impliedNodeFormat: impliedNodeFormat, packageJsonLocations: packageJsonLocations, packageJsonScope: packageJsonScope };
}
}
@ -119797,7 +119805,7 @@ var ts;
// 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
// 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
// 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.
var result = getImpliedNodeFormatForFileWorker(toPath(fileName), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options);
var result = getImpliedNodeFormatForFileWorker(ts.getNormalizedAbsolutePath(fileName, currentDirectory), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options);
var languageVersion = ts.getEmitScriptTarget(options);
var setExternalModuleIndicator = ts.getSetExternalModuleIndicator(options);
return typeof result === "object" ? __assign(__assign({}, result), { languageVersion: languageVersion, setExternalModuleIndicator: setExternalModuleIndicator }) :
@ -124458,7 +124466,7 @@ var ts;
var maybeBlockedByTypesVersions = false;
var cachedPackageJson = (_b = (_a = host.getPackageJsonInfoCache) === null || _a === void 0 ? void 0 : _a.call(host)) === null || _b === void 0 ? void 0 : _b.getPackageJsonInfo(packageJsonPath);
if (typeof cachedPackageJson === "object" || cachedPackageJson === undefined && host.fileExists(packageJsonPath)) {
var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath));
var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.contents.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath));
var importMode = overrideMode || importingSourceFile.impliedNodeFormat;
if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node16 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) {
var conditions = ["node", importMode === ts.ModuleKind.ESNext ? "import" : "require", "types"];
@ -124820,7 +124828,7 @@ var ts;
case ts.ModuleKind.CommonJS:
if (file.packageJsonScope) {
(result !== null && result !== void 0 ? result : (result = [])).push(ts.chainDiagnosticMessages(
/*details*/ undefined, file.packageJsonScope.packageJsonContent.type ?
/*details*/ undefined, file.packageJsonScope.contents.packageJsonContent.type ?
ts.Diagnostics.File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module :
ts.Diagnostics.File_is_CommonJS_module_because_0_does_not_have_field_type, toFileName(ts.last(file.packageJsonLocations), fileNameConvertor)));
}
@ -141975,7 +141983,7 @@ var ts;
}
var parent = node.parent;
var typeChecker = program.getTypeChecker();
if (node.kind === 159 /* SyntaxKind.OverrideKeyword */ || (ts.isJSDocOverrideTag(node) && ts.rangeContainsPosition(node.tagName, position))) {
if (node.kind === 159 /* SyntaxKind.OverrideKeyword */ || (ts.isIdentifier(node) && ts.isJSDocOverrideTag(parent) && parent.tagName === node)) {
return getDefinitionFromOverriddenMember(typeChecker, node) || ts.emptyArray;
}
// Labels
@ -179036,7 +179044,7 @@ var ts;
var packageDirectory = fileName.substring(0, nodeModulesPathParts.packageRootIndex);
var packageJsonCache = (_a = project.getModuleResolutionCache()) === null || _a === void 0 ? void 0 : _a.getPackageJsonInfoCache();
var compilerOptions = project.getCompilationSettings();
var packageJson = ts.getPackageScopeForPath(project.toPath(packageDirectory + "/package.json"), ts.getTemporaryModuleResolutionState(packageJsonCache, project, compilerOptions));
var packageJson = ts.getPackageScopeForPath(ts.getNormalizedAbsolutePath(packageDirectory + "/package.json", project.getCurrentDirectory()), ts.getTemporaryModuleResolutionState(packageJsonCache, project, compilerOptions));
if (!packageJson)
return undefined;
// Use fake options instead of actual compiler options to avoid following export map if the project uses node16 or nodenext -

View File

@ -294,7 +294,7 @@ var ts;
// The following is baselined as a literal template type without intervention
/** The version of the TypeScript compiler release */
// eslint-disable-next-line @typescript-eslint/no-inferrable-types
ts.version = "4.8.3";
ts.version = "4.8.4";
/* @internal */
var Comparison;
(function (Comparison) {
@ -31701,6 +31701,7 @@ var ts;
case 335 /* SyntaxKind.JSDocProtectedTag */:
case 336 /* SyntaxKind.JSDocReadonlyTag */:
case 331 /* SyntaxKind.JSDocDeprecatedTag */:
case 337 /* SyntaxKind.JSDocOverrideTag */:
return visitNode(cbNode, node.tagName)
|| (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
case 350 /* SyntaxKind.PartiallyEmittedExpression */:
@ -42989,7 +42990,7 @@ var ts;
function withPackageId(packageInfo, r) {
var packageId;
if (r && packageInfo) {
var packageJsonContent = packageInfo.packageJsonContent;
var packageJsonContent = packageInfo.contents.packageJsonContent;
if (typeof packageJsonContent.name === "string" && typeof packageJsonContent.version === "string") {
packageId = {
name: packageJsonContent.name,
@ -44308,16 +44309,16 @@ var ts;
function loadNodeModuleFromDirectory(extensions, candidate, onlyRecordFailures, state, considerPackageJson) {
if (considerPackageJson === void 0) { considerPackageJson = true; }
var packageInfo = considerPackageJson ? getPackageJsonInfo(candidate, onlyRecordFailures, state) : undefined;
var packageJsonContent = packageInfo && packageInfo.packageJsonContent;
var versionPaths = packageInfo && packageInfo.versionPaths;
var packageJsonContent = packageInfo && packageInfo.contents.packageJsonContent;
var versionPaths = packageInfo && packageInfo.contents.versionPaths;
return withPackageId(packageInfo, loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageJsonContent, versionPaths));
}
/* @internal */
function getEntrypointsFromPackageJsonInfo(packageJsonInfo, options, host, cache, resolveJs) {
if (!resolveJs && packageJsonInfo.resolvedEntrypoints !== undefined) {
if (!resolveJs && packageJsonInfo.contents.resolvedEntrypoints !== undefined) {
// Cached value excludes resolutions to JS files - those could be
// cached separately, but they're used rarely.
return packageJsonInfo.resolvedEntrypoints;
return packageJsonInfo.contents.resolvedEntrypoints;
}
var entrypoints;
var extensions = resolveJs ? Extensions.JavaScript : Extensions.TypeScript;
@ -44326,13 +44327,13 @@ var ts;
requireState.conditions = ["node", "require", "types"];
requireState.requestContainingDirectory = packageJsonInfo.packageDirectory;
var requireResolution = loadNodeModuleFromDirectoryWorker(extensions, packageJsonInfo.packageDirectory,
/*onlyRecordFailures*/ false, requireState, packageJsonInfo.packageJsonContent, packageJsonInfo.versionPaths);
/*onlyRecordFailures*/ false, requireState, packageJsonInfo.contents.packageJsonContent, packageJsonInfo.contents.versionPaths);
entrypoints = ts.append(entrypoints, requireResolution === null || requireResolution === void 0 ? void 0 : requireResolution.path);
if (features & NodeResolutionFeatures.Exports && packageJsonInfo.packageJsonContent.exports) {
if (features & NodeResolutionFeatures.Exports && packageJsonInfo.contents.packageJsonContent.exports) {
for (var _i = 0, _a = [["node", "import", "types"], ["node", "require", "types"]]; _i < _a.length; _i++) {
var conditions = _a[_i];
var exportState = __assign(__assign({}, requireState), { failedLookupLocations: [], conditions: conditions });
var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.packageJsonContent.exports, exportState, extensions);
var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.contents.packageJsonContent.exports, exportState, extensions);
if (exportResolutions) {
for (var _b = 0, exportResolutions_1 = exportResolutions; _b < exportResolutions_1.length; _b++) {
var resolution = exportResolutions_1[_b];
@ -44341,7 +44342,7 @@ var ts;
}
}
}
return packageJsonInfo.resolvedEntrypoints = entrypoints || false;
return packageJsonInfo.contents.resolvedEntrypoints = entrypoints || false;
}
ts.getEntrypointsFromPackageJsonInfo = getEntrypointsFromPackageJsonInfo;
function loadEntrypointsFromExportMap(scope, exports, state, extensions) {
@ -44445,7 +44446,9 @@ var ts;
if (traceEnabled)
trace(host, ts.Diagnostics.File_0_exists_according_to_earlier_cached_lookups, packageJsonPath);
state.affectingLocations.push(packageJsonPath);
return existing;
return existing.packageDirectory === packageDirectory ?
existing :
{ packageDirectory: packageDirectory, contents: existing.contents };
}
else {
if (existing && traceEnabled)
@ -44461,7 +44464,7 @@ var ts;
trace(host, ts.Diagnostics.Found_package_json_at_0, packageJsonPath);
}
var versionPaths = readPackageJsonTypesVersionPaths(packageJsonContent, state);
var result = { packageDirectory: packageDirectory, packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined };
var result = { packageDirectory: packageDirectory, contents: { packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined } };
(_b = state.packageJsonInfoCache) === null || _b === void 0 ? void 0 : _b.setPackageJsonInfo(packageJsonPath, result);
state.affectingLocations.push(packageJsonPath);
return result;
@ -44586,17 +44589,16 @@ var ts;
}
function loadModuleFromSelfNameReference(extensions, moduleName, directory, state, cache, redirectedReference) {
var _a, _b;
var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames;
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));
var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a));
var scope = getPackageScopeForPath(directoryPath, state);
if (!scope || !scope.packageJsonContent.exports) {
if (!scope || !scope.contents.packageJsonContent.exports) {
return undefined;
}
if (typeof scope.packageJsonContent.name !== "string") {
if (typeof scope.contents.packageJsonContent.name !== "string") {
return undefined;
}
var parts = ts.getPathComponents(moduleName); // unrooted paths should have `""` as their 0th entry
var nameParts = ts.getPathComponents(scope.packageJsonContent.name);
var nameParts = ts.getPathComponents(scope.contents.packageJsonContent.name);
if (!ts.every(nameParts, function (p, i) { return parts[i] === p; })) {
return undefined;
}
@ -44604,30 +44606,30 @@ var ts;
return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : ".".concat(ts.directorySeparator).concat(trailingParts.join(ts.directorySeparator)), state, cache, redirectedReference);
}
function loadModuleFromExports(scope, extensions, subpath, state, cache, redirectedReference) {
if (!scope.packageJsonContent.exports) {
if (!scope.contents.packageJsonContent.exports) {
return undefined;
}
if (subpath === ".") {
var mainExport = void 0;
if (typeof scope.packageJsonContent.exports === "string" || Array.isArray(scope.packageJsonContent.exports) || (typeof scope.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.packageJsonContent.exports))) {
mainExport = scope.packageJsonContent.exports;
if (typeof scope.contents.packageJsonContent.exports === "string" || Array.isArray(scope.contents.packageJsonContent.exports) || (typeof scope.contents.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.contents.packageJsonContent.exports))) {
mainExport = scope.contents.packageJsonContent.exports;
}
else if (ts.hasProperty(scope.packageJsonContent.exports, ".")) {
mainExport = scope.packageJsonContent.exports["."];
else if (ts.hasProperty(scope.contents.packageJsonContent.exports, ".")) {
mainExport = scope.contents.packageJsonContent.exports["."];
}
if (mainExport) {
var loadModuleFromTargetImportOrExport = getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, subpath, scope, /*isImports*/ false);
return loadModuleFromTargetImportOrExport(mainExport, "", /*pattern*/ false);
}
}
else if (allKeysStartWithDot(scope.packageJsonContent.exports)) {
if (typeof scope.packageJsonContent.exports !== "object") {
else if (allKeysStartWithDot(scope.contents.packageJsonContent.exports)) {
if (typeof scope.contents.packageJsonContent.exports !== "object") {
if (state.traceEnabled) {
trace(state.host, ts.Diagnostics.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1, subpath, scope.packageDirectory);
}
return toSearchResult(/*value*/ undefined);
}
var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.packageJsonContent.exports, scope, /*isImports*/ false);
var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.contents.packageJsonContent.exports, scope, /*isImports*/ false);
if (result) {
return result;
}
@ -44645,8 +44647,7 @@ var ts;
}
return toSearchResult(/*value*/ undefined);
}
var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames;
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));
var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a));
var scope = getPackageScopeForPath(directoryPath, state);
if (!scope) {
if (state.traceEnabled) {
@ -44654,13 +44655,13 @@ var ts;
}
return toSearchResult(/*value*/ undefined);
}
if (!scope.packageJsonContent.imports) {
if (!scope.contents.packageJsonContent.imports) {
if (state.traceEnabled) {
trace(state.host, ts.Diagnostics.package_json_scope_0_has_no_imports_defined, scope.packageDirectory);
}
return toSearchResult(/*value*/ undefined);
}
var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.packageJsonContent.imports, scope, /*isImports*/ true);
var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.contents.packageJsonContent.imports, scope, /*isImports*/ true);
if (result) {
return result;
}
@ -45005,7 +45006,7 @@ var ts;
if (fromFile) {
return noPackageId(fromFile);
}
var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.packageJsonContent, packageInfo.versionPaths);
var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.contents.packageJsonContent, packageInfo.contents.versionPaths);
return withPackageId(packageInfo, fromDirectory);
}
}
@ -45013,14 +45014,14 @@ var ts;
var loader = function (extensions, candidate, onlyRecordFailures, state) {
var _a;
// package exports are higher priority than file/directory lookups (and, if there's exports present, blocks them)
if (packageInfo && packageInfo.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) {
if (packageInfo && packageInfo.contents.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) {
return (_a = loadModuleFromExports(packageInfo, extensions, ts.combinePaths(".", rest), state, cache, redirectedReference)) === null || _a === void 0 ? void 0 : _a.value;
}
var pathAndExtension = loadModuleFromFile(extensions, candidate, onlyRecordFailures, state) ||
loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.packageJsonContent, packageInfo && packageInfo.versionPaths);
loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.contents.packageJsonContent, packageInfo && packageInfo.contents.versionPaths);
if (!pathAndExtension && packageInfo
// eslint-disable-next-line no-null/no-null
&& (packageInfo.packageJsonContent.exports === undefined || packageInfo.packageJsonContent.exports === null)
&& (packageInfo.contents.packageJsonContent.exports === undefined || packageInfo.contents.packageJsonContent.exports === null)
&& state.features & NodeResolutionFeatures.EsmMode) {
// EsmMode disables index lookup in `loadNodeModuleFromDirectoryWorker` generally, however non-relative package resolutions still assume
// a default `index.js` entrypoint if no `main` or `exports` are present
@ -45032,12 +45033,12 @@ var ts;
var packageDirectory = ts.combinePaths(nodeModulesDirectory, packageName);
// 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.
packageInfo = getPackageJsonInfo(packageDirectory, !nodeModulesDirectoryExists, state);
if (packageInfo && packageInfo.versionPaths) {
if (packageInfo && packageInfo.contents.versionPaths) {
if (state.traceEnabled) {
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);
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);
}
var packageDirectoryExists = nodeModulesDirectoryExists && ts.directoryProbablyExists(packageDirectory, state.host);
var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state);
var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.contents.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state);
if (fromPaths) {
return fromPaths.value;
}
@ -49338,6 +49339,7 @@ var ts;
var wildcardType = createIntrinsicType(1 /* TypeFlags.Any */, "any");
var errorType = createIntrinsicType(1 /* TypeFlags.Any */, "error");
var unresolvedType = createIntrinsicType(1 /* TypeFlags.Any */, "unresolved");
var nonInferrableAnyType = createIntrinsicType(1 /* TypeFlags.Any */, "any", 65536 /* ObjectFlags.ContainsWideningType */);
var intrinsicMarkerType = createIntrinsicType(1 /* TypeFlags.Any */, "intrinsic");
var unknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown");
var nonNullUnknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown");
@ -51939,7 +51941,7 @@ var ts;
if (ext === ".ts" /* Extension.Ts */ || ext === ".js" /* Extension.Js */ || ext === ".tsx" /* Extension.Tsx */ || ext === ".jsx" /* Extension.Jsx */) {
var scope = currentSourceFile.packageJsonScope;
var targetExt = ext === ".ts" /* Extension.Ts */ ? ".mts" /* Extension.Mts */ : ext === ".js" /* Extension.Js */ ? ".mjs" /* Extension.Mjs */ : undefined;
if (scope && !scope.packageJsonContent.type) {
if (scope && !scope.contents.packageJsonContent.type) {
if (targetExt) {
diagnosticDetails = ts.chainDiagnosticMessages(
/*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"));
@ -54167,22 +54169,15 @@ var ts;
context.approximateLength += ts.symbolName(parameterSymbol).length + 3;
return parameterNode;
function cloneBindingName(node) {
return elideInitializerAndPropertyRenamingAndSetEmitFlags(node);
function elideInitializerAndPropertyRenamingAndSetEmitFlags(node) {
return elideInitializerAndSetEmitFlags(node);
function elideInitializerAndSetEmitFlags(node) {
if (context.tracker.trackSymbol && ts.isComputedPropertyName(node) && isLateBindableName(node)) {
trackComputedName(node.expression, context.enclosingDeclaration, context);
}
var visited = ts.visitEachChild(node, elideInitializerAndPropertyRenamingAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndPropertyRenamingAndSetEmitFlags);
var visited = ts.visitEachChild(node, elideInitializerAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndSetEmitFlags);
if (ts.isBindingElement(visited)) {
if (visited.propertyName && ts.isIdentifier(visited.propertyName) && ts.isIdentifier(visited.name)) {
visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken,
/* propertyName*/ undefined, visited.propertyName,
/*initializer*/ undefined);
}
else {
visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name,
/*initializer*/ undefined);
}
visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name,
/*initializer*/ undefined);
}
if (!ts.nodeIsSynthesized(visited)) {
visited = ts.factory.cloneNode(visited);
@ -57177,7 +57172,11 @@ var ts;
if (reportErrors && !declarationBelongsToPrivateAmbientMember(element)) {
reportImplicitAny(element, anyType);
}
return anyType;
// When we're including the pattern in the type (an indication we're obtaining a contextual type), we
// use a non-inferrable any type. Inference will never directly infer this type, but it is possible
// to infer a type that contains it, e.g. for a binding pattern like [foo] or { foo }. In such cases,
// widening of the binding pattern type substitutes a regular any for the non-inferrable any.
return includePatternInType ? nonInferrableAnyType : anyType;
}
// Return the type implied by an object binding pattern
function getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) {
@ -59278,6 +59277,12 @@ var ts;
return mapType(type, getLowerBoundOfKeyType);
}
if (type.flags & 2097152 /* TypeFlags.Intersection */) {
// Similarly to getTypeFromIntersectionTypeNode, we preserve the special string & {}, number & {},
// and bigint & {} intersections that are used to prevent subtype reduction in union types.
var types = type.types;
if (types.length === 2 && !!(types[0].flags & (4 /* TypeFlags.String */ | 8 /* TypeFlags.Number */ | 64 /* TypeFlags.BigInt */)) && types[1] === emptyTypeLiteralType) {
return type;
}
return getIntersectionType(ts.sameMap(type.types, getLowerBoundOfKeyType));
}
return type;
@ -69465,7 +69470,10 @@ var ts;
//
// This flag is infectious; if we produce Box<never> (where never is silentNeverType), Box<never> is
// also non-inferrable.
if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */) {
//
// As a special case, also ignore nonInferrableAnyType, which is a special form of the any type
// used as a stand-in for binding elements when they are being inferred.
if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */ || source === nonInferrableAnyType) {
return;
}
if (!inference.isFixed) {
@ -81631,7 +81639,7 @@ var ts;
checkDecorators(node);
}
function getEffectiveTypeArgumentAtIndex(node, typeParameters, index) {
if (index < typeParameters.length) {
if (node.typeArguments && index < node.typeArguments.length) {
return getTypeFromTypeNode(node.typeArguments[index]);
}
return getEffectiveTypeArguments(node, typeParameters)[index];
@ -90410,7 +90418,7 @@ var ts;
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);
}
var nodeArguments = node.arguments;
if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext) {
if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext && moduleKind !== ts.ModuleKind.Node16) {
// We are allowed trailing comma after proposal-import-assertions.
checkGrammarForDisallowedTrailingComma(nodeArguments);
if (nodeArguments.length > 1) {
@ -118057,7 +118065,7 @@ var ts;
state.failedLookupLocations = packageJsonLocations;
state.affectingLocations = packageJsonLocations;
var packageJsonScope = ts.getPackageScopeForPath(fileName, state);
var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS;
var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.contents.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS;
return { impliedNodeFormat: impliedNodeFormat, packageJsonLocations: packageJsonLocations, packageJsonScope: packageJsonScope };
}
}
@ -119788,7 +119796,7 @@ var ts;
// 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
// 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
// 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.
var result = getImpliedNodeFormatForFileWorker(toPath(fileName), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options);
var result = getImpliedNodeFormatForFileWorker(ts.getNormalizedAbsolutePath(fileName, currentDirectory), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options);
var languageVersion = ts.getEmitScriptTarget(options);
var setExternalModuleIndicator = ts.getSetExternalModuleIndicator(options);
return typeof result === "object" ? __assign(__assign({}, result), { languageVersion: languageVersion, setExternalModuleIndicator: setExternalModuleIndicator }) :
@ -124449,7 +124457,7 @@ var ts;
var maybeBlockedByTypesVersions = false;
var cachedPackageJson = (_b = (_a = host.getPackageJsonInfoCache) === null || _a === void 0 ? void 0 : _a.call(host)) === null || _b === void 0 ? void 0 : _b.getPackageJsonInfo(packageJsonPath);
if (typeof cachedPackageJson === "object" || cachedPackageJson === undefined && host.fileExists(packageJsonPath)) {
var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath));
var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.contents.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath));
var importMode = overrideMode || importingSourceFile.impliedNodeFormat;
if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node16 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) {
var conditions = ["node", importMode === ts.ModuleKind.ESNext ? "import" : "require", "types"];
@ -124811,7 +124819,7 @@ var ts;
case ts.ModuleKind.CommonJS:
if (file.packageJsonScope) {
(result !== null && result !== void 0 ? result : (result = [])).push(ts.chainDiagnosticMessages(
/*details*/ undefined, file.packageJsonScope.packageJsonContent.type ?
/*details*/ undefined, file.packageJsonScope.contents.packageJsonContent.type ?
ts.Diagnostics.File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module :
ts.Diagnostics.File_is_CommonJS_module_because_0_does_not_have_field_type, toFileName(ts.last(file.packageJsonLocations), fileNameConvertor)));
}
@ -141966,7 +141974,7 @@ var ts;
}
var parent = node.parent;
var typeChecker = program.getTypeChecker();
if (node.kind === 159 /* SyntaxKind.OverrideKeyword */ || (ts.isJSDocOverrideTag(node) && ts.rangeContainsPosition(node.tagName, position))) {
if (node.kind === 159 /* SyntaxKind.OverrideKeyword */ || (ts.isIdentifier(node) && ts.isJSDocOverrideTag(parent) && parent.tagName === node)) {
return getDefinitionFromOverriddenMember(typeChecker, node) || ts.emptyArray;
}
// Labels

View File

@ -294,7 +294,7 @@ var ts;
// The following is baselined as a literal template type without intervention
/** The version of the TypeScript compiler release */
// eslint-disable-next-line @typescript-eslint/no-inferrable-types
ts.version = "4.8.3";
ts.version = "4.8.4";
/* @internal */
var Comparison;
(function (Comparison) {
@ -31701,6 +31701,7 @@ var ts;
case 335 /* SyntaxKind.JSDocProtectedTag */:
case 336 /* SyntaxKind.JSDocReadonlyTag */:
case 331 /* SyntaxKind.JSDocDeprecatedTag */:
case 337 /* SyntaxKind.JSDocOverrideTag */:
return visitNode(cbNode, node.tagName)
|| (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
case 350 /* SyntaxKind.PartiallyEmittedExpression */:
@ -42989,7 +42990,7 @@ var ts;
function withPackageId(packageInfo, r) {
var packageId;
if (r && packageInfo) {
var packageJsonContent = packageInfo.packageJsonContent;
var packageJsonContent = packageInfo.contents.packageJsonContent;
if (typeof packageJsonContent.name === "string" && typeof packageJsonContent.version === "string") {
packageId = {
name: packageJsonContent.name,
@ -44308,16 +44309,16 @@ var ts;
function loadNodeModuleFromDirectory(extensions, candidate, onlyRecordFailures, state, considerPackageJson) {
if (considerPackageJson === void 0) { considerPackageJson = true; }
var packageInfo = considerPackageJson ? getPackageJsonInfo(candidate, onlyRecordFailures, state) : undefined;
var packageJsonContent = packageInfo && packageInfo.packageJsonContent;
var versionPaths = packageInfo && packageInfo.versionPaths;
var packageJsonContent = packageInfo && packageInfo.contents.packageJsonContent;
var versionPaths = packageInfo && packageInfo.contents.versionPaths;
return withPackageId(packageInfo, loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageJsonContent, versionPaths));
}
/* @internal */
function getEntrypointsFromPackageJsonInfo(packageJsonInfo, options, host, cache, resolveJs) {
if (!resolveJs && packageJsonInfo.resolvedEntrypoints !== undefined) {
if (!resolveJs && packageJsonInfo.contents.resolvedEntrypoints !== undefined) {
// Cached value excludes resolutions to JS files - those could be
// cached separately, but they're used rarely.
return packageJsonInfo.resolvedEntrypoints;
return packageJsonInfo.contents.resolvedEntrypoints;
}
var entrypoints;
var extensions = resolveJs ? Extensions.JavaScript : Extensions.TypeScript;
@ -44326,13 +44327,13 @@ var ts;
requireState.conditions = ["node", "require", "types"];
requireState.requestContainingDirectory = packageJsonInfo.packageDirectory;
var requireResolution = loadNodeModuleFromDirectoryWorker(extensions, packageJsonInfo.packageDirectory,
/*onlyRecordFailures*/ false, requireState, packageJsonInfo.packageJsonContent, packageJsonInfo.versionPaths);
/*onlyRecordFailures*/ false, requireState, packageJsonInfo.contents.packageJsonContent, packageJsonInfo.contents.versionPaths);
entrypoints = ts.append(entrypoints, requireResolution === null || requireResolution === void 0 ? void 0 : requireResolution.path);
if (features & NodeResolutionFeatures.Exports && packageJsonInfo.packageJsonContent.exports) {
if (features & NodeResolutionFeatures.Exports && packageJsonInfo.contents.packageJsonContent.exports) {
for (var _i = 0, _a = [["node", "import", "types"], ["node", "require", "types"]]; _i < _a.length; _i++) {
var conditions = _a[_i];
var exportState = __assign(__assign({}, requireState), { failedLookupLocations: [], conditions: conditions });
var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.packageJsonContent.exports, exportState, extensions);
var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.contents.packageJsonContent.exports, exportState, extensions);
if (exportResolutions) {
for (var _b = 0, exportResolutions_1 = exportResolutions; _b < exportResolutions_1.length; _b++) {
var resolution = exportResolutions_1[_b];
@ -44341,7 +44342,7 @@ var ts;
}
}
}
return packageJsonInfo.resolvedEntrypoints = entrypoints || false;
return packageJsonInfo.contents.resolvedEntrypoints = entrypoints || false;
}
ts.getEntrypointsFromPackageJsonInfo = getEntrypointsFromPackageJsonInfo;
function loadEntrypointsFromExportMap(scope, exports, state, extensions) {
@ -44445,7 +44446,9 @@ var ts;
if (traceEnabled)
trace(host, ts.Diagnostics.File_0_exists_according_to_earlier_cached_lookups, packageJsonPath);
state.affectingLocations.push(packageJsonPath);
return existing;
return existing.packageDirectory === packageDirectory ?
existing :
{ packageDirectory: packageDirectory, contents: existing.contents };
}
else {
if (existing && traceEnabled)
@ -44461,7 +44464,7 @@ var ts;
trace(host, ts.Diagnostics.Found_package_json_at_0, packageJsonPath);
}
var versionPaths = readPackageJsonTypesVersionPaths(packageJsonContent, state);
var result = { packageDirectory: packageDirectory, packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined };
var result = { packageDirectory: packageDirectory, contents: { packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined } };
(_b = state.packageJsonInfoCache) === null || _b === void 0 ? void 0 : _b.setPackageJsonInfo(packageJsonPath, result);
state.affectingLocations.push(packageJsonPath);
return result;
@ -44586,17 +44589,16 @@ var ts;
}
function loadModuleFromSelfNameReference(extensions, moduleName, directory, state, cache, redirectedReference) {
var _a, _b;
var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames;
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));
var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a));
var scope = getPackageScopeForPath(directoryPath, state);
if (!scope || !scope.packageJsonContent.exports) {
if (!scope || !scope.contents.packageJsonContent.exports) {
return undefined;
}
if (typeof scope.packageJsonContent.name !== "string") {
if (typeof scope.contents.packageJsonContent.name !== "string") {
return undefined;
}
var parts = ts.getPathComponents(moduleName); // unrooted paths should have `""` as their 0th entry
var nameParts = ts.getPathComponents(scope.packageJsonContent.name);
var nameParts = ts.getPathComponents(scope.contents.packageJsonContent.name);
if (!ts.every(nameParts, function (p, i) { return parts[i] === p; })) {
return undefined;
}
@ -44604,30 +44606,30 @@ var ts;
return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : ".".concat(ts.directorySeparator).concat(trailingParts.join(ts.directorySeparator)), state, cache, redirectedReference);
}
function loadModuleFromExports(scope, extensions, subpath, state, cache, redirectedReference) {
if (!scope.packageJsonContent.exports) {
if (!scope.contents.packageJsonContent.exports) {
return undefined;
}
if (subpath === ".") {
var mainExport = void 0;
if (typeof scope.packageJsonContent.exports === "string" || Array.isArray(scope.packageJsonContent.exports) || (typeof scope.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.packageJsonContent.exports))) {
mainExport = scope.packageJsonContent.exports;
if (typeof scope.contents.packageJsonContent.exports === "string" || Array.isArray(scope.contents.packageJsonContent.exports) || (typeof scope.contents.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.contents.packageJsonContent.exports))) {
mainExport = scope.contents.packageJsonContent.exports;
}
else if (ts.hasProperty(scope.packageJsonContent.exports, ".")) {
mainExport = scope.packageJsonContent.exports["."];
else if (ts.hasProperty(scope.contents.packageJsonContent.exports, ".")) {
mainExport = scope.contents.packageJsonContent.exports["."];
}
if (mainExport) {
var loadModuleFromTargetImportOrExport = getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, subpath, scope, /*isImports*/ false);
return loadModuleFromTargetImportOrExport(mainExport, "", /*pattern*/ false);
}
}
else if (allKeysStartWithDot(scope.packageJsonContent.exports)) {
if (typeof scope.packageJsonContent.exports !== "object") {
else if (allKeysStartWithDot(scope.contents.packageJsonContent.exports)) {
if (typeof scope.contents.packageJsonContent.exports !== "object") {
if (state.traceEnabled) {
trace(state.host, ts.Diagnostics.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1, subpath, scope.packageDirectory);
}
return toSearchResult(/*value*/ undefined);
}
var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.packageJsonContent.exports, scope, /*isImports*/ false);
var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.contents.packageJsonContent.exports, scope, /*isImports*/ false);
if (result) {
return result;
}
@ -44645,8 +44647,7 @@ var ts;
}
return toSearchResult(/*value*/ undefined);
}
var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames;
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));
var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a));
var scope = getPackageScopeForPath(directoryPath, state);
if (!scope) {
if (state.traceEnabled) {
@ -44654,13 +44655,13 @@ var ts;
}
return toSearchResult(/*value*/ undefined);
}
if (!scope.packageJsonContent.imports) {
if (!scope.contents.packageJsonContent.imports) {
if (state.traceEnabled) {
trace(state.host, ts.Diagnostics.package_json_scope_0_has_no_imports_defined, scope.packageDirectory);
}
return toSearchResult(/*value*/ undefined);
}
var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.packageJsonContent.imports, scope, /*isImports*/ true);
var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.contents.packageJsonContent.imports, scope, /*isImports*/ true);
if (result) {
return result;
}
@ -45005,7 +45006,7 @@ var ts;
if (fromFile) {
return noPackageId(fromFile);
}
var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.packageJsonContent, packageInfo.versionPaths);
var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.contents.packageJsonContent, packageInfo.contents.versionPaths);
return withPackageId(packageInfo, fromDirectory);
}
}
@ -45013,14 +45014,14 @@ var ts;
var loader = function (extensions, candidate, onlyRecordFailures, state) {
var _a;
// package exports are higher priority than file/directory lookups (and, if there's exports present, blocks them)
if (packageInfo && packageInfo.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) {
if (packageInfo && packageInfo.contents.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) {
return (_a = loadModuleFromExports(packageInfo, extensions, ts.combinePaths(".", rest), state, cache, redirectedReference)) === null || _a === void 0 ? void 0 : _a.value;
}
var pathAndExtension = loadModuleFromFile(extensions, candidate, onlyRecordFailures, state) ||
loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.packageJsonContent, packageInfo && packageInfo.versionPaths);
loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.contents.packageJsonContent, packageInfo && packageInfo.contents.versionPaths);
if (!pathAndExtension && packageInfo
// eslint-disable-next-line no-null/no-null
&& (packageInfo.packageJsonContent.exports === undefined || packageInfo.packageJsonContent.exports === null)
&& (packageInfo.contents.packageJsonContent.exports === undefined || packageInfo.contents.packageJsonContent.exports === null)
&& state.features & NodeResolutionFeatures.EsmMode) {
// EsmMode disables index lookup in `loadNodeModuleFromDirectoryWorker` generally, however non-relative package resolutions still assume
// a default `index.js` entrypoint if no `main` or `exports` are present
@ -45032,12 +45033,12 @@ var ts;
var packageDirectory = ts.combinePaths(nodeModulesDirectory, packageName);
// 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.
packageInfo = getPackageJsonInfo(packageDirectory, !nodeModulesDirectoryExists, state);
if (packageInfo && packageInfo.versionPaths) {
if (packageInfo && packageInfo.contents.versionPaths) {
if (state.traceEnabled) {
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);
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);
}
var packageDirectoryExists = nodeModulesDirectoryExists && ts.directoryProbablyExists(packageDirectory, state.host);
var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state);
var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.contents.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state);
if (fromPaths) {
return fromPaths.value;
}
@ -49338,6 +49339,7 @@ var ts;
var wildcardType = createIntrinsicType(1 /* TypeFlags.Any */, "any");
var errorType = createIntrinsicType(1 /* TypeFlags.Any */, "error");
var unresolvedType = createIntrinsicType(1 /* TypeFlags.Any */, "unresolved");
var nonInferrableAnyType = createIntrinsicType(1 /* TypeFlags.Any */, "any", 65536 /* ObjectFlags.ContainsWideningType */);
var intrinsicMarkerType = createIntrinsicType(1 /* TypeFlags.Any */, "intrinsic");
var unknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown");
var nonNullUnknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown");
@ -51939,7 +51941,7 @@ var ts;
if (ext === ".ts" /* Extension.Ts */ || ext === ".js" /* Extension.Js */ || ext === ".tsx" /* Extension.Tsx */ || ext === ".jsx" /* Extension.Jsx */) {
var scope = currentSourceFile.packageJsonScope;
var targetExt = ext === ".ts" /* Extension.Ts */ ? ".mts" /* Extension.Mts */ : ext === ".js" /* Extension.Js */ ? ".mjs" /* Extension.Mjs */ : undefined;
if (scope && !scope.packageJsonContent.type) {
if (scope && !scope.contents.packageJsonContent.type) {
if (targetExt) {
diagnosticDetails = ts.chainDiagnosticMessages(
/*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"));
@ -54167,22 +54169,15 @@ var ts;
context.approximateLength += ts.symbolName(parameterSymbol).length + 3;
return parameterNode;
function cloneBindingName(node) {
return elideInitializerAndPropertyRenamingAndSetEmitFlags(node);
function elideInitializerAndPropertyRenamingAndSetEmitFlags(node) {
return elideInitializerAndSetEmitFlags(node);
function elideInitializerAndSetEmitFlags(node) {
if (context.tracker.trackSymbol && ts.isComputedPropertyName(node) && isLateBindableName(node)) {
trackComputedName(node.expression, context.enclosingDeclaration, context);
}
var visited = ts.visitEachChild(node, elideInitializerAndPropertyRenamingAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndPropertyRenamingAndSetEmitFlags);
var visited = ts.visitEachChild(node, elideInitializerAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndSetEmitFlags);
if (ts.isBindingElement(visited)) {
if (visited.propertyName && ts.isIdentifier(visited.propertyName) && ts.isIdentifier(visited.name)) {
visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken,
/* propertyName*/ undefined, visited.propertyName,
/*initializer*/ undefined);
}
else {
visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name,
/*initializer*/ undefined);
}
visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name,
/*initializer*/ undefined);
}
if (!ts.nodeIsSynthesized(visited)) {
visited = ts.factory.cloneNode(visited);
@ -57177,7 +57172,11 @@ var ts;
if (reportErrors && !declarationBelongsToPrivateAmbientMember(element)) {
reportImplicitAny(element, anyType);
}
return anyType;
// When we're including the pattern in the type (an indication we're obtaining a contextual type), we
// use a non-inferrable any type. Inference will never directly infer this type, but it is possible
// to infer a type that contains it, e.g. for a binding pattern like [foo] or { foo }. In such cases,
// widening of the binding pattern type substitutes a regular any for the non-inferrable any.
return includePatternInType ? nonInferrableAnyType : anyType;
}
// Return the type implied by an object binding pattern
function getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) {
@ -59278,6 +59277,12 @@ var ts;
return mapType(type, getLowerBoundOfKeyType);
}
if (type.flags & 2097152 /* TypeFlags.Intersection */) {
// Similarly to getTypeFromIntersectionTypeNode, we preserve the special string & {}, number & {},
// and bigint & {} intersections that are used to prevent subtype reduction in union types.
var types = type.types;
if (types.length === 2 && !!(types[0].flags & (4 /* TypeFlags.String */ | 8 /* TypeFlags.Number */ | 64 /* TypeFlags.BigInt */)) && types[1] === emptyTypeLiteralType) {
return type;
}
return getIntersectionType(ts.sameMap(type.types, getLowerBoundOfKeyType));
}
return type;
@ -69465,7 +69470,10 @@ var ts;
//
// This flag is infectious; if we produce Box<never> (where never is silentNeverType), Box<never> is
// also non-inferrable.
if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */) {
//
// As a special case, also ignore nonInferrableAnyType, which is a special form of the any type
// used as a stand-in for binding elements when they are being inferred.
if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */ || source === nonInferrableAnyType) {
return;
}
if (!inference.isFixed) {
@ -81631,7 +81639,7 @@ var ts;
checkDecorators(node);
}
function getEffectiveTypeArgumentAtIndex(node, typeParameters, index) {
if (index < typeParameters.length) {
if (node.typeArguments && index < node.typeArguments.length) {
return getTypeFromTypeNode(node.typeArguments[index]);
}
return getEffectiveTypeArguments(node, typeParameters)[index];
@ -90410,7 +90418,7 @@ var ts;
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);
}
var nodeArguments = node.arguments;
if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext) {
if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext && moduleKind !== ts.ModuleKind.Node16) {
// We are allowed trailing comma after proposal-import-assertions.
checkGrammarForDisallowedTrailingComma(nodeArguments);
if (nodeArguments.length > 1) {
@ -118057,7 +118065,7 @@ var ts;
state.failedLookupLocations = packageJsonLocations;
state.affectingLocations = packageJsonLocations;
var packageJsonScope = ts.getPackageScopeForPath(fileName, state);
var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS;
var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.contents.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS;
return { impliedNodeFormat: impliedNodeFormat, packageJsonLocations: packageJsonLocations, packageJsonScope: packageJsonScope };
}
}
@ -119788,7 +119796,7 @@ var ts;
// 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
// 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
// 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.
var result = getImpliedNodeFormatForFileWorker(toPath(fileName), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options);
var result = getImpliedNodeFormatForFileWorker(ts.getNormalizedAbsolutePath(fileName, currentDirectory), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options);
var languageVersion = ts.getEmitScriptTarget(options);
var setExternalModuleIndicator = ts.getSetExternalModuleIndicator(options);
return typeof result === "object" ? __assign(__assign({}, result), { languageVersion: languageVersion, setExternalModuleIndicator: setExternalModuleIndicator }) :
@ -124449,7 +124457,7 @@ var ts;
var maybeBlockedByTypesVersions = false;
var cachedPackageJson = (_b = (_a = host.getPackageJsonInfoCache) === null || _a === void 0 ? void 0 : _a.call(host)) === null || _b === void 0 ? void 0 : _b.getPackageJsonInfo(packageJsonPath);
if (typeof cachedPackageJson === "object" || cachedPackageJson === undefined && host.fileExists(packageJsonPath)) {
var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath));
var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.contents.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath));
var importMode = overrideMode || importingSourceFile.impliedNodeFormat;
if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node16 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) {
var conditions = ["node", importMode === ts.ModuleKind.ESNext ? "import" : "require", "types"];
@ -124811,7 +124819,7 @@ var ts;
case ts.ModuleKind.CommonJS:
if (file.packageJsonScope) {
(result !== null && result !== void 0 ? result : (result = [])).push(ts.chainDiagnosticMessages(
/*details*/ undefined, file.packageJsonScope.packageJsonContent.type ?
/*details*/ undefined, file.packageJsonScope.contents.packageJsonContent.type ?
ts.Diagnostics.File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module :
ts.Diagnostics.File_is_CommonJS_module_because_0_does_not_have_field_type, toFileName(ts.last(file.packageJsonLocations), fileNameConvertor)));
}
@ -141966,7 +141974,7 @@ var ts;
}
var parent = node.parent;
var typeChecker = program.getTypeChecker();
if (node.kind === 159 /* SyntaxKind.OverrideKeyword */ || (ts.isJSDocOverrideTag(node) && ts.rangeContainsPosition(node.tagName, position))) {
if (node.kind === 159 /* SyntaxKind.OverrideKeyword */ || (ts.isIdentifier(node) && ts.isJSDocOverrideTag(parent) && parent.tagName === node)) {
return getDefinitionFromOverriddenMember(typeChecker, node) || ts.emptyArray;
}
// Labels

View File

@ -89,7 +89,7 @@ var ts;
// The following is baselined as a literal template type without intervention
/** The version of the TypeScript compiler release */
// eslint-disable-next-line @typescript-eslint/no-inferrable-types
ts.version = "4.8.3";
ts.version = "4.8.4";
/* @internal */
var Comparison;
(function (Comparison) {
@ -31496,6 +31496,7 @@ var ts;
case 335 /* SyntaxKind.JSDocProtectedTag */:
case 336 /* SyntaxKind.JSDocReadonlyTag */:
case 331 /* SyntaxKind.JSDocDeprecatedTag */:
case 337 /* SyntaxKind.JSDocOverrideTag */:
return visitNode(cbNode, node.tagName)
|| (typeof node.comment === "string" ? undefined : visitNodes(cbNode, cbNodes, node.comment));
case 350 /* SyntaxKind.PartiallyEmittedExpression */:
@ -42784,7 +42785,7 @@ var ts;
function withPackageId(packageInfo, r) {
var packageId;
if (r && packageInfo) {
var packageJsonContent = packageInfo.packageJsonContent;
var packageJsonContent = packageInfo.contents.packageJsonContent;
if (typeof packageJsonContent.name === "string" && typeof packageJsonContent.version === "string") {
packageId = {
name: packageJsonContent.name,
@ -44103,16 +44104,16 @@ var ts;
function loadNodeModuleFromDirectory(extensions, candidate, onlyRecordFailures, state, considerPackageJson) {
if (considerPackageJson === void 0) { considerPackageJson = true; }
var packageInfo = considerPackageJson ? getPackageJsonInfo(candidate, onlyRecordFailures, state) : undefined;
var packageJsonContent = packageInfo && packageInfo.packageJsonContent;
var versionPaths = packageInfo && packageInfo.versionPaths;
var packageJsonContent = packageInfo && packageInfo.contents.packageJsonContent;
var versionPaths = packageInfo && packageInfo.contents.versionPaths;
return withPackageId(packageInfo, loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageJsonContent, versionPaths));
}
/* @internal */
function getEntrypointsFromPackageJsonInfo(packageJsonInfo, options, host, cache, resolveJs) {
if (!resolveJs && packageJsonInfo.resolvedEntrypoints !== undefined) {
if (!resolveJs && packageJsonInfo.contents.resolvedEntrypoints !== undefined) {
// Cached value excludes resolutions to JS files - those could be
// cached separately, but they're used rarely.
return packageJsonInfo.resolvedEntrypoints;
return packageJsonInfo.contents.resolvedEntrypoints;
}
var entrypoints;
var extensions = resolveJs ? Extensions.JavaScript : Extensions.TypeScript;
@ -44121,13 +44122,13 @@ var ts;
requireState.conditions = ["node", "require", "types"];
requireState.requestContainingDirectory = packageJsonInfo.packageDirectory;
var requireResolution = loadNodeModuleFromDirectoryWorker(extensions, packageJsonInfo.packageDirectory,
/*onlyRecordFailures*/ false, requireState, packageJsonInfo.packageJsonContent, packageJsonInfo.versionPaths);
/*onlyRecordFailures*/ false, requireState, packageJsonInfo.contents.packageJsonContent, packageJsonInfo.contents.versionPaths);
entrypoints = ts.append(entrypoints, requireResolution === null || requireResolution === void 0 ? void 0 : requireResolution.path);
if (features & NodeResolutionFeatures.Exports && packageJsonInfo.packageJsonContent.exports) {
if (features & NodeResolutionFeatures.Exports && packageJsonInfo.contents.packageJsonContent.exports) {
for (var _i = 0, _a = [["node", "import", "types"], ["node", "require", "types"]]; _i < _a.length; _i++) {
var conditions = _a[_i];
var exportState = __assign(__assign({}, requireState), { failedLookupLocations: [], conditions: conditions });
var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.packageJsonContent.exports, exportState, extensions);
var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.contents.packageJsonContent.exports, exportState, extensions);
if (exportResolutions) {
for (var _b = 0, exportResolutions_1 = exportResolutions; _b < exportResolutions_1.length; _b++) {
var resolution = exportResolutions_1[_b];
@ -44136,7 +44137,7 @@ var ts;
}
}
}
return packageJsonInfo.resolvedEntrypoints = entrypoints || false;
return packageJsonInfo.contents.resolvedEntrypoints = entrypoints || false;
}
ts.getEntrypointsFromPackageJsonInfo = getEntrypointsFromPackageJsonInfo;
function loadEntrypointsFromExportMap(scope, exports, state, extensions) {
@ -44240,7 +44241,9 @@ var ts;
if (traceEnabled)
trace(host, ts.Diagnostics.File_0_exists_according_to_earlier_cached_lookups, packageJsonPath);
state.affectingLocations.push(packageJsonPath);
return existing;
return existing.packageDirectory === packageDirectory ?
existing :
{ packageDirectory: packageDirectory, contents: existing.contents };
}
else {
if (existing && traceEnabled)
@ -44256,7 +44259,7 @@ var ts;
trace(host, ts.Diagnostics.Found_package_json_at_0, packageJsonPath);
}
var versionPaths = readPackageJsonTypesVersionPaths(packageJsonContent, state);
var result = { packageDirectory: packageDirectory, packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined };
var result = { packageDirectory: packageDirectory, contents: { packageJsonContent: packageJsonContent, versionPaths: versionPaths, resolvedEntrypoints: undefined } };
(_b = state.packageJsonInfoCache) === null || _b === void 0 ? void 0 : _b.setPackageJsonInfo(packageJsonPath, result);
state.affectingLocations.push(packageJsonPath);
return result;
@ -44381,17 +44384,16 @@ var ts;
}
function loadModuleFromSelfNameReference(extensions, moduleName, directory, state, cache, redirectedReference) {
var _a, _b;
var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames;
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));
var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a));
var scope = getPackageScopeForPath(directoryPath, state);
if (!scope || !scope.packageJsonContent.exports) {
if (!scope || !scope.contents.packageJsonContent.exports) {
return undefined;
}
if (typeof scope.packageJsonContent.name !== "string") {
if (typeof scope.contents.packageJsonContent.name !== "string") {
return undefined;
}
var parts = ts.getPathComponents(moduleName); // unrooted paths should have `""` as their 0th entry
var nameParts = ts.getPathComponents(scope.packageJsonContent.name);
var nameParts = ts.getPathComponents(scope.contents.packageJsonContent.name);
if (!ts.every(nameParts, function (p, i) { return parts[i] === p; })) {
return undefined;
}
@ -44399,30 +44401,30 @@ var ts;
return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : ".".concat(ts.directorySeparator).concat(trailingParts.join(ts.directorySeparator)), state, cache, redirectedReference);
}
function loadModuleFromExports(scope, extensions, subpath, state, cache, redirectedReference) {
if (!scope.packageJsonContent.exports) {
if (!scope.contents.packageJsonContent.exports) {
return undefined;
}
if (subpath === ".") {
var mainExport = void 0;
if (typeof scope.packageJsonContent.exports === "string" || Array.isArray(scope.packageJsonContent.exports) || (typeof scope.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.packageJsonContent.exports))) {
mainExport = scope.packageJsonContent.exports;
if (typeof scope.contents.packageJsonContent.exports === "string" || Array.isArray(scope.contents.packageJsonContent.exports) || (typeof scope.contents.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.contents.packageJsonContent.exports))) {
mainExport = scope.contents.packageJsonContent.exports;
}
else if (ts.hasProperty(scope.packageJsonContent.exports, ".")) {
mainExport = scope.packageJsonContent.exports["."];
else if (ts.hasProperty(scope.contents.packageJsonContent.exports, ".")) {
mainExport = scope.contents.packageJsonContent.exports["."];
}
if (mainExport) {
var loadModuleFromTargetImportOrExport = getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, subpath, scope, /*isImports*/ false);
return loadModuleFromTargetImportOrExport(mainExport, "", /*pattern*/ false);
}
}
else if (allKeysStartWithDot(scope.packageJsonContent.exports)) {
if (typeof scope.packageJsonContent.exports !== "object") {
else if (allKeysStartWithDot(scope.contents.packageJsonContent.exports)) {
if (typeof scope.contents.packageJsonContent.exports !== "object") {
if (state.traceEnabled) {
trace(state.host, ts.Diagnostics.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1, subpath, scope.packageDirectory);
}
return toSearchResult(/*value*/ undefined);
}
var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.packageJsonContent.exports, scope, /*isImports*/ false);
var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.contents.packageJsonContent.exports, scope, /*isImports*/ false);
if (result) {
return result;
}
@ -44440,8 +44442,7 @@ var ts;
}
return toSearchResult(/*value*/ undefined);
}
var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames;
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));
var directoryPath = ts.getNormalizedAbsolutePath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a));
var scope = getPackageScopeForPath(directoryPath, state);
if (!scope) {
if (state.traceEnabled) {
@ -44449,13 +44450,13 @@ var ts;
}
return toSearchResult(/*value*/ undefined);
}
if (!scope.packageJsonContent.imports) {
if (!scope.contents.packageJsonContent.imports) {
if (state.traceEnabled) {
trace(state.host, ts.Diagnostics.package_json_scope_0_has_no_imports_defined, scope.packageDirectory);
}
return toSearchResult(/*value*/ undefined);
}
var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.packageJsonContent.imports, scope, /*isImports*/ true);
var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.contents.packageJsonContent.imports, scope, /*isImports*/ true);
if (result) {
return result;
}
@ -44800,7 +44801,7 @@ var ts;
if (fromFile) {
return noPackageId(fromFile);
}
var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.packageJsonContent, packageInfo.versionPaths);
var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.contents.packageJsonContent, packageInfo.contents.versionPaths);
return withPackageId(packageInfo, fromDirectory);
}
}
@ -44808,14 +44809,14 @@ var ts;
var loader = function (extensions, candidate, onlyRecordFailures, state) {
var _a;
// package exports are higher priority than file/directory lookups (and, if there's exports present, blocks them)
if (packageInfo && packageInfo.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) {
if (packageInfo && packageInfo.contents.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) {
return (_a = loadModuleFromExports(packageInfo, extensions, ts.combinePaths(".", rest), state, cache, redirectedReference)) === null || _a === void 0 ? void 0 : _a.value;
}
var pathAndExtension = loadModuleFromFile(extensions, candidate, onlyRecordFailures, state) ||
loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.packageJsonContent, packageInfo && packageInfo.versionPaths);
loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.contents.packageJsonContent, packageInfo && packageInfo.contents.versionPaths);
if (!pathAndExtension && packageInfo
// eslint-disable-next-line no-null/no-null
&& (packageInfo.packageJsonContent.exports === undefined || packageInfo.packageJsonContent.exports === null)
&& (packageInfo.contents.packageJsonContent.exports === undefined || packageInfo.contents.packageJsonContent.exports === null)
&& state.features & NodeResolutionFeatures.EsmMode) {
// EsmMode disables index lookup in `loadNodeModuleFromDirectoryWorker` generally, however non-relative package resolutions still assume
// a default `index.js` entrypoint if no `main` or `exports` are present
@ -44827,12 +44828,12 @@ var ts;
var packageDirectory = ts.combinePaths(nodeModulesDirectory, packageName);
// 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.
packageInfo = getPackageJsonInfo(packageDirectory, !nodeModulesDirectoryExists, state);
if (packageInfo && packageInfo.versionPaths) {
if (packageInfo && packageInfo.contents.versionPaths) {
if (state.traceEnabled) {
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);
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);
}
var packageDirectoryExists = nodeModulesDirectoryExists && ts.directoryProbablyExists(packageDirectory, state.host);
var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state);
var fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.contents.versionPaths.paths, /*pathPatterns*/ undefined, loader, !packageDirectoryExists, state);
if (fromPaths) {
return fromPaths.value;
}
@ -49133,6 +49134,7 @@ var ts;
var wildcardType = createIntrinsicType(1 /* TypeFlags.Any */, "any");
var errorType = createIntrinsicType(1 /* TypeFlags.Any */, "error");
var unresolvedType = createIntrinsicType(1 /* TypeFlags.Any */, "unresolved");
var nonInferrableAnyType = createIntrinsicType(1 /* TypeFlags.Any */, "any", 65536 /* ObjectFlags.ContainsWideningType */);
var intrinsicMarkerType = createIntrinsicType(1 /* TypeFlags.Any */, "intrinsic");
var unknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown");
var nonNullUnknownType = createIntrinsicType(2 /* TypeFlags.Unknown */, "unknown");
@ -51734,7 +51736,7 @@ var ts;
if (ext === ".ts" /* Extension.Ts */ || ext === ".js" /* Extension.Js */ || ext === ".tsx" /* Extension.Tsx */ || ext === ".jsx" /* Extension.Jsx */) {
var scope = currentSourceFile.packageJsonScope;
var targetExt = ext === ".ts" /* Extension.Ts */ ? ".mts" /* Extension.Mts */ : ext === ".js" /* Extension.Js */ ? ".mjs" /* Extension.Mjs */ : undefined;
if (scope && !scope.packageJsonContent.type) {
if (scope && !scope.contents.packageJsonContent.type) {
if (targetExt) {
diagnosticDetails = ts.chainDiagnosticMessages(
/*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"));
@ -53962,22 +53964,15 @@ var ts;
context.approximateLength += ts.symbolName(parameterSymbol).length + 3;
return parameterNode;
function cloneBindingName(node) {
return elideInitializerAndPropertyRenamingAndSetEmitFlags(node);
function elideInitializerAndPropertyRenamingAndSetEmitFlags(node) {
return elideInitializerAndSetEmitFlags(node);
function elideInitializerAndSetEmitFlags(node) {
if (context.tracker.trackSymbol && ts.isComputedPropertyName(node) && isLateBindableName(node)) {
trackComputedName(node.expression, context.enclosingDeclaration, context);
}
var visited = ts.visitEachChild(node, elideInitializerAndPropertyRenamingAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndPropertyRenamingAndSetEmitFlags);
var visited = ts.visitEachChild(node, elideInitializerAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndSetEmitFlags);
if (ts.isBindingElement(visited)) {
if (visited.propertyName && ts.isIdentifier(visited.propertyName) && ts.isIdentifier(visited.name)) {
visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken,
/* propertyName*/ undefined, visited.propertyName,
/*initializer*/ undefined);
}
else {
visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name,
/*initializer*/ undefined);
}
visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name,
/*initializer*/ undefined);
}
if (!ts.nodeIsSynthesized(visited)) {
visited = ts.factory.cloneNode(visited);
@ -56972,7 +56967,11 @@ var ts;
if (reportErrors && !declarationBelongsToPrivateAmbientMember(element)) {
reportImplicitAny(element, anyType);
}
return anyType;
// When we're including the pattern in the type (an indication we're obtaining a contextual type), we
// use a non-inferrable any type. Inference will never directly infer this type, but it is possible
// to infer a type that contains it, e.g. for a binding pattern like [foo] or { foo }. In such cases,
// widening of the binding pattern type substitutes a regular any for the non-inferrable any.
return includePatternInType ? nonInferrableAnyType : anyType;
}
// Return the type implied by an object binding pattern
function getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) {
@ -59073,6 +59072,12 @@ var ts;
return mapType(type, getLowerBoundOfKeyType);
}
if (type.flags & 2097152 /* TypeFlags.Intersection */) {
// Similarly to getTypeFromIntersectionTypeNode, we preserve the special string & {}, number & {},
// and bigint & {} intersections that are used to prevent subtype reduction in union types.
var types = type.types;
if (types.length === 2 && !!(types[0].flags & (4 /* TypeFlags.String */ | 8 /* TypeFlags.Number */ | 64 /* TypeFlags.BigInt */)) && types[1] === emptyTypeLiteralType) {
return type;
}
return getIntersectionType(ts.sameMap(type.types, getLowerBoundOfKeyType));
}
return type;
@ -69260,7 +69265,10 @@ var ts;
//
// This flag is infectious; if we produce Box<never> (where never is silentNeverType), Box<never> is
// also non-inferrable.
if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */) {
//
// As a special case, also ignore nonInferrableAnyType, which is a special form of the any type
// used as a stand-in for binding elements when they are being inferred.
if (ts.getObjectFlags(source) & 262144 /* ObjectFlags.NonInferrableType */ || source === nonInferrableAnyType) {
return;
}
if (!inference.isFixed) {
@ -81426,7 +81434,7 @@ var ts;
checkDecorators(node);
}
function getEffectiveTypeArgumentAtIndex(node, typeParameters, index) {
if (index < typeParameters.length) {
if (node.typeArguments && index < node.typeArguments.length) {
return getTypeFromTypeNode(node.typeArguments[index]);
}
return getEffectiveTypeArguments(node, typeParameters)[index];
@ -90205,7 +90213,7 @@ var ts;
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);
}
var nodeArguments = node.arguments;
if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext) {
if (moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.NodeNext && moduleKind !== ts.ModuleKind.Node16) {
// We are allowed trailing comma after proposal-import-assertions.
checkGrammarForDisallowedTrailingComma(nodeArguments);
if (nodeArguments.length > 1) {
@ -117852,7 +117860,7 @@ var ts;
state.failedLookupLocations = packageJsonLocations;
state.affectingLocations = packageJsonLocations;
var packageJsonScope = ts.getPackageScopeForPath(fileName, state);
var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS;
var impliedNodeFormat = (packageJsonScope === null || packageJsonScope === void 0 ? void 0 : packageJsonScope.contents.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS;
return { impliedNodeFormat: impliedNodeFormat, packageJsonLocations: packageJsonLocations, packageJsonScope: packageJsonScope };
}
}
@ -119583,7 +119591,7 @@ var ts;
// 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
// 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
// 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.
var result = getImpliedNodeFormatForFileWorker(toPath(fileName), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options);
var result = getImpliedNodeFormatForFileWorker(ts.getNormalizedAbsolutePath(fileName, currentDirectory), moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options);
var languageVersion = ts.getEmitScriptTarget(options);
var setExternalModuleIndicator = ts.getSetExternalModuleIndicator(options);
return typeof result === "object" ? __assign(__assign({}, result), { languageVersion: languageVersion, setExternalModuleIndicator: setExternalModuleIndicator }) :
@ -124244,7 +124252,7 @@ var ts;
var maybeBlockedByTypesVersions = false;
var cachedPackageJson = (_b = (_a = host.getPackageJsonInfoCache) === null || _a === void 0 ? void 0 : _a.call(host)) === null || _b === void 0 ? void 0 : _b.getPackageJsonInfo(packageJsonPath);
if (typeof cachedPackageJson === "object" || cachedPackageJson === undefined && host.fileExists(packageJsonPath)) {
var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath));
var packageJsonContent = (cachedPackageJson === null || cachedPackageJson === void 0 ? void 0 : cachedPackageJson.contents.packageJsonContent) || JSON.parse(host.readFile(packageJsonPath));
var importMode = overrideMode || importingSourceFile.impliedNodeFormat;
if (ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.Node16 || ts.getEmitModuleResolutionKind(options) === ts.ModuleResolutionKind.NodeNext) {
var conditions = ["node", importMode === ts.ModuleKind.ESNext ? "import" : "require", "types"];
@ -124606,7 +124614,7 @@ var ts;
case ts.ModuleKind.CommonJS:
if (file.packageJsonScope) {
(result !== null && result !== void 0 ? result : (result = [])).push(ts.chainDiagnosticMessages(
/*details*/ undefined, file.packageJsonScope.packageJsonContent.type ?
/*details*/ undefined, file.packageJsonScope.contents.packageJsonContent.type ?
ts.Diagnostics.File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module :
ts.Diagnostics.File_is_CommonJS_module_because_0_does_not_have_field_type, toFileName(ts.last(file.packageJsonLocations), fileNameConvertor)));
}

2
package-lock.json generated
View File

@ -63,7 +63,7 @@
"ms": "^2.1.3",
"node-fetch": "^2.6.7",
"source-map-support": "latest",
"typescript": "^4.8.3",
"typescript": "^4.8.4",
"vinyl": "latest",
"which": "^2.0.2",
"xml2js": "^0.4.23"

View File

@ -89,7 +89,7 @@
"ms": "^2.1.3",
"node-fetch": "^2.6.7",
"source-map-support": "latest",
"typescript": "^4.8.3",
"typescript": "^4.8.4",
"vinyl": "latest",
"which": "^2.0.2",
"xml2js": "^0.4.23"