typescript 4.8.0-dev.20220511 → 4.8.0-dev.20220512

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.
@@ -1199,6 +1199,7 @@
1199
1199
  "Required_type_parameters_may_not_follow_optional_type_parameters_2706": "Les paramètres de type obligatoires ne peuvent pas être placés à la suite des paramètres de type optionnels.",
1200
1200
  "Resolution_for_module_0_was_found_in_cache_from_location_1_6147": "La résolution du module '{0}' a été trouvée dans le cache à l'emplacement '{1}'.",
1201
1201
  "Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1_6241": "La résolution de la directive de référence de type '{0}' a été trouvée dans le cache à l'emplacement '{1}'.",
1202
+ "Resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_wi_4125": "Les assertions du mode de résolution sont instables. Utilisez le TypeScript nocturne pour désactiver cette erreur. Essayez de mettre à jour à l’aide de « npm install -D typescript@next ».",
1202
1203
  "Resolution_modes_are_only_supported_when_moduleResolution_is_node16_or_nodenext_1452": "Les modes de résolution sont pris en charge uniquement lorsque 'moduleResolution' est 'node16' ou 'nodenext'.",
1203
1204
  "Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195": "Résoudre 'keyof' en noms de propriétés de valeur chaîne uniquement (aucun nombre ou symbole).",
1204
1205
  "Resolving_module_0_from_1_6086": "======== Résolution du module '{0}' à partir de '{1}'. ========",
@@ -1199,6 +1199,7 @@
1199
1199
  "Required_type_parameters_may_not_follow_optional_type_parameters_2706": "Gerekli tür parametreleri, isteğe bağlı tür parametrelerini takip edemez.",
1200
1200
  "Resolution_for_module_0_was_found_in_cache_from_location_1_6147": "'{0}' modülünün çözümü '{1}' konumundaki önbellekte bulundu.",
1201
1201
  "Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1_6241": "'{0}' tür başvurusu yönergesinin çözümlemesi '{1}' konumundaki önbellekte bulundu.",
1202
+ "Resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_wi_4125": "Çözme modu onaylamaları kararlı değil. Bu hatayı sessize almak için gecelik TypeScript kullanın. 'npm install -D typescript@next' ile güncelleştirmeyi deneyin.",
1202
1203
  "Resolution_modes_are_only_supported_when_moduleResolution_is_node16_or_nodenext_1452": "Çözünürlük modları yalnızca `moduleResolution` değeri `node16` veya `nodenext` olduğunda desteklenir.",
1203
1204
  "Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195": "'Keyof' değerini yalnızca dize değerli özellik adlarına (sayılar veya simgeler olmadan) çözümleyin.",
1204
1205
  "Resolving_module_0_from_1_6086": "======== '{0}' modülü '{1}' öğesinden çözümleniyor. ========",
package/lib/tsc.js CHANGED
@@ -69,7 +69,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
69
69
  var ts;
