From 3ba257fface990ec5ec59fa2bb8edd7a721e1013 Mon Sep 17 00:00:00 2001 From: Idan Goshen Date: Tue, 1 Jul 2025 01:46:33 +0300 Subject: [PATCH] fix: diagnostic message for class name 'Object' when targeting different ECMAScript versions (#61850) --- src/compiler/checker.ts | 2 +- src/compiler/diagnosticMessages.json | 2 +- tests/baselines/reference/checkForObjectTooStrict.errors.txt | 4 ++-- .../reference/exportClassNameWithObjectAMD.errors.txt | 4 ++-- .../reference/exportClassNameWithObjectCommonJS.errors.txt | 4 ++-- .../reference/exportClassNameWithObjectSystem.errors.txt | 4 ++-- .../reference/exportClassNameWithObjectUMD.errors.txt | 4 ++-- .../reference/exportDefaultClassNameWithObject.errors.txt | 4 ++-- tests/baselines/reference/instanceofOperator.errors.txt | 4 ++-- ...esAllowJsGeneratedNameCollisions(module=node16).errors.txt | 4 ++-- ...esAllowJsGeneratedNameCollisions(module=node18).errors.txt | 4 ++-- ...esAllowJsGeneratedNameCollisions(module=node20).errors.txt | 4 ++-- ...AllowJsGeneratedNameCollisions(module=nodenext).errors.txt | 4 ++-- ...deModulesGeneratedNameCollisions(module=node16).errors.txt | 4 ++-- ...deModulesGeneratedNameCollisions(module=node18).errors.txt | 4 ++-- ...deModulesGeneratedNameCollisions(module=node20).errors.txt | 4 ++-- ...ModulesGeneratedNameCollisions(module=nodenext).errors.txt | 4 ++-- 17 files changed, 32 insertions(+), 32 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 683874e2d10..16fb7b31797 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -46645,7 +46645,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { languageVersion >= ScriptTarget.ES5 && name.escapedText === "Object" && host.getEmitModuleFormatOfFile(getSourceFileOfNode(name)) < ModuleKind.ES2015 ) { - error(name, Diagnostics.Class_name_cannot_be_Object_when_targeting_ES5_with_module_0, ModuleKind[moduleKind]); // https://github.com/Microsoft/TypeScript/issues/17494 + error(name, Diagnostics.Class_name_cannot_be_Object_when_targeting_ES5_and_above_with_module_0, ModuleKind[moduleKind]); // https://github.com/Microsoft/TypeScript/issues/17494 } } diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 6e75ea72826..163de688f16 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -3423,7 +3423,7 @@ "category": "Error", "code": 2724 }, - "Class name cannot be 'Object' when targeting ES5 with module {0}.": { + "Class name cannot be 'Object' when targeting ES5 and above with module {0}.": { "category": "Error", "code": 2725 }, diff --git a/tests/baselines/reference/checkForObjectTooStrict.errors.txt b/tests/baselines/reference/checkForObjectTooStrict.errors.txt index 0a6236689f0..a4ab6e628c1 100644 --- a/tests/baselines/reference/checkForObjectTooStrict.errors.txt +++ b/tests/baselines/reference/checkForObjectTooStrict.errors.txt @@ -1,4 +1,4 @@ -checkForObjectTooStrict.ts(3,18): error TS2725: Class name cannot be 'Object' when targeting ES5 with module CommonJS. +checkForObjectTooStrict.ts(3,18): error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module CommonJS. ==== checkForObjectTooStrict.ts (1 errors) ==== @@ -6,7 +6,7 @@ checkForObjectTooStrict.ts(3,18): error TS2725: Class name cannot be 'Object' wh export class Object { ~~~~~~ -!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module CommonJS. +!!! error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module CommonJS. } diff --git a/tests/baselines/reference/exportClassNameWithObjectAMD.errors.txt b/tests/baselines/reference/exportClassNameWithObjectAMD.errors.txt index 2859e1b74a9..465856a9af9 100644 --- a/tests/baselines/reference/exportClassNameWithObjectAMD.errors.txt +++ b/tests/baselines/reference/exportClassNameWithObjectAMD.errors.txt @@ -1,8 +1,8 @@ -exportClassNameWithObjectAMD.ts(1,14): error TS2725: Class name cannot be 'Object' when targeting ES5 with module AMD. +exportClassNameWithObjectAMD.ts(1,14): error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module AMD. ==== exportClassNameWithObjectAMD.ts (1 errors) ==== export class Object {} ~~~~~~ -!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module AMD. +!!! error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module AMD. \ No newline at end of file diff --git a/tests/baselines/reference/exportClassNameWithObjectCommonJS.errors.txt b/tests/baselines/reference/exportClassNameWithObjectCommonJS.errors.txt index 6ca5af1702b..99ab5272a96 100644 --- a/tests/baselines/reference/exportClassNameWithObjectCommonJS.errors.txt +++ b/tests/baselines/reference/exportClassNameWithObjectCommonJS.errors.txt @@ -1,8 +1,8 @@ -exportClassNameWithObjectCommonJS.ts(1,14): error TS2725: Class name cannot be 'Object' when targeting ES5 with module CommonJS. +exportClassNameWithObjectCommonJS.ts(1,14): error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module CommonJS. ==== exportClassNameWithObjectCommonJS.ts (1 errors) ==== export class Object {} ~~~~~~ -!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module CommonJS. +!!! error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module CommonJS. \ No newline at end of file diff --git a/tests/baselines/reference/exportClassNameWithObjectSystem.errors.txt b/tests/baselines/reference/exportClassNameWithObjectSystem.errors.txt index f65cd27150c..e7d609e9554 100644 --- a/tests/baselines/reference/exportClassNameWithObjectSystem.errors.txt +++ b/tests/baselines/reference/exportClassNameWithObjectSystem.errors.txt @@ -1,8 +1,8 @@ -exportClassNameWithObjectSystem.ts(1,14): error TS2725: Class name cannot be 'Object' when targeting ES5 with module System. +exportClassNameWithObjectSystem.ts(1,14): error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module System. ==== exportClassNameWithObjectSystem.ts (1 errors) ==== export class Object {} ~~~~~~ -!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module System. +!!! error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module System. \ No newline at end of file diff --git a/tests/baselines/reference/exportClassNameWithObjectUMD.errors.txt b/tests/baselines/reference/exportClassNameWithObjectUMD.errors.txt index 0c41c8324d6..eaf05918ac2 100644 --- a/tests/baselines/reference/exportClassNameWithObjectUMD.errors.txt +++ b/tests/baselines/reference/exportClassNameWithObjectUMD.errors.txt @@ -1,8 +1,8 @@ -exportClassNameWithObjectUMD.ts(1,14): error TS2725: Class name cannot be 'Object' when targeting ES5 with module UMD. +exportClassNameWithObjectUMD.ts(1,14): error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module UMD. ==== exportClassNameWithObjectUMD.ts (1 errors) ==== export class Object {} ~~~~~~ -!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module UMD. +!!! error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module UMD. \ No newline at end of file diff --git a/tests/baselines/reference/exportDefaultClassNameWithObject.errors.txt b/tests/baselines/reference/exportDefaultClassNameWithObject.errors.txt index e2d9a132141..e16339e78c1 100644 --- a/tests/baselines/reference/exportDefaultClassNameWithObject.errors.txt +++ b/tests/baselines/reference/exportDefaultClassNameWithObject.errors.txt @@ -1,8 +1,8 @@ -exportDefaultClassNameWithObject.ts(1,22): error TS2725: Class name cannot be 'Object' when targeting ES5 with module CommonJS. +exportDefaultClassNameWithObject.ts(1,22): error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module CommonJS. ==== exportDefaultClassNameWithObject.ts (1 errors) ==== export default class Object {} ~~~~~~ -!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module CommonJS. +!!! error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module CommonJS. \ No newline at end of file diff --git a/tests/baselines/reference/instanceofOperator.errors.txt b/tests/baselines/reference/instanceofOperator.errors.txt index 032389a10be..76e501db77a 100644 --- a/tests/baselines/reference/instanceofOperator.errors.txt +++ b/tests/baselines/reference/instanceofOperator.errors.txt @@ -1,4 +1,4 @@ -instanceofOperator.ts(7,11): error TS2725: Class name cannot be 'Object' when targeting ES5 with module CommonJS. +instanceofOperator.ts(7,11): error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module CommonJS. instanceofOperator.ts(12,5): error TS2358: The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter. instanceofOperator.ts(15,20): error TS2359: The right-hand side of an 'instanceof' expression must be either of type 'any', a class, function, or other type assignable to the 'Function' interface type, or an object type with a 'Symbol.hasInstance' method. instanceofOperator.ts(16,23): error TS2359: The right-hand side of an 'instanceof' expression must be either of type 'any', a class, function, or other type assignable to the 'Function' interface type, or an object type with a 'Symbol.hasInstance' method. @@ -15,7 +15,7 @@ instanceofOperator.ts(21,5): error TS2358: The left-hand side of an 'instanceof' module test { class Object { } ~~~~~~ -!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module CommonJS. +!!! error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module CommonJS. var obj: Object; diff --git a/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=node16).errors.txt b/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=node16).errors.txt index 5455c109354..e58f5765801 100644 --- a/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=node16).errors.txt +++ b/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=node16).errors.txt @@ -1,6 +1,6 @@ subfolder/index.js(2,10): error TS2441: Duplicate identifier 'require'. Compiler reserves name 'require' in top level scope of a module. subfolder/index.js(3,7): error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module. -subfolder/index.js(4,7): error TS2725: Class name cannot be 'Object' when targeting ES5 with module Node16. +subfolder/index.js(4,7): error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module Node16. subfolder/index.js(5,14): error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules. @@ -14,7 +14,7 @@ subfolder/index.js(5,14): error TS1216: Identifier expected. '__esModule' is res !!! error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module. class Object {} ~~~~~~ -!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module Node16. +!!! error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module Node16. export const __esModule = false; ~~~~~~~~~~ !!! error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules. diff --git a/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=node18).errors.txt b/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=node18).errors.txt index e54f9b0f94c..a39cddb168d 100644 --- a/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=node18).errors.txt +++ b/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=node18).errors.txt @@ -1,6 +1,6 @@ subfolder/index.js(2,10): error TS2441: Duplicate identifier 'require'. Compiler reserves name 'require' in top level scope of a module. subfolder/index.js(3,7): error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module. -subfolder/index.js(4,7): error TS2725: Class name cannot be 'Object' when targeting ES5 with module Node18. +subfolder/index.js(4,7): error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module Node18. subfolder/index.js(5,14): error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules. @@ -14,7 +14,7 @@ subfolder/index.js(5,14): error TS1216: Identifier expected. '__esModule' is res !!! error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module. class Object {} ~~~~~~ -!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module Node18. +!!! error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module Node18. export const __esModule = false; ~~~~~~~~~~ !!! error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules. diff --git a/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=node20).errors.txt b/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=node20).errors.txt index 1a2f05e108c..99887ee4bc6 100644 --- a/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=node20).errors.txt +++ b/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=node20).errors.txt @@ -1,6 +1,6 @@ subfolder/index.js(2,10): error TS2441: Duplicate identifier 'require'. Compiler reserves name 'require' in top level scope of a module. subfolder/index.js(3,7): error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module. -subfolder/index.js(4,7): error TS2725: Class name cannot be 'Object' when targeting ES5 with module Node20. +subfolder/index.js(4,7): error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module Node20. subfolder/index.js(5,14): error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules. @@ -14,7 +14,7 @@ subfolder/index.js(5,14): error TS1216: Identifier expected. '__esModule' is res !!! error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module. class Object {} ~~~~~~ -!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module Node20. +!!! error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module Node20. export const __esModule = false; ~~~~~~~~~~ !!! error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules. diff --git a/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=nodenext).errors.txt b/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=nodenext).errors.txt index 609137dcd8c..fab5c6d6cc2 100644 --- a/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=nodenext).errors.txt +++ b/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=nodenext).errors.txt @@ -1,6 +1,6 @@ subfolder/index.js(2,10): error TS2441: Duplicate identifier 'require'. Compiler reserves name 'require' in top level scope of a module. subfolder/index.js(3,7): error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module. -subfolder/index.js(4,7): error TS2725: Class name cannot be 'Object' when targeting ES5 with module NodeNext. +subfolder/index.js(4,7): error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module NodeNext. subfolder/index.js(5,14): error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules. @@ -14,7 +14,7 @@ subfolder/index.js(5,14): error TS1216: Identifier expected. '__esModule' is res !!! error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module. class Object {} ~~~~~~ -!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module NodeNext. +!!! error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module NodeNext. export const __esModule = false; ~~~~~~~~~~ !!! error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules. diff --git a/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=node16).errors.txt b/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=node16).errors.txt index 534e94fccdb..c4703c00ca4 100644 --- a/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=node16).errors.txt +++ b/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=node16).errors.txt @@ -1,6 +1,6 @@ subfolder/index.ts(2,10): error TS2441: Duplicate identifier 'require'. Compiler reserves name 'require' in top level scope of a module. subfolder/index.ts(3,7): error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module. -subfolder/index.ts(4,7): error TS2725: Class name cannot be 'Object' when targeting ES5 with module Node16. +subfolder/index.ts(4,7): error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module Node16. subfolder/index.ts(5,14): error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules. @@ -14,7 +14,7 @@ subfolder/index.ts(5,14): error TS1216: Identifier expected. '__esModule' is res !!! error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module. class Object {} ~~~~~~ -!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module Node16. +!!! error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module Node16. export const __esModule = false; ~~~~~~~~~~ !!! error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules. diff --git a/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=node18).errors.txt b/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=node18).errors.txt index fe89fc2f386..96571f17bd5 100644 --- a/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=node18).errors.txt +++ b/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=node18).errors.txt @@ -1,6 +1,6 @@ subfolder/index.ts(2,10): error TS2441: Duplicate identifier 'require'. Compiler reserves name 'require' in top level scope of a module. subfolder/index.ts(3,7): error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module. -subfolder/index.ts(4,7): error TS2725: Class name cannot be 'Object' when targeting ES5 with module Node18. +subfolder/index.ts(4,7): error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module Node18. subfolder/index.ts(5,14): error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules. @@ -14,7 +14,7 @@ subfolder/index.ts(5,14): error TS1216: Identifier expected. '__esModule' is res !!! error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module. class Object {} ~~~~~~ -!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module Node18. +!!! error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module Node18. export const __esModule = false; ~~~~~~~~~~ !!! error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules. diff --git a/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=node20).errors.txt b/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=node20).errors.txt index 6f76f357487..3829d38b3eb 100644 --- a/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=node20).errors.txt +++ b/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=node20).errors.txt @@ -1,6 +1,6 @@ subfolder/index.ts(2,10): error TS2441: Duplicate identifier 'require'. Compiler reserves name 'require' in top level scope of a module. subfolder/index.ts(3,7): error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module. -subfolder/index.ts(4,7): error TS2725: Class name cannot be 'Object' when targeting ES5 with module Node20. +subfolder/index.ts(4,7): error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module Node20. subfolder/index.ts(5,14): error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules. @@ -14,7 +14,7 @@ subfolder/index.ts(5,14): error TS1216: Identifier expected. '__esModule' is res !!! error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module. class Object {} ~~~~~~ -!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module Node20. +!!! error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module Node20. export const __esModule = false; ~~~~~~~~~~ !!! error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules. diff --git a/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=nodenext).errors.txt b/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=nodenext).errors.txt index 1a1ba80e6a1..87a27397317 100644 --- a/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=nodenext).errors.txt +++ b/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=nodenext).errors.txt @@ -1,6 +1,6 @@ subfolder/index.ts(2,10): error TS2441: Duplicate identifier 'require'. Compiler reserves name 'require' in top level scope of a module. subfolder/index.ts(3,7): error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module. -subfolder/index.ts(4,7): error TS2725: Class name cannot be 'Object' when targeting ES5 with module NodeNext. +subfolder/index.ts(4,7): error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module NodeNext. subfolder/index.ts(5,14): error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules. @@ -14,7 +14,7 @@ subfolder/index.ts(5,14): error TS1216: Identifier expected. '__esModule' is res !!! error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module. class Object {} ~~~~~~ -!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module NodeNext. +!!! error TS2725: Class name cannot be 'Object' when targeting ES5 and above with module NodeNext. export const __esModule = false; ~~~~~~~~~~ !!! error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules.