@typescript-deploys/pr-build 5.5.0-pr-57717-2 → 5.5.0-pr-57686-4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/typescript.js CHANGED
@@ -106,6 +106,7 @@ __export(typescript_exports, {
106
106
  JsxEmit: () => JsxEmit,
107
107
  JsxFlags: () => JsxFlags,
108
108
  JsxReferenceKind: () => JsxReferenceKind,
109
+ LanguageFeatureMinimumTarget: () => LanguageFeatureMinimumTarget,
109
110
  LanguageServiceMode: () => LanguageServiceMode,
110
111
  LanguageVariant: () => LanguageVariant,
111
112
  LexicalEnvironmentFlags: () => LexicalEnvironmentFlags,
@@ -1759,6 +1760,7 @@ __export(typescript_exports, {
1759
1760
  isSuperProperty: () => isSuperProperty,
1760
1761
  isSupportedSourceFileName: () => isSupportedSourceFileName,
1761
1762
  isSwitchStatement: () => isSwitchStatement,
1763
+ isSyntacticallyString: () => isSyntacticallyString,
1762
1764
  isSyntaxList: () => isSyntaxList,
1763
1765
  isSyntheticExpression: () => isSyntheticExpression,
1764
1766
  isSyntheticReference: () => isSyntheticReference,
@@ -2325,7 +2327,7 @@ module.exports = __toCommonJS(typescript_exports);
2325
2327
 
2326
2328
  // src/compiler/corePublic.ts
2327
2329
  var versionMajorMinor = "5.5";
2328
- var version = `${versionMajorMinor}.0-insiders.20240311`;
2330
+ var version = `${versionMajorMinor}.0-insiders.20240312`;
2329
2331
  var Comparison = /* @__PURE__ */ ((Comparison3) => {
2330
2332
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
2331
2333
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -3632,7 +3634,7 @@ var createUIStringComparer = /* @__PURE__ */ (() => {
3632
3634
  return value < 0 ? -1 /* LessThan */ : value > 0 ? 1 /* GreaterThan */ : 0 /* EqualTo */;
3633
3635
  }
3634
3636
  function createIntlCollatorStringComparer(locale) {
3635
- const comparer = new Intl.Collator(locale, { usage: "sort", sensitivity: "variant" }).compare;
3637
+ const comparer = new Intl.Collator(locale, { usage: "sort", sensitivity: "variant", numeric: true }).compare;
3636
3638
  return (a, b) => compareWithCallback(a, b, comparer);
3637
3639
  }
3638
3640
  })();
@@ -7233,6 +7235,38 @@ var InternalEmitFlags = /* @__PURE__ */ ((InternalEmitFlags3) => {
7233
7235
  InternalEmitFlags3[InternalEmitFlags3["TransformPrivateStaticElements"] = 32] = "TransformPrivateStaticElements";
7234
7236
  return InternalEmitFlags3;
7235
7237
  })(InternalEmitFlags || {});
7238
+ var LanguageFeatureMinimumTarget = /* @__PURE__ */ ((LanguageFeatureMinimumTarget2) => {
7239
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["Classes"] = 2 /* ES2015 */] = "Classes";
7240
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["ForOf"] = 2 /* ES2015 */] = "ForOf";
7241
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["Generators"] = 2 /* ES2015 */] = "Generators";
7242
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["Iteration"] = 2 /* ES2015 */] = "Iteration";
7243
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["SpreadElements"] = 2 /* ES2015 */] = "SpreadElements";
7244
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["RestElements"] = 2 /* ES2015 */] = "RestElements";
7245
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["TaggedTemplates"] = 2 /* ES2015 */] = "TaggedTemplates";
7246
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["DestructuringAssignment"] = 2 /* ES2015 */] = "DestructuringAssignment";
7247
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["BindingPatterns"] = 2 /* ES2015 */] = "BindingPatterns";
7248
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["ArrowFunctions"] = 2 /* ES2015 */] = "ArrowFunctions";
7249
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["BlockScopedVariables"] = 2 /* ES2015 */] = "BlockScopedVariables";
7250
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["ObjectAssign"] = 2 /* ES2015 */] = "ObjectAssign";
7251
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["Exponentiation"] = 3 /* ES2016 */] = "Exponentiation";
7252
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["AsyncFunctions"] = 4 /* ES2017 */] = "AsyncFunctions";
7253
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["ForAwaitOf"] = 5 /* ES2018 */] = "ForAwaitOf";
7254
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["AsyncGenerators"] = 5 /* ES2018 */] = "AsyncGenerators";
7255
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["AsyncIteration"] = 5 /* ES2018 */] = "AsyncIteration";
7256
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["ObjectSpreadRest"] = 5 /* ES2018 */] = "ObjectSpreadRest";
7257
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["BindinglessCatch"] = 6 /* ES2019 */] = "BindinglessCatch";
7258
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["BigInt"] = 7 /* ES2020 */] = "BigInt";
7259
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["NullishCoalesce"] = 7 /* ES2020 */] = "NullishCoalesce";
7260
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["OptionalChaining"] = 7 /* ES2020 */] = "OptionalChaining";
7261
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["LogicalAssignment"] = 8 /* ES2021 */] = "LogicalAssignment";
7262
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["TopLevelAwait"] = 9 /* ES2022 */] = "TopLevelAwait";
7263
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["ClassFields"] = 9 /* ES2022 */] = "ClassFields";
7264
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["PrivateNamesAndClassStaticBlocks"] = 9 /* ES2022 */] = "PrivateNamesAndClassStaticBlocks";
7265
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["ShebangComments"] = 99 /* ESNext */] = "ShebangComments";
7266
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["UsingAndAwaitUsing"] = 99 /* ESNext */] = "UsingAndAwaitUsing";
7267
+ LanguageFeatureMinimumTarget2[LanguageFeatureMinimumTarget2["ClassAndClassElementDecorators"] = 99 /* ESNext */] = "ClassAndClassElementDecorators";
7268
+ return LanguageFeatureMinimumTarget2;
7269
+ })(LanguageFeatureMinimumTarget || {});
7236
7270
  var ExternalEmitHelpers = /* @__PURE__ */ ((ExternalEmitHelpers2) => {
7237
7271
  ExternalEmitHelpers2[ExternalEmitHelpers2["Extends"] = 1] = "Extends";
7238
7272
  ExternalEmitHelpers2[ExternalEmitHelpers2["Assign"] = 2] = "Assign";
@@ -21797,7 +21831,7 @@ function hasTabstop(node) {
21797
21831
  }
21798
21832
  function isJSDocOptionalParameter(node) {
21799
21833
  return isInJSFile(node) && // node.type should only be a JSDocOptionalType when node is a parameter of a JSDocFunctionType
21800
- (node.type && node.type.kind === 316 /* JSDocOptionalType */ || getJSDocParameterTags(node).some(({ isBracketed, typeExpression }) => isBracketed || !!typeExpression && typeExpression.type.kind === 316 /* JSDocOptionalType */));
21834
+ (node.type && node.type.kind === 316 /* JSDocOptionalType */ || getJSDocParameterTags(node).some(isOptionalJSDocPropertyLikeTag));
21801
21835
  }
21802
21836
  function isOptionalDeclaration(declaration) {
21803
21837
  switch (declaration.kind) {
@@ -21874,6 +21908,21 @@ function replaceFirstStar(s, replacement) {
21874
21908
  function getNameFromImportAttribute(node) {
21875
21909
  return isIdentifier(node.name) ? node.name.escapedText : escapeLeadingUnderscores(node.name.text);
21876
21910
  }
21911
+ function isSyntacticallyString(expr) {
21912
+ switch (expr.kind) {
21913
+ case 226 /* BinaryExpression */:
21914
+ const left = expr.left;
21915
+ const right = expr.right;
21916
+ return expr.operatorToken.kind === 40 /* PlusToken */ && (isSyntacticallyString(left) || isSyntacticallyString(right));
21917
+ case 217 /* ParenthesizedExpression */:
21918
+ return isSyntacticallyString(expr.expression);
21919
+ case 228 /* TemplateExpression */:
21920
+ case 11 /* StringLiteral */:
21921
+ case 15 /* NoSubstitutionTemplateLiteral */:
21922
+ return true;
21923
+ }
21924
+ return false;
21925
+ }
21877
21926
 
21878
21927
  // src/compiler/factory/baseNodeFactory.ts
21879
21928
  function createBaseNodeFactory() {
@@ -48898,8 +48947,6 @@ function createTypeChecker(host) {
48898
48947
  var comparableRelation = /* @__PURE__ */ new Map();
48899
48948
  var identityRelation = /* @__PURE__ */ new Map();
48900
48949
  var enumRelation = /* @__PURE__ */ new Map();
48901
- var builtinGlobals = createSymbolTable();
48902
- builtinGlobals.set(undefinedSymbol.escapedName, undefinedSymbol);
48903
48950
  var suggestedExtensions = [
48904
48951
  [".mts", ".mjs"],
48905
48952
  [".ts", ".js"],
@@ -49317,17 +49364,17 @@ function createTypeChecker(host) {
49317
49364
  }
49318
49365
  }
49319
49366
  }
49320
- function addToSymbolTable(target, source, message) {
49321
- source.forEach((sourceSymbol, id) => {
49322
- const targetSymbol = target.get(id);
49323
- if (targetSymbol) {
49324
- forEach(targetSymbol.declarations, addDeclarationDiagnostic(unescapeLeadingUnderscores(id), message));
49325
- } else {
49326
- target.set(id, sourceSymbol);
49327
- }
49328
- });
49329
- function addDeclarationDiagnostic(id, message2) {
49330
- return (declaration) => diagnostics.add(createDiagnosticForNode(declaration, message2, id));
49367
+ function addUndefinedToGlobalsOrErrorOnRedeclaration() {
49368
+ const name = undefinedSymbol.escapedName;
49369
+ const targetSymbol = globals.get(name);
49370
+ if (targetSymbol) {
49371
+ forEach(targetSymbol.declarations, (declaration) => {
49372
+ if (!isTypeDeclaration(declaration)) {
49373
+ diagnostics.add(createDiagnosticForNode(declaration, Diagnostics.Declaration_name_conflicts_with_built_in_global_identifier_0, unescapeLeadingUnderscores(name)));
49374
+ }
49375
+ });
49376
+ } else {
49377
+ globals.set(name, undefinedSymbol);
49331
49378
  }
49332
49379
  }
49333
49380
  function getSymbolLinks(symbol) {
@@ -49397,7 +49444,14 @@ function createTypeChecker(host) {
49397
49444
  } else if (declaration.kind === 260 /* VariableDeclaration */) {
49398
49445
  return !isImmediatelyUsedInInitializerOfBlockScopedVariable(declaration, usage);
49399
49446
  } else if (isClassLike(declaration)) {
49400
- return !findAncestor(usage, (n) => isComputedPropertyName(n) && n.parent.parent === declaration);
49447
+ const container = findAncestor(usage, (n) => n === declaration ? "quit" : isComputedPropertyName(n) ? n.parent.parent === declaration : isDecorator(n) && (n.parent === declaration || isMethodDeclaration(n.parent) && n.parent.parent === declaration || isGetOrSetAccessorDeclaration(n.parent) && n.parent.parent === declaration || isPropertyDeclaration(n.parent) && n.parent.parent === declaration || isParameter(n.parent) && n.parent.parent.parent === declaration));
49448
+ if (!container) {
49449
+ return true;
49450
+ }
49451
+ if (isDecorator(container)) {
49452
+ return !!findAncestor(usage, (n) => n === container ? "quit" : isFunctionLike(n) && !getImmediatelyInvokedFunctionExpression(n));
49453
+ }
49454
+ return false;
49401
49455
  } else if (isPropertyDeclaration(declaration)) {
49402
49456
  return !isPropertyImmediatelyReferencedWithinDeclaration(
49403
49457
  declaration,
@@ -58282,7 +58336,7 @@ function createTypeChecker(host) {
58282
58336
  if (!lateSymbol)
58283
58337
  lateSymbols.set(memberName, lateSymbol = createSymbol(0 /* None */, memberName, 4096 /* Late */));
58284
58338
  const earlySymbol = earlySymbols && earlySymbols.get(memberName);
58285
- if (!(parent2.flags & 32 /* Class */) && lateSymbol.flags & getExcludedSymbolFlags(symbolFlags)) {
58339
+ if (!(parent2.flags & 32 /* Class */) && (lateSymbol.flags & getExcludedSymbolFlags(symbolFlags) || earlySymbol)) {
58286
58340
  const declarations = earlySymbol ? concatenate(earlySymbol.declarations, lateSymbol.declarations) : lateSymbol.declarations;
58287
58341
  const name = !(type.flags & 8192 /* UniqueESSymbol */) && unescapeLeadingUnderscores(memberName) || declarationNameToString(declName);
58288
58342
  forEach(declarations, (declaration) => error2(getNameOfDeclaration(declaration) || declaration, Diagnostics.Property_0_was_also_declared_here, name));
@@ -60070,10 +60124,16 @@ function createTypeChecker(host) {
60070
60124
  const symbol = getSymbol2(globals, '"' + moduleName + '"', 512 /* ValueModule */);
60071
60125
  return symbol && withAugmentations ? getMergedSymbol(symbol) : symbol;
60072
60126
  }
60127
+ function hasEffectiveQuestionToken(node) {
60128
+ return hasQuestionToken(node) || isOptionalJSDocPropertyLikeTag(node) || isParameter(node) && isJSDocOptionalParameter(node);
60129
+ }
60073
60130
  function isOptionalParameter(node) {
60074
- if (hasQuestionToken(node) || isOptionalJSDocPropertyLikeTag(node) || isJSDocOptionalParameter(node)) {
60131
+ if (hasEffectiveQuestionToken(node)) {
60075
60132
  return true;
60076
60133
  }
60134
+ if (!isParameter(node)) {
60135
+ return false;
60136
+ }
60077
60137
  if (node.initializer) {
60078
60138
  const signature = getSignatureFromDeclaration(node.parent);
60079
60139
  const parameterIndex = node.parent.parameters.indexOf(node);
@@ -60173,7 +60233,7 @@ function createTypeChecker(host) {
60173
60233
  if (type && type.kind === 201 /* LiteralType */) {
60174
60234
  flags |= 2 /* HasLiteralTypes */;
60175
60235
  }
60176
- const isOptionalParameter2 = isOptionalJSDocPropertyLikeTag(param) || param.initializer || param.questionToken || isRestParameter(param) || iife && parameters.length > iife.arguments.length && !type || isJSDocOptionalParameter(param);
60236
+ const isOptionalParameter2 = hasEffectiveQuestionToken(param) || isParameter(param) && param.initializer || isRestParameter(param) || iife && parameters.length > iife.arguments.length && !type;
60177
60237
  if (!isOptionalParameter2) {
60178
60238
  minArgumentCount = parameters.length;
60179
60239
  }
@@ -65291,7 +65351,7 @@ function createTypeChecker(host) {
65291
65351
  if (reduced !== type) {
65292
65352
  return reduced;
65293
65353
  }
65294
- if (type.flags & 2097152 /* Intersection */ && some(type.types, isEmptyAnonymousObjectType)) {
65354
+ if (type.flags & 2097152 /* Intersection */ && shouldNormalizeIntersection(type)) {
65295
65355
  const normalizedTypes = sameMap(type.types, (t) => getNormalizedType(t, writing));
65296
65356
  if (normalizedTypes !== type.types) {
65297
65357
  return getIntersectionType(normalizedTypes);
@@ -65299,6 +65359,17 @@ function createTypeChecker(host) {
65299
65359
  }
65300
65360
  return type;
65301
65361
  }
65362
+ function shouldNormalizeIntersection(type) {
65363
+ let hasInstantiable = false;
65364
+ let hasNullableOrEmpty = false;
65365
+ for (const t of type.types) {
65366
+ hasInstantiable || (hasInstantiable = !!(t.flags & 465829888 /* Instantiable */));
65367
+ hasNullableOrEmpty || (hasNullableOrEmpty = !!(t.flags & 98304 /* Nullable */) || isEmptyAnonymousObjectType(t));
65368
+ if (hasInstantiable && hasNullableOrEmpty)
65369
+ return true;
65370
+ }
65371
+ return false;
65372
+ }
65302
65373
  function getNormalizedTupleType(type, writing) {
65303
65374
  const elements = getElementTypes(type);
65304
65375
  const normalizedElements = sameMap(elements, (t) => t.flags & 25165824 /* Simplifiable */ ? getSimplifiedType(t, writing) : t);
@@ -70149,9 +70220,9 @@ function createTypeChecker(host) {
70149
70220
  if (strictNullChecks) {
70150
70221
  switch (facts) {
70151
70222
  case 524288 /* NEUndefined */:
70152
- return mapType(reduced, (t) => hasTypeFacts(t, 65536 /* EQUndefined */) ? getIntersectionType([t, hasTypeFacts(t, 131072 /* EQNull */) && !maybeTypeOfKind(reduced, 65536 /* Null */) ? getUnionType([emptyObjectType, nullType]) : emptyObjectType]) : t);
70223
+ return removeNullableByIntersection(reduced, 65536 /* EQUndefined */, 131072 /* EQNull */, 33554432 /* IsNull */, nullType);
70153
70224
  case 1048576 /* NENull */:
70154
- return mapType(reduced, (t) => hasTypeFacts(t, 131072 /* EQNull */) ? getIntersectionType([t, hasTypeFacts(t, 65536 /* EQUndefined */) && !maybeTypeOfKind(reduced, 32768 /* Undefined */) ? getUnionType([emptyObjectType, undefinedType]) : emptyObjectType]) : t);
70225
+ return removeNullableByIntersection(reduced, 131072 /* EQNull */, 65536 /* EQUndefined */, 16777216 /* IsUndefined */, undefinedType);
70155
70226
  case 2097152 /* NEUndefinedOrNull */:
70156
70227
  case 4194304 /* Truthy */:
70157
70228
  return mapType(reduced, (t) => hasTypeFacts(t, 262144 /* EQUndefinedOrNull */) ? getGlobalNonNullableTypeInstantiation(t) : t);
@@ -70159,6 +70230,14 @@ function createTypeChecker(host) {
70159
70230
  }
70160
70231
  return reduced;
70161
70232
  }
70233
+ function removeNullableByIntersection(type, targetFacts, otherFacts, otherIncludesFacts, otherType) {
70234
+ const facts = getTypeFacts(type, 65536 /* EQUndefined */ | 131072 /* EQNull */ | 16777216 /* IsUndefined */ | 33554432 /* IsNull */);
70235
+ if (!(facts & targetFacts)) {
70236
+ return type;
70237
+ }
70238
+ const emptyAndOtherUnion = getUnionType([emptyObjectType, otherType]);
70239
+ return mapType(type, (t) => hasTypeFacts(t, targetFacts) ? getIntersectionType([t, !(facts & otherIncludesFacts) && hasTypeFacts(t, otherFacts) ? emptyAndOtherUnion : emptyObjectType]) : t);
70240
+ }
70162
70241
  function recombineUnknownType(type) {
70163
70242
  return type === unknownUnionType ? unknownType : type;
70164
70243
  }
@@ -73726,7 +73805,7 @@ function createTypeChecker(host) {
73726
73805
  }
73727
73806
  }
73728
73807
  function checkSpreadExpression(node, checkMode) {
73729
- if (languageVersion < 2 /* ES2015 */) {
73808
+ if (languageVersion < 2 /* SpreadElements */) {
73730
73809
  checkExternalEmitHelpers(node, compilerOptions.downlevelIteration ? 1536 /* SpreadIncludes */ : 1024 /* SpreadArray */);
73731
73810
  }
73732
73811
  const arrayOrIterableType = checkExpression(node.expression, checkMode);
@@ -73760,7 +73839,7 @@ function createTypeChecker(host) {
73760
73839
  for (let i = 0; i < elementCount; i++) {
73761
73840
  const e = elements[i];
73762
73841
  if (e.kind === 230 /* SpreadElement */) {
73763
- if (languageVersion < 2 /* ES2015 */) {
73842
+ if (languageVersion < 2 /* SpreadElements */) {
73764
73843
  checkExternalEmitHelpers(e, compilerOptions.downlevelIteration ? 1536 /* SpreadIncludes */ : 1024 /* SpreadArray */);
73765
73844
  }
73766
73845
  const spreadType = checkExpression(e.expression, checkMode, forceTuple);
@@ -73990,7 +74069,7 @@ function createTypeChecker(host) {
73990
74069
  addIntraExpressionInferenceSite(inferenceContext, inferenceNode, type);
73991
74070
  }
73992
74071
  } else if (memberDecl.kind === 305 /* SpreadAssignment */) {
73993
- if (languageVersion < 2 /* ES2015 */) {
74072
+ if (languageVersion < 2 /* ObjectAssign */) {
73994
74073
  checkExternalEmitHelpers(memberDecl, 2 /* Assign */);
73995
74074
  }
73996
74075
  if (propertiesArray.length > 0) {
@@ -75015,7 +75094,7 @@ function createTypeChecker(host) {
75015
75094
  const isAnyLike = isTypeAny(apparentType) || apparentType === silentNeverType;
75016
75095
  let prop;
75017
75096
  if (isPrivateIdentifier(right)) {
75018
- if (languageVersion < 99 /* ESNext */) {
75097
+ if (languageVersion < 9 /* PrivateNamesAndClassStaticBlocks */ || languageVersion < 99 /* ClassAndClassElementDecorators */ || !useDefineForClassFields) {
75019
75098
  if (assignmentKind !== 0 /* None */) {
75020
75099
  checkExternalEmitHelpers(node, 1048576 /* ClassPrivateFieldSet */);
75021
75100
  }
@@ -76842,7 +76921,7 @@ function createTypeChecker(host) {
76842
76921
  }
76843
76922
  return resolveErrorCall(node);
76844
76923
  }
76845
- if (checkMode & 8 /* SkipGenericFunctions */ && !node.typeArguments && callSignatures.some(isGenericFunctionReturningFunctionOrConstructor)) {
76924
+ if (checkMode & 8 /* SkipGenericFunctions */ && !node.typeArguments && callSignatures.some(isGenericFunctionReturningFunction)) {
76846
76925
  skippedGenericFunction(node, checkMode);
76847
76926
  return resolvingSignature;
76848
76927
  }
@@ -76852,12 +76931,8 @@ function createTypeChecker(host) {
76852
76931
  }
76853
76932
  return resolveCall(node, callSignatures, candidatesOutArray, checkMode, callChainFlags);
76854
76933
  }
76855
- function isGenericFunctionReturningFunctionOrConstructor(signature) {
76856
- if (!signature.typeParameters) {
76857
- return false;
76858
- }
76859
- const returnType = getReturnTypeOfSignature(signature);
76860
- return isFunctionType(returnType) || isConstructorType(returnType);
76934
+ function isGenericFunctionReturningFunction(signature) {
76935
+ return !!(signature.typeParameters && isFunctionType(getReturnTypeOfSignature(signature)));
76861
76936
  }
76862
76937
  function isUntypedFunctionCall(funcType, apparentFuncType, numCallSignatures, numConstructSignatures) {
76863
76938
  return isTypeAny(funcType) || isTypeAny(apparentFuncType) && !!(funcType.flags & 262144 /* TypeParameter */) || !numCallSignatures && !numConstructSignatures && !(apparentFuncType.flags & 1048576 /* Union */) && !(getReducedType(apparentFuncType).flags & 131072 /* Never */) && isTypeAssignableTo(funcType, globalFunctionType);
@@ -77628,7 +77703,7 @@ function createTypeChecker(host) {
77628
77703
  function checkTaggedTemplateExpression(node) {
77629
77704
  if (!checkGrammarTaggedTemplateChain(node))
77630
77705
  checkGrammarTypeArguments(node, node.typeArguments);
77631
- if (languageVersion < 2 /* ES2015 */) {
77706
+ if (languageVersion < 2 /* TaggedTemplates */) {
77632
77707
  checkExternalEmitHelpers(node, 262144 /* MakeTemplateObject */);
77633
77708
  }
77634
77709
  const signature = getResolvedSignature(node);
@@ -79275,7 +79350,7 @@ function createTypeChecker(host) {
79275
79350
  return silentNeverType;
79276
79351
  }
79277
79352
  if (isPrivateIdentifier(left)) {
79278
- if (languageVersion < 99 /* ESNext */) {
79353
+ if (languageVersion < 9 /* PrivateNamesAndClassStaticBlocks */ || languageVersion < 99 /* ClassAndClassElementDecorators */ || !useDefineForClassFields) {
79279
79354
  checkExternalEmitHelpers(left, 2097152 /* ClassPrivateFieldIn */);
79280
79355
  }
79281
79356
  if (!getNodeLinks(left).resolvedSymbol && getContainingClass(left)) {
@@ -79336,7 +79411,7 @@ function createTypeChecker(host) {
79336
79411
  if (propertyIndex < properties.length - 1) {
79337
79412
  error2(property, Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern);
79338
79413
  } else {
79339
- if (languageVersion < 99 /* ESNext */) {
79414
+ if (languageVersion < 5 /* ObjectSpreadRest */) {
79340
79415
  checkExternalEmitHelpers(property, 4 /* Rest */);
79341
79416
  }
79342
79417
  const nonRestNames = [];
@@ -79357,7 +79432,7 @@ function createTypeChecker(host) {
79357
79432
  }
79358
79433
  function checkArrayLiteralAssignment(node, sourceType, checkMode) {
79359
79434
  const elements = node.elements;
79360
- if (languageVersion < 2 /* ES2015 */ && compilerOptions.downlevelIteration) {
79435
+ if (languageVersion < 2 /* DestructuringAssignment */ && compilerOptions.downlevelIteration) {
79361
79436
  checkExternalEmitHelpers(node, 512 /* Read */);
79362
79437
  }
79363
79438
  const possiblyOutOfBoundsType = checkIteratedTypeOrElementType(65 /* Destructuring */ | 128 /* PossiblyOutOfBounds */, sourceType, undefinedType, node) || errorType;
@@ -80059,10 +80134,10 @@ function createTypeChecker(host) {
80059
80134
  }
80060
80135
  const isAsync = (functionFlags & 2 /* Async */) !== 0;
80061
80136
  if (node.asteriskToken) {
80062
- if (isAsync && languageVersion < 99 /* ESNext */) {
80137
+ if (isAsync && languageVersion < 5 /* AsyncGenerators */) {
80063
80138
  checkExternalEmitHelpers(node, 26624 /* AsyncDelegatorIncludes */);
80064
80139
  }
80065
- if (!isAsync && languageVersion < 2 /* ES2015 */ && compilerOptions.downlevelIteration) {
80140
+ if (!isAsync && languageVersion < 2 /* Generators */ && compilerOptions.downlevelIteration) {
80066
80141
  checkExternalEmitHelpers(node, 256 /* Values */);
80067
80142
  }
80068
80143
  }
@@ -80834,13 +80909,13 @@ function createTypeChecker(host) {
80834
80909
  }
80835
80910
  const functionFlags = getFunctionFlags(node);
80836
80911
  if (!(functionFlags & 4 /* Invalid */)) {
80837
- if ((functionFlags & 3 /* AsyncGenerator */) === 3 /* AsyncGenerator */ && languageVersion < 99 /* ESNext */) {
80912
+ if ((functionFlags & 3 /* AsyncGenerator */) === 3 /* AsyncGenerator */ && languageVersion < 5 /* AsyncGenerators */) {
80838
80913
  checkExternalEmitHelpers(node, 6144 /* AsyncGeneratorIncludes */);
80839
80914
  }
80840
- if ((functionFlags & 3 /* AsyncGenerator */) === 2 /* Async */ && languageVersion < 4 /* ES2017 */) {
80915
+ if ((functionFlags & 3 /* AsyncGenerator */) === 2 /* Async */ && languageVersion < 4 /* AsyncFunctions */) {
80841
80916
  checkExternalEmitHelpers(node, 64 /* Awaiter */);
80842
80917
  }
80843
- if ((functionFlags & 3 /* AsyncGenerator */) !== 0 /* Normal */ && languageVersion < 2 /* ES2015 */) {
80918
+ if ((functionFlags & 3 /* AsyncGenerator */) !== 0 /* Normal */ && languageVersion < 2 /* Generators */) {
80844
80919
  checkExternalEmitHelpers(node, 128 /* Generator */);
80845
80920
  }
80846
80921
  }
@@ -81073,15 +81148,17 @@ function createTypeChecker(host) {
81073
81148
  setNodeLinksForPrivateIdentifierScope(node);
81074
81149
  }
81075
81150
  function setNodeLinksForPrivateIdentifierScope(node) {
81076
- if (isPrivateIdentifier(node.name) && languageVersion < 99 /* ESNext */) {
81077
- for (let lexicalScope = getEnclosingBlockScopeContainer(node); !!lexicalScope; lexicalScope = getEnclosingBlockScopeContainer(lexicalScope)) {
81078
- getNodeLinks(lexicalScope).flags |= 1048576 /* ContainsClassWithPrivateIdentifiers */;
81079
- }
81080
- if (isClassExpression(node.parent)) {
81081
- const enclosingIterationStatement = getEnclosingIterationStatement(node.parent);
81082
- if (enclosingIterationStatement) {
81083
- getNodeLinks(node.name).flags |= 32768 /* BlockScopedBindingInLoop */;
81084
- getNodeLinks(enclosingIterationStatement).flags |= 4096 /* LoopWithCapturedBlockScopedBinding */;
81151
+ if (isPrivateIdentifier(node.name)) {
81152
+ if (languageVersion < 9 /* PrivateNamesAndClassStaticBlocks */ || languageVersion < 99 /* ClassAndClassElementDecorators */ || !useDefineForClassFields) {
81153
+ for (let lexicalScope = getEnclosingBlockScopeContainer(node); !!lexicalScope; lexicalScope = getEnclosingBlockScopeContainer(lexicalScope)) {
81154
+ getNodeLinks(lexicalScope).flags |= 1048576 /* ContainsClassWithPrivateIdentifiers */;
81155
+ }
81156
+ if (isClassExpression(node.parent)) {
81157
+ const enclosingIterationStatement = getEnclosingIterationStatement(node.parent);
81158
+ if (enclosingIterationStatement) {
81159
+ getNodeLinks(node.name).flags |= 32768 /* BlockScopedBindingInLoop */;
81160
+ getNodeLinks(enclosingIterationStatement).flags |= 4096 /* LoopWithCapturedBlockScopedBinding */;
81161
+ }
81085
81162
  }
81086
81163
  }
81087
81164
  }
@@ -82206,7 +82283,7 @@ function createTypeChecker(host) {
82206
82283
  if (node.kind === 169 /* Parameter */) {
82207
82284
  checkExternalEmitHelpers(firstDecorator, 32 /* Param */);
82208
82285
  }
82209
- } else if (languageVersion < 99 /* ESNext */) {
82286
+ } else if (languageVersion < 99 /* ClassAndClassElementDecorators */) {
82210
82287
  checkExternalEmitHelpers(firstDecorator, 8 /* ESDecorateAndRunInitializers */);
82211
82288
  if (isClassDeclaration(node)) {
82212
82289
  if (!node.name) {
@@ -82911,7 +82988,7 @@ function createTypeChecker(host) {
82911
82988
  potentialUnusedRenamedBindingElementsInTypes.push(node);
82912
82989
  return;
82913
82990
  }
82914
- if (isObjectBindingPattern(node.parent) && node.dotDotDotToken && languageVersion < 5 /* ES2018 */) {
82991
+ if (isObjectBindingPattern(node.parent) && node.dotDotDotToken && languageVersion < 5 /* ObjectSpreadRest */) {
82915
82992
  checkExternalEmitHelpers(node, 4 /* Rest */);
82916
82993
  }
82917
82994
  if (node.propertyName && node.propertyName.kind === 167 /* ComputedPropertyName */) {
@@ -82947,7 +83024,7 @@ function createTypeChecker(host) {
82947
83024
  }
82948
83025
  }
82949
83026
  if (isBindingPattern(node.name)) {
82950
- if (node.name.kind === 207 /* ArrayBindingPattern */ && languageVersion < 2 /* ES2015 */ && compilerOptions.downlevelIteration) {
83027
+ if (node.name.kind === 207 /* ArrayBindingPattern */ && languageVersion < 2 /* BindingPatterns */ && compilerOptions.downlevelIteration) {
82951
83028
  checkExternalEmitHelpers(node, 512 /* Read */);
82952
83029
  }
82953
83030
  forEach(node.name.elements, checkSourceElement);
@@ -83098,7 +83175,7 @@ function createTypeChecker(host) {
83098
83175
  }
83099
83176
  function checkVariableDeclarationList(node) {
83100
83177
  const blockScopeKind = getCombinedNodeFlags(node) & 7 /* BlockScoped */;
83101
- if (blockScopeKind === 4 /* Using */ || blockScopeKind === 6 /* AwaitUsing */) {
83178
+ if ((blockScopeKind === 4 /* Using */ || blockScopeKind === 6 /* AwaitUsing */) && languageVersion < 99 /* UsingAndAwaitUsing */) {
83102
83179
  checkExternalEmitHelpers(node, 16777216 /* AddDisposableResourceAndDisposeResources */);
83103
83180
  }
83104
83181
  forEach(node.declarations, checkSourceElement);
@@ -83271,11 +83348,11 @@ function createTypeChecker(host) {
83271
83348
  grammarErrorOnNode(node.awaitModifier, Diagnostics.for_await_loops_cannot_be_used_inside_a_class_static_block);
83272
83349
  } else {
83273
83350
  const functionFlags = getFunctionFlags(container);
83274
- if ((functionFlags & (4 /* Invalid */ | 2 /* Async */)) === 2 /* Async */ && languageVersion < 99 /* ESNext */) {
83351
+ if ((functionFlags & (4 /* Invalid */ | 2 /* Async */)) === 2 /* Async */ && languageVersion < 5 /* ForAwaitOf */) {
83275
83352
  checkExternalEmitHelpers(node, 16384 /* ForAwaitOfIncludes */);
83276
83353
  }
83277
83354
  }
83278
- } else if (compilerOptions.downlevelIteration && languageVersion < 2 /* ES2015 */) {
83355
+ } else if (compilerOptions.downlevelIteration && languageVersion < 2 /* ForOf */) {
83279
83356
  checkExternalEmitHelpers(node, 256 /* ForOfIncludes */);
83280
83357
  }
83281
83358
  if (node.initializer.kind === 261 /* VariableDeclarationList */) {
@@ -84199,6 +84276,7 @@ function createTypeChecker(host) {
84199
84276
  case "symbol":
84200
84277
  case "void":
84201
84278
  case "object":
84279
+ case "undefined":
84202
84280
  error2(name, message, name.escapedText);
84203
84281
  }
84204
84282
  }
@@ -84338,12 +84416,12 @@ function createTypeChecker(host) {
84338
84416
  return true;
84339
84417
  }
84340
84418
  function getFirstTransformableStaticClassElement(node) {
84341
- const willTransformStaticElementsOfDecoratedClass = !legacyDecorators && languageVersion < 99 /* ESNext */ && classOrConstructorParameterIsDecorated(
84419
+ const willTransformStaticElementsOfDecoratedClass = !legacyDecorators && languageVersion < 99 /* ClassAndClassElementDecorators */ && classOrConstructorParameterIsDecorated(
84342
84420
  /*useLegacyDecorators*/
84343
84421
  false,
84344
84422
  node
84345
84423
  );
84346
- const willTransformPrivateElementsOrClassStaticBlocks = languageVersion <= 9 /* ES2022 */;
84424
+ const willTransformPrivateElementsOrClassStaticBlocks = languageVersion < 9 /* PrivateNamesAndClassStaticBlocks */ || languageVersion < 99 /* ClassAndClassElementDecorators */;
84347
84425
  const willTransformInitializers = !emitStandardClassFields;
84348
84426
  if (willTransformStaticElementsOfDecoratedClass || willTransformPrivateElementsOrClassStaticBlocks) {
84349
84427
  for (const member of node.members) {
@@ -84372,7 +84450,7 @@ function createTypeChecker(host) {
84372
84450
  const parent2 = walkUpOuterExpressions(node);
84373
84451
  if (!isNamedEvaluationSource(parent2))
84374
84452
  return;
84375
- const willTransformESDecorators = !legacyDecorators && languageVersion < 99 /* ESNext */;
84453
+ const willTransformESDecorators = !legacyDecorators && languageVersion < 99 /* ClassAndClassElementDecorators */;
84376
84454
  let location;
84377
84455
  if (willTransformESDecorators && classOrConstructorParameterIsDecorated(
84378
84456
  /*useLegacyDecorators*/
@@ -84432,7 +84510,7 @@ function createTypeChecker(host) {
84432
84510
  const baseTypeNode = getEffectiveBaseTypeNode(node);
84433
84511
  if (baseTypeNode) {
84434
84512
  forEach(baseTypeNode.typeArguments, checkSourceElement);
84435
- if (languageVersion < 2 /* ES2015 */) {
84513
+ if (languageVersion < 2 /* Classes */) {
84436
84514
  checkExternalEmitHelpers(baseTypeNode.parent, 1 /* Extends */);
84437
84515
  }
84438
84516
  const extendsNode = getClassExtendsHeritageElement(node);
@@ -87901,7 +87979,7 @@ function createTypeChecker(host) {
87901
87979
  }
87902
87980
  }
87903
87981
  }
87904
- addToSymbolTable(globals, builtinGlobals, Diagnostics.Declaration_name_conflicts_with_built_in_global_identifier_0);
87982
+ addUndefinedToGlobalsOrErrorOnRedeclaration();
87905
87983
  getSymbolLinks(undefinedSymbol).type = undefinedWideningType;
87906
87984
  getSymbolLinks(argumentsSymbol).type = getGlobalType(
87907
87985
  "IArguments",
@@ -88555,7 +88633,7 @@ function createTypeChecker(host) {
88555
88633
  if (parameter.initializer) {
88556
88634
  return grammarErrorOnNode(parameter.name, Diagnostics.A_rest_parameter_cannot_have_an_initializer);
88557
88635
  }
88558
- } else if (isOptionalParameter(parameter)) {
88636
+ } else if (hasEffectiveQuestionToken(parameter)) {
88559
88637
  seenOptionalParameter = true;
88560
88638
  if (parameter.questionToken && parameter.initializer) {
88561
88639
  return grammarErrorOnNode(parameter.name, Diagnostics.Parameter_cannot_have_question_mark_and_initializer);
@@ -91666,12 +91744,12 @@ function getOriginalNodeId(node) {
91666
91744
  function containsDefaultReference(node) {
91667
91745
  if (!node)
91668
91746
  return false;
91669
- if (!isNamedImports(node))
91747
+ if (!isNamedImports(node) && !isNamedExports(node))
91670
91748
  return false;
91671
91749
  return some(node.elements, isNamedDefaultReference);
91672
91750
  }
91673
91751
  function isNamedDefaultReference(e) {
91674
- return e.propertyName !== void 0 && e.propertyName.escapedText === "default" /* Default */;
91752
+ return e.propertyName !== void 0 ? e.propertyName.escapedText === "default" /* Default */ : e.name.escapedText === "default" /* Default */;
91675
91753
  }
91676
91754
  function chainBundle(context, transformSourceFile) {
91677
91755
  return transformSourceFileOrBundle;
@@ -91745,6 +91823,7 @@ function collectExternalModuleInfo(context, sourceFile) {
91745
91823
  externalImports.push(node);
91746
91824
  if (isNamedExports(node.exportClause)) {
91747
91825
  addExportedNamesForExportDeclaration(node);
91826
+ hasImportDefault || (hasImportDefault = containsDefaultReference(node.exportClause));
91748
91827
  } else {
91749
91828
  const name = node.exportClause.name;
91750
91829
  if (!uniqueExports.get(idText(name))) {
@@ -94208,7 +94287,7 @@ function transformTypeScript(context) {
94208
94287
  ),
94209
94288
  valueExpression
94210
94289
  );
94211
- const outerAssignment = valueExpression.kind === 11 /* StringLiteral */ ? innerAssignment : factory2.createAssignment(
94290
+ const outerAssignment = isSyntacticallyString(valueExpression) ? innerAssignment : factory2.createAssignment(
94212
94291
  factory2.createElementAccessExpression(
94213
94292
  currentNamespaceContainerName,
94214
94293
  innerAssignment
@@ -165492,7 +165571,7 @@ function provideInlayHints(context) {
165492
165571
  return type.symbol && type.symbol.flags & 1536 /* Module */;
165493
165572
  }
165494
165573
  function visitVariableLikeDeclaration(decl) {
165495
- if (!decl.initializer || isBindingPattern(decl.name) || isVariableDeclaration(decl) && !isHintableDeclaration(decl)) {
165574
+ if (decl.initializer === void 0 && !(isPropertyDeclaration(decl) && !(checker.getTypeAtLocation(decl).flags & 1 /* Any */)) || isBindingPattern(decl.name) || isVariableDeclaration(decl) && !isHintableDeclaration(decl)) {
165496
165575
  return;
165497
165576
  }
165498
165577
  const effectiveTypeAnnotation = getEffectiveTypeAnnotationNode(decl);
@@ -173293,6 +173372,7 @@ __export(ts_exports2, {
173293
173372
  JsxEmit: () => JsxEmit,
173294
173373
  JsxFlags: () => JsxFlags,
173295
173374
  JsxReferenceKind: () => JsxReferenceKind,
173375
+ LanguageFeatureMinimumTarget: () => LanguageFeatureMinimumTarget,
173296
173376
  LanguageServiceMode: () => LanguageServiceMode,
173297
173377
  LanguageVariant: () => LanguageVariant,
173298
173378
  LexicalEnvironmentFlags: () => LexicalEnvironmentFlags,
@@ -174946,6 +175026,7 @@ __export(ts_exports2, {
174946
175026
  isSuperProperty: () => isSuperProperty,
174947
175027
  isSupportedSourceFileName: () => isSupportedSourceFileName,
174948
175028
  isSwitchStatement: () => isSwitchStatement,
175029
+ isSyntacticallyString: () => isSyntacticallyString,
174949
175030
  isSyntaxList: () => isSyntaxList,
174950
175031
  isSyntheticExpression: () => isSyntheticExpression,
174951
175032
  isSyntheticReference: () => isSyntheticReference,
@@ -187493,6 +187574,7 @@ if (typeof console !== "undefined") {
187493
187574
  JsxEmit,
187494
187575
  JsxFlags,
187495
187576
  JsxReferenceKind,
187577
+ LanguageFeatureMinimumTarget,
187496
187578
  LanguageServiceMode,
187497
187579
  LanguageVariant,
187498
187580
  LexicalEnvironmentFlags,
@@ -189146,6 +189228,7 @@ if (typeof console !== "undefined") {
189146
189228
  isSuperProperty,
189147
189229
  isSupportedSourceFileName,
189148
189230
  isSwitchStatement,
189231
+ isSyntacticallyString,
189149
189232
  isSyntaxList,
189150
189233
  isSyntheticExpression,
189151
189234
  isSyntheticReference,
@@ -54,7 +54,7 @@ var path = __toESM(require("path"));
54
54
 
55
55
  // src/compiler/corePublic.ts
56
56
  var versionMajorMinor = "5.5";
57
- var version = `${versionMajorMinor}.0-insiders.20240311`;
57
+ var version = `${versionMajorMinor}.0-insiders.20240312`;
58
58
 
59
59
  // src/compiler/core.ts
60
60
  var emptyArray = [];
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@typescript-deploys/pr-build",
3
3
  "author": "Microsoft Corp.",
4
4
  "homepage": "https://www.typescriptlang.org/",
5
- "version": "5.5.0-pr-57717-2",
5
+ "version": "5.5.0-pr-57686-4",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [
@@ -113,5 +113,5 @@
113
113
  "node": "20.1.0",
114
114
  "npm": "8.19.4"
115
115
  },
116
- "gitHead": "b9633d6835404779c01e60d66241866100f36592"
116
+ "gitHead": "1553ea578452313298576241b0e1c059813925f0"
117
117
  }