70
70
  (function (ts) {
71
71
  ts.versionMajorMinor = "4.8";
72
- ts.version = ts.versionMajorMinor + ".0-dev.20220511";
72
+ ts.version = ts.versionMajorMinor + ".0-dev.20220512";
73
73
  var NativeCollections;
74
74
  (function (NativeCollections) {
75
75
  var globals = typeof globalThis !== "undefined" ? globalThis :
@@ -5326,6 +5326,7 @@ var ts;
5326
5326
  String_literal_expected: diag(1141, ts.DiagnosticCategory.Error, "String_literal_expected_1141", "String literal expected."),
5327
5327
  Line_break_not_permitted_here: diag(1142, ts.DiagnosticCategory.Error, "Line_break_not_permitted_here_1142", "Line break not permitted here."),
5328
5328
  or_expected: diag(1144, ts.DiagnosticCategory.Error, "or_expected_1144", "'{' or ';' expected."),
5329
+ or_JSX_element_expected: diag(1145, ts.DiagnosticCategory.Error, "or_JSX_element_expected_1145", "'{' or JSX element expected."),
5329
5330
  Declaration_expected: diag(1146, ts.DiagnosticCategory.Error, "Declaration_expected_1146", "Declaration expected."),
5330
5331
  Import_declarations_in_a_namespace_cannot_reference_a_module: diag(1147, ts.DiagnosticCategory.Error, "Import_declarations_in_a_namespace_cannot_reference_a_module_1147", "Import declarations in a namespace cannot reference a module."),
5331
5332
  Cannot_use_imports_exports_or_module_augmentations_when_module_is_none: diag(1148, ts.DiagnosticCategory.Error, "Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148", "Cannot use imports, exports, or module augmentations when '--module' is 'none'."),
@@ -28235,9 +28236,22 @@ var ts;
28235
28236
  }
28236
28237
  scanJsxIdentifier();
28237
28238
  var pos = getNodePos();
28238
- return finishNode(factory.createJsxAttribute(parseIdentifierName(), token() !== 63 ? undefined :
28239
- scanJsxAttributeValue() === 10 ? parseLiteralNode() :
28240
- parseJsxExpression(true)), pos);
28239
+ return finishNode(factory.createJsxAttribute(parseIdentifierName(), parseJsxAttributeValue()), pos);
28240
+ }
28241
+ function parseJsxAttributeValue() {
28242
+ if (token() === 63) {
28243
+ if (scanJsxAttributeValue() === 10) {
28244
+ return parseLiteralNode();
28245
+ }
28246
+ if (token() === 18) {
28247
+ return parseJsxExpression(true);
28248
+ }
28249
+ if (token() === 29) {
28250
+ return parseJsxElementOrSelfClosingElementOrFragment(true);
28251
+ }
28252
+ parseErrorAtCurrentToken(ts.Diagnostics.or_JSX_element_expected);
28253
+ }
28254
+ return undefined;
28241
28255
  }
28242
28256
  function parseJsxSpreadAttribute() {
28243
28257
  var pos = getNodePos();
@@ -42296,8 +42310,9 @@ var ts;
42296
42310
  function getExportSymbolOfValueSymbolIfExported(symbol) {
42297
42311
  return getMergedSymbol(symbol && (symbol.flags & 1048576) !== 0 && symbol.exportSymbol || symbol);
42298
42312
  }
42299
- function symbolIsValue(symbol) {
42300
- return !!(symbol.flags & 111551 || symbol.flags & 2097152 && resolveAlias(symbol).flags & 111551 && !getTypeOnlyAliasDeclaration(symbol));
42313
+ function symbolIsValue(symbol, includeTypeOnlyMembers) {
42314
+ return !!(symbol.flags & 111551 ||
42315
+ symbol.flags & 2097152 && resolveAlias(symbol).flags & 111551 && (includeTypeOnlyMembers || !getTypeOnlyAliasDeclaration(symbol)));
42301
42316
  }
42302
42317
  function findConstructorDeclaration(node) {
42303
42318
  var members = node.members;
@@ -48933,12 +48948,12 @@ var ts;
48933
48948
  }
48934
48949
  return errorInfo;
48935
48950
  }
48936
- function getPropertyOfType(type, name, skipObjectFunctionPropertyAugment) {
48951
+ function getPropertyOfType(type, name, skipObjectFunctionPropertyAugment, includeTypeOnlyMembers) {
48937
48952
  type = getReducedApparentType(type);
48938
48953
  if (type.flags & 524288) {
48939
48954
  var resolved = resolveStructuredTypeMembers(type);
48940
48955
  var symbol = resolved.members.get(name);
48941
- if (symbol && symbolIsValue(symbol)) {
48956
+ if (symbol && symbolIsValue(symbol, includeTypeOnlyMembers)) {
48942
48957
  return symbol;
48943
48958
  }
48944
48959
  if (skipObjectFunctionPropertyAugment)
@@ -51923,7 +51938,7 @@ var ts;
51923
51938
  var meaning = nameStack.length ? 1920 : targetMeaning;
51924
51939
  var mergedResolvedSymbol = getMergedSymbol(resolveSymbol(currentNamespace));
51925
51940
  var next = node.isTypeOf
51926
- ? getPropertyOfType(getTypeOfSymbol(mergedResolvedSymbol), current.escapedText)
51941
+ ? getPropertyOfType(getTypeOfSymbol(mergedResolvedSymbol), current.escapedText, false, true)
51927
51942
  : getSymbol(getExportsOfSymbol(mergedResolvedSymbol), current.escapedText, meaning);
51928
51943
  if (!next) {
51929
51944
  error(current, ts.Diagnostics.Namespace_0_has_no_exported_member_1, getFullyQualifiedName(currentNamespace), ts.declarationNameToString(current));
@@ -62178,9 +62193,8 @@ var ts;
62178
62193
  markAliasReferenced(parentSymbol, node);
62179
62194
  }
62180
62195
  return isErrorType(apparentType) ? errorType : apparentType;
62181
- ;
62182
62196
  }
62183
- prop = getPropertyOfType(apparentType, right.escapedText);
62197
+ prop = getPropertyOfType(apparentType, right.escapedText, false, node.kind === 161);
62184
62198
  }
62185
62199
  if (ts.isIdentifier(left) && parentSymbol && (compilerOptions.isolatedModules ||
62186
62200
  !(prop && (isConstEnumOrConstEnumOnlyModule(prop) || prop.flags & 8 && node.parent.kind === 299)) ||
@@ -81709,20 +81723,27 @@ var ts;
81709
81723
  if (node === undefined) {
81710
81724
  return factory.createTrue();
81711
81725
  }
81712
- else if (node.kind === 10) {
81726
+ if (node.kind === 10) {
81713
81727
  var singleQuote = node.singleQuote !== undefined ? node.singleQuote : !ts.isStringDoubleQuoted(node, currentSourceFile);
81714
81728
  var literal = factory.createStringLiteral(tryDecodeEntities(node.text) || node.text, singleQuote);
81715
81729
  return ts.setTextRange(literal, node);
81716
81730
  }
81717
- else if (node.kind === 288) {
81731
+ if (node.kind === 288) {
81718
81732
  if (node.expression === undefined) {
81719
81733
  return factory.createTrue();
81720
81734
  }
81721
81735
  return ts.visitNode(node.expression, visitor, ts.isExpression);
81722
81736
  }
81723
- else {
81724
- return ts.Debug.failBadSyntaxKind(node);
81737
+ if (ts.isJsxElement(node)) {
81738
+ return visitJsxElement(node, false);
81739
+ }
81740
+ if (ts.isJsxSelfClosingElement(node)) {
81741
+ return visitJsxSelfClosingElement(node, false);
81742
+ }
81743
+ if (ts.isJsxFragment(node)) {
81744
+ return visitJsxFragment(node, false);
81725
81745
  }
81746
+ return ts.Debug.failBadSyntaxKind(node);
81726
81747
  }
81727
81748
  function visitJsxText(node) {
81728
81749
  var fixed = fixupWhitespaceAndDecodeEntities(node.text);
package/lib/tsserver.js CHANGED
@@ -100,7 +100,7 @@ var ts;
100
100
  // The following is baselined as a literal template type without intervention
101
101
  /** The version of the TypeScript compiler release */
102
102
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
103
- ts.version = ts.versionMajorMinor + ".0-dev.20220511";
103
+ ts.version = ts.versionMajorMinor + ".0-dev.20220512";
104
104
  /* @internal */
105
105
  var Comparison;
106
106
  (function (Comparison) {
@@ -8142,6 +8142,7 @@ var ts;
8142
8142
  String_literal_expected: diag(1141, ts.DiagnosticCategory.Error, "String_literal_expected_1141", "String literal expected."),
8143
8143
  Line_break_not_permitted_here: diag(1142, ts.DiagnosticCategory.Error, "Line_break_not_permitted_here_1142", "Line break not permitted here."),
8144
8144
  or_expected: diag(1144, ts.DiagnosticCategory.Error, "or_expected_1144", "'{' or ';' expected."),
8145
+ or_JSX_element_expected: diag(1145, ts.DiagnosticCategory.Error, "or_JSX_element_expected_1145", "'{' or JSX element expected."),
8145
8146
  Declaration_expected: diag(1146, ts.DiagnosticCategory.Error, "Declaration_expected_1146", "Declaration expected."),
8146
8147
  Import_declarations_in_a_namespace_cannot_reference_a_module: diag(1147, ts.DiagnosticCategory.Error, "Import_declarations_in_a_namespace_cannot_reference_a_module_1147", "Import declarations in a namespace cannot reference a module."),
8147
8148
  Cannot_use_imports_exports_or_module_augmentations_when_module_is_none: diag(1148, ts.DiagnosticCategory.Error, "Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148", "Cannot use imports, exports, or module augmentations when '--module' is 'none'."),
@@ -35202,9 +35203,22 @@ var ts;
35202
35203
  }
35203
35204
  scanJsxIdentifier();
35204
35205
  var pos = getNodePos();
35205
- return finishNode(factory.createJsxAttribute(parseIdentifierName(), token() !== 63 /* EqualsToken */ ? undefined :
35206
- scanJsxAttributeValue() === 10 /* StringLiteral */ ? parseLiteralNode() :
35207
- parseJsxExpression(/*inExpressionContext*/ true)), pos);
35206
+ return finishNode(factory.createJsxAttribute(parseIdentifierName(), parseJsxAttributeValue()), pos);
35207
+ }
35208
+ function parseJsxAttributeValue() {
35209
+ if (token() === 63 /* EqualsToken */) {
35210
+ if (scanJsxAttributeValue() === 10 /* StringLiteral */) {
35211
+ return parseLiteralNode();
35212
+ }
35213
+ if (token() === 18 /* OpenBraceToken */) {
35214
+ return parseJsxExpression(/*inExpressionContext*/ true);
35215
+ }
35216
+ if (token() === 29 /* LessThanToken */) {
35217
+ return parseJsxElementOrSelfClosingElementOrFragment(/*inExpressionContext*/ true);
35218
+ }
35219
+ parseErrorAtCurrentToken(ts.Diagnostics.or_JSX_element_expected);
35220
+ }
35221
+ return undefined;
35208
35222
  }
35209
35223
  function parseJsxSpreadAttribute() {
35210
35224
  var pos = getNodePos();
@@ -51477,8 +51491,9 @@ var ts;
51477
51491
  function getExportSymbolOfValueSymbolIfExported(symbol) {
51478
51492
  return getMergedSymbol(symbol && (symbol.flags & 1048576 /* ExportValue */) !== 0 && symbol.exportSymbol || symbol);
51479
51493
  }
51480
- function symbolIsValue(symbol) {
51481
- return !!(symbol.flags & 111551 /* Value */ || symbol.flags & 2097152 /* Alias */ && resolveAlias(symbol).flags & 111551 /* Value */ && !getTypeOnlyAliasDeclaration(symbol));
51494
+ function symbolIsValue(symbol, includeTypeOnlyMembers) {
51495
+ return !!(symbol.flags & 111551 /* Value */ ||
51496
+ symbol.flags & 2097152 /* Alias */ && resolveAlias(symbol).flags & 111551 /* Value */ && (includeTypeOnlyMembers || !getTypeOnlyAliasDeclaration(symbol)));
51482
51497
  }
51483
51498
  function findConstructorDeclaration(node) {
51484
51499
  var members = node.members;
@@ -59168,12 +59183,12 @@ var ts;
59168
59183
  * @param type a type to look up property from
59169
59184
  * @param name a name of property to look up in a given type
59170
59185
  */
59171
- function getPropertyOfType(type, name, skipObjectFunctionPropertyAugment) {
59186
+ function getPropertyOfType(type, name, skipObjectFunctionPropertyAugment, includeTypeOnlyMembers) {
59172
59187
  type = getReducedApparentType(type);
59173
59188
  if (type.flags & 524288 /* Object */) {
59174
59189
  var resolved = resolveStructuredTypeMembers(type);
59175
59190
  var symbol = resolved.members.get(name);
59176
- if (symbol && symbolIsValue(symbol)) {
59191
+ if (symbol && symbolIsValue(symbol, includeTypeOnlyMembers)) {
59177
59192
  return symbol;
59178
59193
  }
59179
59194
  if (skipObjectFunctionPropertyAugment)
@@ -62553,7 +62568,7 @@ var ts;
62553
62568
  // the `exports` lookup process that only looks up namespace members which is used for most type references
62554
62569
  var mergedResolvedSymbol = getMergedSymbol(resolveSymbol(currentNamespace));
62555
62570
  var next = node.isTypeOf
62556
- ? getPropertyOfType(getTypeOfSymbol(mergedResolvedSymbol), current.escapedText)
62571
+ ? getPropertyOfType(getTypeOfSymbol(mergedResolvedSymbol), current.escapedText, /*skipObjectFunctionPropertyAugment*/ false, /*includeTypeOnlyMembers*/ true)
62557
62572
  : getSymbol(getExportsOfSymbol(mergedResolvedSymbol), current.escapedText, meaning);
62558
62573
  if (!next) {
62559
62574
  error(current, ts.Diagnostics.Namespace_0_has_no_exported_member_1, getFullyQualifiedName(currentNamespace), ts.declarationNameToString(current));
@@ -74469,9 +74484,8 @@ var ts;
74469
74484
  markAliasReferenced(parentSymbol, node);
74470
74485
  }
74471
74486
  return isErrorType(apparentType) ? errorType : apparentType;
74472
- ;
74473
74487
  }
74474
- prop = getPropertyOfType(apparentType, right.escapedText);
74488
+ prop = getPropertyOfType(apparentType, right.escapedText, /*skipObjectFunctionPropertyAugment*/ false, /*includeTypeOnlyMembers*/ node.kind === 161 /* QualifiedName */);
74475
74489
  }
74476
74490
  // In `Foo.Bar.Baz`, 'Foo' is not referenced if 'Bar' is a const enum or a module containing only const enums.
74477
74491
  // `Foo` is also not referenced in `enum FooCopy { Bar = Foo.Bar }`, because the enum member value gets inlined
@@ -97809,22 +97823,29 @@ var ts;
97809
97823
  if (node === undefined) {
97810
97824
  return factory.createTrue();
97811
97825
  }
97812
- else if (node.kind === 10 /* StringLiteral */) {
97826
+ if (node.kind === 10 /* StringLiteral */) {
97813
97827
  // Always recreate the literal to escape any escape sequences or newlines which may be in the original jsx string and which
97814
97828
  // Need to be escaped to be handled correctly in a normal string
97815
97829
  var singleQuote = node.singleQuote !== undefined ? node.singleQuote : !ts.isStringDoubleQuoted(node, currentSourceFile);
97816
97830
  var literal = factory.createStringLiteral(tryDecodeEntities(node.text) || node.text, singleQuote);
97817
97831
  return ts.setTextRange(literal, node);
97818
97832
  }
97819
- else if (node.kind === 288 /* JsxExpression */) {
97833
+ if (node.kind === 288 /* JsxExpression */) {
97820
97834
  if (node.expression === undefined) {
97821
97835
  return factory.createTrue();
97822
97836
  }
97823
97837
  return ts.visitNode(node.expression, visitor, ts.isExpression);
97824
97838
  }
97825
- else {
97826
- return ts.Debug.failBadSyntaxKind(node);
97839
+ if (ts.isJsxElement(node)) {
97840
+ return visitJsxElement(node, /*isChild*/ false);
97841
+ }
97842
+ if (ts.isJsxSelfClosingElement(node)) {
97843
+ return visitJsxSelfClosingElement(node, /*isChild*/ false);
97844
+ }
97845
+ if (ts.isJsxFragment(node)) {
97846
+ return visitJsxFragment(node, /*isChild*/ false);
97827
97847
  }
97848
+ return ts.Debug.failBadSyntaxKind(node);
97828
97849
  }
97829
97850
  function visitJsxText(node) {
97830
97851
  var fixed = fixupWhitespaceAndDecodeEntities(node.text);
@@ -1388,8 +1388,9 @@ declare namespace ts {
1388
1388
  readonly kind: SyntaxKind.JsxAttribute;
1389
1389
  readonly parent: JsxAttributes;
1390
1390
  readonly name: Identifier;
1391
- readonly initializer?: StringLiteral | JsxExpression;
1391
+ readonly initializer?: JsxAttributeValue;
1392
1392
  }
1393
+ export type JsxAttributeValue = StringLiteral | JsxExpression | JsxElement | JsxSelfClosingElement | JsxFragment;
1393
1394
  export interface JsxSpreadAttribute extends ObjectLiteralElement {
1394
1395
  readonly kind: SyntaxKind.JsxSpreadAttribute;
1395
1396
  readonly parent: JsxAttributes;
@@ -3746,8 +3747,8 @@ declare namespace ts {
3746
3747
  createJsxOpeningFragment(): JsxOpeningFragment;
3747
3748
  createJsxJsxClosingFragment(): JsxClosingFragment;
3748
3749
  updateJsxFragment(node: JsxFragment, openingFragment: JsxOpeningFragment, children: readonly JsxChild[], closingFragment: JsxClosingFragment): JsxFragment;
3749
- createJsxAttribute(name: Identifier, initializer: StringLiteral | JsxExpression | undefined): JsxAttribute;
3750
- updateJsxAttribute(node: JsxAttribute, name: Identifier, initializer: StringLiteral | JsxExpression | undefined): JsxAttribute;
3750
+ createJsxAttribute(name: Identifier, initializer: JsxAttributeValue | undefined): JsxAttribute;
3751
+ updateJsxAttribute(node: JsxAttribute, name: Identifier, initializer: JsxAttributeValue | undefined): JsxAttribute;
3751
3752
  createJsxAttributes(properties: readonly JsxAttributeLike[]): JsxAttributes;
3752
3753
  updateJsxAttributes(node: JsxAttributes, properties: readonly JsxAttributeLike[]): JsxAttributes;
3753
3754
  createJsxSpreadAttribute(expression: Expression): JsxSpreadAttribute;
@@ -11339,9 +11340,9 @@ declare namespace ts {
11339
11340
  /** @deprecated Use `factory.updateJsxFragment` or the factory supplied by your transformation context instead. */
11340
11341
  const updateJsxFragment: (node: JsxFragment, openingFragment: JsxOpeningFragment, children: readonly JsxChild[], closingFragment: JsxClosingFragment) => JsxFragment;
11341
11342
  /** @deprecated Use `factory.createJsxAttribute` or the factory supplied by your transformation context instead. */
11342
- const createJsxAttribute: (name: Identifier, initializer: StringLiteral | JsxExpression | undefined) => JsxAttribute;
11343
+ const createJsxAttribute: (name: Identifier, initializer: JsxAttributeValue | undefined) => JsxAttribute;
11343
11344
  /** @deprecated Use `factory.updateJsxAttribute` or the factory supplied by your transformation context instead. */
11344
- const updateJsxAttribute: (node: JsxAttribute, name: Identifier, initializer: StringLiteral | JsxExpression | undefined) => JsxAttribute;
11345
+ const updateJsxAttribute: (node: JsxAttribute, name: Identifier, initializer: JsxAttributeValue | undefined) => JsxAttribute;
11345
11346
  /** @deprecated Use `factory.createJsxAttributes` or the factory supplied by your transformation context instead. */
11346
11347
  const createJsxAttributes: (properties: readonly JsxAttributeLike[]) => JsxAttributes;
11347
11348
  /** @deprecated Use `factory.updateJsxAttributes` or the factory supplied by your transformation context instead. */
@@ -294,7 +294,7 @@ var ts;
294
294
  // The following is baselined as a literal template type without intervention
295
295
  /** The version of the TypeScript compiler release */
296
296
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
297
- ts.version = ts.versionMajorMinor + ".0-dev.20220511";
297
+ ts.version = ts.versionMajorMinor + ".0-dev.20220512";
298
298
  /* @internal */
299
299
  var Comparison;
300
300
  (function (Comparison) {
@@ -8336,6 +8336,7 @@ var ts;
8336
8336
  String_literal_expected: diag(1141, ts.DiagnosticCategory.Error, "String_literal_expected_1141", "String literal expected."),
8337
8337
  Line_break_not_permitted_here: diag(1142, ts.DiagnosticCategory.Error, "Line_break_not_permitted_here_1142", "Line break not permitted here."),
8338
8338
  or_expected: diag(1144, ts.DiagnosticCategory.Error, "or_expected_1144", "'{' or ';' expected."),
8339
+ or_JSX_element_expected: diag(1145, ts.DiagnosticCategory.Error, "or_JSX_element_expected_1145", "'{' or JSX element expected."),
8339
8340
  Declaration_expected: diag(1146, ts.DiagnosticCategory.Error, "Declaration_expected_1146", "Declaration expected."),
8340
8341
  Import_declarations_in_a_namespace_cannot_reference_a_module: diag(1147, ts.DiagnosticCategory.Error, "Import_declarations_in_a_namespace_cannot_reference_a_module_1147", "Import declarations in a namespace cannot reference a module."),
8341
8342
  Cannot_use_imports_exports_or_module_augmentations_when_module_is_none: diag(1148, ts.DiagnosticCategory.Error, "Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148", "Cannot use imports, exports, or module augmentations when '--module' is 'none'."),
@@ -35396,9 +35397,22 @@ var ts;
35396
35397
  }
35397
35398
  scanJsxIdentifier();
35398
35399
  var pos = getNodePos();
35399
- return finishNode(factory.createJsxAttribute(parseIdentifierName(), token() !== 63 /* EqualsToken */ ? undefined :
35400
- scanJsxAttributeValue() === 10 /* StringLiteral */ ? parseLiteralNode() :
35401
- parseJsxExpression(/*inExpressionContext*/ true)), pos);
35400
+ return finishNode(factory.createJsxAttribute(parseIdentifierName(), parseJsxAttributeValue()), pos);
35401
+ }
35402
+ function parseJsxAttributeValue() {
35403
+ if (token() === 63 /* EqualsToken */) {
35404
+ if (scanJsxAttributeValue() === 10 /* StringLiteral */) {
35405
+ return parseLiteralNode();
35406
+ }
35407
+ if (token() === 18 /* OpenBraceToken */) {
35408
+ return parseJsxExpression(/*inExpressionContext*/ true);
35409
+ }
35410
+ if (token() === 29 /* LessThanToken */) {
35411
+ return parseJsxElementOrSelfClosingElementOrFragment(/*inExpressionContext*/ true);
35412
+ }
35413
+ parseErrorAtCurrentToken(ts.Diagnostics.or_JSX_element_expected);
35414
+ }
35415
+ return undefined;
35402
35416
  }
35403
35417
  function parseJsxSpreadAttribute() {
35404
35418
  var pos = getNodePos();
@@ -51671,8 +51685,9 @@ var ts;
51671
51685
  function getExportSymbolOfValueSymbolIfExported(symbol) {
51672
51686
  return getMergedSymbol(symbol && (symbol.flags & 1048576 /* ExportValue */) !== 0 && symbol.exportSymbol || symbol);
51673
51687
  }
51674
- function symbolIsValue(symbol) {
51675
- return !!(symbol.flags & 111551 /* Value */ || symbol.flags & 2097152 /* Alias */ && resolveAlias(symbol).flags & 111551 /* Value */ && !getTypeOnlyAliasDeclaration(symbol));
51688
+ function symbolIsValue(symbol, includeTypeOnlyMembers) {
51689
+ return !!(symbol.flags & 111551 /* Value */ ||
51690
+ symbol.flags & 2097152 /* Alias */ && resolveAlias(symbol).flags & 111551 /* Value */ && (includeTypeOnlyMembers || !getTypeOnlyAliasDeclaration(symbol)));
51676
51691
  }
51677
51692
  function findConstructorDeclaration(node) {
51678
51693
  var members = node.members;
@@ -59362,12 +59377,12 @@ var ts;
59362
59377
  * @param type a type to look up property from
59363
59378
  * @param name a name of property to look up in a given type
59364
59379
  */
59365
- function getPropertyOfType(type, name, skipObjectFunctionPropertyAugment) {
59380
+ function getPropertyOfType(type, name, skipObjectFunctionPropertyAugment, includeTypeOnlyMembers) {
59366
59381
  type = getReducedApparentType(type);
59367
59382
  if (type.flags & 524288 /* Object */) {
59368
59383
  var resolved = resolveStructuredTypeMembers(type);
59369
59384
  var symbol = resolved.members.get(name);
59370
- if (symbol && symbolIsValue(symbol)) {
59385
+ if (symbol && symbolIsValue(symbol, includeTypeOnlyMembers)) {
59371
59386
  return symbol;
59372
59387
  }
59373
59388
  if (skipObjectFunctionPropertyAugment)
@@ -62747,7 +62762,7 @@ var ts;
62747
62762
  // the `exports` lookup process that only looks up namespace members which is used for most type references
62748
62763
  var mergedResolvedSymbol = getMergedSymbol(resolveSymbol(currentNamespace));
62749
62764
  var next = node.isTypeOf
62750
- ? getPropertyOfType(getTypeOfSymbol(mergedResolvedSymbol), current.escapedText)
62765
+ ? getPropertyOfType(getTypeOfSymbol(mergedResolvedSymbol), current.escapedText, /*skipObjectFunctionPropertyAugment*/ false, /*includeTypeOnlyMembers*/ true)
62751
62766
  : getSymbol(getExportsOfSymbol(mergedResolvedSymbol), current.escapedText, meaning);
62752
62767
  if (!next) {
62753
62768
  error(current, ts.Diagnostics.Namespace_0_has_no_exported_member_1, getFullyQualifiedName(currentNamespace), ts.declarationNameToString(current));
@@ -74663,9 +74678,8 @@ var ts;
74663
74678
  markAliasReferenced(parentSymbol, node);
74664
74679
  }
74665
74680
  return isErrorType(apparentType) ? errorType : apparentType;
74666
- ;
74667
74681
  }
74668
- prop = getPropertyOfType(apparentType, right.escapedText);
74682
+ prop = getPropertyOfType(apparentType, right.escapedText, /*skipObjectFunctionPropertyAugment*/ false, /*includeTypeOnlyMembers*/ node.kind === 161 /* QualifiedName */);
74669
74683
  }
74670
74684
  // In `Foo.Bar.Baz`, 'Foo' is not referenced if 'Bar' is a const enum or a module containing only const enums.
74671
74685
  // `Foo` is also not referenced in `enum FooCopy { Bar = Foo.Bar }`, because the enum member value gets inlined
@@ -98003,22 +98017,29 @@ var ts;
98003
98017
  if (node === undefined) {
98004
98018
  return factory.createTrue();
98005
98019
  }
98006
- else if (node.kind === 10 /* StringLiteral */) {
98020
+ if (node.kind === 10 /* StringLiteral */) {
98007
98021
  // Always recreate the literal to escape any escape sequences or newlines which may be in the original jsx string and which
98008
98022
  // Need to be escaped to be handled correctly in a normal string
98009
98023
  var singleQuote = node.singleQuote !== undefined ? node.singleQuote : !ts.isStringDoubleQuoted(node, currentSourceFile);
98010
98024
  var literal = factory.createStringLiteral(tryDecodeEntities(node.text) || node.text, singleQuote);
98011
98025
  return ts.setTextRange(literal, node);
98012
98026
  }
98013
- else if (node.kind === 288 /* JsxExpression */) {
98027
+ if (node.kind === 288 /* JsxExpression */) {
98014
98028
  if (node.expression === undefined) {
98015
98029
  return factory.createTrue();
98016
98030
  }
98017
98031
  return ts.visitNode(node.expression, visitor, ts.isExpression);
98018
98032
  }
98019
- else {
98020
- return ts.Debug.failBadSyntaxKind(node);
98033
+ if (ts.isJsxElement(node)) {
98034
+ return visitJsxElement(node, /*isChild*/ false);
98035
+ }
98036
+ if (ts.isJsxSelfClosingElement(node)) {
98037
+ return visitJsxSelfClosingElement(node, /*isChild*/ false);
98038
+ }
98039
+ if (ts.isJsxFragment(node)) {
98040
+ return visitJsxFragment(node, /*isChild*/ false);
98021
98041
  }
98042
+ return ts.Debug.failBadSyntaxKind(node);
98022
98043
  }
98023
98044
  function visitJsxText(node) {
98024
98045
  var fixed = fixupWhitespaceAndDecodeEntities(node.text);
@@ -1388,8 +1388,9 @@ declare namespace ts {
1388
1388
  readonly kind: SyntaxKind.JsxAttribute;
1389
1389
  readonly parent: JsxAttributes;
1390
1390
  readonly name: Identifier;
1391
- readonly initializer?: StringLiteral | JsxExpression;
1391
+ readonly initializer?: JsxAttributeValue;
1392
1392
  }
1393
+ export type JsxAttributeValue = StringLiteral | JsxExpression | JsxElement | JsxSelfClosingElement | JsxFragment;
1393
1394
  export interface JsxSpreadAttribute extends ObjectLiteralElement {
1394
1395
  readonly kind: SyntaxKind.JsxSpreadAttribute;
1395
1396
  readonly parent: JsxAttributes;
@@ -3746,8 +3747,8 @@ declare namespace ts {
3746
3747
  createJsxOpeningFragment(): JsxOpeningFragment;
3747
3748
  createJsxJsxClosingFragment(): JsxClosingFragment;
3748
3749
  updateJsxFragment(node: JsxFragment, openingFragment: JsxOpeningFragment, children: readonly JsxChild[], closingFragment: JsxClosingFragment): JsxFragment;
3749
- createJsxAttribute(name: Identifier, initializer: StringLiteral | JsxExpression | undefined): JsxAttribute;
3750
- updateJsxAttribute(node: JsxAttribute, name: Identifier, initializer: StringLiteral | JsxExpression | undefined): JsxAttribute;
3750
+ createJsxAttribute(name: Identifier, initializer: JsxAttributeValue | undefined): JsxAttribute;
3751
+ updateJsxAttribute(node: JsxAttribute, name: Identifier, initializer: JsxAttributeValue | undefined): JsxAttribute;
3751
3752
  createJsxAttributes(properties: readonly JsxAttributeLike[]): JsxAttributes;
3752
3753
  updateJsxAttributes(node: JsxAttributes, properties: readonly JsxAttributeLike[]): JsxAttributes;
3753
3754
  createJsxSpreadAttribute(expression: Expression): JsxSpreadAttribute;
@@ -7481,9 +7482,9 @@ declare namespace ts {
7481
7482
  /** @deprecated Use `factory.updateJsxFragment` or the factory supplied by your transformation context instead. */
7482
7483
  const updateJsxFragment: (node: JsxFragment, openingFragment: JsxOpeningFragment, children: readonly JsxChild[], closingFragment: JsxClosingFragment) => JsxFragment;
7483
7484
  /** @deprecated Use `factory.createJsxAttribute` or the factory supplied by your transformation context instead. */
7484
- const createJsxAttribute: (name: Identifier, initializer: StringLiteral | JsxExpression | undefined) => JsxAttribute;
7485
+ const createJsxAttribute: (name: Identifier, initializer: JsxAttributeValue | undefined) => JsxAttribute;
7485
7486
  /** @deprecated Use `factory.updateJsxAttribute` or the factory supplied by your transformation context instead. */
7486
- const updateJsxAttribute: (node: JsxAttribute, name: Identifier, initializer: StringLiteral | JsxExpression | undefined) => JsxAttribute;
7487
+ const updateJsxAttribute: (node: JsxAttribute, name: Identifier, initializer: JsxAttributeValue | undefined) => JsxAttribute;
7487
7488
  /** @deprecated Use `factory.createJsxAttributes` or the factory supplied by your transformation context instead. */
7488
7489
  const createJsxAttributes: (properties: readonly JsxAttributeLike[]) => JsxAttributes;
7489
7490
  /** @deprecated Use `factory.updateJsxAttributes` or the factory supplied by your transformation context instead. */
package/lib/typescript.js CHANGED
@@ -294,7 +294,7 @@ var ts;
294
294
  // The following is baselined as a literal template type without intervention
295
295
  /** The version of the TypeScript compiler release */
296
296
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
297
- ts.version = ts.versionMajorMinor + ".0-dev.20220511";
297
+ ts.version = ts.versionMajorMinor + ".0-dev.20220512";
298
298
  /* @internal */
299
299
  var Comparison;
300
300
  (function (Comparison) {
@@ -8336,6 +8336,7 @@ var ts;
8336
8336
  String_literal_expected: diag(1141, ts.DiagnosticCategory.Error, "String_literal_expected_1141", "String literal expected."),
8337
8337
  Line_break_not_permitted_here: diag(1142, ts.DiagnosticCategory.Error, "Line_break_not_permitted_here_1142", "Line break not permitted here."),
8338
8338
  or_expected: diag(1144, ts.DiagnosticCategory.Error, "or_expected_1144", "'{' or ';' expected."),
8339
+ or_JSX_element_expected: diag(1145, ts.DiagnosticCategory.Error, "or_JSX_element_expected_1145", "'{' or JSX element expected."),
8339
8340
  Declaration_expected: diag(1146, ts.DiagnosticCategory.Error, "Declaration_expected_1146", "Declaration expected."),
8340
8341
  Import_declarations_in_a_namespace_cannot_reference_a_module: diag(1147, ts.DiagnosticCategory.Error, "Import_declarations_in_a_namespace_cannot_reference_a_module_1147", "Import declarations in a namespace cannot reference a module."),
8341
8342
  Cannot_use_imports_exports_or_module_augmentations_when_module_is_none: diag(1148, ts.DiagnosticCategory.Error, "Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148", "Cannot use imports, exports, or module augmentations when '--module' is 'none'."),
@@ -35396,9 +35397,22 @@ var ts;
35396
35397
  }
35397
35398
  scanJsxIdentifier();
35398
35399
  var pos = getNodePos();
35399
- return finishNode(factory.createJsxAttribute(parseIdentifierName(), token() !== 63 /* EqualsToken */ ? undefined :
35400
- scanJsxAttributeValue() === 10 /* StringLiteral */ ? parseLiteralNode() :
35401
- parseJsxExpression(/*inExpressionContext*/ true)), pos);
35400
+ return finishNode(factory.createJsxAttribute(parseIdentifierName(), parseJsxAttributeValue()), pos);
35401
+ }
35402
+ function parseJsxAttributeValue() {
35403
+ if (token() === 63 /* EqualsToken */) {
35404
+ if (scanJsxAttributeValue() === 10 /* StringLiteral */) {
35405
+ return parseLiteralNode();
35406
+ }
35407
+ if (token() === 18 /* OpenBraceToken */) {
35408
+ return parseJsxExpression(/*inExpressionContext*/ true);
35409
+ }
35410
+ if (token() === 29 /* LessThanToken */) {
35411
+ return parseJsxElementOrSelfClosingElementOrFragment(/*inExpressionContext*/ true);
35412
+ }
35413
+ parseErrorAtCurrentToken(ts.Diagnostics.or_JSX_element_expected);
35414
+ }
35415
+ return undefined;
35402
35416
  }
35403
35417
  function parseJsxSpreadAttribute() {
35404
35418
  var pos = getNodePos();
@@ -51671,8 +51685,9 @@ var ts;
51671
51685
  function getExportSymbolOfValueSymbolIfExported(symbol) {
51672
51686
  return getMergedSymbol(symbol && (symbol.flags & 1048576 /* ExportValue */) !== 0 && symbol.exportSymbol || symbol);
51673
51687
  }
51674
- function symbolIsValue(symbol) {
51675
- return !!(symbol.flags & 111551 /* Value */ || symbol.flags & 2097152 /* Alias */ && resolveAlias(symbol).flags & 111551 /* Value */ && !getTypeOnlyAliasDeclaration(symbol));
51688
+ function symbolIsValue(symbol, includeTypeOnlyMembers) {
51689
+ return !!(symbol.flags & 111551 /* Value */ ||
51690
+ symbol.flags & 2097152 /* Alias */ && resolveAlias(symbol).flags & 111551 /* Value */ && (includeTypeOnlyMembers || !getTypeOnlyAliasDeclaration(symbol)));
51676
51691
  }
51677
51692
  function findConstructorDeclaration(node) {
51678
51693
  var members = node.members;
@@ -59362,12 +59377,12 @@ var ts;
59362
59377
  * @param type a type to look up property from
59363
59378
  * @param name a name of property to look up in a given type
59364
59379
  */
59365
- function getPropertyOfType(type, name, skipObjectFunctionPropertyAugment) {
59380
+ function getPropertyOfType(type, name, skipObjectFunctionPropertyAugment, includeTypeOnlyMembers) {
59366
59381
  type = getReducedApparentType(type);
59367
59382
  if (type.flags & 524288 /* Object */) {
59368
59383
  var resolved = resolveStructuredTypeMembers(type);
59369
59384
  var symbol = resolved.members.get(name);
59370
- if (symbol && symbolIsValue(symbol)) {
59385
+ if (symbol && symbolIsValue(symbol, includeTypeOnlyMembers)) {
59371
59386
  return symbol;
59372
59387
  }
59373
59388
  if (skipObjectFunctionPropertyAugment)
@@ -62747,7 +62762,7 @@ var ts;
62747
62762
  // the `exports` lookup process that only looks up namespace members which is used for most type references
62748
62763
  var mergedResolvedSymbol = getMergedSymbol(resolveSymbol(currentNamespace));
62749
62764
  var next = node.isTypeOf
62750
- ? getPropertyOfType(getTypeOfSymbol(mergedResolvedSymbol), current.escapedText)
62765
+ ? getPropertyOfType(getTypeOfSymbol(mergedResolvedSymbol), current.escapedText, /*skipObjectFunctionPropertyAugment*/ false, /*includeTypeOnlyMembers*/ true)
62751
62766
  : getSymbol(getExportsOfSymbol(mergedResolvedSymbol), current.escapedText, meaning);
62752
62767
  if (!next) {
62753
62768
  error(current, ts.Diagnostics.Namespace_0_has_no_exported_member_1, getFullyQualifiedName(currentNamespace), ts.declarationNameToString(current));
@@ -74663,9 +74678,8 @@ var ts;
74663
74678
  markAliasReferenced(parentSymbol, node);
74664
74679
  }
74665
74680
  return isErrorType(apparentType) ? errorType : apparentType;
74666
- ;
74667
74681
  }
74668
- prop = getPropertyOfType(apparentType, right.escapedText);
74682
+ prop = getPropertyOfType(apparentType, right.escapedText, /*skipObjectFunctionPropertyAugment*/ false, /*includeTypeOnlyMembers*/ node.kind === 161 /* QualifiedName */);
74669
74683
  }
74670
74684
  // In `Foo.Bar.Baz`, 'Foo' is not referenced if 'Bar' is a const enum or a module containing only const enums.
74671
74685
  // `Foo` is also not referenced in `enum FooCopy { Bar = Foo.Bar }`, because the enum member value gets inlined
@@ -98003,22 +98017,29 @@ var ts;
98003
98017
  if (node === undefined) {
98004
98018
  return factory.createTrue();
98005
98019
  }
98006
- else if (node.kind === 10 /* StringLiteral */) {
98020
+ if (node.kind === 10 /* StringLiteral */) {
98007
98021
  // Always recreate the literal to escape any escape sequences or newlines which may be in the original jsx string and which
98008
98022
  // Need to be escaped to be handled correctly in a normal string
98009
98023
  var singleQuote = node.singleQuote !== undefined ? node.singleQuote : !ts.isStringDoubleQuoted(node, currentSourceFile);
98010
98024
  var literal = factory.createStringLiteral(tryDecodeEntities(node.text) || node.text, singleQuote);
98011
98025
  return ts.setTextRange(literal, node);
98012
98026
  }
98013
- else if (node.kind === 288 /* JsxExpression */) {
98027
+ if (node.kind === 288 /* JsxExpression */) {
98014
98028
  if (node.expression === undefined) {
98015
98029
  return factory.createTrue();
98016
98030
  }
98017
98031
  return ts.visitNode(node.expression, visitor, ts.isExpression);
98018
98032
  }
98019
- else {
98020
- return ts.Debug.failBadSyntaxKind(node);
98033
+ if (ts.isJsxElement(node)) {
98034
+ return visitJsxElement(node, /*isChild*/ false);
98035
+ }
98036
+ if (ts.isJsxSelfClosingElement(node)) {
98037
+ return visitJsxSelfClosingElement(node, /*isChild*/ false);
98038
+ }
98039
+ if (ts.isJsxFragment(node)) {
98040
+ return visitJsxFragment(node, /*isChild*/ false);
98021
98041
  }
98042
+ return ts.Debug.failBadSyntaxKind(node);
98022
98043
  }
98023
98044
  function visitJsxText(node) {
98024
98045
  var fixed = fixupWhitespaceAndDecodeEntities(node.text);
@@ -1388,8 +1388,9 @@ declare namespace ts {
1388
1388
  readonly kind: SyntaxKind.JsxAttribute;
1389
1389
  readonly parent: JsxAttributes;
1390
1390
  readonly name: Identifier;
1391
- readonly initializer?: StringLiteral | JsxExpression;
1391
+ readonly initializer?: JsxAttributeValue;
1392
1392
  }
1393
+ export type JsxAttributeValue = StringLiteral | JsxExpression | JsxElement | JsxSelfClosingElement | JsxFragment;
1393
1394
  export interface JsxSpreadAttribute extends ObjectLiteralElement {
1394
1395
  readonly kind: SyntaxKind.JsxSpreadAttribute;
1395
1396
  readonly parent: JsxAttributes;
@@ -3746,8 +3747,8 @@ declare namespace ts {
3746
3747
  createJsxOpeningFragment(): JsxOpeningFragment;
3747
3748
  createJsxJsxClosingFragment(): JsxClosingFragment;
3748
3749
  updateJsxFragment(node: JsxFragment, openingFragment: JsxOpeningFragment, children: readonly JsxChild[], closingFragment: JsxClosingFragment): JsxFragment;
3749
- createJsxAttribute(name: Identifier, initializer: StringLiteral | JsxExpression | undefined): JsxAttribute;
3750
- updateJsxAttribute(node: JsxAttribute, name: Identifier, initializer: StringLiteral | JsxExpression | undefined): JsxAttribute;
3750
+ createJsxAttribute(name: Identifier, initializer: JsxAttributeValue | undefined): JsxAttribute;
3751
+ updateJsxAttribute(node: JsxAttribute, name: Identifier, initializer: JsxAttributeValue | undefined): JsxAttribute;
3751
3752
  createJsxAttributes(properties: readonly JsxAttributeLike[]): JsxAttributes;
3752
3753
  updateJsxAttributes(node: JsxAttributes, properties: readonly JsxAttributeLike[]): JsxAttributes;
3753
3754
  createJsxSpreadAttribute(expression: Expression): JsxSpreadAttribute;
@@ -7481,9 +7482,9 @@ declare namespace ts {
7481
7482
  /** @deprecated Use `factory.updateJsxFragment` or the factory supplied by your transformation context instead. */
7482
7483
  const updateJsxFragment: (node: JsxFragment, openingFragment: JsxOpeningFragment, children: readonly JsxChild[], closingFragment: JsxClosingFragment) => JsxFragment;
7483
7484
  /** @deprecated Use `factory.createJsxAttribute` or the factory supplied by your transformation context instead. */
7484
- const createJsxAttribute: (name: Identifier, initializer: StringLiteral | JsxExpression | undefined) => JsxAttribute;
7485
+ const createJsxAttribute: (name: Identifier, initializer: JsxAttributeValue | undefined) => JsxAttribute;
7485
7486
  /** @deprecated Use `factory.updateJsxAttribute` or the factory supplied by your transformation context instead. */
7486
- const updateJsxAttribute: (node: JsxAttribute, name: Identifier, initializer: StringLiteral | JsxExpression | undefined) => JsxAttribute;
7487
+ const updateJsxAttribute: (node: JsxAttribute, name: Identifier, initializer: JsxAttributeValue | undefined) => JsxAttribute;
7487
7488
  /** @deprecated Use `factory.createJsxAttributes` or the factory supplied by your transformation context instead. */
7488
7489
  const createJsxAttributes: (properties: readonly JsxAttributeLike[]) => JsxAttributes;
7489
7490
  /** @deprecated Use `factory.updateJsxAttributes` or the factory supplied by your transformation context instead. */
@@ -294,7 +294,7 @@ var ts;
294
294
  // The following is baselined as a literal template type without intervention
295
295
  /** The version of the TypeScript compiler release */
296
296
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
297
- ts.version = ts.versionMajorMinor + ".0-dev.20220511";
297
+ ts.version = ts.versionMajorMinor + ".0-dev.20220512";
298
298
  /* @internal */
299
299
  var Comparison;
300
300
  (function (Comparison) {
@@ -8336,6 +8336,7 @@ var ts;
8336
8336
  String_literal_expected: diag(1141, ts.DiagnosticCategory.Error, "String_literal_expected_1141", "String literal expected."),
8337
8337
  Line_break_not_permitted_here: diag(1142, ts.DiagnosticCategory.Error, "Line_break_not_permitted_here_1142", "Line break not permitted here."),
8338
8338
  or_expected: diag(1144, ts.DiagnosticCategory.Error, "or_expected_1144", "'{' or ';' expected."),
8339
+ or_JSX_element_expected: diag(1145, ts.DiagnosticCategory.Error, "or_JSX_element_expected_1145", "'{' or JSX element expected."),
8339
8340
  Declaration_expected: diag(1146, ts.DiagnosticCategory.Error, "Declaration_expected_1146", "Declaration expected."),
8340
8341
  Import_declarations_in_a_namespace_cannot_reference_a_module: diag(1147, ts.DiagnosticCategory.Error, "Import_declarations_in_a_namespace_cannot_reference_a_module_1147", "Import declarations in a namespace cannot reference a module."),
8341
8342
  Cannot_use_imports_exports_or_module_augmentations_when_module_is_none: diag(1148, ts.DiagnosticCategory.Error, "Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148", "Cannot use imports, exports, or module augmentations when '--module' is 'none'."),
@@ -35396,9 +35397,22 @@ var ts;
35396
35397
  }
35397
35398
  scanJsxIdentifier();
35398
35399
  var pos = getNodePos();
35399
- return finishNode(factory.createJsxAttribute(parseIdentifierName(), token() !== 63 /* EqualsToken */ ? undefined :
35400
- scanJsxAttributeValue() === 10 /* StringLiteral */ ? parseLiteralNode() :
35401
- parseJsxExpression(/*inExpressionContext*/ true)), pos);
35400
+ return finishNode(factory.createJsxAttribute(parseIdentifierName(), parseJsxAttributeValue()), pos);
35401
+ }
35402
+ function parseJsxAttributeValue() {
35403
+ if (token() === 63 /* EqualsToken */) {
35404
+ if (scanJsxAttributeValue() === 10 /* StringLiteral */) {
35405
+ return parseLiteralNode();
35406
+ }
35407
+ if (token() === 18 /* OpenBraceToken */) {
35408
+ return parseJsxExpression(/*inExpressionContext*/ true);
35409
+ }
35410
+ if (token() === 29 /* LessThanToken */) {
35411
+ return parseJsxElementOrSelfClosingElementOrFragment(/*inExpressionContext*/ true);
35412
+ }
35413
+ parseErrorAtCurrentToken(ts.Diagnostics.or_JSX_element_expected);
35414
+ }
35415
+ return undefined;
35402
35416
  }
35403
35417
  function parseJsxSpreadAttribute() {
35404
35418
  var pos = getNodePos();
@@ -51671,8 +51685,9 @@ var ts;
51671
51685
  function getExportSymbolOfValueSymbolIfExported(symbol) {
51672
51686
  return getMergedSymbol(symbol && (symbol.flags & 1048576 /* ExportValue */) !== 0 && symbol.exportSymbol || symbol);
51673
51687
  }
51674
- function symbolIsValue(symbol) {
51675
- return !!(symbol.flags & 111551 /* Value */ || symbol.flags & 2097152 /* Alias */ && resolveAlias(symbol).flags & 111551 /* Value */ && !getTypeOnlyAliasDeclaration(symbol));
51688
+ function symbolIsValue(symbol, includeTypeOnlyMembers) {
51689
+ return !!(symbol.flags & 111551 /* Value */ ||
51690
+ symbol.flags & 2097152 /* Alias */ && resolveAlias(symbol).flags & 111551 /* Value */ && (includeTypeOnlyMembers || !getTypeOnlyAliasDeclaration(symbol)));
51676
51691
  }
51677
51692
  function findConstructorDeclaration(node) {
51678
51693
  var members = node.members;
@@ -59362,12 +59377,12 @@ var ts;
59362
59377
  * @param type a type to look up property from
59363
59378
  * @param name a name of property to look up in a given type
59364
59379
  */
59365
- function getPropertyOfType(type, name, skipObjectFunctionPropertyAugment) {
59380
+ function getPropertyOfType(type, name, skipObjectFunctionPropertyAugment, includeTypeOnlyMembers) {
59366
59381
  type = getReducedApparentType(type);
59367
59382
  if (type.flags & 524288 /* Object */) {
59368
59383
  var resolved = resolveStructuredTypeMembers(type);
59369
59384
  var symbol = resolved.members.get(name);
59370
- if (symbol && symbolIsValue(symbol)) {
59385
+ if (symbol && symbolIsValue(symbol, includeTypeOnlyMembers)) {
59371
59386
  return symbol;
59372
59387
  }
59373
59388
  if (skipObjectFunctionPropertyAugment)
@@ -62747,7 +62762,7 @@ var ts;
62747
62762
  // the `exports` lookup process that only looks up namespace members which is used for most type references
62748
62763
  var mergedResolvedSymbol = getMergedSymbol(resolveSymbol(currentNamespace));
62749
62764
  var next = node.isTypeOf
62750
- ? getPropertyOfType(getTypeOfSymbol(mergedResolvedSymbol), current.escapedText)
62765
+ ? getPropertyOfType(getTypeOfSymbol(mergedResolvedSymbol), current.escapedText, /*skipObjectFunctionPropertyAugment*/ false, /*includeTypeOnlyMembers*/ true)
62751
62766
  : getSymbol(getExportsOfSymbol(mergedResolvedSymbol), current.escapedText, meaning);
62752
62767
  if (!next) {
62753
62768
  error(current, ts.Diagnostics.Namespace_0_has_no_exported_member_1, getFullyQualifiedName(currentNamespace), ts.declarationNameToString(current));
@@ -74663,9 +74678,8 @@ var ts;
74663
74678
  markAliasReferenced(parentSymbol, node);
74664
74679
  }
74665
74680
  return isErrorType(apparentType) ? errorType : apparentType;
74666
- ;
74667
74681
  }
74668
- prop = getPropertyOfType(apparentType, right.escapedText);
74682
+ prop = getPropertyOfType(apparentType, right.escapedText, /*skipObjectFunctionPropertyAugment*/ false, /*includeTypeOnlyMembers*/ node.kind === 161 /* QualifiedName */);
74669
74683
  }
74670
74684
  // In `Foo.Bar.Baz`, 'Foo' is not referenced if 'Bar' is a const enum or a module containing only const enums.
74671
74685
  // `Foo` is also not referenced in `enum FooCopy { Bar = Foo.Bar }`, because the enum member value gets inlined
@@ -98003,22 +98017,29 @@ var ts;
98003
98017
  if (node === undefined) {
98004
98018
  return factory.createTrue();
98005
98019
  }
98006
- else if (node.kind === 10 /* StringLiteral */) {
98020
+ if (node.kind === 10 /* StringLiteral */) {
98007
98021
  // Always recreate the literal to escape any escape sequences or newlines which may be in the original jsx string and which
98008
98022
  // Need to be escaped to be handled correctly in a normal string
98009
98023
  var singleQuote = node.singleQuote !== undefined ? node.singleQuote : !ts.isStringDoubleQuoted(node, currentSourceFile);
98010
98024
  var literal = factory.createStringLiteral(tryDecodeEntities(node.text) || node.text, singleQuote);
98011
98025
  return ts.setTextRange(literal, node);
98012
98026
  }
98013
- else if (node.kind === 288 /* JsxExpression */) {
98027
+ if (node.kind === 288 /* JsxExpression */) {
98014
98028
  if (node.expression === undefined) {
98015
98029
  return factory.createTrue();
98016
98030
  }
98017
98031
  return ts.visitNode(node.expression, visitor, ts.isExpression);
98018
98032
  }
98019
- else {
98020
- return ts.Debug.failBadSyntaxKind(node);
98033
+ if (ts.isJsxElement(node)) {
98034
+ return visitJsxElement(node, /*isChild*/ false);
98035
+ }
98036
+ if (ts.isJsxSelfClosingElement(node)) {
98037
+ return visitJsxSelfClosingElement(node, /*isChild*/ false);
98038
+ }
98039
+ if (ts.isJsxFragment(node)) {
98040
+ return visitJsxFragment(node, /*isChild*/ false);
98021
98041
  }
98042
+ return ts.Debug.failBadSyntaxKind(node);
98022
98043
  }
98023
98044
  function visitJsxText(node) {
98024
98045
  var fixed = fixupWhitespaceAndDecodeEntities(node.text);
@@ -89,7 +89,7 @@ var ts;
89
89
  // The following is baselined as a literal template type without intervention
90
90
  /** The version of the TypeScript compiler release */
91
91
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
92
- ts.version = ts.versionMajorMinor + ".0-dev.20220511";
92
+ ts.version = ts.versionMajorMinor + ".0-dev.20220512";
93
93
  /* @internal */
94
94
  var Comparison;
95
95
  (function (Comparison) {
@@ -8131,6 +8131,7 @@ var ts;
8131
8131
  String_literal_expected: diag(1141, ts.DiagnosticCategory.Error, "String_literal_expected_1141", "String literal expected."),
8132
8132
  Line_break_not_permitted_here: diag(1142, ts.DiagnosticCategory.Error, "Line_break_not_permitted_here_1142", "Line break not permitted here."),
8133
8133
  or_expected: diag(1144, ts.DiagnosticCategory.Error, "or_expected_1144", "'{' or ';' expected."),
8134
+ or_JSX_element_expected: diag(1145, ts.DiagnosticCategory.Error, "or_JSX_element_expected_1145", "'{' or JSX element expected."),
8134
8135
  Declaration_expected: diag(1146, ts.DiagnosticCategory.Error, "Declaration_expected_1146", "Declaration expected."),
8135
8136
  Import_declarations_in_a_namespace_cannot_reference_a_module: diag(1147, ts.DiagnosticCategory.Error, "Import_declarations_in_a_namespace_cannot_reference_a_module_1147", "Import declarations in a namespace cannot reference a module."),
8136
8137
  Cannot_use_imports_exports_or_module_augmentations_when_module_is_none: diag(1148, ts.DiagnosticCategory.Error, "Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148", "Cannot use imports, exports, or module augmentations when '--module' is 'none'."),
@@ -35191,9 +35192,22 @@ var ts;
35191
35192
  }
35192
35193
  scanJsxIdentifier();
35193
35194
  var pos = getNodePos();
35194
- return finishNode(factory.createJsxAttribute(parseIdentifierName(), token() !== 63 /* EqualsToken */ ? undefined :
35195
- scanJsxAttributeValue() === 10 /* StringLiteral */ ? parseLiteralNode() :
35196
- parseJsxExpression(/*inExpressionContext*/ true)), pos);
35195
+ return finishNode(factory.createJsxAttribute(parseIdentifierName(), parseJsxAttributeValue()), pos);
35196
+ }
35197
+ function parseJsxAttributeValue() {
35198
+ if (token() === 63 /* EqualsToken */) {
35199
+ if (scanJsxAttributeValue() === 10 /* StringLiteral */) {
35200
+ return parseLiteralNode();
35201
+ }
35202
+ if (token() === 18 /* OpenBraceToken */) {
35203
+ return parseJsxExpression(/*inExpressionContext*/ true);
35204
+ }
35205
+ if (token() === 29 /* LessThanToken */) {
35206
+ return parseJsxElementOrSelfClosingElementOrFragment(/*inExpressionContext*/ true);
35207
+ }
35208
+ parseErrorAtCurrentToken(ts.Diagnostics.or_JSX_element_expected);
35209
+ }
35210
+ return undefined;
35197
35211
  }
35198
35212
  function parseJsxSpreadAttribute() {
35199
35213
  var pos = getNodePos();
@@ -51466,8 +51480,9 @@ var ts;
51466
51480
  function getExportSymbolOfValueSymbolIfExported(symbol) {
51467
51481
  return getMergedSymbol(symbol && (symbol.flags & 1048576 /* ExportValue */) !== 0 && symbol.exportSymbol || symbol);
51468
51482
  }
51469
- function symbolIsValue(symbol) {
51470
- return !!(symbol.flags & 111551 /* Value */ || symbol.flags & 2097152 /* Alias */ && resolveAlias(symbol).flags & 111551 /* Value */ && !getTypeOnlyAliasDeclaration(symbol));
51483
+ function symbolIsValue(symbol, includeTypeOnlyMembers) {
51484
+ return !!(symbol.flags & 111551 /* Value */ ||
51485
+ symbol.flags & 2097152 /* Alias */ && resolveAlias(symbol).flags & 111551 /* Value */ && (includeTypeOnlyMembers || !getTypeOnlyAliasDeclaration(symbol)));
51471
51486
  }
51472
51487
  function findConstructorDeclaration(node) {
51473
51488
  var members = node.members;
@@ -59157,12 +59172,12 @@ var ts;
59157
59172
  * @param type a type to look up property from
59158
59173
  * @param name a name of property to look up in a given type
59159
59174
  */
59160
- function getPropertyOfType(type, name, skipObjectFunctionPropertyAugment) {
59175
+ function getPropertyOfType(type, name, skipObjectFunctionPropertyAugment, includeTypeOnlyMembers) {
59161
59176
  type = getReducedApparentType(type);
59162
59177
  if (type.flags & 524288 /* Object */) {
59163
59178
  var resolved = resolveStructuredTypeMembers(type);
59164
59179
  var symbol = resolved.members.get(name);
59165
- if (symbol && symbolIsValue(symbol)) {
59180
+ if (symbol && symbolIsValue(symbol, includeTypeOnlyMembers)) {
59166
59181
  return symbol;
59167
59182
  }
59168
59183
  if (skipObjectFunctionPropertyAugment)
@@ -62542,7 +62557,7 @@ var ts;
62542
62557
  // the `exports` lookup process that only looks up namespace members which is used for most type references
62543
62558
  var mergedResolvedSymbol = getMergedSymbol(resolveSymbol(currentNamespace));
62544
62559
  var next = node.isTypeOf
62545
- ? getPropertyOfType(getTypeOfSymbol(mergedResolvedSymbol), current.escapedText)
62560
+ ? getPropertyOfType(getTypeOfSymbol(mergedResolvedSymbol), current.escapedText, /*skipObjectFunctionPropertyAugment*/ false, /*includeTypeOnlyMembers*/ true)
62546
62561
  : getSymbol(getExportsOfSymbol(mergedResolvedSymbol), current.escapedText, meaning);
62547
62562
  if (!next) {
62548
62563
  error(current, ts.Diagnostics.Namespace_0_has_no_exported_member_1, getFullyQualifiedName(currentNamespace), ts.declarationNameToString(current));
@@ -74458,9 +74473,8 @@ var ts;
74458
74473
  markAliasReferenced(parentSymbol, node);
74459
74474
  }
74460
74475
  return isErrorType(apparentType) ? errorType : apparentType;
74461
- ;
74462
74476
  }
74463
- prop = getPropertyOfType(apparentType, right.escapedText);
74477
+ prop = getPropertyOfType(apparentType, right.escapedText, /*skipObjectFunctionPropertyAugment*/ false, /*includeTypeOnlyMembers*/ node.kind === 161 /* QualifiedName */);
74464
74478
  }
74465
74479
  // In `Foo.Bar.Baz`, 'Foo' is not referenced if 'Bar' is a const enum or a module containing only const enums.
74466
74480
  // `Foo` is also not referenced in `enum FooCopy { Bar = Foo.Bar }`, because the enum member value gets inlined
@@ -97798,22 +97812,29 @@ var ts;
97798
97812
  if (node === undefined) {
97799
97813
  return factory.createTrue();
97800
97814
  }
97801
- else if (node.kind === 10 /* StringLiteral */) {
97815
+ if (node.kind === 10 /* StringLiteral */) {
97802
97816
  // Always recreate the literal to escape any escape sequences or newlines which may be in the original jsx string and which
97803
97817
  // Need to be escaped to be handled correctly in a normal string
97804
97818
  var singleQuote = node.singleQuote !== undefined ? node.singleQuote : !ts.isStringDoubleQuoted(node, currentSourceFile);
97805
97819
  var literal = factory.createStringLiteral(tryDecodeEntities(node.text) || node.text, singleQuote);
97806
97820
  return ts.setTextRange(literal, node);
97807
97821
  }
97808
- else if (node.kind === 288 /* JsxExpression */) {
97822
+ if (node.kind === 288 /* JsxExpression */) {
97809
97823
  if (node.expression === undefined) {
97810
97824
  return factory.createTrue();
97811
97825
  }
97812
97826
  return ts.visitNode(node.expression, visitor, ts.isExpression);
97813
97827
  }
97814
- else {
97815
- return ts.Debug.failBadSyntaxKind(node);
97828
+ if (ts.isJsxElement(node)) {
97829
+ return visitJsxElement(node, /*isChild*/ false);
97830
+ }
97831
+ if (ts.isJsxSelfClosingElement(node)) {
97832
+ return visitJsxSelfClosingElement(node, /*isChild*/ false);
97833
+ }
97834
+ if (ts.isJsxFragment(node)) {
97835
+ return visitJsxFragment(node, /*isChild*/ false);
97816
97836
  }
97837
+ return ts.Debug.failBadSyntaxKind(node);
97817
97838
  }
97818
97839
  function visitJsxText(node) {
97819
97840
  var fixed = fixupWhitespaceAndDecodeEntities(node.text);
@@ -1199,6 +1199,7 @@
1199
1199
  "Required_type_parameters_may_not_follow_optional_type_parameters_2706": "所需的类型参数可能不遵循可选类型参数。",
1200
1200
  "Resolution_for_module_0_was_found_in_cache_from_location_1_6147": "在位置“{1}”的缓存中找到模块“{0}”的解析。",
1201
1201
  "Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1_6241": "在位置“{1}”的缓存中找到类型引用指令“{0}”的解析。",
1202
+ "Resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_wi_4125": "解决模式断言不稳定。使用夜间 TypeScript 消除此错误。请尝试使用 “npm install -D typescript@next” 进行更新。",
1202
1203
  "Resolution_modes_are_only_supported_when_moduleResolution_is_node16_or_nodenext_1452": "仅当 `moduleResolution` 为 `node16` 或 `nodenext` 时才支持解析模式。",
1203
1204
  "Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195": "只将 \"keyof\" 解析为字符串值的属性名称(不含数字或符号)。",
1204
1205
  "Resolving_module_0_from_1_6086": "======== 正在从“{1}”解析模块“{0}”。========",
@@ -1199,6 +1199,7 @@
1199
1199
  "Required_type_parameters_may_not_follow_optional_type_parameters_2706": "必要型別參數可能未遵循選擇性型別參數。",
1200
1200
  "Resolution_for_module_0_was_found_in_cache_from_location_1_6147": "從位置 '{1}' 的快取中找到模組 '{0}' 的解析。",
1201
1201
  "Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1_6241": "從位置 '{0}' 的快取記憶體找到類型參照指示詞 '{1}'。",
1202
+ "Resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_wi_4125": "解析模式宣告不穩定。使用夜間 TypeScript 將此錯誤設為靜音。請嘗試使用 'npm install -D typescript@next' 更新。",
1202
1203
  "Resolution_modes_are_only_supported_when_moduleResolution_is_node16_or_nodenext_1452": "只有當 'moduleResolution' 為 'node16' 或 'nodenext' 時,才支援解析模式。",
1203
1204
  "Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195": "只將 'keyof' 解析為字串值的屬性名稱 (無任何數字或符號)。",
1204
1205
  "Resolving_module_0_from_1_6086": "======== 正在從 '{1}' 解析模組 '{0}'。========",
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "typescript",
3
3
  "author": "Microsoft Corp.",
4
4
  "homepage": "https://www.typescriptlang.org/",
5
- "version": "4.8.0-dev.20220511",
5
+ "version": "4.8.0-dev.20220512",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [