typescript 5.0.0-dev.20230223 → 5.0.0-dev.20230225

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.
@@ -54,7 +54,7 @@ var path = __toESM(require("path"));
54
54
 
55
55
  // src/compiler/corePublic.ts
56
56
  var versionMajorMinor = "5.0";
57
- var version = `${versionMajorMinor}.0-dev.20230223`;
57
+ var version = `${versionMajorMinor}.0-dev.20230225`;
58
58
 
59
59
  // src/compiler/core.ts
60
60
  var emptyArray = [];
@@ -6292,12 +6292,10 @@ var Diagnostics = {
6292
6292
  The_root_value_of_a_0_file_must_be_an_object: diag(5092, 1 /* Error */, "The_root_value_of_a_0_file_must_be_an_object_5092", "The root value of a '{0}' file must be an object."),
6293
6293
  Compiler_option_0_may_only_be_used_with_build: diag(5093, 1 /* Error */, "Compiler_option_0_may_only_be_used_with_build_5093", "Compiler option '--{0}' may only be used with '--build'."),
6294
6294
  Compiler_option_0_may_not_be_used_with_build: diag(5094, 1 /* Error */, "Compiler_option_0_may_not_be_used_with_build_5094", "Compiler option '--{0}' may not be used with '--build'."),
6295
- Option_preserveValueImports_can_only_be_used_when_module_is_set_to_es2015_or_later: diag(5095, 1 /* Error */, "Option_preserveValueImports_can_only_be_used_when_module_is_set_to_es2015_or_later_5095", "Option 'preserveValueImports' can only be used when 'module' is set to 'es2015' or later."),
6295
+ Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later: diag(5095, 1 /* Error */, "Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later_5095", "Option '{0}' can only be used when 'module' is set to 'es2015' or later."),
6296
6296
  Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set: diag(5096, 1 /* Error */, "Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set_5096", "Option 'allowImportingTsExtensions' can only be used when either 'noEmit' or 'emitDeclarationOnly' is set."),
6297
6297
  An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled: diag(5097, 1 /* Error */, "An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled_5097", "An import path can only end with a '{0}' extension when 'allowImportingTsExtensions' is enabled."),
6298
6298
  Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler: diag(5098, 1 /* Error */, "Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler_5098", "Option '{0}' can only be used when 'moduleResolution' is set to 'node16', 'nodenext', or 'bundler'."),
6299
- Import_assignment_is_not_allowed_when_moduleResolution_is_set_to_bundler_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead: diag(5099, 1 /* Error */, "Import_assignment_is_not_allowed_when_moduleResolution_is_set_to_bundler_Consider_using_import_Aster_5099", `Import assignment is not allowed when 'moduleResolution' is set to 'bundler'. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead.`),
6300
- Export_assignment_cannot_be_used_when_moduleResolution_is_set_to_bundler_Consider_using_export_default_or_another_module_format_instead: diag(5100, 1 /* Error */, "Export_assignment_cannot_be_used_when_moduleResolution_is_set_to_bundler_Consider_using_export_defau_5100", "Export assignment cannot be used when 'moduleResolution' is set to 'bundler'. Consider using 'export default' or another module format instead."),
6301
6299
  Flag_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprecations_Colon_2_to_silence_this_error: diag(5101, 1 /* Error */, "Flag_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprecat_5101", `Flag '{0}' is deprecated and will stop functioning in TypeScript {1}. Specify compilerOption '"ignoreDeprecations": "{2}"' to silence this error.`),
6302
6300
  Flag_0_is_deprecated_Please_remove_it_from_your_configuration: diag(5102, 1 /* Error */, "Flag_0_is_deprecated_Please_remove_it_from_your_configuration_5102", "Flag '{0}' is deprecated. Please remove it from your configuration."),
6303
6301
  Invalid_value_for_ignoreDeprecations: diag(5103, 1 /* Error */, "Invalid_value_for_ignoreDeprecations_5103", "Invalid value for '--ignoreDeprecations'."),
@@ -11959,6 +11957,9 @@ function unreachableCodeIsError(options) {
11959
11957
  function unusedLabelIsError(options) {
11960
11958
  return options.allowUnusedLabels === false;
11961
11959
  }
11960
+ function moduleResolutionSupportsPackageJsonExportsAndImports(moduleResolution) {
11961
+ return moduleResolution >= 3 /* Node16 */ && moduleResolution <= 99 /* NodeNext */ || moduleResolution === 100 /* Bundler */;
11962
+ }
11962
11963
  function getResolveJsonModule(compilerOptions) {
11963
11964
  if (compilerOptions.resolveJsonModule !== void 0) {
11964
11965
  return compilerOptions.resolveJsonModule;
@@ -18907,6 +18908,34 @@ var Parser;
18907
18908
  ))
18908
18909
  };
18909
18910
  var factory2 = createNodeFactory(1 /* NoParenthesizerRules */ | 2 /* NoNodeConverters */ | 8 /* NoOriginalNode */, baseNodeFactory);
18911
+ var {
18912
+ createNodeArray: factoryCreateNodeArray,
18913
+ createNumericLiteral: factoryCreateNumericLiteral,
18914
+ createStringLiteral: factoryCreateStringLiteral,
18915
+ createLiteralLikeNode: factoryCreateLiteralLikeNode,
18916
+ createIdentifier: factoryCreateIdentifier,
18917
+ createPrivateIdentifier: factoryCreatePrivateIdentifier,
18918
+ createToken: factoryCreateToken,
18919
+ createArrayLiteralExpression: factoryCreateArrayLiteralExpression,
18920
+ createObjectLiteralExpression: factoryCreateObjectLiteralExpression,
18921
+ createPropertyAccessExpression: factoryCreatePropertyAccessExpression,
18922
+ createPropertyAccessChain: factoryCreatePropertyAccessChain,
18923
+ createElementAccessExpression: factoryCreateElementAccessExpression,
18924
+ createElementAccessChain: factoryCreateElementAccessChain,
18925
+ createCallExpression: factoryCreateCallExpression,
18926
+ createCallChain: factoryCreateCallChain,
18927
+ createNewExpression: factoryCreateNewExpression,
18928
+ createParenthesizedExpression: factoryCreateParenthesizedExpression,
18929
+ createBlock: factoryCreateBlock,
18930
+ createVariableStatement: factoryCreateVariableStatement,
18931
+ createExpressionStatement: factoryCreateExpressionStatement,
18932
+ createIfStatement: factoryCreateIfStatement,
18933
+ createWhileStatement: factoryCreateWhileStatement,
18934
+ createForStatement: factoryCreateForStatement,
18935
+ createForOfStatement: factoryCreateForOfStatement,
18936
+ createVariableDeclaration: factoryCreateVariableDeclaration,
18937
+ createVariableDeclarationList: factoryCreateVariableDeclarationList
18938
+ } = factory2;
18910
18939
  var fileName;
18911
18940
  var sourceFlags;
18912
18941
  var sourceText;
@@ -19024,8 +19053,8 @@ var Parser;
19024
19053
  }
