From eb25893c043b38be234d10a392c3e0ab72bc7a84 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Sat, 8 Nov 2025 22:56:55 -0800 Subject: [PATCH 1/3] Fix moduleDetection for node18 --- internal/core/compileroptions.go | 7 +++---- ...hTypesReferenceWithMissingExports(module=node18).js | 2 ++ ...sReferenceWithMissingExports(module=node18).js.diff | 10 ---------- ...odeModulesAllowJsExportAssignment(module=node18).js | 2 ++ ...dulesAllowJsExportAssignment(module=node18).js.diff | 8 ++++---- 5 files changed, 11 insertions(+), 18 deletions(-) delete mode 100644 testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=node18).js.diff diff --git a/internal/core/compileroptions.go b/internal/core/compileroptions.go index 28e1a797e5..2f41f64dd6 100644 --- a/internal/core/compileroptions.go +++ b/internal/core/compileroptions.go @@ -232,12 +232,11 @@ func (options *CompilerOptions) GetEmitModuleDetectionKind() ModuleDetectionKind if options.ModuleDetection != ModuleDetectionKindNone { return options.ModuleDetection } - switch options.GetEmitModuleKind() { - case ModuleKindNode16, ModuleKindNode20, ModuleKindNodeNext: + moduleKind := options.GetEmitModuleKind() + if ModuleKindNode16 <= moduleKind && moduleKind <= ModuleKindNodeNext { return ModuleDetectionKindForce - default: - return ModuleDetectionKindAuto } + return ModuleDetectionKindAuto } func (options *CompilerOptions) GetResolvePackageJsonExports() bool { diff --git a/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=node18).js b/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=node18).js index 89dd2c7541..7c518b3b9d 100644 --- a/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=node18).js +++ b/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=node18).js @@ -14,5 +14,7 @@ interface GlobalThing { a: number } const a: GlobalThing = { a: 0 }; //// [usage.js] +"use strict"; /// +Object.defineProperty(exports, "__esModule", { value: true }); const a = { a: 0 }; diff --git a/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=node18).js.diff b/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=node18).js.diff deleted file mode 100644 index c91fa848d7..0000000000 --- a/testdata/baselines/reference/submodule/compiler/tripleSlashTypesReferenceWithMissingExports(module=node18).js.diff +++ /dev/null @@ -1,10 +0,0 @@ ---- old.tripleSlashTypesReferenceWithMissingExports(module=node18).js -+++ new.tripleSlashTypesReferenceWithMissingExports(module=node18).js -@@= skipped -13, +13 lines =@@ - const a: GlobalThing = { a: 0 }; - - //// [usage.js] --"use strict"; - /// --Object.defineProperty(exports, "__esModule", { value: true }); - const a = { a: 0 }; \ No newline at end of file diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js index f2ed933815..a88f505406 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js @@ -34,6 +34,8 @@ module.exports = a; const a = {}; module.exports = a; //// [file.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); // cjs format file const a = {}; module.exports = a; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js.diff index 25030890c9..803039e621 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js.diff @@ -1,14 +1,14 @@ --- old.nodeModulesAllowJsExportAssignment(module=node18).js +++ new.nodeModulesAllowJsExportAssignment(module=node18).js -@@= skipped -33, +33 lines =@@ - const a = {}; +@@= skipped -34, +34 lines =@@ module.exports = a; //// [file.js] --"use strict"; + "use strict"; ++Object.defineProperty(exports, "__esModule", { value: true }); // cjs format file const a = {}; module.exports = a; -@@= skipped -16, +15 lines =@@ +@@= skipped -15, +16 lines =@@ //// [index.d.ts] From 41ff78e89ee27277262ec9d799e37544f9178790 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Sun, 9 Nov 2025 17:06:43 -0800 Subject: [PATCH 2/3] Fix __esModule now that external module indicator is in place --- .../transformers/moduletransforms/commonjsmodule.go | 2 +- ...odeModulesAllowJsExportAssignment(module=node16).js | 1 - ...dulesAllowJsExportAssignment(module=node16).js.diff | 10 +--------- ...odeModulesAllowJsExportAssignment(module=node18).js | 1 - ...dulesAllowJsExportAssignment(module=node18).js.diff | 10 +--------- ...odeModulesAllowJsExportAssignment(module=node20).js | 1 - ...dulesAllowJsExportAssignment(module=node20).js.diff | 10 +--------- ...eModulesAllowJsExportAssignment(module=nodenext).js | 1 - ...lesAllowJsExportAssignment(module=nodenext).js.diff | 10 +--------- .../conformance/nodeModulesCJSEmit1(module=node18).js | 1 - .../nodeModulesCJSEmit1(module=node18).js.diff | 6 +----- .../conformance/nodeModulesCJSEmit1(module=node20).js | 1 - .../nodeModulesCJSEmit1(module=node20).js.diff | 6 +----- .../nodeModulesCJSEmit1(module=nodenext).js | 1 - .../nodeModulesCJSEmit1(module=nodenext).js.diff | 6 +----- 15 files changed, 8 insertions(+), 59 deletions(-) diff --git a/internal/transformers/moduletransforms/commonjsmodule.go b/internal/transformers/moduletransforms/commonjsmodule.go index 27b3c50f3e..8d43ef398c 100644 --- a/internal/transformers/moduletransforms/commonjsmodule.go +++ b/internal/transformers/moduletransforms/commonjsmodule.go @@ -247,7 +247,7 @@ func (tx *CommonJSModuleTransformer) visitSourceFile(node *ast.SourceFile) *ast. func (tx *CommonJSModuleTransformer) shouldEmitUnderscoreUnderscoreESModule() bool { if tspath.FileExtensionIsOneOf(tx.currentSourceFile.FileName(), tspath.SupportedJSExtensionsFlat) && tx.currentSourceFile.CommonJSModuleIndicator != nil && - (tx.currentSourceFile.ExternalModuleIndicator == nil /*|| tx.currentSourceFile.ExternalModuleIndicator == true*/) { // !!! + (tx.currentSourceFile.ExternalModuleIndicator == nil || tx.currentSourceFile.ExternalModuleIndicator.Kind == ast.KindSourceFile) { return false } if tx.currentModuleInfo.exportEquals == nil && ast.IsExternalModule(tx.currentSourceFile) { diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).js index a88f505406..bf4a19dcbc 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).js +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).js @@ -35,7 +35,6 @@ const a = {}; module.exports = a; //// [file.js] "use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); // cjs format file const a = {}; module.exports = a; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).js.diff index 699333ea8a..6faef5e946 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).js.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node16).js.diff @@ -1,14 +1,6 @@ --- old.nodeModulesAllowJsExportAssignment(module=node16).js +++ new.nodeModulesAllowJsExportAssignment(module=node16).js -@@= skipped -34, +34 lines =@@ - module.exports = a; - //// [file.js] - "use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); - // cjs format file - const a = {}; - module.exports = a; -@@= skipped -15, +16 lines =@@ +@@= skipped -49, +49 lines =@@ //// [index.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js index a88f505406..bf4a19dcbc 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js @@ -35,7 +35,6 @@ const a = {}; module.exports = a; //// [file.js] "use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); // cjs format file const a = {}; module.exports = a; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js.diff index 803039e621..92fd817b3e 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node18).js.diff @@ -1,14 +1,6 @@ --- old.nodeModulesAllowJsExportAssignment(module=node18).js +++ new.nodeModulesAllowJsExportAssignment(module=node18).js -@@= skipped -34, +34 lines =@@ - module.exports = a; - //// [file.js] - "use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); - // cjs format file - const a = {}; - module.exports = a; -@@= skipped -15, +16 lines =@@ +@@= skipped -49, +49 lines =@@ //// [index.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).js index a88f505406..bf4a19dcbc 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).js +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).js @@ -35,7 +35,6 @@ const a = {}; module.exports = a; //// [file.js] "use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); // cjs format file const a = {}; module.exports = a; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).js.diff index 14e8fb2342..a3aca4c831 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).js.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=node20).js.diff @@ -1,14 +1,6 @@ --- old.nodeModulesAllowJsExportAssignment(module=node20).js +++ new.nodeModulesAllowJsExportAssignment(module=node20).js -@@= skipped -34, +34 lines =@@ - module.exports = a; - //// [file.js] - "use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); - // cjs format file - const a = {}; - module.exports = a; -@@= skipped -15, +16 lines =@@ +@@= skipped -49, +49 lines =@@ //// [index.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).js index a88f505406..bf4a19dcbc 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).js +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).js @@ -35,7 +35,6 @@ const a = {}; module.exports = a; //// [file.js] "use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); // cjs format file const a = {}; module.exports = a; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).js.diff index aaf2b1bd7d..d937bfc656 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).js.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesAllowJsExportAssignment(module=nodenext).js.diff @@ -1,14 +1,6 @@ --- old.nodeModulesAllowJsExportAssignment(module=nodenext).js +++ new.nodeModulesAllowJsExportAssignment(module=nodenext).js -@@= skipped -34, +34 lines =@@ - module.exports = a; - //// [file.js] - "use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); - // cjs format file - const a = {}; - module.exports = a; -@@= skipped -15, +16 lines =@@ +@@= skipped -49, +49 lines =@@ //// [index.d.ts] diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js index 750a0afa50..f6e3da8b76 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js @@ -22,7 +22,6 @@ three.foo; //// [1.cjs] "use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); module.exports = {}; //// [2.cjs] "use strict"; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js.diff index 6312e19c7f..b265d7d75c 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js.diff @@ -1,10 +1,6 @@ --- old.nodeModulesCJSEmit1(module=node18).js +++ new.nodeModulesCJSEmit1(module=node18).js -@@= skipped -21, +21 lines =@@ - - //// [1.cjs] - "use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); +@@= skipped -24, +24 lines =@@ module.exports = {}; //// [2.cjs] "use strict"; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).js b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).js index 750a0afa50..f6e3da8b76 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).js +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).js @@ -22,7 +22,6 @@ three.foo; //// [1.cjs] "use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); module.exports = {}; //// [2.cjs] "use strict"; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).js.diff index 4986156d82..f8ade29526 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).js.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).js.diff @@ -1,10 +1,6 @@ --- old.nodeModulesCJSEmit1(module=node20).js +++ new.nodeModulesCJSEmit1(module=node20).js -@@= skipped -21, +21 lines =@@ - - //// [1.cjs] - "use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); +@@= skipped -24, +24 lines =@@ module.exports = {}; //// [2.cjs] "use strict"; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js index 750a0afa50..f6e3da8b76 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js @@ -22,7 +22,6 @@ three.foo; //// [1.cjs] "use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); module.exports = {}; //// [2.cjs] "use strict"; diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js.diff index 821b4cd9cf..5016b99722 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js.diff @@ -1,10 +1,6 @@ --- old.nodeModulesCJSEmit1(module=nodenext).js +++ new.nodeModulesCJSEmit1(module=nodenext).js -@@= skipped -21, +21 lines =@@ - - //// [1.cjs] - "use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); +@@= skipped -24, +24 lines =@@ module.exports = {}; //// [2.cjs] "use strict"; From 9a9e302667e35c37939c3133f4bdd70ca2849e3e Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Mon, 10 Nov 2025 11:22:26 -0800 Subject: [PATCH 3/3] fix baselines with main --- .../submodule/conformance/nodeModulesCJSEmit1(module=node18).js | 1 - .../conformance/nodeModulesCJSEmit1(module=node18).js.diff | 1 - .../submodule/conformance/nodeModulesCJSEmit1(module=node20).js | 1 - .../conformance/nodeModulesCJSEmit1(module=node20).js.diff | 1 - .../conformance/nodeModulesCJSEmit1(module=nodenext).js | 1 - .../conformance/nodeModulesCJSEmit1(module=nodenext).js.diff | 1 - 6 files changed, 6 deletions(-) diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js index f6e3da8b76..f87b35ecee 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js @@ -25,7 +25,6 @@ three.foo; module.exports = {}; //// [2.cjs] "use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); export var foo = 0; exports.foo = 0; //// [3.cjs] diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js.diff index b265d7d75c..df2d0460b3 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node18).js.diff @@ -4,7 +4,6 @@ module.exports = {}; //// [2.cjs] "use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); +export var foo = 0; exports.foo = 0; //// [3.cjs] diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).js b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).js index f6e3da8b76..f87b35ecee 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).js +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).js @@ -25,7 +25,6 @@ three.foo; module.exports = {}; //// [2.cjs] "use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); export var foo = 0; exports.foo = 0; //// [3.cjs] diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).js.diff index f8ade29526..1d46e50685 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).js.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=node20).js.diff @@ -4,7 +4,6 @@ module.exports = {}; //// [2.cjs] "use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); +export var foo = 0; exports.foo = 0; //// [3.cjs] diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js index f6e3da8b76..f87b35ecee 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js @@ -25,7 +25,6 @@ three.foo; module.exports = {}; //// [2.cjs] "use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); export var foo = 0; exports.foo = 0; //// [3.cjs] diff --git a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js.diff b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js.diff index 5016b99722..d6396c3e8a 100644 --- a/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js.diff +++ b/testdata/baselines/reference/submodule/conformance/nodeModulesCJSEmit1(module=nodenext).js.diff @@ -4,7 +4,6 @@ module.exports = {}; //// [2.cjs] "use strict"; -+Object.defineProperty(exports, "__esModule", { value: true }); +export var foo = 0; exports.foo = 0; //// [3.cjs]