Skip to content

Commit 372bbfd

Browse files
committed
feat: explicitly ban --isolatedModules --preserveConstEnums false
1 parent 9e6886c commit 372bbfd

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

src/compiler/diagnosticMessages.json

+4
Original file line numberDiff line numberDiff line change
@@ -3789,6 +3789,10 @@
37893789
"category": "Error",
37903790
"code": 5090
37913791
},
3792+
"Option 'isolatedModules' requires 'preserveConstEnum', as constants are not inlined in this mode.": {
3793+
"category": "Error",
3794+
"code": 5091
3795+
},
37923796

37933797
"Generates a sourcemap for each corresponding '.d.ts' file.": {
37943798
"category": "Message",

src/compiler/program.ts

+4
Original file line numberDiff line numberDiff line change
@@ -3156,6 +3156,10 @@ namespace ts {
31563156
createDiagnosticForOptionName(Diagnostics.Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher, "isolatedModules", "target");
31573157
}
31583158

3159+
if (options.preserveConstEnums === false) {
3160+
createDiagnosticForOptionName(Diagnostics.Option_isolatedModules_requires_preserveConstEnum_as_constants_are_not_inlined_in_this_mode, "isolatedModules", "preserveConstEnums");
3161+
}
3162+
31593163
const firstNonExternalModuleSourceFile = find(files, f => !isExternalModule(f) && !isSourceFileJS(f) && !f.isDeclarationFile && f.scriptKind !== ScriptKind.JSON);
31603164
if (firstNonExternalModuleSourceFile) {
31613165
const span = getErrorSpanForNode(firstNonExternalModuleSourceFile, firstNonExternalModuleSourceFile);

0 commit comments

Comments
 (0)