19025
19054
  }
19026
19055
  }
19027
- const expression = isArray(expressions) ? finishNode(factory2.createArrayLiteralExpression(expressions), pos) : Debug.checkDefined(expressions);
19028
- const statement = factory2.createExpressionStatement(expression);
19056
+ const expression = isArray(expressions) ? finishNode(factoryCreateArrayLiteralExpression(expressions), pos) : Debug.checkDefined(expressions);
19057
+ const statement = factoryCreateExpressionStatement(expression);
19029
19058
  finishNode(statement, pos);
19030
19059
  statements = createNodeArray([statement], pos);
19031
19060
  endOfFileToken = parseExpectedToken(1 /* EndOfFileToken */, Diagnostics.Unexpected_token);
@@ -19208,7 +19237,7 @@ var Parser;
19208
19237
  }
19209
19238
  }
19210
19239
  syntaxCursor = savedSyntaxCursor;
19211
- return factory2.updateSourceFile(sourceFile, setTextRange(factory2.createNodeArray(statements), sourceFile.statements));
19240
+ return factory2.updateSourceFile(sourceFile, setTextRange(factoryCreateNodeArray(statements), sourceFile.statements));
19212
19241
  function containsPossibleTopLevelAwait(node) {
19213
19242
  return !(node.flags & 32768 /* AwaitContext */) && !!(node.transformFlags & 67108864 /* ContainsPossibleTopLevelAwait */);
19214
19243
  }
@@ -19649,13 +19678,13 @@ var Parser;
19649
19678
  const pos = getNodePos();
19650
19679
  const kind = token();
19651
19680
  nextToken();
19652
- return finishNode(factory2.createToken(kind), pos);
19681
+ return finishNode(factoryCreateToken(kind), pos);
19653
19682
  }
19654
19683
  function parseTokenNodeJSDoc() {
19655
19684
  const pos = getNodePos();
19656
19685
  const kind = token();
19657
19686
  nextTokenJSDoc();
19658
- return finishNode(factory2.createToken(kind), pos);
19687
+ return finishNode(factoryCreateToken(kind), pos);
19659
19688
  }
19660
19689
  function canParseSemicolon() {
19661
19690
  if (token() === 26 /* SemicolonToken */) {
@@ -19676,7 +19705,7 @@ var Parser;
19676
19705
  return tryParseSemicolon() || parseExpected(26 /* SemicolonToken */);
19677
19706
  }
19678
19707
  function createNodeArray(elements, pos, end, hasTrailingComma) {
19679
- const array = factory2.createNodeArray(elements, hasTrailingComma);
19708
+ const array = factoryCreateNodeArray(elements, hasTrailingComma);
19680
19709
  setTextRangePosEnd(array, pos, end != null ? end : scanner.getStartPos());
19681
19710
  return array;
19682
19711
  }
@@ -19698,7 +19727,7 @@ var Parser;
19698
19727
  parseErrorAtCurrentToken(diagnosticMessage, arg0);
19699
19728
  }
19700
19729
  const pos = getNodePos();
19701
- const result = kind === 79 /* Identifier */ ? factory2.createIdentifier(
19730
+ const result = kind === 79 /* Identifier */ ? factoryCreateIdentifier(
19702
19731
  "",
19703
19732
  /*originalKeywordKind*/
19704
19733
  void 0
@@ -19708,15 +19737,15 @@ var Parser;
19708
19737
  "",
19709
19738
  /*templateFlags*/
19710
19739
  void 0
19711
- ) : kind === 8 /* NumericLiteral */ ? factory2.createNumericLiteral(
19740
+ ) : kind === 8 /* NumericLiteral */ ? factoryCreateNumericLiteral(
19712
19741
  "",
19713
19742
  /*numericLiteralFlags*/
19714
19743
  void 0
19715
- ) : kind === 10 /* StringLiteral */ ? factory2.createStringLiteral(
19744
+ ) : kind === 10 /* StringLiteral */ ? factoryCreateStringLiteral(
19716
19745
  "",
19717
19746
  /*isSingleQuote*/
19718
19747
  void 0
19719
- ) : kind === 279 /* MissingDeclaration */ ? factory2.createMissingDeclaration() : factory2.createToken(kind);
19748
+ ) : kind === 279 /* MissingDeclaration */ ? factory2.createMissingDeclaration() : factoryCreateToken(kind);
19720
19749
  return finishNode(result, pos);
19721
19750
  }
19722
19751
  function internIdentifier(text) {
@@ -19734,7 +19763,7 @@ var Parser;
19734
19763
  const text = internIdentifier(scanner.getTokenValue());
19735
19764
  const hasExtendedUnicodeEscape = scanner.hasExtendedUnicodeEscape();
19736
19765
  nextTokenWithoutCheck();
19737
- return finishNode(factory2.createIdentifier(text, originalKeywordKind, hasExtendedUnicodeEscape), pos);
19766
+ return finishNode(factoryCreateIdentifier(text, originalKeywordKind, hasExtendedUnicodeEscape), pos);
19738
19767
  }
19739
19768
  if (token() === 80 /* PrivateIdentifier */) {
19740
19769
  parseErrorAtCurrentToken(privateIdentifierDiagnosticMessage || Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies);
@@ -19805,7 +19834,7 @@ var Parser;
19805
19834
  }
19806
19835
  function parsePrivateIdentifier() {
19807
19836
  const pos = getNodePos();
19808
- const node = factory2.createPrivateIdentifier(internIdentifier(scanner.getTokenValue()));
19837
+ const node = factoryCreatePrivateIdentifier(internIdentifier(scanner.getTokenValue()));
19809
19838
  nextToken();
19810
19839
  return finishNode(node, pos);
19811
19840
  }
@@ -20520,12 +20549,12 @@ var Parser;
20520
20549
  // never get a token like this. Instead, we would get 00 and 9 as two separate tokens.
20521
20550
  // We also do not need to check for negatives because any prefix operator would be part of a
20522
20551
  // parent unary expression.
20523
- kind === 8 /* NumericLiteral */ ? factory2.createNumericLiteral(scanner.getTokenValue(), scanner.getNumericLiteralFlags()) : kind === 10 /* StringLiteral */ ? factory2.createStringLiteral(
20552
+ kind === 8 /* NumericLiteral */ ? factoryCreateNumericLiteral(scanner.getTokenValue(), scanner.getNumericLiteralFlags()) : kind === 10 /* StringLiteral */ ? factoryCreateStringLiteral(
20524
20553
  scanner.getTokenValue(),
20525
20554
  /*isSingleQuote*/
20526
20555
  void 0,
20527
20556
  scanner.hasExtendedUnicodeEscape()
20528
- ) : isLiteralKind(kind) ? factory2.createLiteralLikeNode(kind, scanner.getTokenValue()) : Debug.fail()
20557
+ ) : isLiteralKind(kind) ? factoryCreateLiteralLikeNode(kind, scanner.getTokenValue()) : Debug.fail()
20529
20558
  );
20530
20559
  if (scanner.hasExtendedUnicodeEscape()) {
20531
20560
  node.hasExtendedUnicodeEscape = true;
@@ -21116,7 +21145,7 @@ var Parser;
21116
21145
  if (token() === 126 /* AbstractKeyword */) {
21117
21146
  const pos = getNodePos();
21118
21147
  nextToken();
21119
- const modifier = finishNode(factory2.createToken(126 /* AbstractKeyword */), pos);
21148
+ const modifier = finishNode(factoryCreateToken(126 /* AbstractKeyword */), pos);
21120
21149
  modifiers = createNodeArray([modifier], pos);
21121
21150
  }
21122
21151
  return modifiers;
@@ -22173,7 +22202,7 @@ var Parser;
22173
22202
  return expression;
22174
22203
  }
22175
22204
  parseExpectedToken(24 /* DotToken */, Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access);
