typescript 5.8.0-dev.20241213 → 5.8.0-dev.20241215
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 +47 -25
- package/lib/typescript.d.ts +2 -0
- package/lib/typescript.js +55 -28
- package/package.json +2 -2
package/lib/_tsc.js
CHANGED
@@ -18,7 +18,7 @@ and limitations under the License.
|
|
18
18
|
|
19
19
|
// src/compiler/corePublic.ts
|
20
20
|
var versionMajorMinor = "5.8";
|
21
|
-
var version = `${versionMajorMinor}.0-dev.
|
21
|
+
var version = `${versionMajorMinor}.0-dev.20241215`;
|
22
22
|
|
23
23
|
// src/compiler/core.ts
|
24
24
|
var emptyArray = [];
|
@@ -3734,6 +3734,7 @@ var ModuleKind = /* @__PURE__ */ ((ModuleKind2) => {
|
|
3734
3734
|
ModuleKind2[ModuleKind2["ES2022"] = 7] = "ES2022";
|
3735
3735
|
ModuleKind2[ModuleKind2["ESNext"] = 99] = "ESNext";
|
3736
3736
|
ModuleKind2[ModuleKind2["Node16"] = 100] = "Node16";
|
3737
|
+
ModuleKind2[ModuleKind2["Node18"] = 101] = "Node18";
|
3737
3738
|
ModuleKind2[ModuleKind2["NodeNext"] = 199] = "NodeNext";
|
3738
3739
|
ModuleKind2[ModuleKind2["Preserve"] = 200] = "Preserve";
|
3739
3740
|
return ModuleKind2;
|
@@ -5952,8 +5953,8 @@ var Diagnostics = {
|
|
5952
5953
|
Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: diag(1320, 1 /* 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."),
|
5953
5954
|
Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: diag(1321, 1 /* 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."),
|
5954
5955
|
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, 1 /* 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."),
|
5955
|
-
|
5956
|
-
|
5956
|
+
Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node16_node18_or_nodenext: diag(1323, 1 /* Error */, "Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd__1323", "Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'es2022', 'esnext', 'commonjs', 'amd', 'system', 'umd', 'node16', 'node18', or 'nodenext'."),
|
5957
|
+
Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_node18_nodenext_or_preserve: diag(1324, 1 /* Error */, "Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_node18_1324", "Dynamic imports only support a second argument when the '--module' option is set to 'esnext', 'node16', 'node18', 'nodenext', or 'preserve'."),
|
5957
5958
|
Argument_of_dynamic_import_cannot_be_spread_element: diag(1325, 1 /* Error */, "Argument_of_dynamic_import_cannot_be_spread_element_1325", "Argument of dynamic import cannot be spread element."),
|
5958
5959
|
This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments: diag(1326, 1 /* Error */, "This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot__1326", "This use of 'import' is invalid. 'import()' calls can be written, but they must have parentheses and cannot have type arguments."),
|
5959
5960
|
String_literal_with_double_quotes_expected: diag(1327, 1 /* Error */, "String_literal_with_double_quotes_expected_1327", "String literal with double quotes expected."),
|
@@ -5970,7 +5971,7 @@ var Diagnostics = {
|
|
5970
5971
|
Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here: diag(1339, 1 /* 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."),
|
5971
5972
|
Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0: diag(1340, 1 /* 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}')'?"),
|
5972
5973
|
Class_constructor_may_not_be_an_accessor: diag(1341, 1 /* Error */, "Class_constructor_may_not_be_an_accessor_1341", "Class constructor may not be an accessor."),
|
5973
|
-
|
5974
|
+
The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_node18_or_nodenext: diag(1343, 1 /* Error */, "The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system__1343", "The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'es2022', 'esnext', 'system', 'node16', 'node18', or 'nodenext'."),
|
5974
5975
|
A_label_is_not_allowed_here: diag(1344, 1 /* Error */, "A_label_is_not_allowed_here_1344", "'A label is not allowed here."),
|
5975
5976
|
An_expression_of_type_void_cannot_be_tested_for_truthiness: diag(1345, 1 /* Error */, "An_expression_of_type_void_cannot_be_tested_for_truthiness_1345", "An expression of type 'void' cannot be tested for truthiness."),
|
5976
5977
|
This_parameter_is_not_allowed_with_use_strict_directive: diag(1346, 1 /* Error */, "This_parameter_is_not_allowed_with_use_strict_directive_1346", "This parameter is not allowed with 'use strict' directive."),
|
@@ -6000,7 +6001,7 @@ var Diagnostics = {
|
|
6000
6001
|
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, 1 /* 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."),
|
6001
6002
|
_0_was_imported_here: diag(1376, 3 /* Message */, "_0_was_imported_here_1376", "'{0}' was imported here."),
|
6002
6003
|
_0_was_exported_here: diag(1377, 3 /* Message */, "_0_was_exported_here_1377", "'{0}' was exported here."),
|
6003
|
-
|
6004
|
+
Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher: diag(1378, 1 /* Error */, "Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_n_1378", "Top-level 'await' expressions are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', 'node18', 'nodenext', or 'preserve', and the 'target' option is set to 'es2017' or higher."),
|
6004
6005
|
An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type: diag(1379, 1 /* 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'."),
|
6005
6006
|
An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type: diag(1380, 1 /* 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'."),
|
6006
6007
|
Unexpected_token_Did_you_mean_or_rbrace: diag(1381, 1 /* Error */, "Unexpected_token_Did_you_mean_or_rbrace_1381", "Unexpected token. Did you mean `{'}'}` or `}`?"),
|
@@ -6051,7 +6052,7 @@ var Diagnostics = {
|
|
6051
6052
|
File_redirects_to_file_0: diag(1429, 3 /* Message */, "File_redirects_to_file_0_1429", "File redirects to file '{0}'"),
|
6052
6053
|
The_file_is_in_the_program_because_Colon: diag(1430, 3 /* Message */, "The_file_is_in_the_program_because_Colon_1430", "The file is in the program because:"),
|
6053
6054
|
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, 1 /* 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."),
|
6054
|
-
|
6055
|
+
Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher: diag(1432, 1 /* Error */, "Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_nod_1432", "Top-level 'for await' loops are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', 'node18', 'nodenext', or 'preserve', and the 'target' option is set to 'es2017' or higher."),
|
6055
6056
|
Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters: diag(1433, 1 /* Error */, "Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters_1433", "Neither decorators nor modifiers may be applied to 'this' parameters."),
|
6056
6057
|
Unexpected_keyword_or_identifier: diag(1434, 1 /* Error */, "Unexpected_keyword_or_identifier_1434", "Unexpected keyword or identifier."),
|
6057
6058
|
Unknown_keyword_or_identifier_Did_you_mean_0: diag(1435, 1 /* Error */, "Unknown_keyword_or_identifier_Did_you_mean_0_1435", "Unknown keyword or identifier. Did you mean '{0}'?"),
|
@@ -6693,9 +6694,9 @@ var Diagnostics = {
|
|
6693
6694
|
Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializers: diag(2818, 1 /* Error */, "Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializer_2818", "Duplicate identifier '{0}'. Compiler reserves name '{1}' when emitting 'super' references in static initializers."),
|
6694
6695
|
Namespace_name_cannot_be_0: diag(2819, 1 /* Error */, "Namespace_name_cannot_be_0_2819", "Namespace name cannot be '{0}'."),
|
6695
6696
|
Type_0_is_not_assignable_to_type_1_Did_you_mean_2: diag(2820, 1 /* Error */, "Type_0_is_not_assignable_to_type_1_Did_you_mean_2_2820", "Type '{0}' is not assignable to type '{1}'. Did you mean '{2}'?"),
|
6696
|
-
|
6697
|
+
Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_node18_nodenext_or_preserve: diag(2821, 1 /* Error */, "Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_node18_nodenext_or_pres_2821", "Import assertions are only supported when the '--module' option is set to 'esnext', 'node18', 'nodenext', or 'preserve'."),
|
6697
6698
|
Import_assertions_cannot_be_used_with_type_only_imports_or_exports: diag(2822, 1 /* Error */, "Import_assertions_cannot_be_used_with_type_only_imports_or_exports_2822", "Import assertions cannot be used with type-only imports or exports."),
|
6698
|
-
|
6699
|
+
Import_attributes_are_only_supported_when_the_module_option_is_set_to_esnext_node18_nodenext_or_preserve: diag(2823, 1 /* Error */, "Import_attributes_are_only_supported_when_the_module_option_is_set_to_esnext_node18_nodenext_or_pres_2823", "Import attributes are only supported when the '--module' option is set to 'esnext', 'node18', 'nodenext', or 'preserve'."),
|
6699
6700
|
Cannot_find_namespace_0_Did_you_mean_1: diag(2833, 1 /* Error */, "Cannot_find_namespace_0_Did_you_mean_1_2833", "Cannot find namespace '{0}'. Did you mean '{1}'?"),
|
6700
6701
|
Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_node16_or_nodenext_Consider_adding_an_extension_to_the_import_path: diag(2834, 1 /* Error */, "Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_n_2834", "Relative import paths need explicit file extensions in ECMAScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Consider adding an extension to the import path."),
|
6701
6702
|
Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0: diag(2835, 1 /* Error */, "Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_n_2835", "Relative import paths need explicit file extensions in ECMAScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Did you mean '{0}'?"),
|
@@ -6715,7 +6716,7 @@ var Diagnostics = {
|
|
6715
6716
|
The_initializer_of_an_await_using_declaration_must_be_either_an_object_with_a_Symbol_asyncDispose_or_Symbol_dispose_method_or_be_null_or_undefined: diag(2851, 1 /* Error */, "The_initializer_of_an_await_using_declaration_must_be_either_an_object_with_a_Symbol_asyncDispose_or_2851", "The initializer of an 'await using' declaration must be either an object with a '[Symbol.asyncDispose]()' or '[Symbol.dispose]()' method, or be 'null' or 'undefined'."),
|
6716
6717
|
await_using_statements_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules: diag(2852, 1 /* Error */, "await_using_statements_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_2852", "'await using' statements are only allowed within async functions and at the top levels of modules."),
|
6717
6718
|
await_using_statements_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(2853, 1 /* Error */, "await_using_statements_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_th_2853", "'await using' statements 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."),
|
6718
|
-
|
6719
|
+
Top_level_await_using_statements_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher: diag(2854, 1 /* Error */, "Top_level_await_using_statements_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_sys_2854", "Top-level 'await using' statements are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', 'node18', 'nodenext', or 'preserve', and the 'target' option is set to 'es2017' or higher."),
|
6719
6720
|
Class_field_0_defined_by_the_parent_class_is_not_accessible_in_the_child_class_via_super: diag(2855, 1 /* Error */, "Class_field_0_defined_by_the_parent_class_is_not_accessible_in_the_child_class_via_super_2855", "Class field '{0}' defined by the parent class is not accessible in the child class via super."),
|
6720
6721
|
Import_attributes_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls: diag(2856, 1 /* Error */, "Import_attributes_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls_2856", "Import attributes are not allowed on statements that compile to CommonJS 'require' calls."),
|
6721
6722
|
Import_attributes_cannot_be_used_with_type_only_imports_or_exports: diag(2857, 1 /* Error */, "Import_attributes_cannot_be_used_with_type_only_imports_or_exports_2857", "Import attributes cannot be used with type-only imports or exports."),
|
@@ -13593,7 +13594,7 @@ function getNonAugmentationDeclaration(symbol) {
|
|
13593
13594
|
return (_a = symbol.declarations) == null ? void 0 : _a.find((d) => !isExternalModuleAugmentation(d) && !(isModuleDeclaration(d) && isGlobalScopeAugmentation(d)));
|
13594
13595
|
}
|
13595
13596
|
function isCommonJSContainingModuleKind(kind) {
|
13596
|
-
return kind === 1 /* CommonJS */ ||
|
13597
|
+
return kind === 1 /* CommonJS */ || 100 /* Node16 */ <= kind && kind <= 199 /* NodeNext */;
|
13597
13598
|
}
|
13598
13599
|
function isEffectiveExternalModule(node, compilerOptions) {
|
13599
13600
|
return isExternalModule(node) || isCommonJSContainingModuleKind(getEmitModuleKind(compilerOptions)) && !!node.commonJsModuleIndicator;
|
@@ -17821,7 +17822,7 @@ var _computedOptions = createComputedCompilerOptions({
|
|
17821
17822
|
dependencies: ["module"],
|
17822
17823
|
computeValue: (compilerOptions) => {
|
17823
17824
|
const target = compilerOptions.target === 0 /* ES3 */ ? void 0 : compilerOptions.target;
|
17824
|
-
return target ?? (compilerOptions.module === 100 /* Node16 */ && 9 /* ES2022 */ || compilerOptions.module === 199 /* NodeNext */ && 99 /* ESNext */ || 1 /* ES5 */);
|
17825
|
+
return target ?? (compilerOptions.module === 100 /* Node16 */ && 9 /* ES2022 */ || compilerOptions.module === 101 /* Node18 */ && 9 /* ES2022 */ || compilerOptions.module === 199 /* NodeNext */ && 99 /* ESNext */ || 1 /* ES5 */);
|
17825
17826
|
}
|
17826
17827
|
},
|
17827
17828
|
module: {
|
@@ -17840,6 +17841,7 @@ var _computedOptions = createComputedCompilerOptions({
|
|
17840
17841
|
moduleResolution = 2 /* Node10 */;
|
17841
17842
|
break;
|
17842
17843
|
case 100 /* Node16 */:
|
17844
|
+
case 101 /* Node18 */:
|
17843
17845
|
moduleResolution = 3 /* Node16 */;
|
17844
17846
|
break;
|
17845
17847
|
case 199 /* NodeNext */:
|
@@ -17859,7 +17861,11 @@ var _computedOptions = createComputedCompilerOptions({
|
|
17859
17861
|
moduleDetection: {
|
17860
17862
|
dependencies: ["module", "target"],
|
17861
17863
|
computeValue: (compilerOptions) => {
|
17862
|
-
|
17864
|
+
if (compilerOptions.moduleDetection !== void 0) {
|
17865
|
+
return compilerOptions.moduleDetection;
|
17866
|
+
}
|
17867
|
+
const moduleKind = _computedOptions.module.computeValue(compilerOptions);
|
17868
|
+
return 100 /* Node16 */ <= moduleKind && moduleKind <= 199 /* NodeNext */ ? 3 /* Force */ : 2 /* Auto */;
|
17863
17869
|
}
|
17864
17870
|
},
|
17865
17871
|
isolatedModules: {
|
@@ -17876,6 +17882,7 @@ var _computedOptions = createComputedCompilerOptions({
|
|
17876
17882
|
}
|
17877
17883
|
switch (_computedOptions.module.computeValue(compilerOptions)) {
|
17878
17884
|
case 100 /* Node16 */:
|
17885
|
+
case 101 /* Node18 */:
|
17879
17886
|
case 199 /* NodeNext */:
|
17880
17887
|
case 200 /* Preserve */:
|
17881
17888
|
return true;
|
@@ -18069,6 +18076,9 @@ function unusedLabelIsError(options) {
|
|
18069
18076
|
function moduleResolutionSupportsPackageJsonExportsAndImports(moduleResolution) {
|
18070
18077
|
return moduleResolution >= 3 /* Node16 */ && moduleResolution <= 99 /* NodeNext */ || moduleResolution === 100 /* Bundler */;
|
18071
18078
|
}
|
18079
|
+
function moduleSupportsImportAttributes(moduleKind) {
|
18080
|
+
return 101 /* Node18 */ <= moduleKind && moduleKind <= 199 /* NodeNext */ || moduleKind === 200 /* Preserve */ || moduleKind === 99 /* ESNext */;
|
18081
|
+
}
|
18072
18082
|
function getStrictOptionValue(compilerOptions, flag) {
|
18073
18083
|
return compilerOptions[flag] === void 0 ? !!compilerOptions.strict : !!compilerOptions[flag];
|
18074
18084
|
}
|
@@ -36434,6 +36444,7 @@ var moduleOptionDeclaration = {
|
|
36434
36444
|
es2022: 7 /* ES2022 */,
|
36435
36445
|
esnext: 99 /* ESNext */,
|
36436
36446
|
node16: 100 /* Node16 */,
|
36447
|
+
node18: 101 /* Node18 */,
|
36437
36448
|
nodenext: 199 /* NodeNext */,
|
36438
36449
|
preserve: 200 /* Preserve */
|
36439
36450
|
})),
|
@@ -76950,12 +76961,12 @@ function createTypeChecker(host) {
|
|
76950
76961
|
}
|
76951
76962
|
}
|
76952
76963
|
function checkImportMetaProperty(node) {
|
76953
|
-
if (
|
76964
|
+
if (100 /* Node16 */ <= moduleKind && moduleKind <= 199 /* NodeNext */) {
|
76954
76965
|
if (getSourceFileOfNode(node).impliedNodeFormat !== 99 /* ESNext */) {
|
76955
76966
|
error(node, Diagnostics.The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output);
|
76956
76967
|
}
|
76957
76968
|
} else if (moduleKind < 6 /* ES2020 */ && moduleKind !== 4 /* System */) {
|
76958
|
-
error(node, Diagnostics.
|
76969
|
+
error(node, Diagnostics.The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_node18_or_nodenext);
|
76959
76970
|
}
|
76960
76971
|
const file = getSourceFileOfNode(node);
|
76961
76972
|
Debug.assert(!!(file.flags & 8388608 /* PossiblyContainsImportMeta */), "Containing file is missing import meta node flag.");
|
@@ -78197,6 +78208,7 @@ function createTypeChecker(host) {
|
|
78197
78208
|
}
|
78198
78209
|
switch (moduleKind) {
|
78199
78210
|
case 100 /* Node16 */:
|
78211
|
+
case 101 /* Node18 */:
|
78200
78212
|
case 199 /* NodeNext */:
|
78201
78213
|
if (sourceFile.impliedNodeFormat === 1 /* CommonJS */) {
|
78202
78214
|
span ?? (span = getSpanOfTokenAtPosition(sourceFile, node.pos));
|
@@ -78217,7 +78229,7 @@ function createTypeChecker(host) {
|
|
78217
78229
|
// fallthrough
|
78218
78230
|
default:
|
78219
78231
|
span ?? (span = getSpanOfTokenAtPosition(sourceFile, node.pos));
|
78220
|
-
const message = isAwaitExpression(node) ? Diagnostics.
|
78232
|
+
const message = isAwaitExpression(node) ? Diagnostics.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher : Diagnostics.Top_level_await_using_statements_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher;
|
78221
78233
|
diagnostics.add(createFileDiagnostic(sourceFile, span.start, span.length, message));
|
78222
78234
|
hasError = true;
|
78223
78235
|
break;
|
@@ -85118,10 +85130,17 @@ function createTypeChecker(host) {
|
|
85118
85130
|
if (validForTypeAttributes && override) {
|
85119
85131
|
return;
|
85120
85132
|
}
|
85121
|
-
|
85122
|
-
|
85123
|
-
|
85124
|
-
|
85133
|
+
if (!moduleSupportsImportAttributes(moduleKind)) {
|
85134
|
+
return grammarErrorOnNode(
|
85135
|
+
node,
|
85136
|
+
isImportAttributes2 ? Diagnostics.Import_attributes_are_only_supported_when_the_module_option_is_set_to_esnext_node18_nodenext_or_preserve : Diagnostics.Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_node18_nodenext_or_preserve
|
85137
|
+
);
|
85138
|
+
}
|
85139
|
+
if (declaration.moduleSpecifier && getEmitSyntaxForModuleSpecifierExpression(declaration.moduleSpecifier) === 1 /* CommonJS */) {
|
85140
|
+
return grammarErrorOnNode(
|
85141
|
+
node,
|
85142
|
+
isImportAttributes2 ? Diagnostics.Import_attributes_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls : Diagnostics.Import_assertions_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls
|
85143
|
+
);
|
85125
85144
|
}
|
85126
85145
|
const isTypeOnly = isJSDocImportTag(declaration) || (isImportDeclaration(declaration) ? (_a = declaration.importClause) == null ? void 0 : _a.isTypeOnly : declaration.isTypeOnly);
|
85127
85146
|
if (isTypeOnly) {
|
@@ -85162,7 +85181,7 @@ function createTypeChecker(host) {
|
|
85162
85181
|
}
|
85163
85182
|
}
|
85164
85183
|
}
|
85165
|
-
if (!importClause.isTypeOnly && moduleKind
|
85184
|
+
if (!importClause.isTypeOnly && 101 /* Node18 */ <= moduleKind && moduleKind <= 199 /* NodeNext */ && isOnlyImportableAsDefault(node.moduleSpecifier, resolvedModule) && !hasTypeJsonImportAttribute(node)) {
|
85166
85185
|
error(node.moduleSpecifier, Diagnostics.Importing_a_JSON_file_into_an_ECMAScript_module_requires_a_type_Colon_json_import_attribute_when_module_is_set_to_0, ModuleKind[moduleKind]);
|
85167
85186
|
}
|
85168
85187
|
} else if (noUncheckedSideEffectImports && !importClause) {
|
@@ -88538,6 +88557,7 @@ function createTypeChecker(host) {
|
|
88538
88557
|
}
|
88539
88558
|
switch (moduleKind) {
|
88540
88559
|
case 100 /* Node16 */:
|
88560
|
+
case 101 /* Node18 */:
|
88541
88561
|
case 199 /* NodeNext */:
|
88542
88562
|
if (sourceFile.impliedNodeFormat === 1 /* CommonJS */) {
|
88543
88563
|
diagnostics.add(
|
@@ -88556,7 +88576,7 @@ function createTypeChecker(host) {
|
|
88556
88576
|
// fallthrough
|
88557
88577
|
default:
|
88558
88578
|
diagnostics.add(
|
88559
|
-
createDiagnosticForNode(forInOrOfStatement.awaitModifier, Diagnostics.
|
88579
|
+
createDiagnosticForNode(forInOrOfStatement.awaitModifier, Diagnostics.Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher)
|
88560
88580
|
);
|
88561
88581
|
break;
|
88562
88582
|
}
|
@@ -89159,17 +89179,17 @@ function createTypeChecker(host) {
|
|
89159
89179
|
return grammarErrorOnNode(node, Diagnostics.ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled);
|
89160
89180
|
}
|
89161
89181
|
if (moduleKind === 5 /* ES2015 */) {
|
89162
|
-
return grammarErrorOnNode(node, Diagnostics.
|
89182
|
+
return grammarErrorOnNode(node, Diagnostics.Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node16_node18_or_nodenext);
|
89163
89183
|
}
|
89164
89184
|
if (node.typeArguments) {
|
89165
89185
|
return grammarErrorOnNode(node, Diagnostics.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments);
|
89166
89186
|
}
|
89167
89187
|
const nodeArguments = node.arguments;
|
89168
|
-
if (
|
89188
|
+
if (!(100 /* Node16 */ <= moduleKind && moduleKind <= 199 /* NodeNext */) && moduleKind !== 99 /* ESNext */ && moduleKind !== 200 /* Preserve */) {
|
89169
89189
|
checkGrammarForDisallowedTrailingComma(nodeArguments);
|
89170
89190
|
if (nodeArguments.length > 1) {
|
89171
89191
|
const importAttributesArgument = nodeArguments[1];
|
89172
|
-
return grammarErrorOnNode(importAttributesArgument, Diagnostics.
|
89192
|
+
return grammarErrorOnNode(importAttributesArgument, Diagnostics.Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_node18_nodenext_or_preserve);
|
89173
89193
|
}
|
89174
89194
|
}
|
89175
89195
|
if (nodeArguments.length === 0 || nodeArguments.length > 2) {
|
@@ -114351,6 +114371,7 @@ function getModuleTransformer(moduleKind) {
|
|
114351
114371
|
case 6 /* ES2020 */:
|
114352
114372
|
case 5 /* ES2015 */:
|
114353
114373
|
case 100 /* Node16 */:
|
114374
|
+
case 101 /* Node18 */:
|
114354
114375
|
case 199 /* NodeNext */:
|
114355
114376
|
case 1 /* CommonJS */:
|
114356
114377
|
return transformImpliedNodeFormatDependentModule;
|
@@ -123593,7 +123614,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
123593
123614
|
}
|
123594
123615
|
if (ModuleKind[moduleKind] && (100 /* Node16 */ <= moduleKind && moduleKind <= 199 /* NodeNext */) && !(3 /* Node16 */ <= moduleResolution && moduleResolution <= 99 /* NodeNext */)) {
|
123595
123616
|
const moduleKindName = ModuleKind[moduleKind];
|
123596
|
-
|
123617
|
+
const moduleResolutionName = ModuleResolutionKind[moduleKindName] ? moduleKindName : "Node16";
|
123618
|
+
createOptionValueDiagnostic("moduleResolution", Diagnostics.Option_moduleResolution_must_be_set_to_0_or_left_unspecified_when_option_module_is_set_to_1, moduleResolutionName, moduleKindName);
|
123597
123619
|
} else if (ModuleResolutionKind[moduleResolution] && (3 /* Node16 */ <= moduleResolution && moduleResolution <= 99 /* NodeNext */) && !(100 /* Node16 */ <= moduleKind && moduleKind <= 199 /* NodeNext */)) {
|
123598
123620
|
const moduleResolutionName = ModuleResolutionKind[moduleResolution];
|
123599
123621
|
createOptionValueDiagnostic("module", Diagnostics.Option_module_must_be_set_to_0_when_option_moduleResolution_is_set_to_1, moduleResolutionName, moduleResolutionName);
|
package/lib/typescript.d.ts
CHANGED
@@ -2516,6 +2516,7 @@ declare namespace ts {
|
|
2516
2516
|
ES2022 = "es2022",
|
2517
2517
|
ESNext = "esnext",
|
2518
2518
|
Node16 = "node16",
|
2519
|
+
Node18 = "node18",
|
2519
2520
|
NodeNext = "nodenext",
|
2520
2521
|
Preserve = "preserve",
|
2521
2522
|
}
|
@@ -7131,6 +7132,7 @@ declare namespace ts {
|
|
7131
7132
|
ES2022 = 7,
|
7132
7133
|
ESNext = 99,
|
7133
7134
|
Node16 = 100,
|
7135
|
+
Node18 = 101,
|
7134
7136
|
NodeNext = 199,
|
7135
7137
|
Preserve = 200,
|
7136
7138
|
}
|
package/lib/typescript.js
CHANGED
@@ -1863,6 +1863,7 @@ __export(typescript_exports, {
|
|
1863
1863
|
moduleResolutionUsesNodeModules: () => moduleResolutionUsesNodeModules,
|
1864
1864
|
moduleSpecifierToValidIdentifier: () => moduleSpecifierToValidIdentifier,
|
1865
1865
|
moduleSpecifiers: () => ts_moduleSpecifiers_exports,
|
1866
|
+
moduleSupportsImportAttributes: () => moduleSupportsImportAttributes,
|
1866
1867
|
moduleSymbolToValidIdentifier: () => moduleSymbolToValidIdentifier,
|
1867
1868
|
moveEmitHelpers: () => moveEmitHelpers,
|
1868
1869
|
moveRangeEnd: () => moveRangeEnd,
|
@@ -2278,7 +2279,7 @@ module.exports = __toCommonJS(typescript_exports);
|
|
2278
2279
|
|
2279
2280
|
// src/compiler/corePublic.ts
|
2280
2281
|
var versionMajorMinor = "5.8";
|
2281
|
-
var version = `${versionMajorMinor}.0-dev.
|
2282
|
+
var version = `${versionMajorMinor}.0-dev.20241215`;
|
2282
2283
|
var Comparison = /* @__PURE__ */ ((Comparison3) => {
|
2283
2284
|
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
|
2284
2285
|
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
|
@@ -6728,6 +6729,7 @@ var ModuleKind = /* @__PURE__ */ ((ModuleKind3) => {
|
|
6728
6729
|
ModuleKind3[ModuleKind3["ES2022"] = 7] = "ES2022";
|
6729
6730
|
ModuleKind3[ModuleKind3["ESNext"] = 99] = "ESNext";
|
6730
6731
|
ModuleKind3[ModuleKind3["Node16"] = 100] = "Node16";
|
6732
|
+
ModuleKind3[ModuleKind3["Node18"] = 101] = "Node18";
|
6731
6733
|
ModuleKind3[ModuleKind3["NodeNext"] = 199] = "NodeNext";
|
6732
6734
|
ModuleKind3[ModuleKind3["Preserve"] = 200] = "Preserve";
|
6733
6735
|
return ModuleKind3;
|
@@ -9331,8 +9333,8 @@ var Diagnostics = {
|
|
9331
9333
|
Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: diag(1320, 1 /* 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."),
|
9332
9334
|
Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: diag(1321, 1 /* 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."),
|
9333
9335
|
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, 1 /* 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."),
|
9334
|
-
|
9335
|
-
|
9336
|
+
Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node16_node18_or_nodenext: diag(1323, 1 /* Error */, "Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd__1323", "Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'es2022', 'esnext', 'commonjs', 'amd', 'system', 'umd', 'node16', 'node18', or 'nodenext'."),
|
9337
|
+
Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_node18_nodenext_or_preserve: diag(1324, 1 /* Error */, "Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_node18_1324", "Dynamic imports only support a second argument when the '--module' option is set to 'esnext', 'node16', 'node18', 'nodenext', or 'preserve'."),
|
9336
9338
|
Argument_of_dynamic_import_cannot_be_spread_element: diag(1325, 1 /* Error */, "Argument_of_dynamic_import_cannot_be_spread_element_1325", "Argument of dynamic import cannot be spread element."),
|
9337
9339
|
This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments: diag(1326, 1 /* Error */, "This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot__1326", "This use of 'import' is invalid. 'import()' calls can be written, but they must have parentheses and cannot have type arguments."),
|
9338
9340
|
String_literal_with_double_quotes_expected: diag(1327, 1 /* Error */, "String_literal_with_double_quotes_expected_1327", "String literal with double quotes expected."),
|
@@ -9349,7 +9351,7 @@ var Diagnostics = {
|
|
9349
9351
|
Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here: diag(1339, 1 /* 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."),
|
9350
9352
|
Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0: diag(1340, 1 /* 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}')'?"),
|
9351
9353
|
Class_constructor_may_not_be_an_accessor: diag(1341, 1 /* Error */, "Class_constructor_may_not_be_an_accessor_1341", "Class constructor may not be an accessor."),
|
9352
|
-
|
9354
|
+
The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_node18_or_nodenext: diag(1343, 1 /* Error */, "The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system__1343", "The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'es2022', 'esnext', 'system', 'node16', 'node18', or 'nodenext'."),
|
9353
9355
|
A_label_is_not_allowed_here: diag(1344, 1 /* Error */, "A_label_is_not_allowed_here_1344", "'A label is not allowed here."),
|
9354
9356
|
An_expression_of_type_void_cannot_be_tested_for_truthiness: diag(1345, 1 /* Error */, "An_expression_of_type_void_cannot_be_tested_for_truthiness_1345", "An expression of type 'void' cannot be tested for truthiness."),
|
9355
9357
|
This_parameter_is_not_allowed_with_use_strict_directive: diag(1346, 1 /* Error */, "This_parameter_is_not_allowed_with_use_strict_directive_1346", "This parameter is not allowed with 'use strict' directive."),
|
@@ -9379,7 +9381,7 @@ var Diagnostics = {
|
|
9379
9381
|
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, 1 /* 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."),
|
9380
9382
|
_0_was_imported_here: diag(1376, 3 /* Message */, "_0_was_imported_here_1376", "'{0}' was imported here."),
|
9381
9383
|
_0_was_exported_here: diag(1377, 3 /* Message */, "_0_was_exported_here_1377", "'{0}' was exported here."),
|
9382
|
-
|
9384
|
+
Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher: diag(1378, 1 /* Error */, "Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_n_1378", "Top-level 'await' expressions are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', 'node18', 'nodenext', or 'preserve', and the 'target' option is set to 'es2017' or higher."),
|
9383
9385
|
An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type: diag(1379, 1 /* 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'."),
|
9384
9386
|
An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type: diag(1380, 1 /* 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'."),
|
9385
9387
|
Unexpected_token_Did_you_mean_or_rbrace: diag(1381, 1 /* Error */, "Unexpected_token_Did_you_mean_or_rbrace_1381", "Unexpected token. Did you mean `{'}'}` or `}`?"),
|
@@ -9430,7 +9432,7 @@ var Diagnostics = {
|
|
9430
9432
|
File_redirects_to_file_0: diag(1429, 3 /* Message */, "File_redirects_to_file_0_1429", "File redirects to file '{0}'"),
|
9431
9433
|
The_file_is_in_the_program_because_Colon: diag(1430, 3 /* Message */, "The_file_is_in_the_program_because_Colon_1430", "The file is in the program because:"),
|
9432
9434
|
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, 1 /* 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."),
|
9433
|
-
|
9435
|
+
Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher: diag(1432, 1 /* Error */, "Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_nod_1432", "Top-level 'for await' loops are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', 'node18', 'nodenext', or 'preserve', and the 'target' option is set to 'es2017' or higher."),
|
9434
9436
|
Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters: diag(1433, 1 /* Error */, "Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters_1433", "Neither decorators nor modifiers may be applied to 'this' parameters."),
|
9435
9437
|
Unexpected_keyword_or_identifier: diag(1434, 1 /* Error */, "Unexpected_keyword_or_identifier_1434", "Unexpected keyword or identifier."),
|
9436
9438
|
Unknown_keyword_or_identifier_Did_you_mean_0: diag(1435, 1 /* Error */, "Unknown_keyword_or_identifier_Did_you_mean_0_1435", "Unknown keyword or identifier. Did you mean '{0}'?"),
|
@@ -10072,9 +10074,9 @@ var Diagnostics = {
|
|
10072
10074
|
Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializers: diag(2818, 1 /* Error */, "Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializer_2818", "Duplicate identifier '{0}'. Compiler reserves name '{1}' when emitting 'super' references in static initializers."),
|
10073
10075
|
Namespace_name_cannot_be_0: diag(2819, 1 /* Error */, "Namespace_name_cannot_be_0_2819", "Namespace name cannot be '{0}'."),
|
10074
10076
|
Type_0_is_not_assignable_to_type_1_Did_you_mean_2: diag(2820, 1 /* Error */, "Type_0_is_not_assignable_to_type_1_Did_you_mean_2_2820", "Type '{0}' is not assignable to type '{1}'. Did you mean '{2}'?"),
|
10075
|
-
|
10077
|
+
Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_node18_nodenext_or_preserve: diag(2821, 1 /* Error */, "Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_node18_nodenext_or_pres_2821", "Import assertions are only supported when the '--module' option is set to 'esnext', 'node18', 'nodenext', or 'preserve'."),
|
10076
10078
|
Import_assertions_cannot_be_used_with_type_only_imports_or_exports: diag(2822, 1 /* Error */, "Import_assertions_cannot_be_used_with_type_only_imports_or_exports_2822", "Import assertions cannot be used with type-only imports or exports."),
|
10077
|
-
|
10079
|
+
Import_attributes_are_only_supported_when_the_module_option_is_set_to_esnext_node18_nodenext_or_preserve: diag(2823, 1 /* Error */, "Import_attributes_are_only_supported_when_the_module_option_is_set_to_esnext_node18_nodenext_or_pres_2823", "Import attributes are only supported when the '--module' option is set to 'esnext', 'node18', 'nodenext', or 'preserve'."),
|
10078
10080
|
Cannot_find_namespace_0_Did_you_mean_1: diag(2833, 1 /* Error */, "Cannot_find_namespace_0_Did_you_mean_1_2833", "Cannot find namespace '{0}'. Did you mean '{1}'?"),
|
10079
10081
|
Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_node16_or_nodenext_Consider_adding_an_extension_to_the_import_path: diag(2834, 1 /* Error */, "Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_n_2834", "Relative import paths need explicit file extensions in ECMAScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Consider adding an extension to the import path."),
|
10080
10082
|
Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0: diag(2835, 1 /* Error */, "Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_n_2835", "Relative import paths need explicit file extensions in ECMAScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Did you mean '{0}'?"),
|
@@ -10094,7 +10096,7 @@ var Diagnostics = {
|
|
10094
10096
|
The_initializer_of_an_await_using_declaration_must_be_either_an_object_with_a_Symbol_asyncDispose_or_Symbol_dispose_method_or_be_null_or_undefined: diag(2851, 1 /* Error */, "The_initializer_of_an_await_using_declaration_must_be_either_an_object_with_a_Symbol_asyncDispose_or_2851", "The initializer of an 'await using' declaration must be either an object with a '[Symbol.asyncDispose]()' or '[Symbol.dispose]()' method, or be 'null' or 'undefined'."),
|
10095
10097
|
await_using_statements_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules: diag(2852, 1 /* Error */, "await_using_statements_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_2852", "'await using' statements are only allowed within async functions and at the top levels of modules."),
|
10096
10098
|
await_using_statements_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(2853, 1 /* Error */, "await_using_statements_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_th_2853", "'await using' statements 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."),
|
10097
|
-
|
10099
|
+
Top_level_await_using_statements_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher: diag(2854, 1 /* Error */, "Top_level_await_using_statements_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_sys_2854", "Top-level 'await using' statements are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', 'node18', 'nodenext', or 'preserve', and the 'target' option is set to 'es2017' or higher."),
|
10098
10100
|
Class_field_0_defined_by_the_parent_class_is_not_accessible_in_the_child_class_via_super: diag(2855, 1 /* Error */, "Class_field_0_defined_by_the_parent_class_is_not_accessible_in_the_child_class_via_super_2855", "Class field '{0}' defined by the parent class is not accessible in the child class via super."),
|
10099
10101
|
Import_attributes_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls: diag(2856, 1 /* Error */, "Import_attributes_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls_2856", "Import attributes are not allowed on statements that compile to CommonJS 'require' calls."),
|
10100
10102
|
Import_attributes_cannot_be_used_with_type_only_imports_or_exports: diag(2857, 1 /* Error */, "Import_attributes_cannot_be_used_with_type_only_imports_or_exports_2857", "Import attributes cannot be used with type-only imports or exports."),
|
@@ -17226,7 +17228,7 @@ function getNonAugmentationDeclaration(symbol) {
|
|
17226
17228
|
return (_a = symbol.declarations) == null ? void 0 : _a.find((d) => !isExternalModuleAugmentation(d) && !(isModuleDeclaration(d) && isGlobalScopeAugmentation(d)));
|
17227
17229
|
}
|
17228
17230
|
function isCommonJSContainingModuleKind(kind) {
|
17229
|
-
return kind === 1 /* CommonJS */ ||
|
17231
|
+
return kind === 1 /* CommonJS */ || 100 /* Node16 */ <= kind && kind <= 199 /* NodeNext */;
|
17230
17232
|
}
|
17231
17233
|
function isEffectiveExternalModule(node, compilerOptions) {
|
17232
17234
|
return isExternalModule(node) || isCommonJSContainingModuleKind(getEmitModuleKind(compilerOptions)) && !!node.commonJsModuleIndicator;
|
@@ -21771,7 +21773,7 @@ var _computedOptions = createComputedCompilerOptions({
|
|
21771
21773
|
dependencies: ["module"],
|
21772
21774
|
computeValue: (compilerOptions) => {
|
21773
21775
|
const target = compilerOptions.target === 0 /* ES3 */ ? void 0 : compilerOptions.target;
|
21774
|
-
return target ?? (compilerOptions.module === 100 /* Node16 */ && 9 /* ES2022 */ || compilerOptions.module === 199 /* NodeNext */ && 99 /* ESNext */ || 1 /* ES5 */);
|
21776
|
+
return target ?? (compilerOptions.module === 100 /* Node16 */ && 9 /* ES2022 */ || compilerOptions.module === 101 /* Node18 */ && 9 /* ES2022 */ || compilerOptions.module === 199 /* NodeNext */ && 99 /* ESNext */ || 1 /* ES5 */);
|
21775
21777
|
}
|
21776
21778
|
},
|
21777
21779
|
module: {
|
@@ -21790,6 +21792,7 @@ var _computedOptions = createComputedCompilerOptions({
|
|
21790
21792
|
moduleResolution = 2 /* Node10 */;
|
21791
21793
|
break;
|
21792
21794
|
case 100 /* Node16 */:
|
21795
|
+
case 101 /* Node18 */:
|
21793
21796
|
moduleResolution = 3 /* Node16 */;
|
21794
21797
|
break;
|
21795
21798
|
case 199 /* NodeNext */:
|
@@ -21809,7 +21812,11 @@ var _computedOptions = createComputedCompilerOptions({
|
|
21809
21812
|
moduleDetection: {
|
21810
21813
|
dependencies: ["module", "target"],
|
21811
21814
|
computeValue: (compilerOptions) => {
|
21812
|
-
|
21815
|
+
if (compilerOptions.moduleDetection !== void 0) {
|
21816
|
+
return compilerOptions.moduleDetection;
|
21817
|
+
}
|
21818
|
+
const moduleKind = _computedOptions.module.computeValue(compilerOptions);
|
21819
|
+
return 100 /* Node16 */ <= moduleKind && moduleKind <= 199 /* NodeNext */ ? 3 /* Force */ : 2 /* Auto */;
|
21813
21820
|
}
|
21814
21821
|
},
|
21815
21822
|
isolatedModules: {
|
@@ -21826,6 +21833,7 @@ var _computedOptions = createComputedCompilerOptions({
|
|
21826
21833
|
}
|
21827
21834
|
switch (_computedOptions.module.computeValue(compilerOptions)) {
|
21828
21835
|
case 100 /* Node16 */:
|
21836
|
+
case 101 /* Node18 */:
|
21829
21837
|
case 199 /* NodeNext */:
|
21830
21838
|
case 200 /* Preserve */:
|
21831
21839
|
return true;
|
@@ -22019,6 +22027,9 @@ function unusedLabelIsError(options) {
|
|
22019
22027
|
function moduleResolutionSupportsPackageJsonExportsAndImports(moduleResolution) {
|
22020
22028
|
return moduleResolution >= 3 /* Node16 */ && moduleResolution <= 99 /* NodeNext */ || moduleResolution === 100 /* Bundler */;
|
22021
22029
|
}
|
22030
|
+
function moduleSupportsImportAttributes(moduleKind) {
|
22031
|
+
return 101 /* Node18 */ <= moduleKind && moduleKind <= 199 /* NodeNext */ || moduleKind === 200 /* Preserve */ || moduleKind === 99 /* ESNext */;
|
22032
|
+
}
|
22022
22033
|
function getStrictOptionValue(compilerOptions, flag) {
|
22023
22034
|
return compilerOptions[flag] === void 0 ? !!compilerOptions.strict : !!compilerOptions[flag];
|
22024
22035
|
}
|
@@ -40687,6 +40698,7 @@ var moduleOptionDeclaration = {
|
|
40687
40698
|
es2022: 7 /* ES2022 */,
|
40688
40699
|
esnext: 99 /* ESNext */,
|
40689
40700
|
node16: 100 /* Node16 */,
|
40701
|
+
node18: 101 /* Node18 */,
|
40690
40702
|
nodenext: 199 /* NodeNext */,
|
40691
40703
|
preserve: 200 /* Preserve */
|
40692
40704
|
})),
|
@@ -81553,12 +81565,12 @@ function createTypeChecker(host) {
|
|
81553
81565
|
}
|
81554
81566
|
}
|
81555
81567
|
function checkImportMetaProperty(node) {
|
81556
|
-
if (
|
81568
|
+
if (100 /* Node16 */ <= moduleKind && moduleKind <= 199 /* NodeNext */) {
|
81557
81569
|
if (getSourceFileOfNode(node).impliedNodeFormat !== 99 /* ESNext */) {
|
81558
81570
|
error2(node, Diagnostics.The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output);
|
81559
81571
|
}
|
81560
81572
|
} else if (moduleKind < 6 /* ES2020 */ && moduleKind !== 4 /* System */) {
|
81561
|
-
error2(node, Diagnostics.
|
81573
|
+
error2(node, Diagnostics.The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_node18_or_nodenext);
|
81562
81574
|
}
|
81563
81575
|
const file = getSourceFileOfNode(node);
|
81564
81576
|
Debug.assert(!!(file.flags & 8388608 /* PossiblyContainsImportMeta */), "Containing file is missing import meta node flag.");
|
@@ -82800,6 +82812,7 @@ function createTypeChecker(host) {
|
|
82800
82812
|
}
|
82801
82813
|
switch (moduleKind) {
|
82802
82814
|
case 100 /* Node16 */:
|
82815
|
+
case 101 /* Node18 */:
|
82803
82816
|
case 199 /* NodeNext */:
|
82804
82817
|
if (sourceFile.impliedNodeFormat === 1 /* CommonJS */) {
|
82805
82818
|
span ?? (span = getSpanOfTokenAtPosition(sourceFile, node.pos));
|
@@ -82820,7 +82833,7 @@ function createTypeChecker(host) {
|
|
82820
82833
|
// fallthrough
|
82821
82834
|
default:
|
82822
82835
|
span ?? (span = getSpanOfTokenAtPosition(sourceFile, node.pos));
|
82823
|
-
const message = isAwaitExpression(node) ? Diagnostics.
|
82836
|
+
const message = isAwaitExpression(node) ? Diagnostics.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher : Diagnostics.Top_level_await_using_statements_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher;
|
82824
82837
|
diagnostics.add(createFileDiagnostic(sourceFile, span.start, span.length, message));
|
82825
82838
|
hasError = true;
|
82826
82839
|
break;
|
@@ -89721,10 +89734,17 @@ function createTypeChecker(host) {
|
|
89721
89734
|
if (validForTypeAttributes && override) {
|
89722
89735
|
return;
|
89723
89736
|
}
|
89724
|
-
|
89725
|
-
|
89726
|
-
|
89727
|
-
|
89737
|
+
if (!moduleSupportsImportAttributes(moduleKind)) {
|
89738
|
+
return grammarErrorOnNode(
|
89739
|
+
node,
|
89740
|
+
isImportAttributes2 ? Diagnostics.Import_attributes_are_only_supported_when_the_module_option_is_set_to_esnext_node18_nodenext_or_preserve : Diagnostics.Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_node18_nodenext_or_preserve
|
89741
|
+
);
|
89742
|
+
}
|
89743
|
+
if (declaration.moduleSpecifier && getEmitSyntaxForModuleSpecifierExpression(declaration.moduleSpecifier) === 1 /* CommonJS */) {
|
89744
|
+
return grammarErrorOnNode(
|
89745
|
+
node,
|
89746
|
+
isImportAttributes2 ? Diagnostics.Import_attributes_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls : Diagnostics.Import_assertions_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls
|
89747
|
+
);
|
89728
89748
|
}
|
89729
89749
|
const isTypeOnly = isJSDocImportTag(declaration) || (isImportDeclaration(declaration) ? (_a = declaration.importClause) == null ? void 0 : _a.isTypeOnly : declaration.isTypeOnly);
|
89730
89750
|
if (isTypeOnly) {
|
@@ -89765,7 +89785,7 @@ function createTypeChecker(host) {
|
|
89765
89785
|
}
|
89766
89786
|
}
|
89767
89787
|
}
|
89768
|
-
if (!importClause.isTypeOnly && moduleKind
|
89788
|
+
if (!importClause.isTypeOnly && 101 /* Node18 */ <= moduleKind && moduleKind <= 199 /* NodeNext */ && isOnlyImportableAsDefault(node.moduleSpecifier, resolvedModule) && !hasTypeJsonImportAttribute(node)) {
|
89769
89789
|
error2(node.moduleSpecifier, Diagnostics.Importing_a_JSON_file_into_an_ECMAScript_module_requires_a_type_Colon_json_import_attribute_when_module_is_set_to_0, ModuleKind[moduleKind]);
|
89770
89790
|
}
|
89771
89791
|
} else if (noUncheckedSideEffectImports && !importClause) {
|
@@ -93141,6 +93161,7 @@ function createTypeChecker(host) {
|
|
93141
93161
|
}
|
93142
93162
|
switch (moduleKind) {
|
93143
93163
|
case 100 /* Node16 */:
|
93164
|
+
case 101 /* Node18 */:
|
93144
93165
|
case 199 /* NodeNext */:
|
93145
93166
|
if (sourceFile.impliedNodeFormat === 1 /* CommonJS */) {
|
93146
93167
|
diagnostics.add(
|
@@ -93159,7 +93180,7 @@ function createTypeChecker(host) {
|
|
93159
93180
|
// fallthrough
|
93160
93181
|
default:
|
93161
93182
|
diagnostics.add(
|
93162
|
-
createDiagnosticForNode(forInOrOfStatement.awaitModifier, Diagnostics.
|
93183
|
+
createDiagnosticForNode(forInOrOfStatement.awaitModifier, Diagnostics.Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher)
|
93163
93184
|
);
|
93164
93185
|
break;
|
93165
93186
|
}
|
@@ -93762,17 +93783,17 @@ function createTypeChecker(host) {
|
|
93762
93783
|
return grammarErrorOnNode(node, Diagnostics.ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled);
|
93763
93784
|
}
|
93764
93785
|
if (moduleKind === 5 /* ES2015 */) {
|
93765
|
-
return grammarErrorOnNode(node, Diagnostics.
|
93786
|
+
return grammarErrorOnNode(node, Diagnostics.Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node16_node18_or_nodenext);
|
93766
93787
|
}
|
93767
93788
|
if (node.typeArguments) {
|
93768
93789
|
return grammarErrorOnNode(node, Diagnostics.This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments);
|
93769
93790
|
}
|
93770
93791
|
const nodeArguments = node.arguments;
|
93771
|
-
if (
|
93792
|
+
if (!(100 /* Node16 */ <= moduleKind && moduleKind <= 199 /* NodeNext */) && moduleKind !== 99 /* ESNext */ && moduleKind !== 200 /* Preserve */) {
|
93772
93793
|
checkGrammarForDisallowedTrailingComma(nodeArguments);
|
93773
93794
|
if (nodeArguments.length > 1) {
|
93774
93795
|
const importAttributesArgument = nodeArguments[1];
|
93775
|
-
return grammarErrorOnNode(importAttributesArgument, Diagnostics.
|
93796
|
+
return grammarErrorOnNode(importAttributesArgument, Diagnostics.Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_node18_nodenext_or_preserve);
|
93776
93797
|
}
|
93777
93798
|
}
|
93778
93799
|
if (nodeArguments.length === 0 || nodeArguments.length > 2) {
|
@@ -119136,6 +119157,7 @@ function getModuleTransformer(moduleKind) {
|
|
119136
119157
|
case 6 /* ES2020 */:
|
119137
119158
|
case 5 /* ES2015 */:
|
119138
119159
|
case 100 /* Node16 */:
|
119160
|
+
case 101 /* Node18 */:
|
119139
119161
|
case 199 /* NodeNext */:
|
119140
119162
|
case 1 /* CommonJS */:
|
119141
119163
|
return transformImpliedNodeFormatDependentModule;
|
@@ -128435,7 +128457,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
128435
128457
|
}
|
128436
128458
|
if (ModuleKind[moduleKind] && (100 /* Node16 */ <= moduleKind && moduleKind <= 199 /* NodeNext */) && !(3 /* Node16 */ <= moduleResolution && moduleResolution <= 99 /* NodeNext */)) {
|
128437
128459
|
const moduleKindName = ModuleKind[moduleKind];
|
128438
|
-
|
128460
|
+
const moduleResolutionName = ModuleResolutionKind[moduleKindName] ? moduleKindName : "Node16";
|
128461
|
+
createOptionValueDiagnostic("moduleResolution", Diagnostics.Option_moduleResolution_must_be_set_to_0_or_left_unspecified_when_option_module_is_set_to_1, moduleResolutionName, moduleKindName);
|
128439
128462
|
} else if (ModuleResolutionKind[moduleResolution] && (3 /* Node16 */ <= moduleResolution && moduleResolution <= 99 /* NodeNext */) && !(100 /* Node16 */ <= moduleKind && moduleKind <= 199 /* NodeNext */)) {
|
128440
128463
|
const moduleResolutionName = ModuleResolutionKind[moduleResolution];
|
128441
128464
|
createOptionValueDiagnostic("module", Diagnostics.Option_module_must_be_set_to_0_when_option_moduleResolution_is_set_to_1, moduleResolutionName, moduleResolutionName);
|
@@ -158432,6 +158455,7 @@ function getUmdImportKind(importingFile, program, forceImportKeyword) {
|
|
158432
158455
|
case 200 /* Preserve */:
|
158433
158456
|
return 2 /* Namespace */;
|
158434
158457
|
case 100 /* Node16 */:
|
158458
|
+
case 101 /* Node18 */:
|
158435
158459
|
case 199 /* NodeNext */:
|
158436
158460
|
return getImpliedNodeFormatForEmit(importingFile, program) === 99 /* ESNext */ ? 2 /* Namespace */ : 3 /* CommonJS */;
|
158437
158461
|
default:
|
@@ -160989,9 +161013,9 @@ function getSuggestion(messageText) {
|
|
160989
161013
|
// src/services/codefixes/fixModuleAndTargetOptions.ts
|
160990
161014
|
registerCodeFix({
|
160991
161015
|
errorCodes: [
|
160992
|
-
Diagnostics.
|
160993
|
-
Diagnostics.
|
160994
|
-
Diagnostics.
|
161016
|
+
Diagnostics.Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher.code,
|
161017
|
+
Diagnostics.Top_level_await_using_statements_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher.code,
|
161018
|
+
Diagnostics.Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_node18_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher.code
|
160995
161019
|
],
|
160996
161020
|
getCodeActions: function getCodeActionsToFixModuleAndTarget(context) {
|
160997
161021
|
const compilerOptions = context.program.getCompilerOptions();
|
@@ -184020,6 +184044,7 @@ __export(ts_exports2, {
|
|
184020
184044
|
moduleResolutionUsesNodeModules: () => moduleResolutionUsesNodeModules,
|
184021
184045
|
moduleSpecifierToValidIdentifier: () => moduleSpecifierToValidIdentifier,
|
184022
184046
|
moduleSpecifiers: () => ts_moduleSpecifiers_exports,
|
184047
|
+
moduleSupportsImportAttributes: () => moduleSupportsImportAttributes,
|
184023
184048
|
moduleSymbolToValidIdentifier: () => moduleSymbolToValidIdentifier,
|
184024
184049
|
moveEmitHelpers: () => moveEmitHelpers,
|
184025
184050
|
moveRangeEnd: () => moveRangeEnd,
|
@@ -185394,6 +185419,7 @@ var ModuleKind2 = /* @__PURE__ */ ((ModuleKind3) => {
|
|
185394
185419
|
ModuleKind3["ES2022"] = "es2022";
|
185395
185420
|
ModuleKind3["ESNext"] = "esnext";
|
185396
185421
|
ModuleKind3["Node16"] = "node16";
|
185422
|
+
ModuleKind3["Node18"] = "node18";
|
185397
185423
|
ModuleKind3["NodeNext"] = "nodenext";
|
185398
185424
|
ModuleKind3["Preserve"] = "preserve";
|
185399
185425
|
return ModuleKind3;
|
@@ -198767,6 +198793,7 @@ if (typeof console !== "undefined") {
|
|
198767
198793
|
moduleResolutionUsesNodeModules,
|
198768
198794
|
moduleSpecifierToValidIdentifier,
|
198769
198795
|
moduleSpecifiers,
|
198796
|
+
moduleSupportsImportAttributes,
|
198770
198797
|
moduleSymbolToValidIdentifier,
|
198771
198798
|
moveEmitHelpers,
|
198772
198799
|
moveRangeEnd,
|
package/package.json
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
"name": "typescript",
|
3
3
|
"author": "Microsoft Corp.",
|
4
4
|
"homepage": "https://www.typescriptlang.org/",
|
5
|
-
"version": "5.8.0-dev.
|
5
|
+
"version": "5.8.0-dev.20241215",
|
6
6
|
"license": "Apache-2.0",
|
7
7
|
"description": "TypeScript is a language for application scale JavaScript development",
|
8
8
|
"keywords": [
|
@@ -116,5 +116,5 @@
|
|
116
116
|
"node": "20.1.0",
|
117
117
|
"npm": "8.19.4"
|
118
118
|
},
|
119
|
-
"gitHead": "
|
119
|
+
"gitHead": "f69580f82146bebfb2bee8c7b8666af0e04c7e34"
|
120
120
|
}
|