@typescript-deploys/pr-build 4.5.0-pr-45771-10 → 4.5.0-pr-45884-2

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/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.5";
72
- ts.version = ts.versionMajorMinor + ".0-insiders.20210914";
72
+ ts.version = ts.versionMajorMinor + ".0-insiders.20210915";
73
73
  var NativeCollections;
74
74
  (function (NativeCollections) {
75
75
  function tryGetNativeMap() {
@@ -3259,6 +3259,8 @@ var ts;
3259
3259
  (function (ModuleResolutionKind) {
3260
3260
  ModuleResolutionKind[ModuleResolutionKind["Classic"] = 1] = "Classic";
3261
3261
  ModuleResolutionKind[ModuleResolutionKind["NodeJs"] = 2] = "NodeJs";
3262
+ ModuleResolutionKind[ModuleResolutionKind["Node12"] = 3] = "Node12";
3263
+ ModuleResolutionKind[ModuleResolutionKind["NodeNext"] = 99] = "NodeNext";
3262
3264
  })(ModuleResolutionKind = ts.ModuleResolutionKind || (ts.ModuleResolutionKind = {}));
3263
3265
  var WatchFileKind;
3264
3266
  (function (WatchFileKind) {
@@ -3293,6 +3295,8 @@ var ts;
3293
3295
  ModuleKind[ModuleKind["ES2015"] = 5] = "ES2015";
3294
3296
  ModuleKind[ModuleKind["ES2020"] = 6] = "ES2020";
3295
3297
  ModuleKind[ModuleKind["ESNext"] = 99] = "ESNext";
3298
+ ModuleKind[ModuleKind["Node12"] = 100] = "Node12";
3299
+ ModuleKind[ModuleKind["NodeNext"] = 199] = "NodeNext";
3296
3300
  })(ModuleKind = ts.ModuleKind || (ts.ModuleKind = {}));
3297
3301
  ts.commentPragmas = {
3298
3302
  "reference": {
@@ -5293,7 +5297,7 @@ var ts;
5293
5297
  Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: diag(1320, ts.DiagnosticCategory.Error, "Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320", "Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member."),
5294
5298
  Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: diag(1321, ts.DiagnosticCategory.Error, "Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321", "Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member."),
5295
5299
  Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: diag(1322, ts.DiagnosticCategory.Error, "Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322", "Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member."),
5296
- Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_esnext_commonjs_amd_system_or_umd: diag(1323, ts.DiagnosticCategory.Error, "Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_esnext_commonjs_amd_system__1323", "Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'esnext', 'commonjs', 'amd', 'system', or 'umd'."),
5300
+ Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_esnext_commonjs_amd_system_umd_node12_or_nodenext: diag(1323, ts.DiagnosticCategory.Error, "Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_esnext_commonjs_amd_system__1323", "Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'esnext', 'commonjs', 'amd', 'system', 'umd', 'node12', or 'nodenext'."),
5297
5301
  Dynamic_import_must_have_one_specifier_as_an_argument: diag(1324, ts.DiagnosticCategory.Error, "Dynamic_import_must_have_one_specifier_as_an_argument_1324", "Dynamic import must have one specifier as an argument."),
5298
5302
  Specifier_of_dynamic_import_cannot_be_spread_element: diag(1325, ts.DiagnosticCategory.Error, "Specifier_of_dynamic_import_cannot_be_spread_element_1325", "Specifier of dynamic import cannot be spread element."),
5299
5303
  Dynamic_import_cannot_have_type_arguments: diag(1326, ts.DiagnosticCategory.Error, "Dynamic_import_cannot_have_type_arguments_1326", "Dynamic import cannot have type arguments."),
@@ -5311,7 +5315,7 @@ var ts;
5311
5315
  Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here: diag(1339, ts.DiagnosticCategory.Error, "Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339", "Module '{0}' does not refer to a value, but is used as a value here."),
5312
5316
  Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0: diag(1340, ts.DiagnosticCategory.Error, "Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340", "Module '{0}' does not refer to a type, but is used as a type here. Did you mean 'typeof import('{0}')'?"),
5313
5317
  Type_arguments_cannot_be_used_here: diag(1342, ts.DiagnosticCategory.Error, "Type_arguments_cannot_be_used_here_1342", "Type arguments cannot be used here."),
5314
- The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_esnext_or_system: diag(1343, ts.DiagnosticCategory.Error, "The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_esnext_or_system_1343", "The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'esnext', or 'system'."),
5318
+ The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_esnext_system_node12_or_nodenext: diag(1343, ts.DiagnosticCategory.Error, "The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_esnext_system_node12__1343", "The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'esnext', 'system', 'node12', or 'nodenext'."),
5315
5319
  A_label_is_not_allowed_here: diag(1344, ts.DiagnosticCategory.Error, "A_label_is_not_allowed_here_1344", "'A label is not allowed here."),
5316
5320
  An_expression_of_type_void_cannot_be_tested_for_truthiness: diag(1345, ts.DiagnosticCategory.Error, "An_expression_of_type_void_cannot_be_tested_for_truthiness_1345", "An expression of type 'void' cannot be tested for truthiness."),
5317
5321
  This_parameter_is_not_allowed_with_use_strict_directive: diag(1346, ts.DiagnosticCategory.Error, "This_parameter_is_not_allowed_with_use_strict_directive_1346", "This parameter is not allowed with 'use strict' directive."),
@@ -5342,7 +5346,7 @@ var ts;
5342
5346
  await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module: diag(1375, ts.DiagnosticCategory.Error, "await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_fi_1375", "'await' expressions are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),
5343
5347
  _0_was_imported_here: diag(1376, ts.DiagnosticCategory.Message, "_0_was_imported_here_1376", "'{0}' was imported here."),
5344
5348
  _0_was_exported_here: diag(1377, ts.DiagnosticCategory.Message, "_0_was_exported_here_1377", "'{0}' was exported here."),
5345
- Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_the_target_option_is_set_to_es2017_or_higher: diag(1378, ts.DiagnosticCategory.Error, "Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_t_1378", "Top-level 'await' expressions are only allowed when the 'module' option is set to 'esnext' or 'system', and the 'target' option is set to 'es2017' or higher."),
5349
+ Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_esnext_system_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher: diag(1378, ts.DiagnosticCategory.Error, "Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_esnext_system_or_noden_1378", "Top-level 'await' expressions are only allowed when the 'module' option is set to 'esnext', 'system', or 'nodenext', and the 'target' option is set to 'es2017' or higher."),
5346
5350
  An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type: diag(1379, ts.DiagnosticCategory.Error, "An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type_1379", "An import alias cannot reference a declaration that was exported using 'export type'."),
5347
5351
  An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type: diag(1380, ts.DiagnosticCategory.Error, "An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type_1380", "An import alias cannot reference a declaration that was imported using 'import type'."),
5348
5352
  Unexpected_token_Did_you_mean_or_rbrace: diag(1381, ts.DiagnosticCategory.Error, "Unexpected_token_Did_you_mean_or_rbrace_1381", "Unexpected token. Did you mean `{'}'}` or `}`?"),
@@ -5394,7 +5398,7 @@ var ts;
5394
5398
  File_redirects_to_file_0: diag(1429, ts.DiagnosticCategory.Message, "File_redirects_to_file_0_1429", "File redirects to file '{0}'"),
5395
5399
  The_file_is_in_the_program_because_Colon: diag(1430, ts.DiagnosticCategory.Message, "The_file_is_in_the_program_because_Colon_1430", "The file is in the program because:"),
5396
5400
  for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module: diag(1431, ts.DiagnosticCategory.Error, "for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_1431", "'for await' loops are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),
5397
- Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_the_target_option_is_set_to_es2017_or_higher: diag(1432, ts.DiagnosticCategory.Error, "Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_the_1432", "Top-level 'for await' loops are only allowed when the 'module' option is set to 'esnext' or 'system', and the 'target' option is set to 'es2017' or higher."),
5401
+ Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_esnext_system_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher: diag(1432, ts.DiagnosticCategory.Error, "Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_esnext_system_or_nodenex_1432", "Top-level 'for await' loops are only allowed when the 'module' option is set to 'esnext', 'system', or 'nodenext', and the 'target' option is set to 'es2017' or higher."),
5398
5402
  Decorators_may_not_be_applied_to_this_parameters: diag(1433, ts.DiagnosticCategory.Error, "Decorators_may_not_be_applied_to_this_parameters_1433", "Decorators may not be applied to 'this' parameters."),
5399
5403
  Unexpected_keyword_or_identifier: diag(1434, ts.DiagnosticCategory.Error, "Unexpected_keyword_or_identifier_1434", "Unexpected keyword or identifier."),
5400
5404
  Unknown_keyword_or_identifier_Did_you_mean_0: diag(1435, ts.DiagnosticCategory.Error, "Unknown_keyword_or_identifier_Did_you_mean_0_1435", "Unknown keyword or identifier. Did you mean '{0}'?"),
@@ -5410,6 +5414,8 @@ var ts;
5410
5414
  _0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled: diag(1446, ts.DiagnosticCategory.Error, "_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveVa_1446", "'{0}' resolves to a type-only declaration and must be imported using a type-only import when 'preserveValueImports' and 'isolatedModules' are both enabled."),
5411
5415
  _0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_isolatedModules_is_enabled: diag(1448, ts.DiagnosticCategory.Error, "_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_isol_1448", "'{0}' resolves to a type-only declaration and must be re-exported using a type-only re-export when 'isolatedModules' is enabled."),
5412
5416
  Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed: diag(1449, ts.DiagnosticCategory.Message, "Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed_1449", "Preserve unused imported values in the JavaScript output that would otherwise be removed."),
5417
+ The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output: diag(1470, ts.DiagnosticCategory.Error, "The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output_1470", "The 'import.meta' meta-property is not allowed in files which will build into CommonJS output."),
5418
+ Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_es_module_which_cannot_be_imported_synchronously_Use_dynamic_import_instead: diag(1471, ts.DiagnosticCategory.Error, "Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_es_module_which_c_1471", "Module '{0}' cannot be imported using this construct. The specifier only resolves to an es module, which cannot be imported synchronously. Use dynamic import instead."),
5413
5419
  The_types_of_0_are_incompatible_between_these_types: diag(2200, ts.DiagnosticCategory.Error, "The_types_of_0_are_incompatible_between_these_types_2200", "The types of '{0}' are incompatible between these types."),
5414
5420
  The_types_returned_by_0_are_incompatible_between_these_types: diag(2201, ts.DiagnosticCategory.Error, "The_types_returned_by_0_are_incompatible_between_these_types_2201", "The types returned by '{0}' are incompatible between these types."),
5415
5421
  Call_signature_return_types_0_and_1_are_incompatible: diag(2202, ts.DiagnosticCategory.Error, "Call_signature_return_types_0_and_1_are_incompatible_2202", "Call signature return types '{0}' and '{1}' are incompatible.", undefined, true),
@@ -6272,6 +6278,13 @@ var ts;
6272
6278
  Output_Formatting: diag(6256, ts.DiagnosticCategory.Message, "Output_Formatting_6256", "Output Formatting"),
6273
6279
  Completeness: diag(6257, ts.DiagnosticCategory.Message, "Completeness_6257", "Completeness"),
6274
6280
  _0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file: diag(6258, ts.DiagnosticCategory.Error, "_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file_6258", "'{0}' should be set inside the 'compilerOptions' object of the config json file"),
6281
+ Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve: diag(6270, ts.DiagnosticCategory.Message, "Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve_6270", "Directory '{0}' has no containing package.json scope. Imports will not resolve."),
6282
+ Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1: diag(6271, ts.DiagnosticCategory.Message, "Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6271", "Import specifier '{0}' does not exist in package.json scope at path '{1}'."),
6283
+ Invalid_import_specifier_0_has_no_possible_resolutions: diag(6272, ts.DiagnosticCategory.Message, "Invalid_import_specifier_0_has_no_possible_resolutions_6272", "Invalid import specifier '{0}' has no possible resolutions."),
6284
+ package_json_scope_0_has_no_imports_defined: diag(6273, ts.DiagnosticCategory.Message, "package_json_scope_0_has_no_imports_defined_6273", "package.json scope '{0}' has no imports defined."),
6285
+ package_json_scope_0_explicitly_maps_specifier_1_to_null: diag(6274, ts.DiagnosticCategory.Message, "package_json_scope_0_explicitly_maps_specifier_1_to_null_6274", "package.json scope '{0}' explicitly maps specifier '{1}' to null."),
6286
+ package_json_scope_0_has_invalid_type_for_target_of_specifier_1: diag(6275, ts.DiagnosticCategory.Message, "package_json_scope_0_has_invalid_type_for_target_of_specifier_1_6275", "package.json scope '{0}' has invalid type for target of specifier '{1}'"),
6287
+ Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1: diag(6276, ts.DiagnosticCategory.Message, "Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6276", "Export specifier '{0}' does not exist in package.json scope at path '{1}'."),
6275
6288
  Enable_project_compilation: diag(6302, ts.DiagnosticCategory.Message, "Enable_project_compilation_6302", "Enable project compilation"),
6276
6289
  Composite_projects_may_not_disable_declaration_emit: diag(6304, ts.DiagnosticCategory.Error, "Composite_projects_may_not_disable_declaration_emit_6304", "Composite projects may not disable declaration emit."),
6277
6290
  Output_file_0_has_not_been_built_from_source_file_1: diag(6305, ts.DiagnosticCategory.Error, "Output_file_0_has_not_been_built_from_source_file_1_6305", "Output file '{0}' has not been built from source file '{1}'."),
@@ -6531,6 +6544,8 @@ var ts;
6531
6544
  The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed: diag(7056, ts.DiagnosticCategory.Error, "The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_ty_7056", "The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed."),
6532
6545
  yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation: diag(7057, ts.DiagnosticCategory.Error, "yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_t_7057", "'yield' expression implicitly results in an 'any' type because its containing generator lacks a return-type annotation."),
6533
6546
  If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_declare_module_1: diag(7058, ts.DiagnosticCategory.Error, "If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058", "If the '{0}' package actually exposes this module, try adding a new declaration (.d.ts) file containing `declare module '{1}';`"),
6547
+ This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead: diag(7059, ts.DiagnosticCategory.Error, "This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead_7059", "This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead."),
6548
+ This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_constraint: diag(7060, ts.DiagnosticCategory.Error, "This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_cons_7060", "This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma or explicit constraint."),
6534
6549
  You_cannot_rename_this_element: diag(8000, ts.DiagnosticCategory.Error, "You_cannot_rename_this_element_8000", "You cannot rename this element."),
6535
6550
  You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library: diag(8001, ts.DiagnosticCategory.Error, "You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001", "You cannot rename elements that are defined in the standard TypeScript library."),
6536
6551
  import_can_only_be_used_in_TypeScript_files: diag(8002, ts.DiagnosticCategory.Error, "import_can_only_be_used_in_TypeScript_files_8002", "'import ... =' can only be used in TypeScript files."),
@@ -8902,7 +8917,7 @@ var ts;
8902
8917
  }
8903
8918
  ts.sortAndDeduplicateDiagnostics = sortAndDeduplicateDiagnostics;
8904
8919
  function getDefaultLibFileName(options) {
8905
- switch (options.target) {
8920
+ switch (ts.getEmitScriptTarget(options)) {
8906
8921
  case 99:
8907
8922
  return "lib.esnext.full.d.ts";
8908
8923
  case 8:
@@ -10584,22 +10599,22 @@ var ts;
10584
10599
  return node.end - node.pos;
10585
10600
  }
10586
10601
  ts.getFullWidth = getFullWidth;
10587
- function getResolvedModule(sourceFile, moduleNameText) {
10588
- return sourceFile && sourceFile.resolvedModules && sourceFile.resolvedModules.get(moduleNameText);
10602
+ function getResolvedModule(sourceFile, moduleNameText, mode) {
10603
+ return sourceFile && sourceFile.resolvedModules && sourceFile.resolvedModules.get(moduleNameText, mode);
10589
10604
  }
10590
10605
  ts.getResolvedModule = getResolvedModule;
10591
- function setResolvedModule(sourceFile, moduleNameText, resolvedModule) {
10606
+ function setResolvedModule(sourceFile, moduleNameText, resolvedModule, mode) {
10592
10607
  if (!sourceFile.resolvedModules) {
10593
- sourceFile.resolvedModules = new ts.Map();
10608
+ sourceFile.resolvedModules = ts.createModeAwareCache();
10594
10609
  }
10595
- sourceFile.resolvedModules.set(moduleNameText, resolvedModule);
10610
+ sourceFile.resolvedModules.set(moduleNameText, mode, resolvedModule);
10596
10611
  }
10597
10612
  ts.setResolvedModule = setResolvedModule;
10598
10613
  function setResolvedTypeReferenceDirective(sourceFile, typeReferenceDirectiveName, resolvedTypeReferenceDirective) {
10599
10614
  if (!sourceFile.resolvedTypeReferenceDirectiveNames) {
10600
- sourceFile.resolvedTypeReferenceDirectiveNames = new ts.Map();
10615
+ sourceFile.resolvedTypeReferenceDirectiveNames = ts.createModeAwareCache();
10601
10616
  }
10602
- sourceFile.resolvedTypeReferenceDirectiveNames.set(typeReferenceDirectiveName, resolvedTypeReferenceDirective);
10617
+ sourceFile.resolvedTypeReferenceDirectiveNames.set(typeReferenceDirectiveName, undefined, resolvedTypeReferenceDirective);
10603
10618
  }
10604
10619
  ts.setResolvedTypeReferenceDirective = setResolvedTypeReferenceDirective;
10605
10620
  function projectReferenceIsEqualTo(oldRef, newRef) {
@@ -10631,11 +10646,11 @@ var ts;
10631
10646
  && oldResolution.originalPath === newResolution.originalPath;
10632
10647
  }
10633
10648
  ts.typeDirectiveIsEqualTo = typeDirectiveIsEqualTo;
10634
- function hasChangesInResolutions(names, newResolutions, oldResolutions, comparer) {
10649
+ function hasChangesInResolutions(names, newResolutions, oldResolutions, oldSourceFile, comparer) {
10635
10650
  ts.Debug.assert(names.length === newResolutions.length);
10636
10651
  for (var i = 0; i < names.length; i++) {
10637
10652
  var newResolution = newResolutions[i];
10638
- var oldResolution = oldResolutions && oldResolutions.get(names[i]);
10653
+ var oldResolution = oldResolutions && oldResolutions.get(names[i], oldSourceFile && ts.getModeForResolutionAtIndex(oldSourceFile, i));
10639
10654
  var changed = oldResolution
10640
10655
  ? !newResolution || !comparer(oldResolution, newResolution)
10641
10656
  : newResolution;
@@ -11079,8 +11094,11 @@ var ts;
11079
11094
  return (_a = symbol.declarations) === null || _a === void 0 ? void 0 : _a.find(function (d) { return !isExternalModuleAugmentation(d) && !(ts.isModuleDeclaration(d) && isGlobalScopeAugmentation(d)); });
11080
11095
  }
11081
11096
  ts.getNonAugmentationDeclaration = getNonAugmentationDeclaration;
11097
+ function isCommonJSContainingModuleKind(kind) {
11098
+ return kind === ts.ModuleKind.CommonJS || kind === ts.ModuleKind.Node12 || kind === ts.ModuleKind.NodeNext;
11099
+ }
11082
11100
  function isEffectiveExternalModule(node, compilerOptions) {
11083
- return ts.isExternalModule(node) || compilerOptions.isolatedModules || ((getEmitModuleKind(compilerOptions) === ts.ModuleKind.CommonJS) && !!node.commonJsModuleIndicator);
11101
+ return ts.isExternalModule(node) || compilerOptions.isolatedModules || (isCommonJSContainingModuleKind(getEmitModuleKind(compilerOptions)) && !!node.commonJsModuleIndicator);
11084
11102
  }
11085
11103
  ts.isEffectiveExternalModule = isEffectiveExternalModule;
11086
11104
  function isEffectiveStrictModeSourceFile(node, compilerOptions) {
@@ -13935,9 +13953,17 @@ var ts;
13935
13953
  var path = outputDir
13936
13954
  ? getSourceFilePathInNewDirWorker(fileName, outputDir, currentDirectory, commonSourceDirectory, getCanonicalFileName)
13937
13955
  : fileName;
13938
- return removeFileExtension(path) + ".d.ts";
13956
+ var declarationExtension = getDeclarationEmitExtensionForPath(path);
13957
+ return removeFileExtension(path) + declarationExtension;
13939
13958
  }
13940
13959
  ts.getDeclarationEmitOutputFilePathWorker = getDeclarationEmitOutputFilePathWorker;
13960
+ function getDeclarationEmitExtensionForPath(path) {
13961
+ return ts.fileExtensionIsOneOf(path, [".mjs", ".mts"]) ? ".d.mts" :
13962
+ ts.fileExtensionIsOneOf(path, [".cjs", ".cts"]) ? ".d.cts" :
13963
+ ts.fileExtensionIsOneOf(path, [".json"]) ? ".json.d.ts" :
13964
+ ".d.ts";
13965
+ }
13966
+ ts.getDeclarationEmitExtensionForPath = getDeclarationEmitExtensionForPath;
13941
13967
  function outFile(options) {
13942
13968
  return options.outFile || options.out;
13943
13969
  }
@@ -14579,7 +14605,7 @@ var ts;
14579
14605
  return symbol && ts.length(symbol.declarations) > 0 && hasSyntacticModifier(symbol.declarations[0], 512);
14580
14606
  }
14581
14607
  function tryExtractTSExtension(fileName) {
14582
- return ts.find(ts.supportedTSExtensionsForExtractExtension, function (extension) { return ts.fileExtensionIs(fileName, extension); });
14608
+ return ts.find(supportedTSExtensionsForExtractExtension, function (extension) { return ts.fileExtensionIs(fileName, extension); });
14583
14609
  }
14584
14610
  ts.tryExtractTSExtension = tryExtractTSExtension;
14585
14611
  function getExpandedCharCodes(input) {
@@ -15437,7 +15463,10 @@ var ts;
15437
15463
  }
15438
15464
  ts.getLanguageVariant = getLanguageVariant;
15439
15465
  function getEmitScriptTarget(compilerOptions) {
15440
- return compilerOptions.target || 0;
15466
+ return compilerOptions.target ||
15467
+ (compilerOptions.module === ts.ModuleKind.Node12 && 7) ||
15468
+ (compilerOptions.module === ts.ModuleKind.NodeNext && 99) ||
15469
+ 0;
15441
15470
  }
15442
15471
  ts.getEmitScriptTarget = getEmitScriptTarget;
15443
15472
  function getEmitModuleKind(compilerOptions) {
@@ -15449,7 +15478,20 @@ var ts;
15449
15478
  function getEmitModuleResolutionKind(compilerOptions) {
15450
15479
  var moduleResolution = compilerOptions.moduleResolution;
15451
15480
  if (moduleResolution === undefined) {
15452
- moduleResolution = getEmitModuleKind(compilerOptions) === ts.ModuleKind.CommonJS ? ts.ModuleResolutionKind.NodeJs : ts.ModuleResolutionKind.Classic;
15481
+ switch (getEmitModuleKind(compilerOptions)) {
15482
+ case ts.ModuleKind.CommonJS:
15483
+ moduleResolution = ts.ModuleResolutionKind.NodeJs;
15484
+ break;
15485
+ case ts.ModuleKind.Node12:
15486
+ moduleResolution = ts.ModuleResolutionKind.Node12;
15487
+ break;
15488
+ case ts.ModuleKind.NodeNext:
15489
+ moduleResolution = ts.ModuleResolutionKind.NodeNext;
15490
+ break;
15491
+ default:
15492
+ moduleResolution = ts.ModuleResolutionKind.Classic;
15493
+ break;
15494
+ }
15453
15495
  }
15454
15496
  return moduleResolution;
15455
15497
  }
@@ -15479,11 +15521,23 @@ var ts;
15479
15521
  return !!(getEmitDeclarations(options) && options.declarationMap);
15480
15522
  }
15481
15523
  ts.getAreDeclarationMapsEnabled = getAreDeclarationMapsEnabled;
15524
+ function getESModuleInterop(compilerOptions) {
15525
+ if (compilerOptions.esModuleInterop !== undefined) {
15526
+ return compilerOptions.esModuleInterop;
15527
+ }
15528
+ switch (getEmitModuleKind(compilerOptions)) {
15529
+ case ts.ModuleKind.Node12:
15530
+ case ts.ModuleKind.NodeNext:
15531
+ return true;
15532
+ }
15533
+ return undefined;
15534
+ }
15535
+ ts.getESModuleInterop = getESModuleInterop;
15482
15536
  function getAllowSyntheticDefaultImports(compilerOptions) {
15483
15537
  var moduleKind = getEmitModuleKind(compilerOptions);
15484
15538
  return compilerOptions.allowSyntheticDefaultImports !== undefined
15485
15539
  ? compilerOptions.allowSyntheticDefaultImports
15486
- : compilerOptions.esModuleInterop ||
15540
+ : getESModuleInterop(compilerOptions) ||
15487
15541
  moduleKind === ts.ModuleKind.System;
15488
15542
  }
15489
15543
  ts.getAllowSyntheticDefaultImports = getAllowSyntheticDefaultImports;
@@ -15508,7 +15562,7 @@ var ts;
15508
15562
  }
15509
15563
  ts.getAllowJSCompilerOption = getAllowJSCompilerOption;
15510
15564
  function getUseDefineForClassFields(compilerOptions) {
15511
- return compilerOptions.useDefineForClassFields === undefined ? compilerOptions.target === 99 : compilerOptions.useDefineForClassFields;
15565
+ return compilerOptions.useDefineForClassFields === undefined ? getEmitScriptTarget(compilerOptions) === 99 : compilerOptions.useDefineForClassFields;
15512
15566
  }
15513
15567
  ts.getUseDefineForClassFields = getUseDefineForClassFields;
15514
15568
  function compilerOptionsAffectSemanticDiagnostics(newOptions, oldOptions) {
@@ -15886,48 +15940,51 @@ var ts;
15886
15940
  }
15887
15941
  }
15888
15942
  ts.getScriptKindFromFileName = getScriptKindFromFileName;
15889
- ts.supportedTSExtensions = [".ts", ".tsx", ".d.ts"];
15890
- ts.supportedTSExtensionsWithJson = [".ts", ".tsx", ".d.ts", ".json"];
15891
- ts.supportedTSExtensionsForExtractExtension = [".d.ts", ".ts", ".tsx"];
15892
- ts.supportedJSExtensions = [".js", ".jsx"];
15893
- ts.supportedJSAndJsonExtensions = [".js", ".jsx", ".json"];
15894
- var allSupportedExtensions = __spreadArray(__spreadArray([], ts.supportedTSExtensions, true), ts.supportedJSExtensions, true);
15895
- var allSupportedExtensionsWithJson = __spreadArray(__spreadArray(__spreadArray([], ts.supportedTSExtensions, true), ts.supportedJSExtensions, true), [".json"], false);
15943
+ ts.supportedTSExtensions = [[".ts", ".tsx", ".d.ts"], [".cts", ".d.cts"], [".mts", ".d.mts"]];
15944
+ ts.supportedTSExtensionsFlat = ts.flatten(ts.supportedTSExtensions);
15945
+ var supportedTSExtensionsWithJson = __spreadArray(__spreadArray([], ts.supportedTSExtensions, true), [[".json"]], false);
15946
+ var supportedTSExtensionsForExtractExtension = [".d.ts", ".d.cts", ".d.mts", ".cts", ".mts", ".ts", ".tsx", ".cts", ".mts"];
15947
+ ts.supportedJSExtensions = [[".js", ".jsx"], [".mjs"], [".cjs"]];
15948
+ ts.supportedJSExtensionsFlat = ts.flatten(ts.supportedJSExtensions);
15949
+ var allSupportedExtensions = [[".ts", ".tsx", ".d.ts", ".js", ".jsx"], [".cts", ".d.cts", ".cjs"], [".mts", ".d.mts", ".mjs"]];
15950
+ var allSupportedExtensionsWithJson = __spreadArray(__spreadArray([], allSupportedExtensions, true), [[".json"]], false);
15896
15951
  function getSupportedExtensions(options, extraFileExtensions) {
15897
15952
  var needJsExtensions = options && getAllowJSCompilerOption(options);
15898
15953
  if (!extraFileExtensions || extraFileExtensions.length === 0) {
15899
15954
  return needJsExtensions ? allSupportedExtensions : ts.supportedTSExtensions;
15900
15955
  }
15901
- var extensions = __spreadArray(__spreadArray([], needJsExtensions ? allSupportedExtensions : ts.supportedTSExtensions, true), ts.mapDefined(extraFileExtensions, function (x) { return x.scriptKind === 7 || needJsExtensions && isJSLike(x.scriptKind) ? x.extension : undefined; }), true);
15902
- return ts.deduplicate(extensions, ts.equateStringsCaseSensitive, ts.compareStringsCaseSensitive);
15956
+ var builtins = needJsExtensions ? allSupportedExtensions : ts.supportedTSExtensions;
15957
+ var flatBuiltins = ts.flatten(builtins);
15958
+ var extensions = __spreadArray(__spreadArray([], builtins, true), ts.mapDefined(extraFileExtensions, function (x) { return x.scriptKind === 7 || needJsExtensions && isJSLike(x.scriptKind) && flatBuiltins.indexOf(x.extension) === -1 ? [x.extension] : undefined; }), true);
15959
+ return extensions;
15903
15960
  }
15904
15961
  ts.getSupportedExtensions = getSupportedExtensions;
15905
- function getSuppoertedExtensionsWithJsonIfResolveJsonModule(options, supportedExtensions) {
15962
+ function getSupportedExtensionsWithJsonIfResolveJsonModule(options, supportedExtensions) {
15906
15963
  if (!options || !options.resolveJsonModule)
15907
15964
  return supportedExtensions;
15908
15965
  if (supportedExtensions === allSupportedExtensions)
15909
15966
  return allSupportedExtensionsWithJson;
15910
15967
  if (supportedExtensions === ts.supportedTSExtensions)
15911
- return ts.supportedTSExtensionsWithJson;
15912
- return __spreadArray(__spreadArray([], supportedExtensions, true), [".json"], false);
15968
+ return supportedTSExtensionsWithJson;
15969
+ return __spreadArray(__spreadArray([], supportedExtensions, true), [[".json"]], false);
15913
15970
  }
15914
- ts.getSuppoertedExtensionsWithJsonIfResolveJsonModule = getSuppoertedExtensionsWithJsonIfResolveJsonModule;
15971
+ ts.getSupportedExtensionsWithJsonIfResolveJsonModule = getSupportedExtensionsWithJsonIfResolveJsonModule;
15915
15972
  function isJSLike(scriptKind) {
15916
15973
  return scriptKind === 1 || scriptKind === 2;
15917
15974
  }
15918
15975
  function hasJSFileExtension(fileName) {
15919
- return ts.some(ts.supportedJSExtensions, function (extension) { return ts.fileExtensionIs(fileName, extension); });
15976
+ return ts.some(ts.supportedJSExtensionsFlat, function (extension) { return ts.fileExtensionIs(fileName, extension); });
15920
15977
  }
15921
15978
  ts.hasJSFileExtension = hasJSFileExtension;
15922
15979
  function hasTSFileExtension(fileName) {
15923
- return ts.some(ts.supportedTSExtensions, function (extension) { return ts.fileExtensionIs(fileName, extension); });
15980
+ return ts.some(ts.supportedTSExtensionsFlat, function (extension) { return ts.fileExtensionIs(fileName, extension); });
15924
15981
  }
15925
15982
  ts.hasTSFileExtension = hasTSFileExtension;
15926
15983
  function isSupportedSourceFileName(fileName, compilerOptions, extraFileExtensions) {
15927
15984
  if (!fileName)
15928
15985
  return false;
15929
15986
  var supportedExtensions = getSupportedExtensions(compilerOptions, extraFileExtensions);
15930
- for (var _i = 0, _a = getSuppoertedExtensionsWithJsonIfResolveJsonModule(compilerOptions, supportedExtensions); _i < _a.length; _i++) {
15987
+ for (var _i = 0, _a = ts.flatten(getSupportedExtensionsWithJsonIfResolveJsonModule(compilerOptions, supportedExtensions)); _i < _a.length; _i++) {
15931
15988
  var extension = _a[_i];
15932
15989
  if (ts.fileExtensionIs(fileName, extension)) {
15933
15990
  return true;
@@ -15944,37 +16001,7 @@ var ts;
15944
16001
  return ts.compareValues(numberOfDirectorySeparators(path1), numberOfDirectorySeparators(path2));
15945
16002
  }
15946
16003
  ts.compareNumberOfDirectorySeparators = compareNumberOfDirectorySeparators;
15947
- function getExtensionPriority(path, supportedExtensions) {
15948
- for (var i = supportedExtensions.length - 1; i >= 0; i--) {
15949
- if (ts.fileExtensionIs(path, supportedExtensions[i])) {
15950
- return adjustExtensionPriority(i, supportedExtensions);
15951
- }
15952
- }
15953
- return 0;
15954
- }
15955
- ts.getExtensionPriority = getExtensionPriority;
15956
- function adjustExtensionPriority(extensionPriority, supportedExtensions) {
15957
- if (extensionPriority < 2) {
15958
- return 0;
15959
- }
15960
- else if (extensionPriority < supportedExtensions.length) {
15961
- return 2;
15962
- }
15963
- else {
15964
- return supportedExtensions.length;
15965
- }
15966
- }
15967
- ts.adjustExtensionPriority = adjustExtensionPriority;
15968
- function getNextLowestExtensionPriority(extensionPriority, supportedExtensions) {
15969
- if (extensionPriority < 2) {
15970
- return 2;
15971
- }
15972
- else {
15973
- return supportedExtensions.length;
15974
- }
15975
- }
15976
- ts.getNextLowestExtensionPriority = getNextLowestExtensionPriority;
15977
- var extensionsToRemove = [".d.ts", ".ts", ".js", ".tsx", ".jsx", ".json"];
16004
+ var extensionsToRemove = [".d.ts", ".d.mts", ".d.cts", ".mjs", ".mts", ".cjs", ".cts", ".ts", ".js", ".tsx", ".jsx", ".json"];
15978
16005
  function removeFileExtension(path) {
15979
16006
  for (var _i = 0, extensionsToRemove_1 = extensionsToRemove; _i < extensionsToRemove_1.length; _i++) {
15980
16007
  var ext = extensionsToRemove_1[_i];
@@ -16439,6 +16466,15 @@ var ts;
16439
16466
  return name === "Infinity" || name === "-Infinity" || name === "NaN";
16440
16467
  }
16441
16468
  ts.isInfinityOrNaNString = isInfinityOrNaNString;
16469
+ function isCatchClauseVariableDeclaration(node) {
16470
+ return node.kind === 252 && node.parent.kind === 290;
16471
+ }
16472
+ ts.isCatchClauseVariableDeclaration = isCatchClauseVariableDeclaration;
16473
+ function isParameterOrCatchClauseVariable(symbol) {
16474
+ var declaration = symbol.valueDeclaration && getRootDeclaration(symbol.valueDeclaration);
16475
+ return !!declaration && (ts.isParameter(declaration) || isCatchClauseVariableDeclaration(declaration));
16476
+ }
16477
+ ts.isParameterOrCatchClauseVariable = isParameterOrCatchClauseVariable;
16442
16478
  })(ts || (ts = {}));
16443
16479
  var ts;
16444
16480
  (function (ts) {
@@ -20379,6 +20415,7 @@ var ts;
20379
20415
  node.transformFlags =
20380
20416
  propagateChildrenFlags(node.statements) |
20381
20417
  propagateChildFlags(node.endOfFileToken);
20418
+ node.impliedNodeFormat = source.impliedNodeFormat;
20382
20419
  return node;
20383
20420
  }
20384
20421
  function updateSourceFile(node, statements, isDeclarationFile, referencedFiles, typeReferenceDirectives, hasNoDefaultLib, libReferenceDirectives) {
@@ -21658,7 +21695,7 @@ var ts;
21658
21695
  ]), location);
21659
21696
  }
21660
21697
  function createAssignHelper(attributesSegments) {
21661
- if (context.getCompilerOptions().target >= 2) {
21698
+ if (ts.getEmitScriptTarget(context.getCompilerOptions()) >= 2) {
21662
21699
  return factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Object"), "assign"), undefined, attributesSegments);
21663
21700
  }
21664
21701
  context.requestEmitHelper(ts.assignHelper);
@@ -23182,7 +23219,7 @@ var ts;
23182
23219
  if (compilerOptions.importHelpers && ts.isEffectiveExternalModule(sourceFile, compilerOptions)) {
23183
23220
  var namedBindings = void 0;
23184
23221
  var moduleKind = ts.getEmitModuleKind(compilerOptions);
23185
- if (moduleKind >= ts.ModuleKind.ES2015 && moduleKind <= ts.ModuleKind.ESNext) {
23222
+ if ((moduleKind >= ts.ModuleKind.ES2015 && moduleKind <= ts.ModuleKind.ESNext) || sourceFile.impliedNodeFormat === ts.ModuleKind.ESNext) {
23186
23223
  var helpers = ts.getEmitHelpers(sourceFile);
23187
23224
  if (helpers) {
23188
23225
  var helperNames = [];
@@ -23227,9 +23264,9 @@ var ts;
23227
23264
  return externalHelpersModuleName;
23228
23265
  }
23229
23266
  var moduleKind = ts.getEmitModuleKind(compilerOptions);
23230
- var create = (hasExportStarsToExportValues || (compilerOptions.esModuleInterop && hasImportStarOrImportDefault))
23267
+ var create = (hasExportStarsToExportValues || (ts.getESModuleInterop(compilerOptions) && hasImportStarOrImportDefault))
23231
23268
  && moduleKind !== ts.ModuleKind.System
23232
- && moduleKind < ts.ModuleKind.ES2015;
23269
+ && (moduleKind < ts.ModuleKind.ES2015 || node.impliedNodeFormat === ts.ModuleKind.CommonJS);
23233
23270
  if (!create) {
23234
23271
  var helpers = ts.getEmitHelpers(node);
23235
23272
  if (helpers) {
@@ -30814,7 +30851,9 @@ var ts;
30814
30851
  es6: ts.ModuleKind.ES2015,
30815
30852
  es2015: ts.ModuleKind.ES2015,
30816
30853
  es2020: ts.ModuleKind.ES2020,
30817
- esnext: ts.ModuleKind.ESNext
30854
+ esnext: ts.ModuleKind.ESNext,
30855
+ node12: ts.ModuleKind.Node12,
30856
+ nodenext: ts.ModuleKind.NodeNext,
30818
30857
  })),
30819
30858
  affectsModuleResolution: true,
30820
30859
  affectsEmit: true,
@@ -33024,7 +33063,7 @@ var ts;
33024
33063
  var wildCardJsonFileMap = new ts.Map();
33025
33064
  var validatedFilesSpec = configFileSpecs.validatedFilesSpec, validatedIncludeSpecs = configFileSpecs.validatedIncludeSpecs, validatedExcludeSpecs = configFileSpecs.validatedExcludeSpecs;
33026
33065
  var supportedExtensions = ts.getSupportedExtensions(options, extraFileExtensions);
33027
- var supportedExtensionsWithJsonIfResolveJsonModule = ts.getSuppoertedExtensionsWithJsonIfResolveJsonModule(options, supportedExtensions);
33066
+ var supportedExtensionsWithJsonIfResolveJsonModule = ts.getSupportedExtensionsWithJsonIfResolveJsonModule(options, supportedExtensions);
33028
33067
  if (validatedFilesSpec) {
33029
33068
  for (var _i = 0, validatedFilesSpec_1 = validatedFilesSpec; _i < validatedFilesSpec_1.length; _i++) {
33030
33069
  var fileName = validatedFilesSpec_1[_i];
@@ -33059,7 +33098,7 @@ var ts;
33059
33098
  wildcardFileMap.set(key, file);
33060
33099
  }
33061
33100
  };
33062
- for (var _a = 0, _b = host.readDirectory(basePath, supportedExtensionsWithJsonIfResolveJsonModule, validatedExcludeSpecs, validatedIncludeSpecs, undefined); _a < _b.length; _a++) {
33101
+ for (var _a = 0, _b = host.readDirectory(basePath, ts.flatten(supportedExtensionsWithJsonIfResolveJsonModule), validatedExcludeSpecs, validatedIncludeSpecs, undefined); _a < _b.length; _a++) {
33063
33102
  var file = _b[_a];
33064
33103
  _loop_6(file);
33065
33104
  }
@@ -33191,23 +33230,36 @@ var ts;
33191
33230
  return undefined;
33192
33231
  }
33193
33232
  function hasFileWithHigherPriorityExtension(file, literalFiles, wildcardFiles, extensions, keyMapper) {
33194
- var extensionPriority = ts.getExtensionPriority(file, extensions);
33195
- var adjustedExtensionPriority = ts.adjustExtensionPriority(extensionPriority, extensions);
33196
- for (var i = 0; i < adjustedExtensionPriority; i++) {
33197
- var higherPriorityExtension = extensions[i];
33198
- var higherPriorityPath = keyMapper(ts.changeExtension(file, higherPriorityExtension));
33233
+ var extensionGroup = ts.forEach(extensions, function (group) { return ts.fileExtensionIsOneOf(file, group) ? group : undefined; });
33234
+ if (!extensionGroup) {
33235
+ return false;
33236
+ }
33237
+ for (var _i = 0, extensionGroup_1 = extensionGroup; _i < extensionGroup_1.length; _i++) {
33238
+ var ext = extensionGroup_1[_i];
33239
+ if (ts.fileExtensionIs(file, ext)) {
33240
+ return false;
33241
+ }
33242
+ var higherPriorityPath = keyMapper(ts.changeExtension(file, ext));
33199
33243
  if (literalFiles.has(higherPriorityPath) || wildcardFiles.has(higherPriorityPath)) {
33244
+ if (ext === ".d.ts" && (ts.fileExtensionIs(file, ".js") || ts.fileExtensionIs(file, ".jsx"))) {
33245
+ continue;
33246
+ }
33200
33247
  return true;
33201
33248
  }
33202
33249
  }
33203
33250
  return false;
33204
33251
  }
33205
33252
  function removeWildcardFilesWithLowerPriorityExtension(file, wildcardFiles, extensions, keyMapper) {
33206
- var extensionPriority = ts.getExtensionPriority(file, extensions);
33207
- var nextExtensionPriority = ts.getNextLowestExtensionPriority(extensionPriority, extensions);
33208
- for (var i = nextExtensionPriority; i < extensions.length; i++) {
33209
- var lowerPriorityExtension = extensions[i];
33210
- var lowerPriorityPath = keyMapper(ts.changeExtension(file, lowerPriorityExtension));
33253
+ var extensionGroup = ts.forEach(extensions, function (group) { return ts.fileExtensionIsOneOf(file, group) ? group : undefined; });
33254
+ if (!extensionGroup) {
33255
+ return;
33256
+ }
33257
+ for (var i = extensionGroup.length - 1; i >= 0; i--) {
33258
+ var ext = extensionGroup[i];
33259
+ if (ts.fileExtensionIs(file, ext)) {
33260
+ return;
33261
+ }
33262
+ var lowerPriorityPath = keyMapper(ts.changeExtension(file, ext));
33211
33263
  wildcardFiles.delete(lowerPriorityPath);
33212
33264
  }
33213
33265
  }
@@ -33443,7 +33495,7 @@ var ts;
33443
33495
  }
33444
33496
  var containingDirectory = containingFile ? ts.getDirectoryPath(containingFile) : undefined;
33445
33497
  var perFolderCache = containingDirectory ? cache && cache.getOrCreateCacheForDirectory(containingDirectory, redirectedReference) : undefined;
33446
- var result = perFolderCache && perFolderCache.get(typeReferenceDirectiveName);
33498
+ var result = perFolderCache && perFolderCache.get(typeReferenceDirectiveName, undefined);
33447
33499
  if (result) {
33448
33500
  if (traceEnabled) {
33449
33501
  trace(host, ts.Diagnostics.Resolving_type_reference_directive_0_containing_file_1, typeReferenceDirectiveName, containingFile);
@@ -33477,7 +33529,7 @@ var ts;
33477
33529
  }
33478
33530
  }
33479
33531
  var failedLookupLocations = [];
33480
- var moduleResolutionState = { compilerOptions: options, host: host, traceEnabled: traceEnabled, failedLookupLocations: failedLookupLocations, packageJsonInfoCache: cache };
33532
+ var moduleResolutionState = { compilerOptions: options, host: host, traceEnabled: traceEnabled, failedLookupLocations: failedLookupLocations, packageJsonInfoCache: cache, features: NodeResolutionFeatures.AllFeatures, conditions: ["node", "require", "types"] };
33481
33533
  var resolved = primaryLookup();
33482
33534
  var primary = true;
33483
33535
  if (!resolved) {
@@ -33497,7 +33549,7 @@ var ts;
33497
33549
  };
33498
33550
  }
33499
33551
  result = { resolvedTypeReferenceDirective: resolvedTypeReferenceDirective, failedLookupLocations: failedLookupLocations };
33500
- perFolderCache === null || perFolderCache === void 0 ? void 0 : perFolderCache.set(typeReferenceDirectiveName, result);
33552
+ perFolderCache === null || perFolderCache === void 0 ? void 0 : perFolderCache.set(typeReferenceDirectiveName, undefined, result);
33501
33553
  if (traceEnabled)
33502
33554
  traceResult(result);
33503
33555
  return result;
@@ -33689,9 +33741,54 @@ var ts;
33689
33741
  }
33690
33742
  function getOrCreateCacheForDirectory(directoryName, redirectedReference) {
33691
33743
  var path = ts.toPath(directoryName, currentDirectory, getCanonicalFileName);
33692
- return getOrCreateCache(directoryToModuleNameMap, redirectedReference, path, function () { return new ts.Map(); });
33744
+ return getOrCreateCache(directoryToModuleNameMap, redirectedReference, path, function () { return createModeAwareCache(); });
33745
+ }
33746
+ }
33747
+ function createModeAwareCache() {
33748
+ var underlying = new ts.Map();
33749
+ var memoizedReverseKeys = new ts.Map();
33750
+ var cache = {
33751
+ get: function (specifier, mode) {
33752
+ return underlying.get(getUnderlyingCacheKey(specifier, mode));
33753
+ },
33754
+ set: function (specifier, mode, value) {
33755
+ underlying.set(getUnderlyingCacheKey(specifier, mode), value);
33756
+ return cache;
33757
+ },
33758
+ delete: function (specifier, mode) {
33759
+ underlying.delete(getUnderlyingCacheKey(specifier, mode));
33760
+ return cache;
33761
+ },
33762
+ has: function (specifier, mode) {
33763
+ return underlying.has(getUnderlyingCacheKey(specifier, mode));
33764
+ },
33765
+ forEach: function (cb) {
33766
+ return underlying.forEach(function (elem, key) {
33767
+ var _a = memoizedReverseKeys.get(key), specifier = _a[0], mode = _a[1];
33768
+ return cb(elem, specifier, mode);
33769
+ });
33770
+ },
33771
+ size: function () {
33772
+ return underlying.size;
33773
+ }
33774
+ };
33775
+ return cache;
33776
+ function getUnderlyingCacheKey(specifier, mode) {
33777
+ var result = mode === undefined ? specifier : mode + "|" + specifier;
33778
+ memoizedReverseKeys.set(result, [specifier, mode]);
33779
+ return result;
33693
33780
  }
33694
33781
  }
33782
+ ts.createModeAwareCache = createModeAwareCache;
33783
+ function zipToModeAwareCache(file, keys, values) {
33784
+ ts.Debug.assert(keys.length === values.length);
33785
+ var map = createModeAwareCache();
33786
+ for (var i = 0; i < keys.length; ++i) {
33787
+ map.set(keys[i], ts.getModeForResolutionAtIndex(file, i), values[i]);
33788
+ }
33789
+ return map;
33790
+ }
33791
+ ts.zipToModeAwareCache = zipToModeAwareCache;
33695
33792
  function createModuleResolutionCache(currentDirectory, getCanonicalFileName, options, directoryToModuleNameMap, moduleNameToDirectoryMap) {
33696
33793
  var preDirectoryResolutionCache = createPerDirectoryResolutionCache(currentDirectory, getCanonicalFileName, directoryToModuleNameMap || (directoryToModuleNameMap = createCacheWithRedirects(options)));
33697
33794
  moduleNameToDirectoryMap || (moduleNameToDirectoryMap = createCacheWithRedirects(options));
@@ -33705,9 +33802,9 @@ var ts;
33705
33802
  function update(options) {
33706
33803
  updateRedirectsMap(options, directoryToModuleNameMap, moduleNameToDirectoryMap);
33707
33804
  }
33708
- function getOrCreateCacheForModuleName(nonRelativeModuleName, redirectedReference) {
33805
+ function getOrCreateCacheForModuleName(nonRelativeModuleName, mode, redirectedReference) {
33709
33806
  ts.Debug.assert(!ts.isExternalModuleNameRelative(nonRelativeModuleName));
33710
- return getOrCreateCache(moduleNameToDirectoryMap, redirectedReference, nonRelativeModuleName, createPerModuleNameCache);
33807
+ return getOrCreateCache(moduleNameToDirectoryMap, redirectedReference, mode === undefined ? nonRelativeModuleName : mode + "|" + nonRelativeModuleName, createPerModuleNameCache);
33711
33808
  }
33712
33809
  function createPerModuleNameCache() {
33713
33810
  var directoryPathMap = new ts.Map();
@@ -33767,13 +33864,15 @@ var ts;
33767
33864
  }
33768
33865
  }
33769
33866
  ts.createTypeReferenceDirectiveResolutionCache = createTypeReferenceDirectiveResolutionCache;
33770
- function resolveModuleNameFromCache(moduleName, containingFile, cache) {
33867
+ function resolveModuleNameFromCache(moduleName, containingFile, cache, mode) {
33771
33868
  var containingDirectory = ts.getDirectoryPath(containingFile);
33772
33869
  var perFolderCache = cache && cache.getOrCreateCacheForDirectory(containingDirectory);
33773
- return perFolderCache && perFolderCache.get(moduleName);
33870
+ if (!perFolderCache)
33871
+ return undefined;
33872
+ return perFolderCache.get(moduleName, mode);
33774
33873
  }
33775
33874
  ts.resolveModuleNameFromCache = resolveModuleNameFromCache;
33776
- function resolveModuleName(moduleName, containingFile, compilerOptions, host, cache, redirectedReference) {
33875
+ function resolveModuleName(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode) {
33777
33876
  var traceEnabled = isTraceEnabled(compilerOptions, host);
33778
33877
  if (redirectedReference) {
33779
33878
  compilerOptions = redirectedReference.commandLine.options;
@@ -33786,7 +33885,7 @@ var ts;
33786
33885
  }
33787
33886
  var containingDirectory = ts.getDirectoryPath(containingFile);
33788
33887
  var perFolderCache = cache && cache.getOrCreateCacheForDirectory(containingDirectory, redirectedReference);
33789
- var result = perFolderCache && perFolderCache.get(moduleName);
33888
+ var result = perFolderCache && perFolderCache.get(moduleName, resolutionMode);
33790
33889
  if (result) {
33791
33890
  if (traceEnabled) {
33792
33891
  trace(host, ts.Diagnostics.Resolution_for_module_0_was_found_in_cache_from_location_1, moduleName, containingDirectory);
@@ -33795,7 +33894,20 @@ var ts;
33795
33894
  else {
33796
33895
  var moduleResolution = compilerOptions.moduleResolution;
33797
33896
  if (moduleResolution === undefined) {
33798
- moduleResolution = ts.getEmitModuleKind(compilerOptions) === ts.ModuleKind.CommonJS ? ts.ModuleResolutionKind.NodeJs : ts.ModuleResolutionKind.Classic;
33897
+ switch (ts.getEmitModuleKind(compilerOptions)) {
33898
+ case ts.ModuleKind.CommonJS:
33899
+ moduleResolution = ts.ModuleResolutionKind.NodeJs;
33900
+ break;
33901
+ case ts.ModuleKind.Node12:
33902
+ moduleResolution = ts.ModuleResolutionKind.Node12;
33903
+ break;
33904
+ case ts.ModuleKind.NodeNext:
33905
+ moduleResolution = ts.ModuleResolutionKind.NodeNext;
33906
+ break;
33907
+ default:
33908
+ moduleResolution = ts.ModuleResolutionKind.Classic;
33909
+ break;
33910
+ }
33799
33911
  if (traceEnabled) {
33800
33912
  trace(host, ts.Diagnostics.Module_resolution_kind_is_not_specified_using_0, ts.ModuleResolutionKind[moduleResolution]);
33801
33913
  }
@@ -33807,6 +33919,12 @@ var ts;
33807
33919
  }
33808
33920
  ts.perfLogger.logStartResolveModule(moduleName);
33809
33921
  switch (moduleResolution) {
33922
+ case ts.ModuleResolutionKind.Node12:
33923
+ result = node12ModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode);
33924
+ break;
33925
+ case ts.ModuleResolutionKind.NodeNext:
33926
+ result = nodeNextModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode);
33927
+ break;
33810
33928
  case ts.ModuleResolutionKind.NodeJs:
33811
33929
  result = nodeModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference);
33812
33930
  break;
@@ -33820,9 +33938,9 @@ var ts;
33820
33938
  ts.perfLogger.logInfoEvent("Module \"" + moduleName + "\" resolved to \"" + result.resolvedModule.resolvedFileName + "\"");
33821
33939
  ts.perfLogger.logStopResolveModule((result && result.resolvedModule) ? "" + result.resolvedModule.resolvedFileName : "null");
33822
33940
  if (perFolderCache) {
33823
- perFolderCache.set(moduleName, result);
33941
+ perFolderCache.set(moduleName, resolutionMode, result);
33824
33942
  if (!ts.isExternalModuleNameRelative(moduleName)) {
33825
- cache.getOrCreateCacheForModuleName(moduleName, redirectedReference).set(containingDirectory, result);
33943
+ cache.getOrCreateCacheForModuleName(moduleName, resolutionMode, redirectedReference).set(containingDirectory, result);
33826
33944
  }
33827
33945
  }
33828
33946
  }
@@ -33956,22 +34074,43 @@ var ts;
33956
34074
  return tryResolveJSModuleWorker(moduleName, initialDir, host).resolvedModule;
33957
34075
  }
33958
34076
  ts.tryResolveJSModule = tryResolveJSModule;
34077
+ var NodeResolutionFeatures;
34078
+ (function (NodeResolutionFeatures) {
34079
+ NodeResolutionFeatures[NodeResolutionFeatures["None"] = 0] = "None";
34080
+ NodeResolutionFeatures[NodeResolutionFeatures["Imports"] = 2] = "Imports";
34081
+ NodeResolutionFeatures[NodeResolutionFeatures["SelfName"] = 4] = "SelfName";
34082
+ NodeResolutionFeatures[NodeResolutionFeatures["Exports"] = 8] = "Exports";
34083
+ NodeResolutionFeatures[NodeResolutionFeatures["ExportsPatternTrailers"] = 16] = "ExportsPatternTrailers";
34084
+ NodeResolutionFeatures[NodeResolutionFeatures["AllFeatures"] = 30] = "AllFeatures";
34085
+ NodeResolutionFeatures[NodeResolutionFeatures["EsmMode"] = 32] = "EsmMode";
34086
+ })(NodeResolutionFeatures || (NodeResolutionFeatures = {}));
34087
+ function node12ModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode) {
34088
+ return nodeNextModuleNameResolverWorker(NodeResolutionFeatures.Imports | NodeResolutionFeatures.SelfName | NodeResolutionFeatures.Exports, moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode);
34089
+ }
34090
+ function nodeNextModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode) {
34091
+ return nodeNextModuleNameResolverWorker(NodeResolutionFeatures.AllFeatures, moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode);
34092
+ }
34093
+ function nodeNextModuleNameResolverWorker(features, moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode) {
34094
+ var containingDirectory = ts.getDirectoryPath(containingFile);
34095
+ var esmMode = resolutionMode === ts.ModuleKind.ESNext ? NodeResolutionFeatures.EsmMode : 0;
34096
+ return nodeModuleNameResolverWorker(features | esmMode, moduleName, containingDirectory, compilerOptions, host, cache, compilerOptions.resolveJsonModule ? tsPlusJsonExtensions : tsExtensions, redirectedReference);
34097
+ }
33959
34098
  var jsOnlyExtensions = [Extensions.JavaScript];
33960
34099
  var tsExtensions = [Extensions.TypeScript, Extensions.JavaScript];
33961
34100
  var tsPlusJsonExtensions = __spreadArray(__spreadArray([], tsExtensions, true), [Extensions.Json], false);
33962
34101
  var tsconfigExtensions = [Extensions.TSConfig];
33963
34102
  function tryResolveJSModuleWorker(moduleName, initialDir, host) {
33964
- return nodeModuleNameResolverWorker(moduleName, initialDir, { moduleResolution: ts.ModuleResolutionKind.NodeJs, allowJs: true }, host, undefined, jsOnlyExtensions, undefined);
34103
+ return nodeModuleNameResolverWorker(NodeResolutionFeatures.None, moduleName, initialDir, { moduleResolution: ts.ModuleResolutionKind.NodeJs, allowJs: true }, host, undefined, jsOnlyExtensions, undefined);
33965
34104
  }
33966
34105
  function nodeModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, lookupConfig) {
33967
- return nodeModuleNameResolverWorker(moduleName, ts.getDirectoryPath(containingFile), compilerOptions, host, cache, lookupConfig ? tsconfigExtensions : (compilerOptions.resolveJsonModule ? tsPlusJsonExtensions : tsExtensions), redirectedReference);
34106
+ return nodeModuleNameResolverWorker(NodeResolutionFeatures.None, moduleName, ts.getDirectoryPath(containingFile), compilerOptions, host, cache, lookupConfig ? tsconfigExtensions : (compilerOptions.resolveJsonModule ? tsPlusJsonExtensions : tsExtensions), redirectedReference);
33968
34107
  }
33969
34108
  ts.nodeModuleNameResolver = nodeModuleNameResolver;
33970
- function nodeModuleNameResolverWorker(moduleName, containingDirectory, compilerOptions, host, cache, extensions, redirectedReference) {
34109
+ function nodeModuleNameResolverWorker(features, moduleName, containingDirectory, compilerOptions, host, cache, extensions, redirectedReference) {
33971
34110
  var _a, _b;
33972
34111
  var traceEnabled = isTraceEnabled(compilerOptions, host);
33973
34112
  var failedLookupLocations = [];
33974
- var state = { compilerOptions: compilerOptions, host: host, traceEnabled: traceEnabled, failedLookupLocations: failedLookupLocations, packageJsonInfoCache: cache };
34113
+ var state = { compilerOptions: compilerOptions, host: host, traceEnabled: traceEnabled, failedLookupLocations: failedLookupLocations, packageJsonInfoCache: cache, features: features, conditions: features & NodeResolutionFeatures.EsmMode ? ["node", "import", "types"] : ["node", "require", "types"] };
33975
34114
  var result = ts.forEach(extensions, function (ext) { return tryResolve(ext); });
33976
34115
  return createResolvedModuleWithFailedLookupLocations((_a = result === null || result === void 0 ? void 0 : result.value) === null || _a === void 0 ? void 0 : _a.resolved, (_b = result === null || result === void 0 ? void 0 : result.value) === null || _b === void 0 ? void 0 : _b.isExternalLibraryImport, failedLookupLocations, state.resultFromCache);
33977
34116
  function tryResolve(extensions) {
@@ -33981,10 +34120,19 @@ var ts;
33981
34120
  return toSearchResult({ resolved: resolved, isExternalLibraryImport: pathContainsNodeModules(resolved.path) });
33982
34121
  }
33983
34122
  if (!ts.isExternalModuleNameRelative(moduleName)) {
33984
- if (traceEnabled) {
33985
- trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);
34123
+ var resolved_1;
34124
+ if (features & NodeResolutionFeatures.Imports && ts.startsWith(moduleName, "#")) {
34125
+ resolved_1 = loadModuleFromImports(extensions, moduleName, containingDirectory, state, cache, redirectedReference);
34126
+ }
34127
+ if (!resolved_1 && features & NodeResolutionFeatures.SelfName) {
34128
+ resolved_1 = loadModuleFromSelfNameReference(extensions, moduleName, containingDirectory, state, cache, redirectedReference);
34129
+ }
34130
+ if (!resolved_1) {
34131
+ if (traceEnabled) {
34132
+ trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);
34133
+ }
34134
+ resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);
33986
34135
  }
33987
- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);
33988
34136
  if (!resolved_1)
33989
34137
  return undefined;
33990
34138
  var resolvedValue = resolved_1.value;
@@ -34074,22 +34222,28 @@ var ts;
34074
34222
  function loadModuleFromFile(extensions, candidate, onlyRecordFailures, state) {
34075
34223
  if (extensions === Extensions.Json || extensions === Extensions.TSConfig) {
34076
34224
  var extensionLess = ts.tryRemoveExtension(candidate, ".json");
34077
- return (extensionLess === undefined && extensions === Extensions.Json) ? undefined : tryAddingExtensions(extensionLess || candidate, extensions, onlyRecordFailures, state);
34225
+ var extension = extensionLess ? candidate.substring(extensionLess.length) : "";
34226
+ return (extensionLess === undefined && extensions === Extensions.Json) ? undefined : tryAddingExtensions(extensionLess || candidate, extensions, extension, onlyRecordFailures, state);
34078
34227
  }
34079
- var resolvedByAddingExtension = tryAddingExtensions(candidate, extensions, onlyRecordFailures, state);
34080
- if (resolvedByAddingExtension) {
34081
- return resolvedByAddingExtension;
34228
+ if (!(state.features & NodeResolutionFeatures.EsmMode)) {
34229
+ var resolvedByAddingExtension = tryAddingExtensions(candidate, extensions, "", onlyRecordFailures, state);
34230
+ if (resolvedByAddingExtension) {
34231
+ return resolvedByAddingExtension;
34232
+ }
34082
34233
  }
34083
- if (ts.hasJSFileExtension(candidate)) {
34234
+ return loadModuleFromFileNoImplicitExtensions(extensions, candidate, onlyRecordFailures, state);
34235
+ }
34236
+ function loadModuleFromFileNoImplicitExtensions(extensions, candidate, onlyRecordFailures, state) {
34237
+ if (ts.hasJSFileExtension(candidate) || (ts.fileExtensionIs(candidate, ".json") && state.compilerOptions.resolveJsonModule)) {
34084
34238
  var extensionless = ts.removeFileExtension(candidate);
34239
+ var extension = candidate.substring(extensionless.length);
34085
34240
  if (state.traceEnabled) {
34086
- var extension = candidate.substring(extensionless.length);
34087
34241
  trace(state.host, ts.Diagnostics.File_name_0_has_a_1_extension_stripping_it, candidate, extension);
34088
34242
  }
34089
- return tryAddingExtensions(extensionless, extensions, onlyRecordFailures, state);
34243
+ return tryAddingExtensions(extensionless, extensions, extension, onlyRecordFailures, state);
34090
34244
  }
34091
34245
  }
34092
- function tryAddingExtensions(candidate, extensions, onlyRecordFailures, state) {
34246
+ function tryAddingExtensions(candidate, extensions, originalExtension, onlyRecordFailures, state) {
34093
34247
  if (!onlyRecordFailures) {
34094
34248
  var directory = ts.getDirectoryPath(candidate);
34095
34249
  if (directory) {
@@ -34098,11 +34252,51 @@ var ts;
34098
34252
  }
34099
34253
  switch (extensions) {
34100
34254
  case Extensions.DtsOnly:
34101
- return tryExtension(".d.ts");
34255
+ switch (originalExtension) {
34256
+ case ".mjs":
34257
+ case ".mts":
34258
+ case ".d.mts":
34259
+ return tryExtension(".d.mts");
34260
+ case ".cjs":
34261
+ case ".cts":
34262
+ case ".d.cts":
34263
+ return tryExtension(".d.cts");
34264
+ case ".json":
34265
+ candidate += ".json";
34266
+ return tryExtension(".d.ts");
34267
+ default: return tryExtension(".d.ts");
34268
+ }
34102
34269
  case Extensions.TypeScript:
34103
- return tryExtension(".ts") || tryExtension(".tsx") || tryExtension(".d.ts");
34270
+ switch (originalExtension) {
34271
+ case ".mjs":
34272
+ case ".mts":
34273
+ case ".d.mts":
34274
+ return tryExtension(".mts") || tryExtension(".d.mts");
34275
+ case ".cjs":
34276
+ case ".cts":
34277
+ case ".d.cts":
34278
+ return tryExtension(".cts") || tryExtension(".d.cts");
34279
+ case ".json":
34280
+ candidate += ".json";
34281
+ return tryExtension(".d.ts");
34282
+ default:
34283
+ return tryExtension(".ts") || tryExtension(".tsx") || tryExtension(".d.ts");
34284
+ }
34104
34285
  case Extensions.JavaScript:
34105
- return tryExtension(".js") || tryExtension(".jsx");
34286
+ switch (originalExtension) {
34287
+ case ".mjs":
34288
+ case ".mts":
34289
+ case ".d.mts":
34290
+ return tryExtension(".mjs");
34291
+ case ".cjs":
34292
+ case ".cts":
34293
+ case ".d.cts":
34294
+ return tryExtension(".cjs");
34295
+ case ".json":
34296
+ return tryExtension(".json");
34297
+ default:
34298
+ return tryExtension(".js") || tryExtension(".jsx");
34299
+ }
34106
34300
  case Extensions.TSConfig:
34107
34301
  case Extensions.Json:
34108
34302
  return tryExtension(".json");
@@ -34136,6 +34330,28 @@ var ts;
34136
34330
  var versionPaths = packageInfo && packageInfo.versionPaths;
34137
34331
  return withPackageId(packageInfo, loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageJsonContent, versionPaths));
34138
34332
  }
34333
+ function getPackageScopeForPath(fileName, packageJsonInfoCache, host, options) {
34334
+ var state = {
34335
+ host: host,
34336
+ compilerOptions: options,
34337
+ traceEnabled: isTraceEnabled(options, host),
34338
+ failedLookupLocations: [],
34339
+ packageJsonInfoCache: packageJsonInfoCache,
34340
+ features: 0,
34341
+ conditions: [],
34342
+ };
34343
+ var parts = ts.getPathComponents(fileName);
34344
+ parts.pop();
34345
+ while (parts.length > 0) {
34346
+ var pkg = getPackageJsonInfo(ts.getPathFromPathComponents(parts), false, state);
34347
+ if (pkg) {
34348
+ return pkg;
34349
+ }
34350
+ parts.pop();
34351
+ }
34352
+ return undefined;
34353
+ }
34354
+ ts.getPackageScopeForPath = getPackageScopeForPath;
34139
34355
  function getPackageJsonInfo(packageDirectory, onlyRecordFailures, state) {
34140
34356
  var _a, _b, _c;
34141
34357
  var host = state.host, traceEnabled = state.traceEnabled;
@@ -34177,6 +34393,7 @@ var ts;
34177
34393
  state.failedLookupLocations.push(packageJsonPath);
34178
34394
  }
34179
34395
  }
34396
+ ts.getPackageJsonInfo = getPackageJsonInfo;
34180
34397
  function loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, jsonContent, versionPaths) {
34181
34398
  var packageFile;
34182
34399
  if (jsonContent) {
@@ -34228,7 +34445,9 @@ var ts;
34228
34445
  var packageFileResult = packageFile && removeIgnoredPackageId(loader(extensions, packageFile, onlyRecordFailuresForPackageFile, state));
34229
34446
  if (packageFileResult)
34230
34447
  return packageFileResult;
34231
- return loadModuleFromFile(extensions, indexPath, onlyRecordFailuresForIndex, state);
34448
+ if (!(state.features & NodeResolutionFeatures.EsmMode)) {
34449
+ return loadModuleFromFile(extensions, indexPath, onlyRecordFailuresForIndex, state);
34450
+ }
34232
34451
  }
34233
34452
  function resolvedIfExtensionMatches(extensions, path) {
34234
34453
  var ext = ts.tryGetExtensionFromPath(path);
@@ -34255,6 +34474,211 @@ var ts;
34255
34474
  return idx === -1 ? { packageName: moduleName, rest: "" } : { packageName: moduleName.slice(0, idx), rest: moduleName.slice(idx + 1) };
34256
34475
  }
34257
34476
  ts.parsePackageName = parsePackageName;
34477
+ function allKeysStartWithDot(obj) {
34478
+ return ts.every(ts.getOwnKeys(obj), function (k) { return ts.startsWith(k, "."); });
34479
+ }
34480
+ function noKeyStartsWithDot(obj) {
34481
+ return !ts.some(ts.getOwnKeys(obj), function (k) { return ts.startsWith(k, "."); });
34482
+ }
34483
+ function loadModuleFromSelfNameReference(extensions, moduleName, directory, state, cache, redirectedReference) {
34484
+ var _a, _b;
34485
+ var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames;
34486
+ var directoryPath = ts.toPath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a), ts.createGetCanonicalFileName(useCaseSensitiveFileNames === undefined ? true : useCaseSensitiveFileNames));
34487
+ var scope = getPackageScopeForPath(directoryPath, state.packageJsonInfoCache, state.host, state.compilerOptions);
34488
+ if (!scope || !scope.packageJsonContent.exports) {
34489
+ return undefined;
34490
+ }
34491
+ var parts = ts.getPathComponents(moduleName);
34492
+ if (scope.packageJsonContent.name !== parts[1]) {
34493
+ return undefined;
34494
+ }
34495
+ var trailingParts = parts.slice(2);
34496
+ return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : "." + ts.directorySeparator + trailingParts.join(ts.directorySeparator), state, cache, redirectedReference);
34497
+ }
34498
+ function loadModuleFromExports(scope, extensions, subpath, state, cache, redirectedReference) {
34499
+ if (!scope.packageJsonContent.exports) {
34500
+ return undefined;
34501
+ }
34502
+ if (subpath === ".") {
34503
+ var mainExport = void 0;
34504
+ if (typeof scope.packageJsonContent.exports === "string" || Array.isArray(scope.packageJsonContent.exports) || (typeof scope.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.packageJsonContent.exports))) {
34505
+ mainExport = scope.packageJsonContent.exports;
34506
+ }
34507
+ else if (ts.hasProperty(scope.packageJsonContent.exports, ".")) {
34508
+ mainExport = scope.packageJsonContent.exports["."];
34509
+ }
34510
+ if (mainExport) {
34511
+ var loadModuleFromTargetImportOrExport = getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, subpath, scope, false);
34512
+ return loadModuleFromTargetImportOrExport(mainExport, "", false);
34513
+ }
34514
+ }
34515
+ else if (allKeysStartWithDot(scope.packageJsonContent.exports)) {
34516
+ if (typeof scope.packageJsonContent.exports !== "object") {
34517
+ if (state.traceEnabled) {
34518
+ trace(state.host, ts.Diagnostics.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1, subpath, scope.packageDirectory);
34519
+ }
34520
+ return toSearchResult(undefined);
34521
+ }
34522
+ var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.packageJsonContent.exports, scope, false);
34523
+ if (result) {
34524
+ return result;
34525
+ }
34526
+ }
34527
+ if (state.traceEnabled) {
34528
+ trace(state.host, ts.Diagnostics.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1, subpath, scope.packageDirectory);
34529
+ }
34530
+ return toSearchResult(undefined);
34531
+ }
34532
+ function loadModuleFromImports(extensions, moduleName, directory, state, cache, redirectedReference) {
34533
+ var _a, _b;
34534
+ if (moduleName === "#" || ts.startsWith(moduleName, "#/")) {
34535
+ if (state.traceEnabled) {
34536
+ trace(state.host, ts.Diagnostics.Invalid_import_specifier_0_has_no_possible_resolutions, moduleName);
34537
+ }
34538
+ return toSearchResult(undefined);
34539
+ }
34540
+ var useCaseSensitiveFileNames = typeof state.host.useCaseSensitiveFileNames === "function" ? state.host.useCaseSensitiveFileNames() : state.host.useCaseSensitiveFileNames;
34541
+ var directoryPath = ts.toPath(ts.combinePaths(directory, "dummy"), (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a), ts.createGetCanonicalFileName(useCaseSensitiveFileNames === undefined ? true : useCaseSensitiveFileNames));
34542
+ var scope = getPackageScopeForPath(directoryPath, state.packageJsonInfoCache, state.host, state.compilerOptions);
34543
+ if (!scope) {
34544
+ if (state.traceEnabled) {
34545
+ trace(state.host, ts.Diagnostics.Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve, directoryPath);
34546
+ }
34547
+ return toSearchResult(undefined);
34548
+ }
34549
+ if (!scope.packageJsonContent.imports) {
34550
+ if (state.traceEnabled) {
34551
+ trace(state.host, ts.Diagnostics.package_json_scope_0_has_no_imports_defined, scope.packageDirectory);
34552
+ }
34553
+ return toSearchResult(undefined);
34554
+ }
34555
+ var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, scope.packageJsonContent.imports, scope, true);
34556
+ if (result) {
34557
+ return result;
34558
+ }
34559
+ if (state.traceEnabled) {
34560
+ trace(state.host, ts.Diagnostics.Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1, moduleName, scope.packageDirectory);
34561
+ }
34562
+ return toSearchResult(undefined);
34563
+ }
34564
+ function loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, moduleName, lookupTable, scope, isImports) {
34565
+ var loadModuleFromTargetImportOrExport = getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, moduleName, scope, isImports);
34566
+ if (!ts.endsWith(moduleName, ts.directorySeparator) && moduleName.indexOf("*") === -1 && ts.hasProperty(lookupTable, moduleName)) {
34567
+ var target = lookupTable[moduleName];
34568
+ return loadModuleFromTargetImportOrExport(target, "", false);
34569
+ }
34570
+ var expandingKeys = ts.sort(ts.filter(ts.getOwnKeys(lookupTable), function (k) { return k.indexOf("*") !== -1 || ts.endsWith(k, "/"); }), function (a, b) { return a.length - b.length; });
34571
+ for (var _i = 0, expandingKeys_1 = expandingKeys; _i < expandingKeys_1.length; _i++) {
34572
+ var potentialTarget = expandingKeys_1[_i];
34573
+ if (state.features & NodeResolutionFeatures.ExportsPatternTrailers && matchesPatternWithTrailer(potentialTarget, moduleName)) {
34574
+ var target = lookupTable[potentialTarget];
34575
+ var starPos = potentialTarget.indexOf("*");
34576
+ var subpath = moduleName.substring(potentialTarget.substring(0, starPos).length, moduleName.length - (potentialTarget.length - 1 - starPos));
34577
+ return loadModuleFromTargetImportOrExport(target, subpath, true);
34578
+ }
34579
+ else if (ts.endsWith(potentialTarget, "*") && ts.startsWith(moduleName, potentialTarget.substring(0, potentialTarget.length - 1))) {
34580
+ var target = lookupTable[potentialTarget];
34581
+ var subpath = moduleName.substring(potentialTarget.length - 1);
34582
+ return loadModuleFromTargetImportOrExport(target, subpath, true);
34583
+ }
34584
+ else if (ts.startsWith(moduleName, potentialTarget)) {
34585
+ var target = lookupTable[potentialTarget];
34586
+ var subpath = moduleName.substring(potentialTarget.length);
34587
+ return loadModuleFromTargetImportOrExport(target, subpath, false);
34588
+ }
34589
+ }
34590
+ function matchesPatternWithTrailer(target, name) {
34591
+ if (ts.endsWith(target, "*"))
34592
+ return false;
34593
+ var starPos = target.indexOf("*");
34594
+ if (starPos === -1)
34595
+ return false;
34596
+ return ts.startsWith(name, target.substring(0, starPos)) && ts.endsWith(name, target.substring(starPos + 1));
34597
+ }
34598
+ }
34599
+ function getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, moduleName, scope, isImports) {
34600
+ return loadModuleFromTargetImportOrExport;
34601
+ function loadModuleFromTargetImportOrExport(target, subpath, pattern) {
34602
+ var _a, _b;
34603
+ if (typeof target === "string") {
34604
+ if (!pattern && subpath.length > 0 && !ts.endsWith(target, "/")) {
34605
+ if (state.traceEnabled) {
34606
+ trace(state.host, ts.Diagnostics.package_json_scope_0_has_invalid_type_for_target_of_specifier_1, scope.packageDirectory, moduleName);
34607
+ }
34608
+ return toSearchResult(undefined);
34609
+ }
34610
+ if (!ts.startsWith(target, "./")) {
34611
+ if (isImports && !ts.startsWith(target, "../") && !ts.startsWith(target, "/") && !ts.isRootedDiskPath(target)) {
34612
+ var combinedLookup = pattern ? target.replace(/\*/g, subpath) : target + subpath;
34613
+ var result = nodeModuleNameResolverWorker(state.features, combinedLookup, scope.packageDirectory + "/", state.compilerOptions, state.host, cache, [extensions], redirectedReference);
34614
+ return toSearchResult(result.resolvedModule ? { path: result.resolvedModule.resolvedFileName, extension: result.resolvedModule.extension, packageId: result.resolvedModule.packageId, originalPath: result.resolvedModule.originalPath } : undefined);
34615
+ }
34616
+ if (state.traceEnabled) {
34617
+ trace(state.host, ts.Diagnostics.package_json_scope_0_has_invalid_type_for_target_of_specifier_1, scope.packageDirectory, moduleName);
34618
+ }
34619
+ return toSearchResult(undefined);
34620
+ }
34621
+ var parts = ts.pathIsRelative(target) ? ts.getPathComponents(target).slice(1) : ts.getPathComponents(target);
34622
+ var partsAfterFirst = parts.slice(1);
34623
+ if (partsAfterFirst.indexOf("..") >= 0 || partsAfterFirst.indexOf(".") >= 0 || partsAfterFirst.indexOf("node_modules") >= 0) {
34624
+ if (state.traceEnabled) {
34625
+ trace(state.host, ts.Diagnostics.package_json_scope_0_has_invalid_type_for_target_of_specifier_1, scope.packageDirectory, moduleName);
34626
+ }
34627
+ return toSearchResult(undefined);
34628
+ }
34629
+ var resolvedTarget = ts.combinePaths(scope.packageDirectory, target);
34630
+ var subpathParts = ts.getPathComponents(subpath);
34631
+ if (subpathParts.indexOf("..") >= 0 || subpathParts.indexOf(".") >= 0 || subpathParts.indexOf("node_modules") >= 0) {
34632
+ if (state.traceEnabled) {
34633
+ trace(state.host, ts.Diagnostics.package_json_scope_0_has_invalid_type_for_target_of_specifier_1, scope.packageDirectory, moduleName);
34634
+ }
34635
+ return toSearchResult(undefined);
34636
+ }
34637
+ var finalPath = ts.getNormalizedAbsolutePath(pattern ? resolvedTarget.replace(/\*/g, subpath) : resolvedTarget + subpath, (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a));
34638
+ return toSearchResult(withPackageId(scope, loadModuleFromFileNoImplicitExtensions(extensions, finalPath, false, state)));
34639
+ }
34640
+ else if (typeof target === "object" && target !== null) {
34641
+ if (!Array.isArray(target)) {
34642
+ for (var _i = 0, _c = ts.getOwnKeys(target); _i < _c.length; _i++) {
34643
+ var key = _c[_i];
34644
+ if (key === "default" || state.conditions.indexOf(key) >= 0) {
34645
+ var subTarget = target[key];
34646
+ var result = loadModuleFromTargetImportOrExport(subTarget, subpath, pattern);
34647
+ if (result) {
34648
+ return result;
34649
+ }
34650
+ }
34651
+ }
34652
+ return undefined;
34653
+ }
34654
+ else {
34655
+ if (!ts.length(target)) {
34656
+ if (state.traceEnabled) {
34657
+ trace(state.host, ts.Diagnostics.package_json_scope_0_has_invalid_type_for_target_of_specifier_1, scope.packageDirectory, moduleName);
34658
+ }
34659
+ return toSearchResult(undefined);
34660
+ }
34661
+ for (var _d = 0, target_1 = target; _d < target_1.length; _d++) {
34662
+ var elem = target_1[_d];
34663
+ var result = loadModuleFromTargetImportOrExport(elem, subpath, pattern);
34664
+ if (result) {
34665
+ return result;
34666
+ }
34667
+ }
34668
+ }
34669
+ }
34670
+ else if (target === null) {
34671
+ if (state.traceEnabled) {
34672
+ trace(state.host, ts.Diagnostics.package_json_scope_0_explicitly_maps_specifier_1_to_null, scope.packageDirectory, moduleName);
34673
+ }
34674
+ return toSearchResult(undefined);
34675
+ }
34676
+ if (state.traceEnabled) {
34677
+ trace(state.host, ts.Diagnostics.package_json_scope_0_has_invalid_type_for_target_of_specifier_1, scope.packageDirectory, moduleName);
34678
+ }
34679
+ return toSearchResult(undefined);
34680
+ }
34681
+ }
34258
34682
  function loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, directory, state, cache, redirectedReference) {
34259
34683
  return loadModuleFromNearestNodeModulesDirectoryWorker(extensions, moduleName, directory, state, false, cache, redirectedReference);
34260
34684
  }
@@ -34262,24 +34686,24 @@ var ts;
34262
34686
  return loadModuleFromNearestNodeModulesDirectoryWorker(Extensions.DtsOnly, moduleName, directory, state, true, undefined, undefined);
34263
34687
  }
34264
34688
  function loadModuleFromNearestNodeModulesDirectoryWorker(extensions, moduleName, directory, state, typesScopeOnly, cache, redirectedReference) {
34265
- var perModuleNameCache = cache && cache.getOrCreateCacheForModuleName(moduleName, redirectedReference);
34689
+ var perModuleNameCache = cache && cache.getOrCreateCacheForModuleName(moduleName, state.features === 0 ? undefined : state.features & NodeResolutionFeatures.EsmMode ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS, redirectedReference);
34266
34690
  return ts.forEachAncestorDirectory(ts.normalizeSlashes(directory), function (ancestorDirectory) {
34267
34691
  if (ts.getBaseFileName(ancestorDirectory) !== "node_modules") {
34268
34692
  var resolutionFromCache = tryFindNonRelativeModuleNameInCache(perModuleNameCache, moduleName, ancestorDirectory, state);
34269
34693
  if (resolutionFromCache) {
34270
34694
  return resolutionFromCache;
34271
34695
  }
34272
- return toSearchResult(loadModuleFromImmediateNodeModulesDirectory(extensions, moduleName, ancestorDirectory, state, typesScopeOnly));
34696
+ return toSearchResult(loadModuleFromImmediateNodeModulesDirectory(extensions, moduleName, ancestorDirectory, state, typesScopeOnly, cache, redirectedReference));
34273
34697
  }
34274
34698
  });
34275
34699
  }
34276
- function loadModuleFromImmediateNodeModulesDirectory(extensions, moduleName, directory, state, typesScopeOnly) {
34700
+ function loadModuleFromImmediateNodeModulesDirectory(extensions, moduleName, directory, state, typesScopeOnly, cache, redirectedReference) {
34277
34701
  var nodeModulesFolder = ts.combinePaths(directory, "node_modules");
34278
34702
  var nodeModulesFolderExists = ts.directoryProbablyExists(nodeModulesFolder, state.host);
34279
34703
  if (!nodeModulesFolderExists && state.traceEnabled) {
34280
34704
  trace(state.host, ts.Diagnostics.Directory_0_does_not_exist_skipping_all_lookups_in_it, nodeModulesFolder);
34281
34705
  }
34282
- var packageResult = typesScopeOnly ? undefined : loadModuleFromSpecificNodeModulesDirectory(extensions, moduleName, nodeModulesFolder, nodeModulesFolderExists, state);
34706
+ var packageResult = typesScopeOnly ? undefined : loadModuleFromSpecificNodeModulesDirectory(extensions, moduleName, nodeModulesFolder, nodeModulesFolderExists, state, cache, redirectedReference);
34283
34707
  if (packageResult) {
34284
34708
  return packageResult;
34285
34709
  }
@@ -34292,26 +34716,32 @@ var ts;
34292
34716
  }
34293
34717
  nodeModulesAtTypesExists = false;
34294
34718
  }
34295
- return loadModuleFromSpecificNodeModulesDirectory(Extensions.DtsOnly, mangleScopedPackageNameWithTrace(moduleName, state), nodeModulesAtTypes_1, nodeModulesAtTypesExists, state);
34719
+ return loadModuleFromSpecificNodeModulesDirectory(Extensions.DtsOnly, mangleScopedPackageNameWithTrace(moduleName, state), nodeModulesAtTypes_1, nodeModulesAtTypesExists, state, cache, redirectedReference);
34296
34720
  }
34297
34721
  }
34298
- function loadModuleFromSpecificNodeModulesDirectory(extensions, moduleName, nodeModulesDirectory, nodeModulesDirectoryExists, state) {
34722
+ function loadModuleFromSpecificNodeModulesDirectory(extensions, moduleName, nodeModulesDirectory, nodeModulesDirectoryExists, state, cache, redirectedReference) {
34299
34723
  var candidate = ts.normalizePath(ts.combinePaths(nodeModulesDirectory, moduleName));
34300
34724
  var packageInfo = getPackageJsonInfo(candidate, !nodeModulesDirectoryExists, state);
34301
- if (packageInfo) {
34302
- var fromFile = loadModuleFromFile(extensions, candidate, !nodeModulesDirectoryExists, state);
34303
- if (fromFile) {
34304
- return noPackageId(fromFile);
34725
+ if (!(state.features & NodeResolutionFeatures.Exports)) {
34726
+ if (packageInfo) {
34727
+ var fromFile = loadModuleFromFile(extensions, candidate, !nodeModulesDirectoryExists, state);
34728
+ if (fromFile) {
34729
+ return noPackageId(fromFile);
34730
+ }
34731
+ var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.packageJsonContent, packageInfo.versionPaths);
34732
+ return withPackageId(packageInfo, fromDirectory);
34305
34733
  }
34306
- var fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageInfo.packageJsonContent, packageInfo.versionPaths);
34307
- return withPackageId(packageInfo, fromDirectory);
34308
34734
  }
34735
+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;
34309
34736
  var loader = function (extensions, candidate, onlyRecordFailures, state) {
34737
+ var _a;
34738
+ if (packageInfo && packageInfo.packageJsonContent.exports && state.features & NodeResolutionFeatures.Exports) {
34739
+ return (_a = loadModuleFromExports(packageInfo, extensions, ts.combinePaths(".", rest), state, cache, redirectedReference)) === null || _a === void 0 ? void 0 : _a.value;
34740
+ }
34310
34741
  var pathAndExtension = loadModuleFromFile(extensions, candidate, onlyRecordFailures, state) ||
34311
34742
  loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.packageJsonContent, packageInfo && packageInfo.versionPaths);
34312
34743
  return withPackageId(packageInfo, pathAndExtension);
34313
34744
  };
34314
- var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;
34315
34745
  if (rest !== "") {
34316
34746
  var packageDirectory = ts.combinePaths(nodeModulesDirectory, packageName);
34317
34747
  packageInfo = getPackageJsonInfo(packageDirectory, !nodeModulesDirectoryExists, state);
@@ -34404,7 +34834,7 @@ var ts;
34404
34834
  function classicNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference) {
34405
34835
  var traceEnabled = isTraceEnabled(compilerOptions, host);
34406
34836
  var failedLookupLocations = [];
34407
- var state = { compilerOptions: compilerOptions, host: host, traceEnabled: traceEnabled, failedLookupLocations: failedLookupLocations, packageJsonInfoCache: cache };
34837
+ var state = { compilerOptions: compilerOptions, host: host, traceEnabled: traceEnabled, failedLookupLocations: failedLookupLocations, packageJsonInfoCache: cache, features: NodeResolutionFeatures.None, conditions: [] };
34408
34838
  var containingDirectory = ts.getDirectoryPath(containingFile);
34409
34839
  var resolved = tryResolve(Extensions.TypeScript) || tryResolve(Extensions.JavaScript);
34410
34840
  return createResolvedModuleWithFailedLookupLocations(resolved && resolved.value, false, failedLookupLocations, state.resultFromCache);
@@ -34414,7 +34844,7 @@ var ts;
34414
34844
  return { value: resolvedUsingSettings };
34415
34845
  }
34416
34846
  if (!ts.isExternalModuleNameRelative(moduleName)) {
34417
- var perModuleNameCache_1 = cache && cache.getOrCreateCacheForModuleName(moduleName, redirectedReference);
34847
+ var perModuleNameCache_1 = cache && cache.getOrCreateCacheForModuleName(moduleName, undefined, redirectedReference);
34418
34848
  var resolved_3 = ts.forEachAncestorDirectory(containingDirectory, function (directory) {
34419
34849
  var resolutionFromCache = tryFindNonRelativeModuleNameInCache(perModuleNameCache_1, moduleName, directory, state);
34420
34850
  if (resolutionFromCache) {
@@ -34443,8 +34873,8 @@ var ts;
34443
34873
  trace(host, ts.Diagnostics.Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2, projectName, moduleName, globalCache);
34444
34874
  }
34445
34875
  var failedLookupLocations = [];
34446
- var state = { compilerOptions: compilerOptions, host: host, traceEnabled: traceEnabled, failedLookupLocations: failedLookupLocations, packageJsonInfoCache: packageJsonInfoCache };
34447
- var resolved = loadModuleFromImmediateNodeModulesDirectory(Extensions.DtsOnly, moduleName, globalCache, state, false);
34876
+ var state = { compilerOptions: compilerOptions, host: host, traceEnabled: traceEnabled, failedLookupLocations: failedLookupLocations, packageJsonInfoCache: packageJsonInfoCache, features: NodeResolutionFeatures.None, conditions: [] };
34877
+ var resolved = loadModuleFromImmediateNodeModulesDirectory(Extensions.DtsOnly, moduleName, globalCache, state, false, undefined, undefined);
34448
34878
  return createResolvedModuleWithFailedLookupLocations(resolved, true, failedLookupLocations, state.resultFromCache);
34449
34879
  }
34450
34880
  ts.loadModuleFromGlobalCache = loadModuleFromGlobalCache;
@@ -36297,7 +36727,7 @@ var ts;
36297
36727
  }
36298
36728
  }
36299
36729
  function checkStrictModeLabeledStatement(node) {
36300
- if (inStrictMode && options.target >= 2) {
36730
+ if (inStrictMode && ts.getEmitScriptTarget(options) >= 2) {
36301
36731
  if (ts.isDeclarationStatement(node.statement) || ts.isVariableStatement(node.statement)) {
36302
36732
  errorOnFirstToken(node.label, ts.Diagnostics.A_label_is_not_allowed_here);
36303
36733
  }
@@ -37455,7 +37885,7 @@ var ts;
37455
37885
  host.getSourceFiles().forEach(function (sf) {
37456
37886
  if (!sf.resolvedModules)
37457
37887
  return;
37458
- ts.forEachEntry(sf.resolvedModules, function (r) {
37888
+ sf.resolvedModules.forEach(function (r) {
37459
37889
  if (r && r.packageId)
37460
37890
  map.set(r.packageId.name, r.extension === ".d.ts" || !!map.get(r.packageId.name));
37461
37891
  });
@@ -38514,7 +38944,7 @@ var ts;
38514
38944
  return !isPropertyImmediatelyReferencedWithinDeclaration(declaration, usage, false);
38515
38945
  }
38516
38946
  else if (ts.isParameterPropertyDeclaration(declaration, declaration.parent)) {
38517
- return !(compilerOptions.target === 99 && useDefineForClassFields
38947
+ return !(ts.getEmitScriptTarget(compilerOptions) === 99 && useDefineForClassFields
38518
38948
  && ts.getContainingClass(declaration) === ts.getContainingClass(usage)
38519
38949
  && isUsedInFunctionOrInstanceProperty(usage, declaration));
38520
38950
  }
@@ -38530,7 +38960,7 @@ var ts;
38530
38960
  return true;
38531
38961
  }
38532
38962
  if (isUsedInFunctionOrInstanceProperty(usage, declaration)) {
38533
- if (compilerOptions.target === 99 && useDefineForClassFields
38963
+ if (ts.getEmitScriptTarget(compilerOptions) === 99 && useDefineForClassFields
38534
38964
  && ts.getContainingClass(declaration)
38535
38965
  && (ts.isPropertyDeclaration(declaration) || ts.isParameterPropertyDeclaration(declaration, declaration.parent))) {
38536
38966
  return !isPropertyImmediatelyReferencedWithinDeclaration(declaration, usage, true);
@@ -38821,7 +39251,7 @@ var ts;
38821
39251
  }
38822
39252
  break;
38823
39253
  case 212:
38824
- if (compilerOptions.target >= 2) {
39254
+ if (ts.getEmitScriptTarget(compilerOptions) >= 2) {
38825
39255
  break;
38826
39256
  }
38827
39257
  case 167:
@@ -38963,7 +39393,7 @@ var ts;
38963
39393
  return undefined;
38964
39394
  }
38965
39395
  if (nameNotFoundMessage) {
38966
- if (propertyWithInvalidInitializer && !(compilerOptions.target === 99 && useDefineForClassFields)) {
39396
+ if (propertyWithInvalidInitializer && !(ts.getEmitScriptTarget(compilerOptions) === 99 && useDefineForClassFields)) {
38967
39397
  var propertyName = propertyWithInvalidInitializer.name;
38968
39398
  error(errorLocation, ts.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor, ts.declarationNameToString(propertyName), diagnosticName(nameArg));
38969
39399
  return undefined;
@@ -39460,7 +39890,7 @@ var ts;
39460
39890
  if (!ts.isIdentifier(name)) {
39461
39891
  return undefined;
39462
39892
  }
39463
- var suppressInteropError = name.escapedText === "default" && !!(compilerOptions.allowSyntheticDefaultImports || compilerOptions.esModuleInterop);
39893
+ var suppressInteropError = name.escapedText === "default" && !!(compilerOptions.allowSyntheticDefaultImports || ts.getESModuleInterop(compilerOptions));
39464
39894
  var targetSymbol = resolveESModuleSymbol(moduleSymbol, moduleSpecifier, false, suppressInteropError);
39465
39895
  if (targetSymbol) {
39466
39896
  if (name.escapedText) {
@@ -39536,18 +39966,18 @@ var ts;
39536
39966
  }
39537
39967
  function reportInvalidImportEqualsExportMember(node, name, declarationName, moduleName) {
39538
39968
  if (moduleKind >= ts.ModuleKind.ES2015) {
39539
- var message = compilerOptions.esModuleInterop ? ts.Diagnostics._0_can_only_be_imported_by_using_a_default_import :
39969
+ var message = ts.getESModuleInterop(compilerOptions) ? ts.Diagnostics._0_can_only_be_imported_by_using_a_default_import :
39540
39970
  ts.Diagnostics._0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import;
39541
39971
  error(name, message, declarationName);
39542
39972
  }
39543
39973
  else {
39544
39974
  if (ts.isInJSFile(node)) {
39545
- var message = compilerOptions.esModuleInterop ? ts.Diagnostics._0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import :
39975
+ var message = ts.getESModuleInterop(compilerOptions) ? ts.Diagnostics._0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import :
39546
39976
  ts.Diagnostics._0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import;
39547
39977
  error(name, message, declarationName);
39548
39978
  }
39549
39979
  else {
39550
- var message = compilerOptions.esModuleInterop ? ts.Diagnostics._0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import :
39980
+ var message = ts.getESModuleInterop(compilerOptions) ? ts.Diagnostics._0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import :
39551
39981
  ts.Diagnostics._0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import;
39552
39982
  error(name, message, declarationName, declarationName, moduleName);
39553
39983
  }
@@ -39925,6 +40355,7 @@ var ts;
39925
40355
  : undefined;
39926
40356
  }
39927
40357
  function resolveExternalModule(location, moduleReference, moduleNotFoundError, errorNode, isForAugmentation) {
40358
+ var _a, _b, _c, _d;
39928
40359
  if (isForAugmentation === void 0) { isForAugmentation = false; }
39929
40360
  if (ts.startsWith(moduleReference, "@types/")) {
39930
40361
  var diag = ts.Diagnostics.Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1;
@@ -39936,7 +40367,13 @@ var ts;
39936
40367
  return ambientModule;
39937
40368
  }
39938
40369
  var currentSourceFile = ts.getSourceFileOfNode(location);
39939
- var resolvedModule = ts.getResolvedModule(currentSourceFile, moduleReference);
40370
+ var contextSpecifier = ts.isStringLiteralLike(location)
40371
+ ? location
40372
+ : ((_a = (ts.isImportCall(location) ? location : ts.findAncestor(location, ts.isImportCall))) === null || _a === void 0 ? void 0 : _a.arguments[0]) ||
40373
+ ((_b = (ts.isImportDeclaration(location) ? location : ts.findAncestor(location, ts.isImportDeclaration))) === null || _b === void 0 ? void 0 : _b.moduleSpecifier) ||
40374
+ ((_c = (ts.isExternalModuleImportEqualsDeclaration(location) ? location : ts.findAncestor(location, ts.isExternalModuleImportEqualsDeclaration))) === null || _c === void 0 ? void 0 : _c.moduleReference.expression) ||
40375
+ ((_d = (ts.isExportDeclaration(location) ? location : ts.findAncestor(location, ts.isExportDeclaration))) === null || _d === void 0 ? void 0 : _d.moduleSpecifier);
40376
+ var resolvedModule = ts.getResolvedModule(currentSourceFile, moduleReference, contextSpecifier && ts.isStringLiteralLike(contextSpecifier) ? ts.getModeForUsageLocation(currentSourceFile, contextSpecifier) : undefined);
39940
40377
  var resolutionDiagnostic = resolvedModule && ts.getResolutionDiagnostic(compilerOptions, resolvedModule);
39941
40378
  var sourceFile = resolvedModule && !resolutionDiagnostic && host.getSourceFile(resolvedModule.resolvedFileName);
39942
40379
  if (sourceFile) {
@@ -39944,6 +40381,12 @@ var ts;
39944
40381
  if (resolvedModule.isExternalLibraryImport && !ts.resolutionExtensionIsTSOrJson(resolvedModule.extension)) {
39945
40382
  errorOnImplicitAnyModule(false, errorNode, resolvedModule, moduleReference);
39946
40383
  }
40384
+ if (ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.Node12 || ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.NodeNext) {
40385
+ var isSyncImport = (currentSourceFile.impliedNodeFormat === ts.ModuleKind.CommonJS && !ts.findAncestor(location, ts.isImportCall)) || !!ts.findAncestor(location, ts.isImportEqualsDeclaration);
40386
+ if (isSyncImport && sourceFile.impliedNodeFormat === ts.ModuleKind.ESNext) {
40387
+ error(errorNode, ts.Diagnostics.Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_es_module_which_cannot_be_imported_synchronously_Use_dynamic_import_instead, moduleReference);
40388
+ }
40389
+ }
39947
40390
  return getMergedSymbol(sourceFile.symbol);
39948
40391
  }
39949
40392
  if (moduleNotFoundError) {
@@ -39988,15 +40431,14 @@ var ts;
39988
40431
  var diag = ts.Diagnostics.An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead;
39989
40432
  var importSourceWithoutExtension = ts.removeExtension(moduleReference, tsExtension);
39990
40433
  var replacedImportSource = importSourceWithoutExtension;
39991
- var moduleKind_1 = ts.getEmitModuleKind(compilerOptions);
39992
- if (moduleKind_1 >= ts.ModuleKind.ES2015) {
40434
+ if (moduleKind >= ts.ModuleKind.ES2015) {
39993
40435
  replacedImportSource += ".js";
39994
40436
  }
39995
40437
  error(errorNode, diag, tsExtension, replacedImportSource);
39996
40438
  }
39997
40439
  else if (!compilerOptions.resolveJsonModule &&
39998
40440
  ts.fileExtensionIs(moduleReference, ".json") &&
39999
- ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.NodeJs &&
40441
+ ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.Classic &&
40000
40442
  ts.hasJsonModuleEmitEnabled(compilerOptions)) {
40001
40443
  error(errorNode, ts.Diagnostics.Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension, moduleReference);
40002
40444
  }
@@ -40063,7 +40505,7 @@ var ts;
40063
40505
  error(referencingLocation, ts.Diagnostics.This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export, compilerOptionName);
40064
40506
  return symbol;
40065
40507
  }
40066
- if (compilerOptions.esModuleInterop) {
40508
+ if (ts.getESModuleInterop(compilerOptions)) {
40067
40509
  var referenceParent = referencingLocation.parent;
40068
40510
  if ((ts.isImportDeclaration(referenceParent) && ts.getNamespaceDeclarationNode(referenceParent)) ||
40069
40511
  ts.isImportCall(referenceParent)) {
@@ -41999,7 +42441,7 @@ var ts;
41999
42441
  var nonRootParts = chain.length > 1 ? createAccessFromSymbolChain(chain, chain.length - 1, 1) : undefined;
42000
42442
  var typeParameterNodes = overrideTypeArguments || lookupTypeParameterNodes(chain, 0, context);
42001
42443
  var specifier = getSpecifierForModuleSymbol(chain[0], context);
42002
- if (!(context.flags & 67108864) && ts.getEmitModuleResolutionKind(compilerOptions) === ts.ModuleResolutionKind.NodeJs && specifier.indexOf("/node_modules/") >= 0) {
42444
+ if (!(context.flags & 67108864) && ts.getEmitModuleResolutionKind(compilerOptions) !== ts.ModuleResolutionKind.Classic && specifier.indexOf("/node_modules/") >= 0) {
42003
42445
  context.encounteredError = true;
42004
42446
  if (context.tracker.reportLikelyUnsafeImportRequiredError) {
42005
42447
  context.tracker.reportLikelyUnsafeImportRequiredError(specifier);
@@ -42216,7 +42658,7 @@ var ts;
42216
42658
  if (nameType) {
42217
42659
  if (nameType.flags & 384) {
42218
42660
  var name = "" + nameType.value;
42219
- if (!ts.isIdentifierText(name, compilerOptions.target) && !isNumericLiteralName(name)) {
42661
+ if (!ts.isIdentifierText(name, ts.getEmitScriptTarget(compilerOptions)) && !isNumericLiteralName(name)) {
42220
42662
  return ts.factory.createStringLiteral(name, !!singleQuote);
42221
42663
  }
42222
42664
  if (isNumericLiteralName(name) && ts.startsWith(name, "-")) {
@@ -42230,7 +42672,7 @@ var ts;
42230
42672
  }
42231
42673
  }
42232
42674
  function createPropertyNameNodeForIdentifierOrLiteral(name, stringNamed, singleQuote) {
42233
- return ts.isIdentifierText(name, compilerOptions.target) ? ts.factory.createIdentifier(name) :
42675
+ return ts.isIdentifierText(name, ts.getEmitScriptTarget(compilerOptions)) ? ts.factory.createIdentifier(name) :
42234
42676
  !stringNamed && isNumericLiteralName(name) && +name >= 0 ? ts.factory.createNumericLiteral(+name) :
42235
42677
  ts.factory.createStringLiteral(name, !!singleQuote);
42236
42678
  }
@@ -42972,6 +43414,26 @@ var ts;
42972
43414
  context.enclosingDeclaration = oldEnclosing;
42973
43415
  addResult(ts.setTextRange(ts.factory.createClassDeclaration(undefined, undefined, localName, typeParamDecls, heritageClauses, __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], indexSignatures, true), staticMembers, true), constructors, true), publicProperties, true), privateProperties, true)), symbol.declarations && ts.filter(symbol.declarations, function (d) { return ts.isClassDeclaration(d) || ts.isClassExpression(d); })[0]), modifierFlags);
42974
43416
  }
43417
+ function getSomeTargetNameFromDeclarations(declarations) {
43418
+ return ts.firstDefined(declarations, function (d) {
43419
+ if (ts.isImportSpecifier(d) || ts.isExportSpecifier(d)) {
43420
+ return ts.idText(d.propertyName || d.name);
43421
+ }
43422
+ if (ts.isBinaryExpression(d) || ts.isExportAssignment(d)) {
43423
+ var expression = ts.isExportAssignment(d) ? d.expression : d.right;
43424
+ if (ts.isPropertyAccessExpression(expression)) {
43425
+ return ts.idText(expression.name);
43426
+ }
43427
+ }
43428
+ if (isAliasSymbolDeclaration(d)) {
43429
+ var name = ts.getNameOfDeclaration(d);
43430
+ if (name && ts.isIdentifier(name)) {
43431
+ return ts.idText(name);
43432
+ }
43433
+ }
43434
+ return undefined;
43435
+ });
43436
+ }
42975
43437
  function serializeAsAlias(symbol, localName, modifierFlags) {
42976
43438
  var _a, _b, _c, _d, _e;
42977
43439
  var node = getDeclarationOfAliasSymbol(symbol);
@@ -42981,8 +43443,8 @@ var ts;
42981
43443
  if (!target) {
42982
43444
  return;
42983
43445
  }
42984
- var verbatimTargetName = ts.unescapeLeadingUnderscores(target.escapedName);
42985
- if (verbatimTargetName === "export=" && (compilerOptions.esModuleInterop || compilerOptions.allowSyntheticDefaultImports)) {
43446
+ var verbatimTargetName = ts.isShorthandAmbientModuleSymbol(target) && getSomeTargetNameFromDeclarations(symbol.declarations) || ts.unescapeLeadingUnderscores(target.escapedName);
43447
+ if (verbatimTargetName === "export=" && (ts.getESModuleInterop(compilerOptions) || compilerOptions.allowSyntheticDefaultImports)) {
42986
43448
  verbatimTargetName = "default";
42987
43449
  }
42988
43450
  var targetName = getInternalSymbolName(target, verbatimTargetName);
@@ -43409,7 +43871,7 @@ var ts;
43409
43871
  if (nameType) {
43410
43872
  if (nameType.flags & 384) {
43411
43873
  var name = "" + nameType.value;
43412
- if (!ts.isIdentifierText(name, compilerOptions.target) && !isNumericLiteralName(name)) {
43874
+ if (!ts.isIdentifierText(name, ts.getEmitScriptTarget(compilerOptions)) && !isNumericLiteralName(name)) {
43413
43875
  return "\"" + ts.escapeString(name, 34) + "\"";
43414
43876
  }
43415
43877
  if (isNumericLiteralName(name) && ts.startsWith(name, "-")) {
@@ -51445,7 +51907,7 @@ var ts;
51445
51907
  if (path.length === 0) {
51446
51908
  path = "" + str;
51447
51909
  }
51448
- else if (ts.isIdentifierText(str, compilerOptions.target)) {
51910
+ else if (ts.isIdentifierText(str, ts.getEmitScriptTarget(compilerOptions))) {
51449
51911
  path = path + "." + str;
51450
51912
  }
51451
51913
  else if (str[0] === "[" && str[str.length - 1] === "]") {
@@ -56023,9 +56485,10 @@ var ts;
56023
56485
  }
56024
56486
  function isConstantReference(node) {
56025
56487
  switch (node.kind) {
56026
- case 79:
56488
+ case 79: {
56027
56489
  var symbol = getResolvedSymbol(node);
56028
- return isConstVariable(symbol) || !!symbol.valueDeclaration && ts.getRootDeclaration(symbol.valueDeclaration).kind === 162 && !isParameterAssigned(symbol);
56490
+ return isConstVariable(symbol) || ts.isParameterOrCatchClauseVariable(symbol) && !isSymbolAssigned(symbol);
56491
+ }
56029
56492
  case 204:
56030
56493
  case 205:
56031
56494
  return isConstantReference(node.expression) && isReadonlySymbol(getNodeLinks(node).resolvedSymbol || unknownSymbol);
@@ -56933,34 +57396,36 @@ var ts;
56933
57396
  node.kind === 165;
56934
57397
  });
56935
57398
  }
56936
- function isParameterAssigned(symbol) {
57399
+ function isSymbolAssigned(symbol) {
56937
57400
  if (!symbol.valueDeclaration) {
56938
57401
  return false;
56939
57402
  }
56940
- var func = ts.getRootDeclaration(symbol.valueDeclaration).parent;
56941
- var links = getNodeLinks(func);
57403
+ var parent = ts.getRootDeclaration(symbol.valueDeclaration).parent;
57404
+ var links = getNodeLinks(parent);
56942
57405
  if (!(links.flags & 8388608)) {
56943
57406
  links.flags |= 8388608;
56944
- if (!hasParentWithAssignmentsMarked(func)) {
56945
- markParameterAssignments(func);
57407
+ if (!hasParentWithAssignmentsMarked(parent)) {
57408
+ markNodeAssignments(parent);
56946
57409
  }
56947
57410
  }
56948
57411
  return symbol.isAssigned || false;
56949
57412
  }
56950
57413
  function hasParentWithAssignmentsMarked(node) {
56951
- return !!ts.findAncestor(node.parent, function (node) { return ts.isFunctionLike(node) && !!(getNodeLinks(node).flags & 8388608); });
57414
+ return !!ts.findAncestor(node.parent, function (node) {
57415
+ return (ts.isFunctionLike(node) || ts.isCatchClause(node)) && !!(getNodeLinks(node).flags & 8388608);
57416
+ });
56952
57417
  }
56953
- function markParameterAssignments(node) {
57418
+ function markNodeAssignments(node) {
56954
57419
  if (node.kind === 79) {
56955
57420
  if (ts.isAssignmentTarget(node)) {
56956
57421
  var symbol = getResolvedSymbol(node);
56957
- if (symbol.valueDeclaration && ts.getRootDeclaration(symbol.valueDeclaration).kind === 162) {
57422
+ if (ts.isParameterOrCatchClauseVariable(symbol)) {
56958
57423
  symbol.isAssigned = true;
56959
57424
  }
56960
57425
  }
56961
57426
  }
56962
57427
  else {
56963
- ts.forEachChild(node, markParameterAssignments);
57428
+ ts.forEachChild(node, markNodeAssignments);
56964
57429
  }
56965
57430
  }
56966
57431
  function isConstVariable(symbol) {
@@ -57131,7 +57596,7 @@ var ts;
57131
57596
  var isModuleExports = symbol.flags & 134217728;
57132
57597
  while (flowContainer !== declarationContainer && (flowContainer.kind === 211 ||
57133
57598
  flowContainer.kind === 212 || ts.isObjectLiteralOrClassExpressionMethodOrAccessor(flowContainer)) &&
57134
- (isConstVariable(localOrExportSymbol) && type !== autoArrayType || isParameter && !isParameterAssigned(localOrExportSymbol))) {
57599
+ (isConstVariable(localOrExportSymbol) && type !== autoArrayType || isParameter && !isSymbolAssigned(localOrExportSymbol))) {
57135
57600
  flowContainer = getControlFlowContainer(flowContainer);
57136
57601
  }
57137
57602
  var assumeInitialized = isParameter || isAlias || isOuterVariable || isSpreadDestructuringAssignmentTarget || isModuleExports || ts.isBindingElement(declaration) ||
@@ -59467,7 +59932,7 @@ var ts;
59467
59932
  if (assignmentKind && lexicallyScopedSymbol && lexicallyScopedSymbol.valueDeclaration && ts.isMethodDeclaration(lexicallyScopedSymbol.valueDeclaration)) {
59468
59933
  grammarErrorOnNode(right, ts.Diagnostics.Cannot_assign_to_private_method_0_Private_methods_are_not_writable, ts.idText(right));
59469
59934
  }
59470
- if ((lexicallyScopedSymbol === null || lexicallyScopedSymbol === void 0 ? void 0 : lexicallyScopedSymbol.valueDeclaration) && (compilerOptions.target === 99 && !useDefineForClassFields)) {
59935
+ if ((lexicallyScopedSymbol === null || lexicallyScopedSymbol === void 0 ? void 0 : lexicallyScopedSymbol.valueDeclaration) && (ts.getEmitScriptTarget(compilerOptions) === 99 && !useDefineForClassFields)) {
59471
59936
  var lexicalClass_1 = ts.getContainingClass(lexicallyScopedSymbol.valueDeclaration);
59472
59937
  var parentStaticFieldInitializer = ts.findAncestor(node, function (n) {
59473
59938
  if (n === lexicalClass_1)
@@ -61682,6 +62147,12 @@ var ts;
61682
62147
  return getReturnTypeOfSignature(signature);
61683
62148
  }
61684
62149
  function checkAssertion(node) {
62150
+ if (node.kind === 209) {
62151
+ var file = ts.getSourceFileOfNode(node);
62152
+ if (file && ts.fileExtensionIsOneOf(file.fileName, [".cts", ".mts"])) {
62153
+ grammarErrorOnNode(node, ts.Diagnostics.This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead);
62154
+ }
62155
+ }
61685
62156
  return checkAssertionWorker(node, node.type, node.expression);
61686
62157
  }
61687
62158
  function isValidConstAssertionArgument(node) {
@@ -61782,7 +62253,14 @@ var ts;
61782
62253
  }
61783
62254
  function checkImportMetaProperty(node) {
61784
62255
  if (moduleKind !== ts.ModuleKind.ES2020 && moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.System) {
61785
- error(node, ts.Diagnostics.The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_esnext_or_system);
62256
+ if (moduleKind === ts.ModuleKind.Node12 || moduleKind === ts.ModuleKind.NodeNext) {
62257
+ if (ts.getSourceFileOfNode(node).impliedNodeFormat !== ts.ModuleKind.ESNext) {
62258
+ error(node, ts.Diagnostics.The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output);
62259
+ }
62260
+ }
62261
+ else {
62262
+ error(node, ts.Diagnostics.The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_esnext_system_node12_or_nodenext);
62263
+ }
61786
62264
  }
61787
62265
  var file = ts.getSourceFileOfNode(node);
61788
62266
  ts.Debug.assert(!!(file.flags & 2097152), "Containing file is missing import meta node flag.");
@@ -62609,9 +63087,9 @@ var ts;
62609
63087
  var diagnostic = ts.createFileDiagnostic(sourceFile, span.start, span.length, ts.Diagnostics.await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module);
62610
63088
  diagnostics.add(diagnostic);
62611
63089
  }
62612
- if ((moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.System) || languageVersion < 4) {
63090
+ if ((moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.System && !(moduleKind === ts.ModuleKind.NodeNext && ts.getSourceFileOfNode(node).impliedNodeFormat === ts.ModuleKind.ESNext)) || languageVersion < 4) {
62613
63091
  span = ts.getSpanOfTokenAtPosition(sourceFile, node.pos);
62614
- var diagnostic = ts.createFileDiagnostic(sourceFile, span.start, span.length, ts.Diagnostics.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_the_target_option_is_set_to_es2017_or_higher);
63092
+ var diagnostic = ts.createFileDiagnostic(sourceFile, span.start, span.length, ts.Diagnostics.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_esnext_system_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher);
62615
63093
  diagnostics.add(diagnostic);
62616
63094
  }
62617
63095
  }
@@ -64426,7 +64904,7 @@ var ts;
64426
64904
  if (classExtendsNull) {
64427
64905
  error(superCall, ts.Diagnostics.A_constructor_cannot_contain_a_super_call_when_its_class_extends_null);
64428
64906
  }
64429
- var superCallShouldBeFirst = (compilerOptions.target !== 99 || !useDefineForClassFields) &&
64907
+ var superCallShouldBeFirst = (ts.getEmitScriptTarget(compilerOptions) !== 99 || !useDefineForClassFields) &&
64430
64908
  (ts.some(node.parent.members, isInstancePropertyWithInitializerOrPrivateIdentifierProperty) ||
64431
64909
  ts.some(node.parameters, function (p) { return ts.hasSyntacticModifier(p, 16476); }));
64432
64910
  if (superCallShouldBeFirst) {
@@ -65870,7 +66348,7 @@ var ts;
65870
66348
  });
65871
66349
  }
65872
66350
  function checkCollisionWithRequireExportsInGeneratedCode(node, name) {
65873
- if (moduleKind >= ts.ModuleKind.ES2015) {
66351
+ if (moduleKind >= ts.ModuleKind.ES2015 && !(moduleKind >= ts.ModuleKind.Node12 && ts.getSourceFileOfNode(node).impliedNodeFormat === ts.ModuleKind.CommonJS)) {
65874
66352
  return;
65875
66353
  }
65876
66354
  if (!name || !needCollisionCheckForIdentifier(node, name, "require") && !needCollisionCheckForIdentifier(node, name, "exports")) {
@@ -67095,8 +67573,8 @@ var ts;
67095
67573
  }
67096
67574
  }
67097
67575
  function checkClassNameCollisionWithObject(name) {
67098
- if (languageVersion === 1 && name.escapedText === "Object"
67099
- && moduleKind < ts.ModuleKind.ES2015) {
67576
+ if (languageVersion >= 1 && name.escapedText === "Object"
67577
+ && (moduleKind < ts.ModuleKind.ES2015 || ts.getSourceFileOfNode(name).impliedNodeFormat === ts.ModuleKind.CommonJS)) {
67100
67578
  error(name, ts.Diagnostics.Class_name_cannot_be_Object_when_targeting_ES5_with_module_0, ts.ModuleKind[moduleKind]);
67101
67579
  }
67102
67580
  }
@@ -68142,8 +68620,8 @@ var ts;
68142
68620
  checkAliasSymbol(node);
68143
68621
  if (node.kind === 268 &&
68144
68622
  ts.idText(node.propertyName || node.name) === "default" &&
68145
- compilerOptions.esModuleInterop &&
68146
- moduleKind !== ts.ModuleKind.System && moduleKind < ts.ModuleKind.ES2015) {
68623
+ ts.getESModuleInterop(compilerOptions) &&
68624
+ moduleKind !== ts.ModuleKind.System && (moduleKind < ts.ModuleKind.ES2015 || ts.getSourceFileOfNode(node).impliedNodeFormat === ts.ModuleKind.CommonJS)) {
68147
68625
  checkExternalEmitHelpers(node, 131072);
68148
68626
  }
68149
68627
  }
@@ -68163,7 +68641,7 @@ var ts;
68163
68641
  if (importClause.namedBindings) {
68164
68642
  if (importClause.namedBindings.kind === 266) {
68165
68643
  checkImportBinding(importClause.namedBindings);
68166
- if (moduleKind !== ts.ModuleKind.System && moduleKind < ts.ModuleKind.ES2015 && compilerOptions.esModuleInterop) {
68644
+ if (moduleKind !== ts.ModuleKind.System && (moduleKind < ts.ModuleKind.ES2015 || ts.getSourceFileOfNode(node).impliedNodeFormat === ts.ModuleKind.CommonJS) && ts.getESModuleInterop(compilerOptions)) {
68167
68645
  checkExternalEmitHelpers(node, 65536);
68168
68646
  }
68169
68647
  }
@@ -68205,7 +68683,7 @@ var ts;
68205
68683
  }
68206
68684
  }
68207
68685
  else {
68208
- if (moduleKind >= ts.ModuleKind.ES2015 && !node.isTypeOnly && !(node.flags & 8388608)) {
68686
+ if (moduleKind >= ts.ModuleKind.ES2015 && ts.getSourceFileOfNode(node).impliedNodeFormat === undefined && !node.isTypeOnly && !(node.flags & 8388608)) {
68209
68687
  grammarErrorOnNode(node, ts.Diagnostics.Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead);
68210
68688
  }
68211
68689
  }
@@ -68240,9 +68718,9 @@ var ts;
68240
68718
  else if (node.exportClause) {
68241
68719
  checkAliasSymbol(node.exportClause);
68242
68720
  }
68243
- if (moduleKind !== ts.ModuleKind.System && moduleKind < ts.ModuleKind.ES2015) {
68721
+ if (moduleKind !== ts.ModuleKind.System && (moduleKind < ts.ModuleKind.ES2015 || ts.getSourceFileOfNode(node).impliedNodeFormat === ts.ModuleKind.CommonJS)) {
68244
68722
  if (node.exportClause) {
68245
- if (compilerOptions.esModuleInterop) {
68723
+ if (ts.getESModuleInterop(compilerOptions)) {
68246
68724
  checkExternalEmitHelpers(node, 65536);
68247
68725
  }
68248
68726
  }
@@ -68322,9 +68800,9 @@ var ts;
68322
68800
  }
68323
68801
  }
68324
68802
  else {
68325
- if (compilerOptions.esModuleInterop &&
68803
+ if (ts.getESModuleInterop(compilerOptions) &&
68326
68804
  moduleKind !== ts.ModuleKind.System &&
68327
- moduleKind < ts.ModuleKind.ES2015 &&
68805
+ (moduleKind < ts.ModuleKind.ES2015 || ts.getSourceFileOfNode(node).impliedNodeFormat === ts.ModuleKind.CommonJS) &&
68328
68806
  ts.idText(node.propertyName || node.name) === "default") {
68329
68807
  checkExternalEmitHelpers(node, 131072);
68330
68808
  }
@@ -68379,7 +68857,7 @@ var ts;
68379
68857
  grammarErrorOnNode(node.expression, ts.Diagnostics.The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context);
68380
68858
  }
68381
68859
  if (node.isExportEquals && !(node.flags & 8388608)) {
68382
- if (moduleKind >= ts.ModuleKind.ES2015) {
68860
+ if (moduleKind >= ts.ModuleKind.ES2015 && ts.getSourceFileOfNode(node).impliedNodeFormat !== ts.ModuleKind.CommonJS) {
68383
68861
  grammarErrorOnNode(node, ts.Diagnostics.Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead);
68384
68862
  }
68385
68863
  else if (moduleKind === ts.ModuleKind.System) {
@@ -70674,6 +71152,11 @@ var ts;
70674
71152
  if (!ts.isArrowFunction(node)) {
70675
71153
  return false;
70676
71154
  }
71155
+ if (node.typeParameters && !(ts.length(node.typeParameters) > 1 || node.typeParameters.hasTrailingComma || node.typeParameters[0].constraint)) {
71156
+ if (file && ts.fileExtensionIsOneOf(file.fileName, [".mts", ".cts"])) {
71157
+ grammarErrorOnNode(node.typeParameters[0], ts.Diagnostics.This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_constraint);
71158
+ }
71159
+ }
70677
71160
  var equalsGreaterThanToken = node.equalsGreaterThanToken;
70678
71161
  var startLine = ts.getLineAndCharacterOfPosition(file, equalsGreaterThanToken.pos).line;
70679
71162
  var endLine = ts.getLineAndCharacterOfPosition(file, equalsGreaterThanToken.end).line;
@@ -70986,8 +71469,8 @@ var ts;
70986
71469
  if (!ts.isEffectiveExternalModule(sourceFile, compilerOptions)) {
70987
71470
  diagnostics.add(ts.createDiagnosticForNode(forInOrOfStatement.awaitModifier, ts.Diagnostics.for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module));
70988
71471
  }
70989
- if ((moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.System) || languageVersion < 4) {
70990
- diagnostics.add(ts.createDiagnosticForNode(forInOrOfStatement.awaitModifier, ts.Diagnostics.Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_the_target_option_is_set_to_es2017_or_higher));
71472
+ if ((moduleKind !== ts.ModuleKind.ESNext && moduleKind !== ts.ModuleKind.System && !(moduleKind === ts.ModuleKind.NodeNext && ts.getSourceFileOfNode(forInOrOfStatement).impliedNodeFormat === ts.ModuleKind.ESNext)) || languageVersion < 4) {
71473
+ diagnostics.add(ts.createDiagnosticForNode(forInOrOfStatement.awaitModifier, ts.Diagnostics.Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_esnext_system_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher));
70991
71474
  }
70992
71475
  }
70993
71476
  }
@@ -71304,8 +71787,7 @@ var ts;
71304
71787
  : ts.Diagnostics.A_definite_assignment_assertion_is_not_permitted_in_this_context;
71305
71788
  return grammarErrorOnNode(node.exclamationToken, message);
71306
71789
  }
71307
- var moduleKind = ts.getEmitModuleKind(compilerOptions);
71308
- if (moduleKind < ts.ModuleKind.ES2015 && moduleKind !== ts.ModuleKind.System &&
71790
+ if ((moduleKind < ts.ModuleKind.ES2015 || ts.getSourceFileOfNode(node).impliedNodeFormat === ts.ModuleKind.CommonJS) && moduleKind !== ts.ModuleKind.System &&
71309
71791
  !(node.parent.parent.flags & 8388608) && ts.hasSyntacticModifier(node.parent.parent, 1)) {
71310
71792
  checkESModuleMarker(node.name);
71311
71793
  }
@@ -71602,7 +72084,7 @@ var ts;
71602
72084
  }
71603
72085
  function checkGrammarImportCallExpression(node) {
71604
72086
  if (moduleKind === ts.ModuleKind.ES2015) {
71605
- return grammarErrorOnNode(node, ts.Diagnostics.Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_esnext_commonjs_amd_system_or_umd);
72087
+ return grammarErrorOnNode(node, ts.Diagnostics.Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_esnext_commonjs_amd_system_umd_node12_or_nodenext);
71606
72088
  }
71607
72089
  if (node.typeArguments) {
71608
72090
  return grammarErrorOnNode(node, ts.Diagnostics.Dynamic_import_cannot_have_type_arguments);
@@ -75355,7 +75837,7 @@ var ts;
75355
75837
  function transformSourceFile(node) {
75356
75838
  var options = context.getCompilerOptions();
75357
75839
  if (node.isDeclarationFile
75358
- || useDefineForClassFields && options.target === 99) {
75840
+ || useDefineForClassFields && ts.getEmitScriptTarget(options) === 99) {
75359
75841
  return node;
75360
75842
  }
75361
75843
  var visited = ts.visitEachChild(node, visitor, context);
@@ -78221,7 +78703,7 @@ var ts;
78221
78703
  objectProperties = factory.createNull();
78222
78704
  }
78223
78705
  else {
78224
- var target = compilerOptions.target;
78706
+ var target = ts.getEmitScriptTarget(compilerOptions);
78225
78707
  if (target && target >= 5) {
78226
78708
  objectProperties = factory.createObjectLiteralExpression(ts.flatten(ts.spanMap(attrs, ts.isJsxSpreadAttribute, function (attrs, isSpread) {
78227
78709
  return isSpread ? ts.map(attrs, transformJsxSpreadAttributeToSpreadAssignment) : ts.map(attrs, transformJsxAttributeToObjectLiteralElement);
@@ -82646,7 +83128,7 @@ var ts;
82646
83128
  case 345:
82647
83129
  return visitPartiallyEmittedExpression(node, valueIsDiscarded);
82648
83130
  case 206:
82649
- if (ts.isImportCall(node)) {
83131
+ if (ts.isImportCall(node) && currentSourceFile.impliedNodeFormat === undefined) {
82650
83132
  return visitImportCallExpression(node);
82651
83133
  }
82652
83134
  break;
@@ -82817,7 +83299,7 @@ var ts;
82817
83299
  }
82818
83300
  }
82819
83301
  var promise = factory.createNewExpression(factory.createIdentifier("Promise"), undefined, [func]);
82820
- if (compilerOptions.esModuleInterop) {
83302
+ if (ts.getESModuleInterop(compilerOptions)) {
82821
83303
  return factory.createCallExpression(factory.createPropertyAccessExpression(promise, factory.createIdentifier("then")), undefined, [emitHelpers().createImportStarCallbackHelper()]);
82822
83304
  }
82823
83305
  return promise;
@@ -82825,7 +83307,7 @@ var ts;
82825
83307
  function createImportCallExpressionCommonJS(arg, containsLexicalThis) {
82826
83308
  var promiseResolveCall = factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier("Promise"), "resolve"), undefined, []);
82827
83309
  var requireCall = factory.createCallExpression(factory.createIdentifier("require"), undefined, arg ? [arg] : []);
82828
- if (compilerOptions.esModuleInterop) {
83310
+ if (ts.getESModuleInterop(compilerOptions)) {
82829
83311
  requireCall = emitHelpers().createImportStarHelper(requireCall);
82830
83312
  }
82831
83313
  var func;
@@ -82841,7 +83323,7 @@ var ts;
82841
83323
  return factory.createCallExpression(factory.createPropertyAccessExpression(promiseResolveCall, "then"), undefined, [func]);
82842
83324
  }
82843
83325
  function getHelperExpressionForExport(node, innerExpr) {
82844
- if (!compilerOptions.esModuleInterop || ts.getEmitFlags(node) & 67108864) {
83326
+ if (!ts.getESModuleInterop(compilerOptions) || ts.getEmitFlags(node) & 67108864) {
82845
83327
  return innerExpr;
82846
83328
  }
82847
83329
  if (ts.getExportNeedsImportStarHelper(node)) {
@@ -82850,7 +83332,7 @@ var ts;
82850
83332
  return innerExpr;
82851
83333
  }
82852
83334
  function getHelperExpressionForImport(node, innerExpr) {
82853
- if (!compilerOptions.esModuleInterop || ts.getEmitFlags(node) & 67108864) {
83335
+ if (!ts.getESModuleInterop(compilerOptions) || ts.getEmitFlags(node) & 67108864) {
82854
83336
  return innerExpr;
82855
83337
  }
82856
83338
  if (ts.getImportNeedsImportStarHelper(node)) {
@@ -82949,7 +83431,7 @@ var ts;
82949
83431
  statements.push(ts.setOriginalNode(ts.setTextRange(factory.createExpressionStatement(emitHelpers().createCreateBindingHelper(generatedName, factory.createStringLiteralFromNode(specifier.propertyName || specifier.name), specifier.propertyName ? factory.createStringLiteralFromNode(specifier.name) : undefined)), specifier), specifier));
82950
83432
  }
82951
83433
  else {
82952
- var exportNeedsImportDefault = !!compilerOptions.esModuleInterop &&
83434
+ var exportNeedsImportDefault = !!ts.getESModuleInterop(compilerOptions) &&
82953
83435
  !(ts.getEmitFlags(node) & 67108864) &&
82954
83436
  ts.idText(specifier.propertyName || specifier.name) === "default";
82955
83437
  var exportedValue = factory.createPropertyAccessExpression(exportNeedsImportDefault ? emitHelpers().createImportDefaultHelper(generatedName) : generatedName, specifier.propertyName || specifier.name);
@@ -84292,7 +84774,10 @@ var ts;
84292
84774
  (function (ts) {
84293
84775
  function transformECMAScriptModule(context) {
84294
84776
  var factory = context.factory, emitHelpers = context.getEmitHelperFactory;
84777
+ var host = context.getEmitHost();
84778
+ var resolver = context.getEmitResolver();
84295
84779
  var compilerOptions = context.getCompilerOptions();
84780
+ var languageVersion = ts.getEmitScriptTarget(compilerOptions);
84296
84781
  var previousOnEmitNode = context.onEmitNode;
84297
84782
  var previousOnSubstituteNode = context.onSubstituteNode;
84298
84783
  context.onEmitNode = onEmitNode;
@@ -84300,13 +84785,21 @@ var ts;
84300
84785
  context.enableEmitNotification(300);
84301
84786
  context.enableSubstitution(79);
84302
84787
  var helperNameSubstitutions;
84788
+ var currentSourceFile;
84789
+ var importRequireStatements;
84303
84790
  return ts.chainBundle(context, transformSourceFile);
84304
84791
  function transformSourceFile(node) {
84305
84792
  if (node.isDeclarationFile) {
84306
84793
  return node;
84307
84794
  }
84308
84795
  if (ts.isExternalModule(node) || compilerOptions.isolatedModules) {
84796
+ currentSourceFile = node;
84797
+ importRequireStatements = undefined;
84309
84798
  var result = updateExternalModule(node);
84799
+ currentSourceFile = undefined;
84800
+ if (importRequireStatements) {
84801
+ result = factory.updateSourceFile(result, ts.setTextRange(factory.createNodeArray(ts.insertStatementsAfterCustomPrologue(result.statements.slice(), importRequireStatements)), result.statements));
84802
+ }
84310
84803
  if (!ts.isExternalModule(node) || ts.some(result.statements, ts.isExternalModuleIndicator)) {
84311
84804
  return result;
84312
84805
  }
@@ -84330,7 +84823,7 @@ var ts;
84330
84823
  function visitor(node) {
84331
84824
  switch (node.kind) {
84332
84825
  case 263:
84333
- return undefined;
84826
+ return ts.getEmitScriptTarget(compilerOptions) >= ts.ModuleKind.ES2020 ? visitImportEqualsDeclaration(node) : undefined;
84334
84827
  case 269:
84335
84828
  return visitExportAssignment(node);
84336
84829
  case 270:
@@ -84339,6 +84832,44 @@ var ts;
84339
84832
  }
84340
84833
  return node;
84341
84834
  }
84835
+ function createRequireCall(importNode) {
84836
+ var moduleName = ts.getExternalModuleNameLiteral(factory, importNode, ts.Debug.checkDefined(currentSourceFile), host, resolver, compilerOptions);
84837
+ var args = [];
84838
+ if (moduleName) {
84839
+ args.push(moduleName);
84840
+ }
84841
+ if (!importRequireStatements) {
84842
+ var createRequireName = factory.createUniqueName("_createRequire", 16 | 32);
84843
+ var importStatement = factory.createImportDeclaration(undefined, undefined, factory.createImportClause(false, undefined, factory.createNamedImports([
84844
+ factory.createImportSpecifier(factory.createIdentifier("createRequire"), createRequireName)
84845
+ ])), factory.createStringLiteral("module"));
84846
+ var requireHelperName = factory.createUniqueName("__require", 16 | 32);
84847
+ var requireStatement = factory.createVariableStatement(undefined, factory.createVariableDeclarationList([
84848
+ factory.createVariableDeclaration(requireHelperName, undefined, undefined, factory.createCallExpression(factory.cloneNode(createRequireName), undefined, [
84849
+ factory.createPropertyAccessExpression(factory.createMetaProperty(100, factory.createIdentifier("meta")), factory.createIdentifier("url"))
84850
+ ]))
84851
+ ], languageVersion >= 2 ? 2 : 0));
84852
+ importRequireStatements = [importStatement, requireStatement];
84853
+ }
84854
+ var name = importRequireStatements[1].declarationList.declarations[0].name;
84855
+ ts.Debug.assertNode(name, ts.isIdentifier);
84856
+ return factory.createCallExpression(factory.cloneNode(name), undefined, args);
84857
+ }
84858
+ function visitImportEqualsDeclaration(node) {
84859
+ ts.Debug.assert(ts.isExternalModuleImportEqualsDeclaration(node), "import= for internal module references should be handled in an earlier transformer.");
84860
+ var statements;
84861
+ statements = ts.append(statements, ts.setOriginalNode(ts.setTextRange(factory.createVariableStatement(undefined, factory.createVariableDeclarationList([
84862
+ factory.createVariableDeclaration(factory.cloneNode(node.name), undefined, undefined, createRequireCall(node))
84863
+ ], languageVersion >= 2 ? 2 : 0)), node), node));
84864
+ statements = appendExportsOfImportEqualsDeclaration(statements, node);
84865
+ return ts.singleOrMany(statements);
84866
+ }
84867
+ function appendExportsOfImportEqualsDeclaration(statements, node) {
84868
+ if (ts.hasSyntacticModifier(node, 1)) {
84869
+ statements = ts.append(statements, factory.createExportDeclaration(undefined, undefined, node.isTypeOnly, factory.createNamedExports([factory.createExportSpecifier(undefined, ts.idText(node.name))])));
84870
+ }
84871
+ return statements;
84872
+ }
84342
84873
  function visitExportAssignment(node) {
84343
84874
  return node.isExportEquals ? undefined : node;
84344
84875
  }
@@ -84388,6 +84919,74 @@ var ts;
84388
84919
  ts.transformECMAScriptModule = transformECMAScriptModule;
84389
84920
  })(ts || (ts = {}));
84390
84921
  var ts;
84922
+ (function (ts) {
84923
+ function transformNodeModule(context) {
84924
+ var previousOnSubstituteNode = context.onSubstituteNode;
84925
+ var previousOnEmitNode = context.onEmitNode;
84926
+ var esmTransform = ts.transformECMAScriptModule(context);
84927
+ var esmOnSubstituteNode = context.onSubstituteNode;
84928
+ var esmOnEmitNode = context.onEmitNode;
84929
+ context.onSubstituteNode = previousOnSubstituteNode;
84930
+ context.onEmitNode = previousOnEmitNode;
84931
+ var cjsTransform = ts.transformModule(context);
84932
+ var cjsOnSubstituteNode = context.onSubstituteNode;
84933
+ var cjsOnEmitNode = context.onEmitNode;
84934
+ context.onSubstituteNode = onSubstituteNode;
84935
+ context.onEmitNode = onEmitNode;
84936
+ context.enableSubstitution(300);
84937
+ context.enableEmitNotification(300);
84938
+ var currentSourceFile;
84939
+ return transformSourceFileOrBundle;
84940
+ function onSubstituteNode(hint, node) {
84941
+ if (ts.isSourceFile(node)) {
84942
+ currentSourceFile = node;
84943
+ return previousOnSubstituteNode(hint, node);
84944
+ }
84945
+ else {
84946
+ if (!currentSourceFile) {
84947
+ return previousOnSubstituteNode(hint, node);
84948
+ }
84949
+ if (currentSourceFile.impliedNodeFormat === ts.ModuleKind.ESNext) {
84950
+ return esmOnSubstituteNode(hint, node);
84951
+ }
84952
+ return cjsOnSubstituteNode(hint, node);
84953
+ }
84954
+ }
84955
+ function onEmitNode(hint, node, emitCallback) {
84956
+ if (ts.isSourceFile(node)) {
84957
+ currentSourceFile = node;
84958
+ }
84959
+ if (!currentSourceFile) {
84960
+ return previousOnEmitNode(hint, node, emitCallback);
84961
+ }
84962
+ if (currentSourceFile.impliedNodeFormat === ts.ModuleKind.ESNext) {
84963
+ return esmOnEmitNode(hint, node, emitCallback);
84964
+ }
84965
+ return cjsOnEmitNode(hint, node, emitCallback);
84966
+ }
84967
+ function getModuleTransformForFile(file) {
84968
+ return file.impliedNodeFormat === ts.ModuleKind.ESNext ? esmTransform : cjsTransform;
84969
+ }
84970
+ function transformSourceFile(node) {
84971
+ if (node.isDeclarationFile) {
84972
+ return node;
84973
+ }
84974
+ currentSourceFile = node;
84975
+ var result = getModuleTransformForFile(node)(node);
84976
+ currentSourceFile = undefined;
84977
+ ts.Debug.assert(ts.isSourceFile(result));
84978
+ return result;
84979
+ }
84980
+ function transformSourceFileOrBundle(node) {
84981
+ return node.kind === 300 ? transformSourceFile(node) : transformBundle(node);
84982
+ }
84983
+ function transformBundle(node) {
84984
+ return context.factory.createBundle(ts.map(node.sourceFiles, transformSourceFile), node.prepends);
84985
+ }
84986
+ }
84987
+ ts.transformNodeModule = transformNodeModule;
84988
+ })(ts || (ts = {}));
84989
+ var ts;
84391
84990
  (function (ts) {
84392
84991
  function canProduceDiagnostics(node) {
84393
84992
  return ts.isVariableDeclaration(node) ||
@@ -86041,6 +86640,9 @@ var ts;
86041
86640
  return ts.transformECMAScriptModule;
86042
86641
  case ts.ModuleKind.System:
86043
86642
  return ts.transformSystemModule;
86643
+ case ts.ModuleKind.Node12:
86644
+ case ts.ModuleKind.NodeNext:
86645
+ return ts.transformNodeModule;
86044
86646
  default:
86045
86647
  return ts.transformModule;
86046
86648
  }
@@ -86537,7 +87139,7 @@ var ts;
86537
87139
  return getOutputPathsForBundle(options, forceDtsPaths);
86538
87140
  }
86539
87141
  else {
86540
- var ownOutputFilePath = ts.getOwnEmitOutputFilePath(sourceFile.fileName, host, getOutputExtension(sourceFile, options));
87142
+ var ownOutputFilePath = ts.getOwnEmitOutputFilePath(sourceFile.fileName, host, getOutputExtension(sourceFile.fileName, options));
86541
87143
  var isJsonFile = ts.isJsonSourceFile(sourceFile);
86542
87144
  var isJsonEmittedToSameLocation = isJsonFile &&
86543
87145
  ts.comparePaths(sourceFile.fileName, ownOutputFilePath, host.getCurrentDirectory(), !host.useCaseSensitiveFileNames()) === 0;
@@ -86552,21 +87154,12 @@ var ts;
86552
87154
  function getSourceMapFilePath(jsFilePath, options) {
86553
87155
  return (options.sourceMap && !options.inlineSourceMap) ? jsFilePath + ".map" : undefined;
86554
87156
  }
86555
- function getOutputExtension(sourceFile, options) {
86556
- if (ts.isJsonSourceFile(sourceFile)) {
86557
- return ".json";
86558
- }
86559
- if (options.jsx === 1) {
86560
- if (ts.isSourceFileJS(sourceFile)) {
86561
- if (ts.fileExtensionIs(sourceFile.fileName, ".jsx")) {
86562
- return ".jsx";
86563
- }
86564
- }
86565
- else if (sourceFile.languageVariant === 1) {
86566
- return ".jsx";
86567
- }
86568
- }
86569
- return ".js";
87157
+ function getOutputExtension(fileName, options) {
87158
+ return ts.fileExtensionIs(fileName, ".json") ? ".json" :
87159
+ options.jsx === 1 && ts.fileExtensionIsOneOf(fileName, [".jsx", ".tsx"]) ? ".jsx" :
87160
+ ts.fileExtensionIsOneOf(fileName, [".mts", ".mjs"]) ? ".mjs" :
87161
+ ts.fileExtensionIsOneOf(fileName, [".cts", ".cjs"]) ? ".cjs" :
87162
+ ".js";
86570
87163
  }
86571
87164
  ts.getOutputExtension = getOutputExtension;
86572
87165
  function getOutputPathWithoutChangingExt(inputFileName, configFile, ignoreCase, outputDir, getCommonSourceDirectory) {
@@ -86575,19 +87168,14 @@ var ts;
86575
87168
  inputFileName;
86576
87169
  }
86577
87170
  function getOutputDeclarationFileName(inputFileName, configFile, ignoreCase, getCommonSourceDirectory) {
86578
- ts.Debug.assert(!ts.fileExtensionIs(inputFileName, ".d.ts") && !ts.fileExtensionIs(inputFileName, ".json"));
86579
- return ts.changeExtension(getOutputPathWithoutChangingExt(inputFileName, configFile, ignoreCase, configFile.options.declarationDir || configFile.options.outDir, getCommonSourceDirectory), ".d.ts");
87171
+ return ts.changeExtension(getOutputPathWithoutChangingExt(inputFileName, configFile, ignoreCase, configFile.options.declarationDir || configFile.options.outDir, getCommonSourceDirectory), ts.getDeclarationEmitExtensionForPath(inputFileName));
86580
87172
  }
86581
87173
  ts.getOutputDeclarationFileName = getOutputDeclarationFileName;
86582
87174
  function getOutputJSFileName(inputFileName, configFile, ignoreCase, getCommonSourceDirectory) {
86583
87175
  if (configFile.options.emitDeclarationOnly)
86584
87176
  return undefined;
86585
87177
  var isJsonFile = ts.fileExtensionIs(inputFileName, ".json");
86586
- var outputFileName = ts.changeExtension(getOutputPathWithoutChangingExt(inputFileName, configFile, ignoreCase, configFile.options.outDir, getCommonSourceDirectory), isJsonFile ?
86587
- ".json" :
86588
- configFile.options.jsx === 1 && (ts.fileExtensionIs(inputFileName, ".tsx") || ts.fileExtensionIs(inputFileName, ".jsx")) ?
86589
- ".jsx" :
86590
- ".js");
87178
+ var outputFileName = ts.changeExtension(getOutputPathWithoutChangingExt(inputFileName, configFile, ignoreCase, configFile.options.outDir, getCommonSourceDirectory), getOutputExtension(inputFileName, configFile.options));
86591
87179
  return !isJsonFile || ts.comparePaths(inputFileName, outputFileName, ts.Debug.checkDefined(configFile.options.configFilePath), ignoreCase) !== 0 ?
86592
87180
  outputFileName :
86593
87181
  undefined;
@@ -86651,7 +87239,7 @@ var ts;
86651
87239
  ts.getCommonSourceDirectory = getCommonSourceDirectory;
86652
87240
  function getCommonSourceDirectoryOfConfig(_a, ignoreCase) {
86653
87241
  var options = _a.options, fileNames = _a.fileNames;
86654
- return getCommonSourceDirectory(options, function () { return ts.filter(fileNames, function (file) { return !(options.noEmitForJsFiles && ts.fileExtensionIsOneOf(file, ts.supportedJSExtensions)) && !ts.fileExtensionIs(file, ".d.ts"); }); }, ts.getDirectoryPath(ts.normalizeSlashes(ts.Debug.checkDefined(options.configFilePath))), ts.createGetCanonicalFileName(!ignoreCase));
87242
+ return getCommonSourceDirectory(options, function () { return ts.filter(fileNames, function (file) { return !(options.noEmitForJsFiles && ts.fileExtensionIsOneOf(file, ts.supportedJSExtensionsFlat)) && !ts.fileExtensionIs(file, ".d.ts"); }); }, ts.getDirectoryPath(ts.normalizeSlashes(ts.Debug.checkDefined(options.configFilePath))), ts.createGetCanonicalFileName(!ignoreCase));
86655
87243
  }
86656
87244
  ts.getCommonSourceDirectoryOfConfig = getCommonSourceDirectoryOfConfig;
86657
87245
  function getAllProjectOutputs(configFile, ignoreCase) {
@@ -91400,7 +91988,7 @@ var ts;
91400
91988
  if (options.declarationDir)
91401
91989
  return false;
91402
91990
  }
91403
- else if (!ts.fileExtensionIsOneOf(fileOrDirectoryPath, ts.supportedJSExtensions)) {
91991
+ else if (!ts.fileExtensionIsOneOf(fileOrDirectoryPath, ts.supportedJSExtensionsFlat)) {
91404
91992
  return false;
91405
91993
  }
91406
91994
  var filePathWithoutExtension = ts.removeFileExtension(fileOrDirectoryPath);
@@ -91983,6 +92571,67 @@ var ts;
91983
92571
  return resolutions;
91984
92572
  }
91985
92573
  ts.loadWithLocalCache = loadWithLocalCache;
92574
+ function getModeForResolutionAtIndex(file, index) {
92575
+ if (file.impliedNodeFormat === undefined)
92576
+ return undefined;
92577
+ if (file.impliedNodeFormat !== ts.ModuleKind.ESNext) {
92578
+ var usage_1 = getModuleNameStringLiteralAt(file, index);
92579
+ if (usage_1.parent) {
92580
+ return ts.isImportCall(ts.walkUpParenthesizedExpressions(usage_1.parent)) ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS;
92581
+ }
92582
+ if (ts.some(file.statements, function (s) {
92583
+ return (ts.isImportDeclaration(s) && s.moduleSpecifier === usage_1) ||
92584
+ (ts.isImportEqualsDeclaration(s) && ts.isExternalModuleReference(s.moduleReference) && ts.skipParentheses(s.moduleReference.expression) === usage_1) ||
92585
+ (ts.isModuleDeclaration(s) && s.name === usage_1) ||
92586
+ (ts.isExportDeclaration(s) && s.moduleSpecifier === usage_1);
92587
+ })) {
92588
+ return ts.ModuleKind.CommonJS;
92589
+ }
92590
+ return ts.ModuleKind.ESNext;
92591
+ }
92592
+ var usage = getModuleNameStringLiteralAt(file, index);
92593
+ if (usage.parent) {
92594
+ return ts.isImportEqualsDeclaration(ts.walkUpParenthesizedExpressions(usage.parent).parent) ? ts.ModuleKind.CommonJS : ts.ModuleKind.ESNext;
92595
+ }
92596
+ if (ts.some(file.statements, function (s) { return ts.isImportEqualsDeclaration(s) && ts.isExternalModuleReference(s.moduleReference) && ts.skipParentheses(s.moduleReference.expression) === usage; })) {
92597
+ return ts.ModuleKind.CommonJS;
92598
+ }
92599
+ return ts.ModuleKind.ESNext;
92600
+ }
92601
+ ts.getModeForResolutionAtIndex = getModeForResolutionAtIndex;
92602
+ function getModeForUsageLocation(file, usage) {
92603
+ if (file.impliedNodeFormat === undefined)
92604
+ return undefined;
92605
+ if (file.impliedNodeFormat !== ts.ModuleKind.ESNext) {
92606
+ return ts.isImportCall(ts.walkUpParenthesizedExpressions(usage.parent)) ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS;
92607
+ }
92608
+ return ts.isImportEqualsDeclaration(ts.walkUpParenthesizedExpressions(usage.parent).parent) ? ts.ModuleKind.CommonJS : ts.ModuleKind.ESNext;
92609
+ }
92610
+ ts.getModeForUsageLocation = getModeForUsageLocation;
92611
+ function loadWithModeAwareCache(names, containingFile, containingFileName, redirectedReference, loader) {
92612
+ if (names.length === 0) {
92613
+ return [];
92614
+ }
92615
+ var resolutions = [];
92616
+ var cache = new ts.Map();
92617
+ var i = 0;
92618
+ for (var _i = 0, names_3 = names; _i < names_3.length; _i++) {
92619
+ var name = names_3[_i];
92620
+ var result = void 0;
92621
+ var mode = getModeForResolutionAtIndex(containingFile, i);
92622
+ i++;
92623
+ var cacheKey = mode !== undefined ? mode + "|" + name : name;
92624
+ if (cache.has(cacheKey)) {
92625
+ result = cache.get(cacheKey);
92626
+ }
92627
+ else {
92628
+ cache.set(cacheKey, result = loader(name, mode, containingFileName, redirectedReference));
92629
+ }
92630
+ resolutions.push(result);
92631
+ }
92632
+ return resolutions;
92633
+ }
92634
+ ts.loadWithModeAwareCache = loadWithModeAwareCache;
91986
92635
  function forEachResolvedProjectReference(resolvedProjectReferences, cb) {
91987
92636
  return forEachProjectReference(undefined, resolvedProjectReferences, function (resolvedRef, parent) { return resolvedRef && cb(resolvedRef, parent); });
91988
92637
  }
@@ -92034,7 +92683,7 @@ var ts;
92034
92683
  switch (kind) {
92035
92684
  case ts.FileIncludeKind.Import:
92036
92685
  var importLiteral = getModuleNameStringLiteralAt(file, index);
92037
- packageId = (_e = (_d = file.resolvedModules) === null || _d === void 0 ? void 0 : _d.get(importLiteral.text)) === null || _e === void 0 ? void 0 : _e.packageId;
92686
+ packageId = (_e = (_d = file.resolvedModules) === null || _d === void 0 ? void 0 : _d.get(importLiteral.text, getModeForResolutionAtIndex(file, index))) === null || _e === void 0 ? void 0 : _e.packageId;
92038
92687
  if (importLiteral.pos === -1)
92039
92688
  return { file: file, packageId: packageId, text: importLiteral.text };
92040
92689
  pos = ts.skipTrivia(file.text, importLiteral.pos);
@@ -92045,7 +92694,7 @@ var ts;
92045
92694
  break;
92046
92695
  case ts.FileIncludeKind.TypeReferenceDirective:
92047
92696
  (_b = file.typeReferenceDirectives[index], pos = _b.pos, end = _b.end);
92048
- packageId = (_g = (_f = file.resolvedTypeReferenceDirectiveNames) === null || _f === void 0 ? void 0 : _f.get(ts.toFileNameLowerCase(file.typeReferenceDirectives[index].fileName))) === null || _g === void 0 ? void 0 : _g.packageId;
92697
+ packageId = (_g = (_f = file.resolvedTypeReferenceDirectiveNames) === null || _f === void 0 ? void 0 : _f.get(ts.toFileNameLowerCase(file.typeReferenceDirectives[index].fileName), getModeForResolutionAtIndex(file, index))) === null || _g === void 0 ? void 0 : _g.packageId;
92049
92698
  break;
92050
92699
  case ts.FileIncludeKind.LibReferenceDirective:
92051
92700
  (_c = file.libReferenceDirectives[index], pos = _c.pos, end = _c.end);
@@ -92112,6 +92761,23 @@ var ts;
92112
92761
  configFileParseResult.errors;
92113
92762
  }
92114
92763
  ts.getConfigFileParsingDiagnostics = getConfigFileParsingDiagnostics;
92764
+ function getImpliedNodeFormatForFile(fileName, packageJsonInfoCache, host, options) {
92765
+ switch (ts.getEmitModuleResolutionKind(options)) {
92766
+ case ts.ModuleResolutionKind.Node12:
92767
+ case ts.ModuleResolutionKind.NodeNext:
92768
+ return ts.fileExtensionIsOneOf(fileName, [".d.mts", ".mts", ".mjs"]) ? ts.ModuleKind.ESNext :
92769
+ ts.fileExtensionIsOneOf(fileName, [".d.cts", ".cts", ".cjs"]) ? ts.ModuleKind.CommonJS :
92770
+ ts.fileExtensionIsOneOf(fileName, [".d.ts", ".ts", ".tsx", ".js", ".jsx"]) ? lookupFromPackageJson() :
92771
+ undefined;
92772
+ default:
92773
+ return undefined;
92774
+ }
92775
+ function lookupFromPackageJson() {
92776
+ var scope = ts.getPackageScopeForPath(fileName, packageJsonInfoCache, host, options);
92777
+ return (scope === null || scope === void 0 ? void 0 : scope.packageJsonContent.type) === "module" ? ts.ModuleKind.ESNext : ts.ModuleKind.CommonJS;
92778
+ }
92779
+ }
92780
+ ts.getImpliedNodeFormatForFile = getImpliedNodeFormatForFile;
92115
92781
  function shouldProgramCreateNewSourceFiles(program, newOptions) {
92116
92782
  if (!program)
92117
92783
  return false;
@@ -92127,7 +92793,7 @@ var ts;
92127
92793
  };
92128
92794
  }
92129
92795
  function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _configFileParsingDiagnostics) {
92130
- var _a, _b, _c;
92796
+ var _a, _b, _c, _d;
92131
92797
  var createProgramOptions = ts.isArray(rootNamesOrOptions) ? createCreateProgramOptions(rootNamesOrOptions, _options, _host, _oldProgram, _configFileParsingDiagnostics) : rootNamesOrOptions;
92132
92798
  var rootNames = createProgramOptions.rootNames, options = createProgramOptions.options, configFileParsingDiagnostics = createProgramOptions.configFileParsingDiagnostics, projectReferences = createProgramOptions.projectReferences;
92133
92799
  var oldProgram = createProgramOptions.oldProgram;
@@ -92159,7 +92825,7 @@ var ts;
92159
92825
  var programDiagnostics = ts.createDiagnosticCollection();
92160
92826
  var currentDirectory = host.getCurrentDirectory();
92161
92827
  var supportedExtensions = ts.getSupportedExtensions(options);
92162
- var supportedExtensionsWithJsonIfResolveJsonModule = ts.getSuppoertedExtensionsWithJsonIfResolveJsonModule(options, supportedExtensions);
92828
+ var supportedExtensionsWithJsonIfResolveJsonModule = ts.getSupportedExtensionsWithJsonIfResolveJsonModule(options, supportedExtensions);
92163
92829
  var hasEmitBlockingDiagnostics = new ts.Map();
92164
92830
  var _compilerOptionsObjectLiteralSyntax;
92165
92831
  var moduleResolutionCache;
@@ -92167,7 +92833,7 @@ var ts;
92167
92833
  var actualResolveModuleNamesWorker;
92168
92834
  var hasInvalidatedResolution = host.hasInvalidatedResolution || ts.returnFalse;
92169
92835
  if (host.resolveModuleNames) {
92170
- actualResolveModuleNamesWorker = function (moduleNames, containingFile, reusedNames, redirectedReference) { return host.resolveModuleNames(ts.Debug.checkEachDefined(moduleNames), containingFile, reusedNames, redirectedReference, options).map(function (resolved) {
92836
+ actualResolveModuleNamesWorker = function (moduleNames, containingFile, containingFileName, reusedNames, redirectedReference) { return host.resolveModuleNames(ts.Debug.checkEachDefined(moduleNames), containingFileName, reusedNames, redirectedReference, options, containingFile).map(function (resolved) {
92171
92837
  if (!resolved || resolved.extension !== undefined) {
92172
92838
  return resolved;
92173
92839
  }
@@ -92175,11 +92841,12 @@ var ts;
92175
92841
  withExtension.extension = ts.extensionFromPath(resolved.resolvedFileName);
92176
92842
  return withExtension;
92177
92843
  }); };
92844
+ moduleResolutionCache = (_a = host.getModuleResolutionCache) === null || _a === void 0 ? void 0 : _a.call(host);
92178
92845
  }
92179
92846
  else {
92180
92847
  moduleResolutionCache = ts.createModuleResolutionCache(currentDirectory, getCanonicalFileName, options);
92181
- var loader_1 = function (moduleName, containingFile, redirectedReference) { return ts.resolveModuleName(moduleName, containingFile, options, host, moduleResolutionCache, redirectedReference).resolvedModule; };
92182
- actualResolveModuleNamesWorker = function (moduleNames, containingFile, _reusedNames, redirectedReference) { return loadWithLocalCache(ts.Debug.checkEachDefined(moduleNames), containingFile, redirectedReference, loader_1); };
92848
+ var loader_1 = function (moduleName, resolverMode, containingFileName, redirectedReference) { return ts.resolveModuleName(moduleName, containingFileName, options, host, moduleResolutionCache, redirectedReference, resolverMode).resolvedModule; };
92849
+ actualResolveModuleNamesWorker = function (moduleNames, containingFile, containingFileName, _reusedNames, redirectedReference) { return loadWithModeAwareCache(ts.Debug.checkEachDefined(moduleNames), containingFile, containingFileName, redirectedReference, loader_1); };
92183
92850
  }
92184
92851
  var actualResolveTypeReferenceDirectiveNamesWorker;
92185
92852
  if (host.resolveTypeReferenceDirectives) {
@@ -92201,9 +92868,9 @@ var ts;
92201
92868
  var projectReferenceRedirects;
92202
92869
  var mapFromFileToProjectReferenceRedirects;
92203
92870
  var mapFromToProjectReferenceRedirectSource;
92204
- var useSourceOfProjectReferenceRedirect = !!((_a = host.useSourceOfProjectReferenceRedirect) === null || _a === void 0 ? void 0 : _a.call(host)) &&
92871
+ var useSourceOfProjectReferenceRedirect = !!((_b = host.useSourceOfProjectReferenceRedirect) === null || _b === void 0 ? void 0 : _b.call(host)) &&
92205
92872
  !options.disableSourceOfProjectReferenceRedirect;
92206
- var _d = updateHostForUseSourceOfProjectReferenceRedirect({
92873
+ var _e = updateHostForUseSourceOfProjectReferenceRedirect({
92207
92874
  compilerHost: host,
92208
92875
  getSymlinkCache: getSymlinkCache,
92209
92876
  useSourceOfProjectReferenceRedirect: useSourceOfProjectReferenceRedirect,
@@ -92211,7 +92878,7 @@ var ts;
92211
92878
  getResolvedProjectReferences: getResolvedProjectReferences,
92212
92879
  getSourceOfProjectReferenceRedirect: getSourceOfProjectReferenceRedirect,
92213
92880
  forEachResolvedProjectReference: forEachResolvedProjectReference
92214
- }), onProgramCreateComplete = _d.onProgramCreateComplete, fileExists = _d.fileExists, directoryExists = _d.directoryExists;
92881
+ }), onProgramCreateComplete = _e.onProgramCreateComplete, fileExists = _e.fileExists, directoryExists = _e.directoryExists;
92215
92882
  ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("program", "shouldProgramCreateNewSourceFiles", { hasOldProgram: !!oldProgram });
92216
92883
  var shouldCreateNewSourceFile = shouldProgramCreateNewSourceFiles(oldProgram, options);
92217
92884
  ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop();
@@ -92266,7 +92933,7 @@ var ts;
92266
92933
  var containingFilename = ts.combinePaths(containingDirectory, ts.inferredTypesContainingFile);
92267
92934
  var resolutions = resolveTypeReferenceDirectiveNamesWorker(typeReferences, containingFilename);
92268
92935
  for (var i = 0; i < typeReferences.length; i++) {
92269
- processTypeReferenceDirective(typeReferences[i], resolutions[i], { kind: ts.FileIncludeKind.AutomaticTypeDirectiveFile, typeReference: typeReferences[i], packageId: (_b = resolutions[i]) === null || _b === void 0 ? void 0 : _b.packageId });
92936
+ processTypeReferenceDirective(typeReferences[i], resolutions[i], { kind: ts.FileIncludeKind.AutomaticTypeDirectiveFile, typeReference: typeReferences[i], packageId: (_c = resolutions[i]) === null || _c === void 0 ? void 0 : _c.packageId });
92270
92937
  }
92271
92938
  ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop();
92272
92939
  }
@@ -92277,7 +92944,7 @@ var ts;
92277
92944
  }
92278
92945
  else {
92279
92946
  ts.forEach(options.lib, function (libFileName, index) {
92280
- processRootFile(pathForLibFile(libFileName), true, false, { kind: ts.FileIncludeKind.LibFile, index: index });
92947
+ processRootFile(ts.combinePaths(defaultLibraryPath, libFileName), true, false, { kind: ts.FileIncludeKind.LibFile, index: index });
92281
92948
  });
92282
92949
  }
92283
92950
  }
@@ -92373,7 +93040,7 @@ var ts;
92373
93040
  fileExists: fileExists,
92374
93041
  directoryExists: directoryExists,
92375
93042
  getSymlinkCache: getSymlinkCache,
92376
- realpath: (_c = host.realpath) === null || _c === void 0 ? void 0 : _c.bind(host),
93043
+ realpath: (_d = host.realpath) === null || _d === void 0 ? void 0 : _d.bind(host),
92377
93044
  useCaseSensitiveFileNames: function () { return host.useCaseSensitiveFileNames(); },
92378
93045
  getFileIncludeReasons: function () { return fileReasons; },
92379
93046
  structureIsReused: structureIsReused,
@@ -92402,7 +93069,7 @@ var ts;
92402
93069
  var redirectedReference = getRedirectReferenceForResolution(containingFile);
92403
93070
  ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.push("program", "resolveModuleNamesWorker", { containingFileName: containingFileName });
92404
93071
  ts.performance.mark("beforeResolveModule");
92405
- var result = actualResolveModuleNamesWorker(moduleNames, containingFileName, reusedNames, redirectedReference);
93072
+ var result = actualResolveModuleNamesWorker(moduleNames, containingFile, containingFileName, reusedNames, redirectedReference);
92406
93073
  ts.performance.mark("afterResolveModule");
92407
93074
  ts.performance.measure("ResolveModule", "beforeResolveModule", "afterResolveModule");
92408
93075
  ts.tracing === null || ts.tracing === void 0 ? void 0 : ts.tracing.pop();
@@ -92461,8 +93128,8 @@ var ts;
92461
93128
  }
92462
93129
  return ts.libs.length + 2;
92463
93130
  }
92464
- function getResolvedModuleWithFailedLookupLocationsFromCache(moduleName, containingFile) {
92465
- return moduleResolutionCache && ts.resolveModuleNameFromCache(moduleName, containingFile, moduleResolutionCache);
93131
+ function getResolvedModuleWithFailedLookupLocationsFromCache(moduleName, containingFile, mode) {
93132
+ return moduleResolutionCache && ts.resolveModuleNameFromCache(moduleName, containingFile, moduleResolutionCache, mode);
92466
93133
  }
92467
93134
  function toPath(fileName) {
92468
93135
  return ts.toPath(fileName, currentDirectory, getCanonicalFileName);
@@ -92493,9 +93160,11 @@ var ts;
92493
93160
  var oldSourceFile = oldProgram && oldProgram.getSourceFile(file.fileName);
92494
93161
  if (oldSourceFile !== file && file.resolvedModules) {
92495
93162
  var result_14 = [];
93163
+ var i = 0;
92496
93164
  for (var _i = 0, moduleNames_1 = moduleNames; _i < moduleNames_1.length; _i++) {
92497
93165
  var moduleName = moduleNames_1[_i];
92498
- var resolvedModule = file.resolvedModules.get(moduleName);
93166
+ var resolvedModule = file.resolvedModules.get(moduleName, getModeForResolutionAtIndex(file, i));
93167
+ i++;
92499
93168
  result_14.push(resolvedModule);
92500
93169
  }
92501
93170
  return result_14;
@@ -92507,7 +93176,7 @@ var ts;
92507
93176
  for (var i = 0; i < moduleNames.length; i++) {
92508
93177
  var moduleName = moduleNames[i];
92509
93178
  if (file === oldSourceFile && !hasInvalidatedResolution(oldSourceFile.path)) {
92510
- var oldResolvedModule = ts.getResolvedModule(oldSourceFile, moduleName);
93179
+ var oldResolvedModule = ts.getResolvedModule(oldSourceFile, moduleName, getModeForResolutionAtIndex(oldSourceFile, i));
92511
93180
  if (oldResolvedModule) {
92512
93181
  if (ts.isTraceEnabled(options, host)) {
92513
93182
  ts.trace(host, oldResolvedModule.packageId ?
@@ -92527,7 +93196,7 @@ var ts;
92527
93196
  }
92528
93197
  }
92529
93198
  else {
92530
- resolvesToAmbientModuleInNonModifiedFile = moduleNameResolvesToAmbientModuleInNonModifiedFile(moduleName);
93199
+ resolvesToAmbientModuleInNonModifiedFile = moduleNameResolvesToAmbientModuleInNonModifiedFile(moduleName, i);
92531
93200
  }
92532
93201
  if (resolvesToAmbientModuleInNonModifiedFile) {
92533
93202
  (result || (result = new Array(moduleNames.length)))[i] = predictedToResolveToAmbientModuleMarker;
@@ -92557,8 +93226,8 @@ var ts;
92557
93226
  }
92558
93227
  ts.Debug.assert(j === resolutions.length);
92559
93228
  return result;
92560
- function moduleNameResolvesToAmbientModuleInNonModifiedFile(moduleName) {
92561
- var resolutionToFile = ts.getResolvedModule(oldSourceFile, moduleName);
93229
+ function moduleNameResolvesToAmbientModuleInNonModifiedFile(moduleName, index) {
93230
+ var resolutionToFile = ts.getResolvedModule(oldSourceFile, moduleName, oldSourceFile && getModeForResolutionAtIndex(oldSourceFile, index));
92562
93231
  var resolvedFile = resolutionToFile && oldProgram.getSourceFile(resolutionToFile.resolvedFileName);
92563
93232
  if (resolutionToFile && resolvedFile) {
92564
93233
  return false;
@@ -92620,8 +93289,8 @@ var ts;
92620
93289
  for (var _i = 0, oldSourceFiles_2 = oldSourceFiles; _i < oldSourceFiles_2.length; _i++) {
92621
93290
  var oldSourceFile = oldSourceFiles_2[_i];
92622
93291
  var newSourceFile = host.getSourceFileByPath
92623
- ? host.getSourceFileByPath(oldSourceFile.fileName, oldSourceFile.resolvedPath, options.target, undefined, shouldCreateNewSourceFile)
92624
- : host.getSourceFile(oldSourceFile.fileName, options.target, undefined, shouldCreateNewSourceFile);
93292
+ ? host.getSourceFileByPath(oldSourceFile.fileName, oldSourceFile.resolvedPath, ts.getEmitScriptTarget(options), undefined, shouldCreateNewSourceFile)
93293
+ : host.getSourceFile(oldSourceFile.fileName, ts.getEmitScriptTarget(options), undefined, shouldCreateNewSourceFile);
92625
93294
  if (!newSourceFile) {
92626
93295
  return 0;
92627
93296
  }
@@ -92704,20 +93373,20 @@ var ts;
92704
93373
  var _f = modifiedSourceFiles_1[_e], oldSourceFile = _f.oldFile, newSourceFile = _f.newFile;
92705
93374
  var moduleNames = getModuleNames(newSourceFile);
92706
93375
  var resolutions = resolveModuleNamesReusingOldState(moduleNames, newSourceFile);
92707
- var resolutionsChanged = ts.hasChangesInResolutions(moduleNames, resolutions, oldSourceFile.resolvedModules, ts.moduleResolutionIsEqualTo);
93376
+ var resolutionsChanged = ts.hasChangesInResolutions(moduleNames, resolutions, oldSourceFile.resolvedModules, oldSourceFile, ts.moduleResolutionIsEqualTo);
92708
93377
  if (resolutionsChanged) {
92709
93378
  structureIsReused = 1;
92710
- newSourceFile.resolvedModules = ts.zipToMap(moduleNames, resolutions);
93379
+ newSourceFile.resolvedModules = ts.zipToModeAwareCache(newSourceFile, moduleNames, resolutions);
92711
93380
  }
92712
93381
  else {
92713
93382
  newSourceFile.resolvedModules = oldSourceFile.resolvedModules;
92714
93383
  }
92715
93384
  var typesReferenceDirectives = ts.map(newSourceFile.typeReferenceDirectives, function (ref) { return ts.toFileNameLowerCase(ref.fileName); });
92716
93385
  var typeReferenceResolutions = resolveTypeReferenceDirectiveNamesWorker(typesReferenceDirectives, newSourceFile);
92717
- var typeReferenceEesolutionsChanged = ts.hasChangesInResolutions(typesReferenceDirectives, typeReferenceResolutions, oldSourceFile.resolvedTypeReferenceDirectiveNames, ts.typeDirectiveIsEqualTo);
93386
+ var typeReferenceEesolutionsChanged = ts.hasChangesInResolutions(typesReferenceDirectives, typeReferenceResolutions, oldSourceFile.resolvedTypeReferenceDirectiveNames, oldSourceFile, ts.typeDirectiveIsEqualTo);
92718
93387
  if (typeReferenceEesolutionsChanged) {
92719
93388
  structureIsReused = 1;
92720
- newSourceFile.resolvedTypeReferenceDirectiveNames = ts.zipToMap(typesReferenceDirectives, typeReferenceResolutions);
93389
+ newSourceFile.resolvedTypeReferenceDirectiveNames = ts.zipToModeAwareCache(newSourceFile, typesReferenceDirectives, typeReferenceResolutions);
92721
93390
  }
92722
93391
  else {
92723
93392
  newSourceFile.resolvedTypeReferenceDirectiveNames = oldSourceFile.resolvedTypeReferenceDirectiveNames;
@@ -92831,7 +93500,7 @@ var ts;
92831
93500
  return equalityComparer(file.fileName, getDefaultLibraryFileName());
92832
93501
  }
92833
93502
  else {
92834
- return ts.some(options.lib, function (libFileName) { return equalityComparer(file.fileName, pathForLibFile(libFileName)); });
93503
+ return ts.some(options.lib, function (libFileName) { return equalityComparer(file.fileName, ts.combinePaths(defaultLibraryPath, libFileName)); });
92835
93504
  }
92836
93505
  }
92837
93506
  function getDiagnosticsProducingTypeChecker() {
@@ -93340,7 +94009,7 @@ var ts;
93340
94009
  var libName = ts.toFileNameLowerCase(ref.fileName);
93341
94010
  var libFileName = ts.libMap.get(libName);
93342
94011
  if (libFileName) {
93343
- return getSourceFile(pathForLibFile(libFileName));
94012
+ return getSourceFile(ts.combinePaths(defaultLibraryPath, libFileName));
93344
94013
  }
93345
94014
  }
93346
94015
  function getSourceFileFromReference(referencingFile, ref) {
@@ -93349,13 +94018,13 @@ var ts;
93349
94018
  function getSourceFileFromReferenceWorker(fileName, getSourceFile, fail, reason) {
93350
94019
  if (ts.hasExtension(fileName)) {
93351
94020
  var canonicalFileName_1 = host.getCanonicalFileName(fileName);
93352
- if (!options.allowNonTsExtensions && !ts.forEach(supportedExtensionsWithJsonIfResolveJsonModule, function (extension) { return ts.fileExtensionIs(canonicalFileName_1, extension); })) {
94021
+ if (!options.allowNonTsExtensions && !ts.forEach(ts.flatten(supportedExtensionsWithJsonIfResolveJsonModule), function (extension) { return ts.fileExtensionIs(canonicalFileName_1, extension); })) {
93353
94022
  if (fail) {
93354
94023
  if (ts.hasJSFileExtension(canonicalFileName_1)) {
93355
94024
  fail(ts.Diagnostics.File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option, fileName);
93356
94025
  }
93357
94026
  else {
93358
- fail(ts.Diagnostics.File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1, fileName, "'" + supportedExtensions.join("', '") + "'");
94027
+ fail(ts.Diagnostics.File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1, fileName, "'" + ts.flatten(supportedExtensions).join("', '") + "'");
93359
94028
  }
93360
94029
  }
93361
94030
  return undefined;
@@ -93385,9 +94054,9 @@ var ts;
93385
94054
  fail(ts.Diagnostics.File_0_not_found, fileName);
93386
94055
  return undefined;
93387
94056
  }
93388
- var sourceFileWithAddedExtension = ts.forEach(supportedExtensions, function (extension) { return getSourceFile(fileName + extension); });
94057
+ var sourceFileWithAddedExtension = ts.forEach(supportedExtensions[0], function (extension) { return getSourceFile(fileName + extension); });
93389
94058
  if (fail && !sourceFileWithAddedExtension)
93390
- fail(ts.Diagnostics.Could_not_resolve_the_path_0_with_the_extensions_Colon_1, fileName, "'" + supportedExtensions.join("', '") + "'");
94059
+ fail(ts.Diagnostics.Could_not_resolve_the_path_0_with_the_extensions_Colon_1, fileName, "'" + ts.flatten(supportedExtensions).join("', '") + "'");
93391
94060
  return sourceFileWithAddedExtension;
93392
94061
  }
93393
94062
  }
@@ -93512,7 +94181,7 @@ var ts;
93512
94181
  redirectedPath = toPath(redirect);
93513
94182
  }
93514
94183
  }
93515
- var file = host.getSourceFile(fileName, options.target, function (hostErrorMessage) { return addFilePreprocessingFileExplainingDiagnostic(undefined, reason, ts.Diagnostics.Cannot_read_file_0_Colon_1, [fileName, hostErrorMessage]); }, shouldCreateNewSourceFile);
94184
+ var file = host.getSourceFile(fileName, ts.getEmitScriptTarget(options), function (hostErrorMessage) { return addFilePreprocessingFileExplainingDiagnostic(undefined, reason, ts.Diagnostics.Cannot_read_file_0_Colon_1, [fileName, hostErrorMessage]); }, shouldCreateNewSourceFile);
93516
94185
  if (packageId) {
93517
94186
  var packageIdKey = ts.packageIdToString(packageId);
93518
94187
  var fileFromPackageId = packageIdToSourceFile.get(packageIdKey);
@@ -93537,6 +94206,7 @@ var ts;
93537
94206
  file.path = path;
93538
94207
  file.resolvedPath = toPath(fileName);
93539
94208
  file.originalFileName = originalFileName;
94209
+ file.impliedNodeFormat = getImpliedNodeFormatForFile(file.resolvedPath, moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache(), host, options);
93540
94210
  addFileIncludeReason(file, reason);
93541
94211
  if (host.useCaseSensitiveFileNames()) {
93542
94212
  var pathLowerCase = ts.toFileNameLowerCase(path);
@@ -93706,26 +94376,12 @@ var ts;
93706
94376
  resolvedTypeReferenceDirectives.set(typeReferenceDirective, resolvedTypeReferenceDirective);
93707
94377
  }
93708
94378
  }
93709
- function pathForLibFile(libFileName) {
93710
- var components = libFileName.split(".");
93711
- var path = components[1];
93712
- var i = 2;
93713
- while (components[i] && components[i] !== "d") {
93714
- path += (i === 2 ? "/" : "-") + components[i];
93715
- i++;
93716
- }
93717
- var localOverride = ts.resolveModuleName("@typescript/" + path, currentDirectory + "/fake.file", { moduleResolution: ts.ModuleResolutionKind.NodeJs }, host);
93718
- if (localOverride === null || localOverride === void 0 ? void 0 : localOverride.resolvedModule) {
93719
- return localOverride.resolvedModule.resolvedFileName;
93720
- }
93721
- return ts.combinePaths(defaultLibraryPath, libFileName);
93722
- }
93723
94379
  function processLibReferenceDirectives(file) {
93724
94380
  ts.forEach(file.libReferenceDirectives, function (libReference, index) {
93725
94381
  var libName = ts.toFileNameLowerCase(libReference.fileName);
93726
94382
  var libFileName = ts.libMap.get(libName);
93727
94383
  if (libFileName) {
93728
- processRootFile(pathForLibFile(libFileName), true, true, { kind: ts.FileIncludeKind.LibReferenceDirective, file: file.path, index: index, });
94384
+ processRootFile(ts.combinePaths(defaultLibraryPath, libFileName), true, true, { kind: ts.FileIncludeKind.LibReferenceDirective, file: file.path, index: index, });
93729
94385
  }
93730
94386
  else {
93731
94387
  var unqualifiedLibName = ts.removeSuffix(ts.removePrefix(libName, "lib."), ".d.ts");
@@ -93753,7 +94409,7 @@ var ts;
93753
94409
  var optionsForFile = (useSourceOfProjectReferenceRedirect ? (_a = getRedirectReferenceForResolution(file)) === null || _a === void 0 ? void 0 : _a.commandLine.options : undefined) || options;
93754
94410
  for (var index = 0; index < moduleNames.length; index++) {
93755
94411
  var resolution = resolutions[index];
93756
- ts.setResolvedModule(file, moduleNames[index], resolution);
94412
+ ts.setResolvedModule(file, moduleNames[index], resolution, getModeForResolutionAtIndex(file, index));
93757
94413
  if (!resolution) {
93758
94414
  continue;
93759
94415
  }
@@ -93961,7 +94617,7 @@ var ts;
93961
94617
  if (options.noImplicitUseStrict && ts.getStrictOptionValue(options, "alwaysStrict")) {
93962
94618
  createDiagnosticForOptionName(ts.Diagnostics.Option_0_cannot_be_specified_with_option_1, "noImplicitUseStrict", "alwaysStrict");
93963
94619
  }
93964
- var languageVersion = options.target || 0;
94620
+ var languageVersion = ts.getEmitScriptTarget(options);
93965
94621
  var firstNonAmbientExternalModuleSourceFile = ts.find(files, function (f) { return ts.isExternalModule(f) && !f.isDeclarationFile; });
93966
94622
  if (options.isolatedModules) {
93967
94623
  if (options.module === ts.ModuleKind.None && languageVersion < 2) {
@@ -94205,7 +94861,7 @@ var ts;
94205
94861
  message = ts.Diagnostics.File_is_library_specified_here;
94206
94862
  break;
94207
94863
  }
94208
- var target = ts.forEachEntry(ts.targetOptionDeclaration.type, function (value, key) { return value === options.target ? key : undefined; });
94864
+ var target = ts.forEachEntry(ts.targetOptionDeclaration.type, function (value, key) { return value === ts.getEmitScriptTarget(options) ? key : undefined; });
94209
94865
  configFileNode = target ? getOptionsSyntaxByValue("target", target) : undefined;
94210
94866
  message = ts.Diagnostics.File_is_default_library_for_target_specified_here;
94211
94867
  break;
@@ -94368,7 +95024,7 @@ var ts;
94368
95024
  if (options.outDir) {
94369
95025
  return ts.containsPath(options.outDir, filePath, currentDirectory, !host.useCaseSensitiveFileNames());
94370
95026
  }
94371
- if (ts.fileExtensionIsOneOf(filePath, ts.supportedJSExtensions) || ts.fileExtensionIs(filePath, ".d.ts")) {
95027
+ if (ts.fileExtensionIsOneOf(filePath, ts.supportedJSExtensionsFlat) || ts.fileExtensionIs(filePath, ".d.ts")) {
94372
95028
  var filePathWithoutExtension = ts.removeFileExtension(filePath);
94373
95029
  return !!getSourceFileByPath((filePathWithoutExtension + ".ts")) ||
94374
95030
  !!getSourceFileByPath((filePathWithoutExtension + ".tsx"));
@@ -94832,7 +95488,7 @@ var ts;
94832
95488
  }
94833
95489
  }
94834
95490
  }
94835
- fileInfos.set(sourceFile.resolvedPath, { version: version_2, signature: oldInfo && oldInfo.signature, affectsGlobalScope: isFileAffectingGlobalScope(sourceFile) || undefined });
95491
+ fileInfos.set(sourceFile.resolvedPath, { version: version_2, signature: oldInfo && oldInfo.signature, affectsGlobalScope: isFileAffectingGlobalScope(sourceFile) || undefined, impliedFormat: sourceFile.impliedNodeFormat });
94836
95492
  }
94837
95493
  return {
94838
95494
  fileInfos: fileInfos,
@@ -94900,7 +95556,7 @@ var ts;
94900
95556
  var emitOutput_1 = getFileEmitOutput(programOfThisState, sourceFile, true, cancellationToken, undefined, true);
94901
95557
  var firstDts_1 = ts.firstOrUndefined(emitOutput_1.outputFiles);
94902
95558
  if (firstDts_1) {
94903
- ts.Debug.assert(ts.fileExtensionIs(firstDts_1.name, ".d.ts"), "File extension for signature expected to be dts", function () { return "Found: " + ts.getAnyExtensionFromPath(firstDts_1.name) + " for " + firstDts_1.name + ":: All output files: " + JSON.stringify(emitOutput_1.outputFiles.map(function (f) { return f.name; })); });
95559
+ ts.Debug.assert(ts.fileExtensionIsOneOf(firstDts_1.name, [".d.ts", ".d.mts", ".d.cts"]), "File extension for signature expected to be dts", function () { return "Found: " + ts.getAnyExtensionFromPath(firstDts_1.name) + " for " + firstDts_1.name + ":: All output files: " + JSON.stringify(emitOutput_1.outputFiles.map(function (f) { return f.name; })); });
94904
95560
  latestSignature = (computeHash || ts.generateDjb2Hash)(firstDts_1.text);
94905
95561
  if (exportedModulesMapCache && latestSignature !== prevSignature) {
94906
95562
  updateExportedModules(sourceFile, emitOutput_1.exportedModulesFromDeclarationEmit, exportedModulesMapCache);
@@ -95148,6 +95804,13 @@ var ts;
95148
95804
  ts.Debug.assert(!state.seenAffectedFiles || !state.seenAffectedFiles.size);
95149
95805
  state.seenAffectedFiles = state.seenAffectedFiles || new ts.Set();
95150
95806
  }
95807
+ if (useOldState) {
95808
+ ts.forEachEntry(oldState.fileInfos, function (info, sourceFilePath) {
95809
+ if (state.fileInfos.has(sourceFilePath) && state.fileInfos.get(sourceFilePath).impliedFormat !== info.impliedFormat) {
95810
+ state.changedFilesSet.add(sourceFilePath);
95811
+ }
95812
+ });
95813
+ }
95151
95814
  state.buildInfoEmitPending = !!state.changedFilesSet.size;
95152
95815
  return state;
95153
95816
  }
@@ -95447,13 +96110,13 @@ var ts;
95447
96110
  var actualSignature = signature !== null && signature !== void 0 ? signature : value.signature;
95448
96111
  return value.version === actualSignature ?
95449
96112
  value.affectsGlobalScope ?
95450
- { version: value.version, signature: undefined, affectsGlobalScope: true } :
96113
+ { version: value.version, signature: undefined, affectsGlobalScope: true, impliedFormat: value.impliedFormat } :
95451
96114
  value.version :
95452
96115
  actualSignature !== undefined ?
95453
96116
  signature === undefined ?
95454
96117
  value :
95455
- { version: value.version, signature: signature, affectsGlobalScope: value.affectsGlobalScope } :
95456
- { version: value.version, signature: false, affectsGlobalScope: value.affectsGlobalScope };
96118
+ { version: value.version, signature: signature, affectsGlobalScope: value.affectsGlobalScope, impliedFormat: value.impliedFormat } :
96119
+ { version: value.version, signature: false, affectsGlobalScope: value.affectsGlobalScope, impliedFormat: value.impliedFormat };
95457
96120
  });
95458
96121
  var referencedMap;
95459
96122
  if (state.referencedMap) {
@@ -95806,10 +96469,10 @@ var ts;
95806
96469
  }
95807
96470
  function toBuilderStateFileInfo(fileInfo) {
95808
96471
  return ts.isString(fileInfo) ?
95809
- { version: fileInfo, signature: fileInfo, affectsGlobalScope: undefined } :
96472
+ { version: fileInfo, signature: fileInfo, affectsGlobalScope: undefined, impliedFormat: undefined } :
95810
96473
  ts.isString(fileInfo.signature) ?
95811
96474
  fileInfo :
95812
- { version: fileInfo.version, signature: fileInfo.signature === false ? undefined : fileInfo.version, affectsGlobalScope: fileInfo.affectsGlobalScope };
96475
+ { version: fileInfo.version, signature: fileInfo.signature === false ? undefined : fileInfo.version, affectsGlobalScope: fileInfo.affectsGlobalScope, impliedFormat: fileInfo.impliedFormat };
95813
96476
  }
95814
96477
  ts.toBuilderStateFileInfo = toBuilderStateFileInfo;
95815
96478
  function createBuildProgramUsingProgramBuildInfo(program, buildInfoPath, host) {
@@ -96109,14 +96772,14 @@ var ts;
96109
96772
  }
96110
96773
  function resolveNamesWithLocalCache(_a) {
96111
96774
  var _b, _c, _d;
96112
- var names = _a.names, containingFile = _a.containingFile, redirectedReference = _a.redirectedReference, cache = _a.cache, perDirectoryCacheWithRedirects = _a.perDirectoryCacheWithRedirects, loader = _a.loader, getResolutionWithResolvedFileName = _a.getResolutionWithResolvedFileName, shouldRetryResolution = _a.shouldRetryResolution, reusedNames = _a.reusedNames, logChanges = _a.logChanges;
96775
+ var names = _a.names, containingFile = _a.containingFile, redirectedReference = _a.redirectedReference, cache = _a.cache, perDirectoryCacheWithRedirects = _a.perDirectoryCacheWithRedirects, loader = _a.loader, getResolutionWithResolvedFileName = _a.getResolutionWithResolvedFileName, shouldRetryResolution = _a.shouldRetryResolution, reusedNames = _a.reusedNames, logChanges = _a.logChanges, containingSourceFile = _a.containingSourceFile;
96113
96776
  var path = resolutionHost.toPath(containingFile);
96114
- var resolutionsInFile = cache.get(path) || cache.set(path, new ts.Map()).get(path);
96777
+ var resolutionsInFile = cache.get(path) || cache.set(path, ts.createModeAwareCache()).get(path);
96115
96778
  var dirPath = ts.getDirectoryPath(path);
96116
96779
  var perDirectoryCache = perDirectoryCacheWithRedirects.getOrCreateMapOfCacheRedirects(redirectedReference);
96117
96780
  var perDirectoryResolution = perDirectoryCache.get(dirPath);
96118
96781
  if (!perDirectoryResolution) {
96119
- perDirectoryResolution = new ts.Map();
96782
+ perDirectoryResolution = ts.createModeAwareCache();
96120
96783
  perDirectoryCache.set(dirPath, perDirectoryResolution);
96121
96784
  }
96122
96785
  var resolvedModules = [];
@@ -96127,15 +96790,18 @@ var ts;
96127
96790
  var unmatchedRedirects = oldRedirect ?
96128
96791
  !redirectedReference || redirectedReference.sourceFile.path !== oldRedirect.sourceFile.path :
96129
96792
  !!redirectedReference;
96130
- var seenNamesInFile = new ts.Map();
96131
- for (var _i = 0, names_3 = names; _i < names_3.length; _i++) {
96132
- var name = names_3[_i];
96133
- var resolution = resolutionsInFile.get(name);
96134
- if (!seenNamesInFile.has(name) &&
96793
+ var seenNamesInFile = ts.createModeAwareCache();
96794
+ var i = 0;
96795
+ for (var _i = 0, names_4 = names; _i < names_4.length; _i++) {
96796
+ var name = names_4[_i];
96797
+ var mode = containingSourceFile ? ts.getModeForResolutionAtIndex(containingSourceFile, i) : undefined;
96798
+ i++;
96799
+ var resolution = resolutionsInFile.get(name, mode);
96800
+ if (!seenNamesInFile.has(name, mode) &&
96135
96801
  unmatchedRedirects || !resolution || resolution.isInvalidated ||
96136
96802
  (hasInvalidatedNonRelativeUnresolvedImport && !ts.isExternalModuleNameRelative(name) && shouldRetryResolution(resolution))) {
96137
96803
  var existingResolution = resolution;
96138
- var resolutionInDirectory = perDirectoryResolution.get(name);
96804
+ var resolutionInDirectory = perDirectoryResolution.get(name, mode);
96139
96805
  if (resolutionInDirectory) {
96140
96806
  resolution = resolutionInDirectory;
96141
96807
  var host = ((_b = resolutionHost.getCompilerHost) === null || _b === void 0 ? void 0 : _b.call(resolutionHost)) || resolutionHost;
@@ -96155,10 +96821,10 @@ var ts;
96155
96821
  }
96156
96822
  }
96157
96823
  else {
96158
- resolution = loader(name, containingFile, compilerOptions, ((_c = resolutionHost.getCompilerHost) === null || _c === void 0 ? void 0 : _c.call(resolutionHost)) || resolutionHost, redirectedReference);
96159
- perDirectoryResolution.set(name, resolution);
96824
+ resolution = loader(name, containingFile, compilerOptions, ((_c = resolutionHost.getCompilerHost) === null || _c === void 0 ? void 0 : _c.call(resolutionHost)) || resolutionHost, redirectedReference, containingSourceFile);
96825
+ perDirectoryResolution.set(name, mode, resolution);
96160
96826
  }
96161
- resolutionsInFile.set(name, resolution);
96827
+ resolutionsInFile.set(name, mode, resolution);
96162
96828
  watchFailedLookupLocationsOfExternalModuleResolutions(name, resolution, path, getResolutionWithResolvedFileName);
96163
96829
  if (existingResolution) {
96164
96830
  stopWatchFailedLookupLocationOfResolution(existingResolution, path, getResolutionWithResolvedFileName);
@@ -96170,7 +96836,7 @@ var ts;
96170
96836
  }
96171
96837
  else {
96172
96838
  var host = ((_d = resolutionHost.getCompilerHost) === null || _d === void 0 ? void 0 : _d.call(resolutionHost)) || resolutionHost;
96173
- if (ts.isTraceEnabled(compilerOptions, host) && !seenNamesInFile.has(name)) {
96839
+ if (ts.isTraceEnabled(compilerOptions, host) && !seenNamesInFile.has(name, mode)) {
96174
96840
  var resolved = getResolutionWithResolvedFileName(resolution);
96175
96841
  ts.trace(host, loader === resolveModuleName ?
96176
96842
  (resolved === null || resolved === void 0 ? void 0 : resolved.resolvedFileName) ?
@@ -96186,13 +96852,13 @@ var ts;
96186
96852
  }
96187
96853
  }
96188
96854
  ts.Debug.assert(resolution !== undefined && !resolution.isInvalidated);
96189
- seenNamesInFile.set(name, true);
96855
+ seenNamesInFile.set(name, mode, true);
96190
96856
  resolvedModules.push(getResolutionWithResolvedFileName(resolution));
96191
96857
  }
96192
- resolutionsInFile.forEach(function (resolution, name) {
96193
- if (!seenNamesInFile.has(name) && !ts.contains(reusedNames, name)) {
96858
+ resolutionsInFile.forEach(function (resolution, name, mode) {
96859
+ if (!seenNamesInFile.has(name, mode) && !ts.contains(reusedNames, name)) {
96194
96860
  stopWatchFailedLookupLocationOfResolution(resolution, path, getResolutionWithResolvedFileName);
96195
- resolutionsInFile.delete(name);
96861
+ resolutionsInFile.delete(name, mode);
96196
96862
  }
96197
96863
  });
96198
96864
  return resolvedModules;
@@ -96226,7 +96892,7 @@ var ts;
96226
96892
  shouldRetryResolution: function (resolution) { return resolution.resolvedTypeReferenceDirective === undefined; },
96227
96893
  });
96228
96894
  }
96229
- function resolveModuleNames(moduleNames, containingFile, reusedNames, redirectedReference) {
96895
+ function resolveModuleNames(moduleNames, containingFile, reusedNames, redirectedReference, containingSourceFile) {
96230
96896
  return resolveNamesWithLocalCache({
96231
96897
  names: moduleNames,
96232
96898
  containingFile: containingFile,
@@ -96238,11 +96904,14 @@ var ts;
96238
96904
  shouldRetryResolution: function (resolution) { return !resolution.resolvedModule || !ts.resolutionExtensionIsTSOrJson(resolution.resolvedModule.extension); },
96239
96905
  reusedNames: reusedNames,
96240
96906
  logChanges: logChangesWhenResolvingModule,
96907
+ containingSourceFile: containingSourceFile,
96241
96908
  });
96242
96909
  }
96243
- function getResolvedModuleWithFailedLookupLocationsFromCache(moduleName, containingFile) {
96910
+ function getResolvedModuleWithFailedLookupLocationsFromCache(moduleName, containingFile, resolutionMode) {
96244
96911
  var cache = resolvedModuleNames.get(resolutionHost.toPath(containingFile));
96245
- return cache && cache.get(moduleName);
96912
+ if (!cache)
96913
+ return undefined;
96914
+ return cache.get(moduleName, resolutionMode);
96246
96915
  }
96247
96916
  function isNodeModulesAtTypesDirectory(dirPath) {
96248
96917
  return ts.endsWith(dirPath, "/node_modules/@types");
@@ -97031,7 +97700,7 @@ var ts;
97031
97700
  function tryGetAnyFileFromPath(host, path) {
97032
97701
  if (!host.fileExists)
97033
97702
  return;
97034
- var extensions = ts.getSupportedExtensions({ allowJs: true }, [{ extension: "node", isMixedContent: false }, { extension: "json", isMixedContent: false, scriptKind: 6 }]);
97703
+ var extensions = ts.flatten(ts.getSupportedExtensions({ allowJs: true }, [{ extension: "node", isMixedContent: false }, { extension: "json", isMixedContent: false, scriptKind: 6 }]));
97035
97704
  for (var _i = 0, extensions_3 = extensions; _i < extensions_3.length; _i++) {
97036
97705
  var e = extensions_3[_i];
97037
97706
  var fullPath = path + e;
@@ -97119,6 +97788,14 @@ var ts;
97119
97788
  case ".jsx":
97120
97789
  case ".json":
97121
97790
  return ext;
97791
+ case ".d.mts":
97792
+ case ".mts":
97793
+ case ".mjs":
97794
+ return ".mjs";
97795
+ case ".d.cts":
97796
+ case ".cts":
97797
+ case ".cjs":
97798
+ return ".cjs";
97122
97799
  default:
97123
97800
  return undefined;
97124
97801
  }
@@ -97372,7 +98049,7 @@ var ts;
97372
98049
  case ts.FileIncludeKind.LibFile:
97373
98050
  if (reason.index !== undefined)
97374
98051
  return ts.chainDiagnosticMessages(undefined, ts.Diagnostics.Library_0_specified_in_compilerOptions, options.lib[reason.index]);
97375
- var target = ts.forEachEntry(ts.targetOptionDeclaration.type, function (value, key) { return value === options.target ? key : undefined; });
98052
+ var target = ts.forEachEntry(ts.targetOptionDeclaration.type, function (value, key) { return value === ts.getEmitScriptTarget(options) ? key : undefined; });
97376
98053
  return ts.chainDiagnosticMessages(undefined, target ?
97377
98054
  ts.Diagnostics.Default_library_for_target_0 :
97378
98055
  ts.Diagnostics.Default_library, target);
@@ -97760,7 +98437,7 @@ var ts;
97760
98437
  }
97761
98438
  return host.resolveModuleNames.apply(host, args);
97762
98439
  }) :
97763
- (function (moduleNames, containingFile, reusedNames, redirectedReference) { return resolutionCache.resolveModuleNames(moduleNames, containingFile, reusedNames, redirectedReference); });
98440
+ (function (moduleNames, containingFile, reusedNames, redirectedReference, _options, sourceFile) { return resolutionCache.resolveModuleNames(moduleNames, containingFile, reusedNames, redirectedReference, sourceFile); });
97764
98441
  compilerHost.resolveTypeReferenceDirectives = host.resolveTypeReferenceDirectives ?
97765
98442
  (function () {
97766
98443
  var args = [];
@@ -98406,10 +99083,11 @@ var ts;
98406
99083
  var moduleResolutionCache = !compilerHost.resolveModuleNames ? ts.createModuleResolutionCache(currentDirectory, getCanonicalFileName) : undefined;
98407
99084
  var typeReferenceDirectiveResolutionCache = !compilerHost.resolveTypeReferenceDirectives ? ts.createTypeReferenceDirectiveResolutionCache(currentDirectory, getCanonicalFileName, undefined, moduleResolutionCache === null || moduleResolutionCache === void 0 ? void 0 : moduleResolutionCache.getPackageJsonInfoCache()) : undefined;
98408
99085
  if (!compilerHost.resolveModuleNames) {
98409
- var loader_3 = function (moduleName, containingFile, redirectedReference) { return ts.resolveModuleName(moduleName, containingFile, state.projectCompilerOptions, compilerHost, moduleResolutionCache, redirectedReference).resolvedModule; };
98410
- compilerHost.resolveModuleNames = function (moduleNames, containingFile, _reusedNames, redirectedReference) {
98411
- return ts.loadWithLocalCache(ts.Debug.checkEachDefined(moduleNames), containingFile, redirectedReference, loader_3);
99086
+ var loader_3 = function (moduleName, resolverMode, containingFile, redirectedReference) { return ts.resolveModuleName(moduleName, containingFile, state.projectCompilerOptions, compilerHost, moduleResolutionCache, redirectedReference, resolverMode).resolvedModule; };
99087
+ compilerHost.resolveModuleNames = function (moduleNames, containingFile, _reusedNames, redirectedReference, _options, containingSourceFile) {
99088
+ return ts.loadWithModeAwareCache(ts.Debug.checkEachDefined(moduleNames), ts.Debug.checkDefined(containingSourceFile), containingFile, redirectedReference, loader_3);
98412
99089
  };
99090
+ compilerHost.getModuleResolutionCache = function () { return moduleResolutionCache; };
98413
99091
  }
98414
99092
  if (!compilerHost.resolveTypeReferenceDirectives) {
98415
99093
  var loader_4 = function (moduleName, containingFile, redirectedReference) { return ts.resolveTypeReferenceDirective(moduleName, containingFile, state.projectCompilerOptions, compilerHost, redirectedReference, state.typeReferenceDirectiveResolutionCache).resolvedTypeReferenceDirective; };
@@ -99767,10 +100445,10 @@ var ts;
99767
100445
  return "Definitions";
99768
100446
  }
99769
100447
  var path = file.path;
99770
- if (ts.fileExtensionIsOneOf(path, ts.supportedTSExtensions)) {
100448
+ if (ts.fileExtensionIsOneOf(path, ts.supportedTSExtensionsFlat)) {
99771
100449
  return "TypeScript";
99772
100450
  }
99773
- else if (ts.fileExtensionIsOneOf(path, ts.supportedJSExtensions)) {
100451
+ else if (ts.fileExtensionIsOneOf(path, ts.supportedJSExtensionsFlat)) {
99774
100452
  return "JavaScript";
99775
100453
  }
99776
100454
  else if (ts.fileExtensionIs(path, ".json")) {