22176
- return finishNode(factory2.createPropertyAccessExpression(expression, parseRightSideOfDot(
22205
+ return finishNode(factoryCreatePropertyAccessExpression(expression, parseRightSideOfDot(
22177
22206
  /*allowIdentifierNames*/
22178
22207
  true,
22179
22208
  /*allowPrivateIdentifiers*/
@@ -22194,7 +22223,7 @@ var Parser;
22194
22223
  factory2.createJsxElement(
22195
22224
  lastChild.openingElement,
22196
22225
  lastChild.children,
22197
- finishNode(factory2.createJsxClosingElement(finishNode(factory2.createIdentifier(""), end, end)), end, end)
22226
+ finishNode(factory2.createJsxClosingElement(finishNode(factoryCreateIdentifier(""), end, end)), end, end)
22198
22227
  ),
22199
22228
  lastChild.openingElement.pos,
22200
22229
  end
@@ -22337,7 +22366,7 @@ var Parser;
22337
22366
  scanJsxIdentifier();
22338
22367
  let expression = token() === 108 /* ThisKeyword */ ? parseTokenNode() : parseIdentifierName();
22339
22368
  while (parseOptional(24 /* DotToken */)) {
22340
- expression = finishNode(factory2.createPropertyAccessExpression(expression, parseRightSideOfDot(
22369
+ expression = finishNode(factoryCreatePropertyAccessExpression(expression, parseRightSideOfDot(
22341
22370
  /*allowIdentifierNames*/
22342
22371
  true,
22343
22372
  /*allowPrivateIdentifiers*/
@@ -22488,7 +22517,7 @@ var Parser;
22488
22517
  true
22489
22518
  );
22490
22519
  const isOptionalChain2 = questionDotToken || tryReparseOptionalChain(expression);
22491
- const propertyAccess = isOptionalChain2 ? factory2.createPropertyAccessChain(expression, questionDotToken, name) : factory2.createPropertyAccessExpression(expression, name);
22520
+ const propertyAccess = isOptionalChain2 ? factoryCreatePropertyAccessChain(expression, questionDotToken, name) : factoryCreatePropertyAccessExpression(expression, name);
22492
22521
  if (isOptionalChain2 && isPrivateIdentifier(propertyAccess.name)) {
22493
22522
  parseErrorAtRange(propertyAccess.name, Diagnostics.An_optional_chain_cannot_contain_private_identifiers);
22494
22523
  }
@@ -22516,7 +22545,7 @@ var Parser;
22516
22545
  argumentExpression = argument;
22517
22546
  }
22518
22547
  parseExpected(23 /* CloseBracketToken */);
22519
- const indexedAccess = questionDotToken || tryReparseOptionalChain(expression) ? factory2.createElementAccessChain(expression, questionDotToken, argumentExpression) : factory2.createElementAccessExpression(expression, argumentExpression);
22548
+ const indexedAccess = questionDotToken || tryReparseOptionalChain(expression) ? factoryCreateElementAccessChain(expression, questionDotToken, argumentExpression) : factoryCreateElementAccessExpression(expression, argumentExpression);
22520
22549
  return finishNode(indexedAccess, pos);
22521
22550
  }
22522
22551
  function parseMemberExpressionRest(pos, expression, allowOptionalChain) {
@@ -22603,7 +22632,7 @@ var Parser;
22603
22632
  expression = expression.expression;
22604
22633
  }
22605
22634
  const argumentList = parseArgumentList();
22606
- const callExpr = questionDotToken || tryReparseOptionalChain(expression) ? factory2.createCallChain(expression, questionDotToken, typeArguments, argumentList) : factory2.createCallExpression(expression, typeArguments, argumentList);
22635
+ const callExpr = questionDotToken || tryReparseOptionalChain(expression) ? factoryCreateCallChain(expression, questionDotToken, typeArguments, argumentList) : factoryCreateCallExpression(expression, typeArguments, argumentList);
22607
22636
  expression = finishNode(callExpr, pos);
22608
22637
  continue;
22609
22638
  }
@@ -22614,7 +22643,7 @@ var Parser;
22614
22643
  false,
22615
22644
  Diagnostics.Identifier_expected
22616
22645
  );
22617
- expression = finishNode(factory2.createPropertyAccessChain(expression, questionDotToken, name), pos);
22646
+ expression = finishNode(factoryCreatePropertyAccessChain(expression, questionDotToken, name), pos);
22618
22647
  }
22619
22648
  break;
22620
22649
  }
@@ -22709,7 +22738,7 @@ var Parser;
22709
22738
  parseExpected(20 /* OpenParenToken */);
22710
22739
  const expression = allowInAnd(parseExpression);
22711
22740
  parseExpected(21 /* CloseParenToken */);
22712
- return withJSDoc(finishNode(factory2.createParenthesizedExpression(expression), pos), hasJSDoc);
22741
+ return withJSDoc(finishNode(factoryCreateParenthesizedExpression(expression), pos), hasJSDoc);
22713
22742
  }
22714
22743
  function parseSpreadElement() {
22715
22744
  const pos = getNodePos();
@@ -22736,7 +22765,7 @@ var Parser;
22736
22765
  const multiLine = scanner.hasPrecedingLineBreak();
22737
22766
  const elements = parseDelimitedList(15 /* ArrayLiteralMembers */, parseArgumentOrArrayLiteralElement);
22738
22767
  parseExpectedMatchingBrackets(22 /* OpenBracketToken */, 23 /* CloseBracketToken */, openBracketParsed, openBracketPosition);
22739
- return finishNode(factory2.createArrayLiteralExpression(elements, multiLine), pos);
22768
+ return finishNode(factoryCreateArrayLiteralExpression(elements, multiLine), pos);
22740
22769
  }
22741
22770
  function parseObjectLiteralElement() {
22742
22771
  const pos = getNodePos();
@@ -22801,7 +22830,7 @@ var Parser;
22801
22830
  true
22802
22831
  );
22803
22832
  parseExpectedMatchingBrackets(18 /* OpenBraceToken */, 19 /* CloseBraceToken */, openBraceParsed, openBracePosition);
22804
- return finishNode(factory2.createObjectLiteralExpression(properties, multiLine), pos);
22833
+ return finishNode(factoryCreateObjectLiteralExpression(properties, multiLine), pos);
22805
22834
  }
22806
22835
  function parseFunctionExpression() {
22807
22836
  const savedDecoratorContext = inDecoratorContext();
@@ -22858,7 +22887,7 @@ var Parser;
22858
22887
  parseErrorAtCurrentToken(Diagnostics.Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0, getTextOfNodeFromSourceText(sourceText, expression));
22859
22888
  }
22860
22889
  const argumentList = token() === 20 /* OpenParenToken */ ? parseArgumentList() : void 0;
22861
- return finishNode(factory2.createNewExpression(expression, typeArguments, argumentList), pos);
22890
+ return finishNode(factoryCreateNewExpression(expression, typeArguments, argumentList), pos);
22862
22891
  }
22863
22892
  function parseBlock(ignoreMissingOpenBrace, diagnosticMessage) {
22864
22893
  const pos = getNodePos();
@@ -22869,7 +22898,7 @@ var Parser;
22869
22898
  const multiLine = scanner.hasPrecedingLineBreak();
22870
22899
  const statements = parseList(1 /* BlockStatements */, parseStatement);
22871
22900
  parseExpectedMatchingBrackets(18 /* OpenBraceToken */, 19 /* CloseBraceToken */, openBraceParsed, openBracePosition);
22872
- const result = withJSDoc(finishNode(factory2.createBlock(statements, multiLine), pos), hasJSDoc);
22901
+ const result = withJSDoc(finishNode(factoryCreateBlock(statements, multiLine), pos), hasJSDoc);
22873
22902
  if (token() === 63 /* EqualsToken */) {
22874
22903
  parseErrorAtCurrentToken(Diagnostics.Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses);
22875
22904
  nextToken();
@@ -22877,7 +22906,7 @@ var Parser;
22877
22906
  return result;
22878
22907
  } else {
22879
22908
  const statements = createMissingList();
22880
- return withJSDoc(finishNode(factory2.createBlock(
22909
+ return withJSDoc(finishNode(factoryCreateBlock(
22881
22910
  statements,
22882
22911
  /*multiLine*/
22883
22912
  void 0
@@ -22926,7 +22955,7 @@ var Parser;
22926
22955
  parseExpectedMatchingBrackets(20 /* OpenParenToken */, 21 /* CloseParenToken */, openParenParsed, openParenPosition);
22927
22956
  const thenStatement = parseStatement();
22928
22957
  const elseStatement = parseOptional(91 /* ElseKeyword */) ? parseStatement() : void 0;
22929
- return withJSDoc(finishNode(factory2.createIfStatement(expression, thenStatement, elseStatement), pos), hasJSDoc);
22958
+ return withJSDoc(finishNode(factoryCreateIfStatement(expression, thenStatement, elseStatement), pos), hasJSDoc);
22930
22959
  }
22931
22960
  function parseDoStatement() {
22932
22961
  const pos = getNodePos();
@@ -22950,7 +22979,7 @@ var Parser;
22950
22979
  const expression = allowInAnd(parseExpression);
22951
22980
  parseExpectedMatchingBrackets(20 /* OpenParenToken */, 21 /* CloseParenToken */, openParenParsed, openParenPosition);
22952
22981
  const statement = parseStatement();
22953
- return withJSDoc(finishNode(factory2.createWhileStatement(expression, statement), pos), hasJSDoc);
22982
+ return withJSDoc(finishNode(factoryCreateWhileStatement(expression, statement), pos), hasJSDoc);
22954
22983
  }
22955
22984
  function parseForOrForInOrForOfStatement() {
22956
22985
  const pos = getNodePos();
@@ -22976,7 +23005,7 @@ var Parser;
22976
23005
  true
22977
23006
  ));
22978
23007
  parseExpected(21 /* CloseParenToken */);
22979
- node = factory2.createForOfStatement(awaitToken, initializer, expression, parseStatement());
23008
+ node = factoryCreateForOfStatement(awaitToken, initializer, expression, parseStatement());
22980
23009
  } else if (parseOptional(101 /* InKeyword */)) {
22981
23010
  const expression = allowInAnd(parseExpression);
22982
23011
  parseExpected(21 /* CloseParenToken */);
@@ -22987,7 +23016,7 @@ var Parser;
22987
23016
  parseExpected(26 /* SemicolonToken */);
22988
23017
  const incrementor = token() !== 21 /* CloseParenToken */ ? allowInAnd(parseExpression) : void 0;
22989
23018
  parseExpected(21 /* CloseParenToken */);
22990
- node = factory2.createForStatement(initializer, condition, incrementor, parseStatement());
23019
+ node = factoryCreateForStatement(initializer, condition, incrementor, parseStatement());
22991
23020
  }
22992
23021
  return withJSDoc(finishNode(node, pos), hasJSDoc);
22993
23022
  }
@@ -23062,7 +23091,7 @@ var Parser;
23062
23091
  let expression = scanner.hasPrecedingLineBreak() ? void 0 : allowInAnd(parseExpression);
23063
23092
  if (expression === void 0) {
23064
23093
  identifierCount++;
23065
- expression = finishNode(factory2.createIdentifier(""), getNodePos());
23094
+ expression = finishNode(factoryCreateIdentifier(""), getNodePos());
23066
23095
  }
23067
23096
  if (!tryParseSemicolon()) {
23068
23097
  parseErrorForMissingSemicolonAfter(expression);
@@ -23123,7 +23152,7 @@ var Parser;
23123
23152
  if (!tryParseSemicolon()) {
23124
23153
  parseErrorForMissingSemicolonAfter(expression);
23125
23154
  }
23126
- node = factory2.createExpressionStatement(expression);
23155
+ node = factoryCreateExpressionStatement(expression);
23127
23156
  if (hasParen) {
23128
23157
  hasJSDoc = false;
23129
23158
  }
@@ -23521,7 +23550,7 @@ var Parser;
23521
23550
  }
23522
23551
  const type = parseTypeAnnotation();
23523
23552
  const initializer = isInOrOfKeyword(token()) ? void 0 : parseInitializer();
23524
- const node = factory2.createVariableDeclaration(name, exclamationToken, type, initializer);
23553
+ const node = factoryCreateVariableDeclaration(name, exclamationToken, type, initializer);
23525
23554
  return withJSDoc(finishNode(node, pos), hasJSDoc);
23526
23555
  }
23527
23556
  function parseVariableDeclarationList(inForStatementInitializer) {
@@ -23552,7 +23581,7 @@ var Parser;
23552
23581
  );
23553
23582
  setDisallowInContext(savedDisallowIn);
23554
23583
  }
23555
- return finishNode(factory2.createVariableDeclarationList(declarations, flags), pos);
23584
+ return finishNode(factoryCreateVariableDeclarationList(declarations, flags), pos);
23556
23585
  }
23557
23586
  function canFollowContextualOfKeyword() {
23558
23587
  return nextTokenIsIdentifier() && nextToken() === 21 /* CloseParenToken */;
@@ -23563,7 +23592,7 @@ var Parser;
23563
23592
  false
23564
23593
  );
23565
23594
  parseSemicolon();
23566
- const node = factory2.createVariableStatement(modifiers, declarationList);
23595
+ const node = factoryCreateVariableStatement(modifiers, declarationList);
23567
23596
  return withJSDoc(finishNode(node, pos), hasJSDoc);
23568
23597
  }
23569
23598
  function parseFunctionDeclaration(pos, hasJSDoc, modifiers) {
@@ -23792,7 +23821,7 @@ var Parser;
23792
23821
  return void 0;
23793
23822
  }
23794
23823
  }
23795
- return finishNode(factory2.createToken(kind), pos);
23824
+ return finishNode(factoryCreateToken(kind), pos);
23796
23825
  }
23797
23826
  function parseModifiers(allowDecorators, permitConstAsModifier, stopOnStartOfClassStaticBlock) {
23798
23827
  const pos = getNodePos();
@@ -23829,7 +23858,7 @@ var Parser;
23829
23858
  if (token() === 132 /* AsyncKeyword */) {
23830
23859
  const pos = getNodePos();
23831
23860
  nextToken();
23832
- const modifier = finishNode(factory2.createToken(132 /* AsyncKeyword */), pos);
23861
+ const modifier = finishNode(factoryCreateToken(132 /* AsyncKeyword */), pos);
23833
23862
  modifiers = createNodeArray([modifier], pos);
23834
23863
  }
23835
23864
  return modifiers;
@@ -24416,7 +24445,7 @@ var Parser;
24416
24445
  /*isDeclarationFile*/
24417
24446
  false,
24418
24447
  [],
24419
- factory2.createToken(1 /* EndOfFileToken */),
24448
+ factoryCreateToken(1 /* EndOfFileToken */),
24420
24449
  0 /* None */,
24421
24450
  noop
24422
24451
  );
@@ -25077,7 +25106,7 @@ var Parser;
25077
25106
  let node = parseJSDocIdentifierName();
25078
25107
  while (parseOptional(24 /* DotToken */)) {
25079
25108
  const name = parseJSDocIdentifierName();
25080
- node = finishNode(factory2.createPropertyAccessExpression(node, name), pos);
25109
+ node = finishNode(factoryCreatePropertyAccessExpression(node, name), pos);
25081
25110
  }
25082
25111
  return node;
25083
25112
  }
