@@ -2286,7 +2286,7 @@ module.exports = __toCommonJS(server_exports);
22862286
22872287// src/compiler/corePublic.ts
22882288var versionMajorMinor = "5.0";
2289- var version = "5.0.2 ";
2289+ var version = "5.0.3 ";
22902290var 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}
4186941869function 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