Skip to content

Commit 0e198c2

Browse files
Bump version to 5.0.3 and LKG
1 parent 111df34 commit 0e198c2

8 files changed

+127
-75
lines changed

lib/lib.decorators.legacy.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ and limitations under the License.
1919
declare type ClassDecorator = <TFunction extends Function>(target: TFunction) => TFunction | void;
2020
declare type PropertyDecorator = (target: Object, propertyKey: string | symbol) => void;
2121
declare type MethodDecorator = <T>(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void;
22-
declare type ParameterDecorator = (target: Object, propertyKey: string | symbol, parameterIndex: number) => void;
22+
declare type ParameterDecorator = (target: Object, propertyKey: string | symbol | undefined, parameterIndex: number) => void;

lib/tsc.js

+30-17
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ var __export = (target, all) => {
2323

2424
// src/compiler/corePublic.ts
2525
var versionMajorMinor = "5.0";
26-
var version = "5.0.2";
26+
var version = "5.0.3";
2727

2828
// src/compiler/core.ts
2929
var emptyArray = [];
@@ -37424,7 +37424,7 @@ function nodeModuleNameResolver(moduleName, containingFile, compilerOptions, hos
3742437424
}
3742537425
function nodeNextJsonConfigResolver(moduleName, containingFile, host) {
3742637426
return nodeModuleNameResolverWorker(
37427-
8 /* Exports */,
37427+
30 /* NodeNextDefault */,
3742837428
moduleName,
3742937429
getDirectoryPath(containingFile),
3743037430
{ moduleResolution: 99 /* NodeNext */ },
@@ -53129,9 +53129,10 @@ function createTypeChecker(host) {
5312953129
setStructuredTypeMembers(type, emptySymbols, emptyArray, emptyArray, emptyArray);
5313053130
const typeParameter = getTypeParameterFromMappedType(type);
5313153131
const constraintType = getConstraintTypeFromMappedType(type);
53132-
const nameType = getNameTypeFromMappedType(type.target || type);
53133-
const isFilteringMappedType = nameType && isTypeAssignableTo(nameType, typeParameter);
53134-
const templateType = getTemplateTypeFromMappedType(type.target || type);
53132+
const mappedType = type.target || type;
53133+
const nameType = getNameTypeFromMappedType(mappedType);
53134+
const shouldLinkPropDeclarations = !nameType || isFilteringMappedType(mappedType);
53135+
const templateType = getTemplateTypeFromMappedType(mappedType);
5313553136
const modifiersType = getApparentType(getModifiersTypeFromMappedType(type));
5313653137
const templateModifiers = getMappedTypeModifiers(type);
5313753138
const include = keyofStringsOnly ? 128 /* StringLiteral */ : 8576 /* StringOrNumberLiteralOrUnique */;
@@ -53168,7 +53169,7 @@ function createTypeChecker(host) {
5316853169
prop.links.keyType = keyType;
5316953170
if (modifiersProp) {
5317053171
prop.links.syntheticOrigin = modifiersProp;
53171-
prop.declarations = !nameType || isFilteringMappedType ? modifiersProp.declarations : void 0;
53172+
prop.declarations = shouldLinkPropDeclarations ? modifiersProp.declarations : void 0;
5317253173
}
5317353174
members.set(propName, prop);
5317453175
}
@@ -53274,6 +53275,10 @@ function createTypeChecker(host) {
5327453275
}
5327553276
return false;
5327653277
}
53278+
function isFilteringMappedType(type) {
53279+
const nameType = getNameTypeFromMappedType(type);
53280+
return !!nameType && isTypeAssignableTo(nameType, getTypeParameterFromMappedType(type));
53281+
}
5327753282
function resolveStructuredTypeMembers(type) {
5327853283
if (!type.members) {
5327953284
if (type.flags & 524288 /* Object */) {
@@ -55778,6 +55783,12 @@ function createTypeChecker(host) {
5577855783
i--;
5577955784
const source = types[i];
5578055785
if (hasEmptyObject || source.flags & 469499904 /* StructuredOrInstantiable */) {
55786+
if (source.flags & 262144 /* TypeParameter */ && getBaseConstraintOrType(source).flags & 1048576 /* Union */) {
55787+
if (isTypeRelatedTo(source, getUnionType(map(types, (t) => t === source ? neverType : t)), strictSubtypeRelation)) {
55788+
orderedRemoveItemAt(types, i);
55789+
}
55790+
continue;
55791+
}
5578155792
const keyProperty = source.flags & (524288 /* Object */ | 2097152 /* Intersection */ | 58982400 /* InstantiableNonPrimitive */) ? find(getPropertiesOfType(source), (p) => isUnitType(getTypeOfSymbol(p))) : void 0;
5578255793
const keyPropertyType = keyProperty && getRegularTypeOfLiteralType(getTypeOfSymbol(keyProperty));
5578355794
for (const target of types) {
@@ -56815,8 +56826,7 @@ function createTypeChecker(host) {
5681556826
}
5681656827
}
5681756828
if (isGenericMappedType(objectType)) {
56818-
const nameType = getNameTypeFromMappedType(objectType);
56819-
if (!nameType || isTypeAssignableTo(nameType, getTypeParameterFromMappedType(objectType))) {
56829+
if (!getNameTypeFromMappedType(objectType) || isFilteringMappedType(objectType)) {
5682056830
return type[cache] = mapType(substituteIndexedMappedType(objectType, type.indexType), (t) => getSimplifiedType(t, writing));
5682156831
}
5682256832
}
@@ -61315,7 +61325,7 @@ function createTypeChecker(host) {
6131561325
const targetHasStringIndex = some(indexInfos, (info) => info.keyType === stringType);
6131661326
let result2 = -1 /* True */;
6131761327
for (const targetInfo of indexInfos) {
61318-
const related = !sourceIsPrimitive && targetHasStringIndex && targetInfo.type.flags & 1 /* Any */ ? -1 /* True */ : isGenericMappedType(source2) && targetHasStringIndex ? isRelatedTo(getTemplateTypeFromMappedType(source2), targetInfo.type, 3 /* Both */, reportErrors2) : typeRelatedToIndexInfo(source2, targetInfo, reportErrors2, intersectionState);
61328+
const related = relation !== strictSubtypeRelation && !sourceIsPrimitive && targetHasStringIndex && targetInfo.type.flags & 1 /* Any */ ? -1 /* True */ : isGenericMappedType(source2) && targetHasStringIndex ? isRelatedTo(getTemplateTypeFromMappedType(source2), targetInfo.type, 3 /* Both */, reportErrors2) : typeRelatedToIndexInfo(source2, targetInfo, reportErrors2, intersectionState);
6131961329
if (!related) {
6132061330
return 0 /* False */;
6132161331
}
@@ -78983,14 +78993,14 @@ function createTypeChecker(host) {
7898378993
markAliasReferenced(sym, id);
7898478994
if (getAllSymbolFlags(sym) & 111551 /* Value */) {
7898578995
checkExpressionCached(id);
78986-
if (!isIllegalExportDefaultInCJS && compilerOptions.verbatimModuleSyntax && getTypeOnlyAliasDeclaration(sym, 111551 /* Value */)) {
78996+
if (!isIllegalExportDefaultInCJS && !(node.flags & 16777216 /* Ambient */) && compilerOptions.verbatimModuleSyntax && getTypeOnlyAliasDeclaration(sym, 111551 /* Value */)) {
7898778997
error(
7898878998
id,
7898978999
node.isExportEquals ? Diagnostics.An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration : Diagnostics.An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration,
7899079000
idText(id)
7899179001
);
7899279002
}
78993-
} else if (!isIllegalExportDefaultInCJS && compilerOptions.verbatimModuleSyntax) {
79003+
} else if (!isIllegalExportDefaultInCJS && !(node.flags & 16777216 /* Ambient */) && compilerOptions.verbatimModuleSyntax) {
7899479004
error(
7899579005
id,
7899679006
node.isExportEquals ? Diagnostics.An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type : Diagnostics.An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type,
@@ -91030,10 +91040,14 @@ function transformESDecorators(context) {
9103091040
visitor
9103191041
);
9103291042
const superStatementIndex = findSuperStatementIndex(node.body.statements, nonPrologueStart);
91033-
const indexOfFirstStatementAfterSuper = superStatementIndex >= 0 ? superStatementIndex + 1 : void 0;
91034-
addRange(statements, visitNodes2(node.body.statements, visitor, isStatement, nonPrologueStart, indexOfFirstStatementAfterSuper ? indexOfFirstStatementAfterSuper - nonPrologueStart : void 0));
91035-
addRange(statements, initializerStatements);
91036-
addRange(statements, visitNodes2(node.body.statements, visitor, isStatement, indexOfFirstStatementAfterSuper));
91043+
if (superStatementIndex >= 0) {
91044+
addRange(statements, visitNodes2(node.body.statements, visitor, isStatement, nonPrologueStart, superStatementIndex + 1 - nonPrologueStart));
91045+
addRange(statements, initializerStatements);
91046+
addRange(statements, visitNodes2(node.body.statements, visitor, isStatement, superStatementIndex + 1));
91047+
} else {
91048+
addRange(statements, initializerStatements);
91049+
addRange(statements, visitNodes2(node.body.statements, visitor, isStatement));
91050+
}
9103791051
body = factory2.createBlock(
9103891052
statements,
9103991053
/*multiLine*/
@@ -119815,7 +119829,6 @@ function createWatchProgram(host) {
119815119829
);
119816119830
}
119817119831
function updateExtendedConfigFilesWatches(forProjectPath, options, watchOptions2, watchType) {
119818-
Debug.assert(configFileName);
119819119832
updateSharedExtendedConfigFileWatcher(
119820119833
forProjectPath,
119821119834
options,
@@ -119831,7 +119844,7 @@ function createWatchProgram(host) {
119831119844
if (!(projects == null ? void 0 : projects.size))
119832119845
return;
119833119846
projects.forEach((projectPath) => {
119834-
if (toPath3(configFileName) === projectPath) {
119847+
if (configFileName && toPath3(configFileName) === projectPath) {
119835119848
reloadLevel = 2 /* Full */;
119836119849
} else {
119837119850
const config = parsedConfigs == null ? void 0 : parsedConfigs.get(projectPath);

lib/tsserver.js

+31-18
Original file line numberDiff line numberDiff line change
@@ -2286,7 +2286,7 @@ module.exports = __toCommonJS(server_exports);
22862286

22872287
// src/compiler/corePublic.ts
22882288
var versionMajorMinor = "5.0";
2289-
var version = "5.0.2";
2289+
var version = "5.0.3";
22902290
var Comparison = /* @__PURE__ */ ((Comparison3) => {
22912291
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
22922292
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -41868,7 +41868,7 @@ function nodeModuleNameResolver(moduleName, containingFile, compilerOptions, hos
4186841868
}
4186941869
function nodeNextJsonConfigResolver(moduleName, containingFile, host) {
4187041870
return nodeModuleNameResolverWorker(
41871-
8 /* Exports */,
41871+
30 /* NodeNextDefault */,
4187241872
moduleName,
4187341873
getDirectoryPath(containingFile),
4187441874
{ moduleResolution: 99 /* NodeNext */ },
@@ -57728,9 +57728,10 @@ function createTypeChecker(host) {
5772857728
setStructuredTypeMembers(type, emptySymbols, emptyArray, emptyArray, emptyArray);
5772957729
const typeParameter = getTypeParameterFromMappedType(type);
5773057730
const constraintType = getConstraintTypeFromMappedType(type);
57731-
const nameType = getNameTypeFromMappedType(type.target || type);
57732-
const isFilteringMappedType = nameType && isTypeAssignableTo(nameType, typeParameter);
57733-
const templateType = getTemplateTypeFromMappedType(type.target || type);
57731+
const mappedType = type.target || type;
57732+
const nameType = getNameTypeFromMappedType(mappedType);
57733+
const shouldLinkPropDeclarations = !nameType || isFilteringMappedType(mappedType);
57734+
const templateType = getTemplateTypeFromMappedType(mappedType);
5773457735
const modifiersType = getApparentType(getModifiersTypeFromMappedType(type));
5773557736
const templateModifiers = getMappedTypeModifiers(type);
5773657737
const include = keyofStringsOnly ? 128 /* StringLiteral */ : 8576 /* StringOrNumberLiteralOrUnique */;
@@ -57767,7 +57768,7 @@ function createTypeChecker(host) {
5776757768
prop.links.keyType = keyType;
5776857769
if (modifiersProp) {
5776957770
prop.links.syntheticOrigin = modifiersProp;
57770-
prop.declarations = !nameType || isFilteringMappedType ? modifiersProp.declarations : void 0;
57771+
prop.declarations = shouldLinkPropDeclarations ? modifiersProp.declarations : void 0;
5777157772
}
5777257773
members.set(propName, prop);
5777357774
}
@@ -57873,6 +57874,10 @@ function createTypeChecker(host) {
5787357874
}
5787457875
return false;
5787557876
}
57877+
function isFilteringMappedType(type) {
57878+
const nameType = getNameTypeFromMappedType(type);
57879+
return !!nameType && isTypeAssignableTo(nameType, getTypeParameterFromMappedType(type));
57880+
}
5787657881
function resolveStructuredTypeMembers(type) {
5787757882
if (!type.members) {
5787857883
if (type.flags & 524288 /* Object */) {
@@ -60377,6 +60382,12 @@ function createTypeChecker(host) {
6037760382
i--;
6037860383
const source = types[i];
6037960384
if (hasEmptyObject || source.flags & 469499904 /* StructuredOrInstantiable */) {
60385+
if (source.flags & 262144 /* TypeParameter */ && getBaseConstraintOrType(source).flags & 1048576 /* Union */) {
60386+
if (isTypeRelatedTo(source, getUnionType(map(types, (t) => t === source ? neverType : t)), strictSubtypeRelation)) {
60387+
orderedRemoveItemAt(types, i);
60388+
}
60389+
continue;
60390+
}
6038060391
const keyProperty = source.flags & (524288 /* Object */ | 2097152 /* Intersection */ | 58982400 /* InstantiableNonPrimitive */) ? find(getPropertiesOfType(source), (p) => isUnitType(getTypeOfSymbol(p))) : void 0;
6038160392
const keyPropertyType = keyProperty && getRegularTypeOfLiteralType(getTypeOfSymbol(keyProperty));
6038260393
for (const target of types) {
@@ -61414,8 +61425,7 @@ function createTypeChecker(host) {
6141461425
}
6141561426
}
6141661427
if (isGenericMappedType(objectType)) {
61417-
const nameType = getNameTypeFromMappedType(objectType);
61418-
if (!nameType || isTypeAssignableTo(nameType, getTypeParameterFromMappedType(objectType))) {
61428+
if (!getNameTypeFromMappedType(objectType) || isFilteringMappedType(objectType)) {
6141961429
return type[cache] = mapType(substituteIndexedMappedType(objectType, type.indexType), (t) => getSimplifiedType(t, writing));
6142061430
}
6142161431
}
@@ -65914,7 +65924,7 @@ function createTypeChecker(host) {
6591465924
const targetHasStringIndex = some(indexInfos, (info) => info.keyType === stringType);
6591565925
let result2 = -1 /* True */;
6591665926
for (const targetInfo of indexInfos) {
65917-
const related = !sourceIsPrimitive && targetHasStringIndex && targetInfo.type.flags & 1 /* Any */ ? -1 /* True */ : isGenericMappedType(source2) && targetHasStringIndex ? isRelatedTo(getTemplateTypeFromMappedType(source2), targetInfo.type, 3 /* Both */, reportErrors2) : typeRelatedToIndexInfo(source2, targetInfo, reportErrors2, intersectionState);
65927+
const related = relation !== strictSubtypeRelation && !sourceIsPrimitive && targetHasStringIndex && targetInfo.type.flags & 1 /* Any */ ? -1 /* True */ : isGenericMappedType(source2) && targetHasStringIndex ? isRelatedTo(getTemplateTypeFromMappedType(source2), targetInfo.type, 3 /* Both */, reportErrors2) : typeRelatedToIndexInfo(source2, targetInfo, reportErrors2, intersectionState);
6591865928
if (!related) {
6591965929
return 0 /* False */;
6592065930
}
@@ -83582,14 +83592,14 @@ function createTypeChecker(host) {
8358283592
markAliasReferenced(sym, id);
8358383593
if (getAllSymbolFlags(sym) & 111551 /* Value */) {
8358483594
checkExpressionCached(id);
83585-
if (!isIllegalExportDefaultInCJS && compilerOptions.verbatimModuleSyntax && getTypeOnlyAliasDeclaration(sym, 111551 /* Value */)) {
83595+
if (!isIllegalExportDefaultInCJS && !(node.flags & 16777216 /* Ambient */) && compilerOptions.verbatimModuleSyntax && getTypeOnlyAliasDeclaration(sym, 111551 /* Value */)) {
8358683596
error(
8358783597
id,
8358883598
node.isExportEquals ? Diagnostics.An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration : Diagnostics.An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration,
8358983599
idText(id)
8359083600
);
8359183601
}
83592-
} else if (!isIllegalExportDefaultInCJS && compilerOptions.verbatimModuleSyntax) {
83602+
} else if (!isIllegalExportDefaultInCJS && !(node.flags & 16777216 /* Ambient */) && compilerOptions.verbatimModuleSyntax) {
8359383603
error(
8359483604
id,
8359583605
node.isExportEquals ? Diagnostics.An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type : Diagnostics.An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type,
@@ -95800,10 +95810,14 @@ function transformESDecorators(context) {
9580095810
visitor
9580195811
);
9580295812
const superStatementIndex = findSuperStatementIndex(node.body.statements, nonPrologueStart);
95803-
const indexOfFirstStatementAfterSuper = superStatementIndex >= 0 ? superStatementIndex + 1 : void 0;
95804-
addRange(statements, visitNodes2(node.body.statements, visitor, isStatement, nonPrologueStart, indexOfFirstStatementAfterSuper ? indexOfFirstStatementAfterSuper - nonPrologueStart : void 0));
95805-
addRange(statements, initializerStatements);
95806-
addRange(statements, visitNodes2(node.body.statements, visitor, isStatement, indexOfFirstStatementAfterSuper));
95813+
if (superStatementIndex >= 0) {
95814+
addRange(statements, visitNodes2(node.body.statements, visitor, isStatement, nonPrologueStart, superStatementIndex + 1 - nonPrologueStart));
95815+
addRange(statements, initializerStatements);
95816+
addRange(statements, visitNodes2(node.body.statements, visitor, isStatement, superStatementIndex + 1));
95817+
} else {
95818+
addRange(statements, initializerStatements);
95819+
addRange(statements, visitNodes2(node.body.statements, visitor, isStatement));
95820+
}
9580795821
body = factory2.createBlock(
9580895822
statements,
9580995823
/*multiLine*/
@@ -124707,7 +124721,6 @@ function createWatchProgram(host) {
124707124721
);
124708124722
}
124709124723
function updateExtendedConfigFilesWatches(forProjectPath, options, watchOptions2, watchType) {
124710-
Debug.assert(configFileName);
124711124724
updateSharedExtendedConfigFileWatcher(
124712124725
forProjectPath,
124713124726
options,
@@ -124723,7 +124736,7 @@ function createWatchProgram(host) {
124723124736
if (!(projects == null ? void 0 : projects.size))
124724124737
return;
124725124738
projects.forEach((projectPath) => {
124726-
if (toPath3(configFileName) === projectPath) {
124739+
if (configFileName && toPath3(configFileName) === projectPath) {
124727124740
reloadLevel = 2 /* Full */;
124728124741
} else {
124729124742
const config = parsedConfigs == null ? void 0 : parsedConfigs.get(projectPath);
@@ -152027,7 +152040,7 @@ function getStringLiteralCompletionEntries(sourceFile, node, position, typeCheck
152027152040
const literals = contextualTypes.types.filter((literal) => !tracker.hasValue(literal.value));
152028152041
return { kind: 2 /* Types */, types: literals, isNewIdentifier: false };
152029152042
default:
152030-
return fromContextualType();
152043+
return fromContextualType() || fromContextualType(0 /* None */);
152031152044
}
152032152045
function fromContextualType(contextFlags = 4 /* Completions */) {
152033152046
const types = getStringLiteralTypes(getContextualTypeFromParent(node, typeChecker, contextFlags));

0 commit comments

Comments
 (0)