@@ -25368,7 +25397,7 @@ var Parser;
25368
25397
  const end2 = scanner.getTextPos();
25369
25398
  const originalKeywordKind = token();
25370
25399
  const text = internIdentifier(scanner.getTokenValue());
25371
- const result = finishNode(factory2.createIdentifier(text, originalKeywordKind), pos, end2);
25400
+ const result = finishNode(factoryCreateIdentifier(text, originalKeywordKind), pos, end2);
25372
25401
  nextTokenJSDoc();
25373
25402
  return result;
25374
25403
  }
@@ -28119,10 +28148,13 @@ function getNodeResolutionFeatures(options) {
28119
28148
  return features;
28120
28149
  }
28121
28150
  function getConditions(options, esmMode) {
28122
- const conditions = esmMode || getEmitModuleResolutionKind(options) === 100 /* Bundler */ ? ["node", "import"] : ["node", "require"];
28151
+ const conditions = esmMode || getEmitModuleResolutionKind(options) === 100 /* Bundler */ ? ["import"] : ["require"];
28123
28152
  if (!options.noDtsResolution) {
28124
28153
  conditions.push("types");
28125
28154
  }
28155
+ if (getEmitModuleResolutionKind(options) !== 100 /* Bundler */) {
28156
+ conditions.push("node");
28157
+ }
28126
28158
  return concatenate(conditions, options.customConditions);
28127
28159
  }
28128
28160
  function resolveModuleName(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode) {
@@ -28439,7 +28471,7 @@ function nodeModuleNameResolverWorker(features, moduleName, containingDirectory,
28439
28471
  isConfigLookup,
28440
28472
  candidateIsFromPackageJsonField: false
28441
28473
  };
28442
- if (traceEnabled && getEmitModuleResolutionKind(compilerOptions) >= 3 /* Node16 */ && getEmitModuleResolutionKind(compilerOptions) <= 99 /* NodeNext */) {
28474
+ if (traceEnabled && moduleResolutionSupportsPackageJsonExportsAndImports(getEmitModuleResolutionKind(compilerOptions))) {
28443
28475
  trace(host, Diagnostics.Resolving_in_0_mode_with_conditions_1, features & 32 /* EsmMode */ ? "ESM" : "CJS", conditions.map((c) => `'${c}'`).join(", "));
28444
28476
  }
28445
28477
  let result;
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": "5.0.0-dev.20230223",
5
+ "version": "5.0.0-dev.20230225",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [