Skip to content

Commit 0425175

Browse files
authored
Merge pull request #14493 from Microsoft/master-fixEmitExtraESModuleMark
[Master] Do not emit ESModule marker if file is not external module
2 parents f7242f3 + 6a2d260 commit 0425175

File tree

69 files changed

+11
-73
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+11
-73
lines changed

src/compiler/transformers/module/module.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,7 @@ namespace ts {
5555
* @param node The SourceFile node.
5656
*/
5757
function transformSourceFile(node: SourceFile) {
58-
if (isDeclarationFile(node)
59-
|| !(isExternalModule(node)
60-
|| compilerOptions.isolatedModules)) {
58+
if (isDeclarationFile(node) || !(isExternalModule(node) || compilerOptions.isolatedModules)) {
6159
return node;
6260
}
6361

@@ -74,6 +72,14 @@ namespace ts {
7472
return aggregateTransformFlags(updated);
7573
}
7674

75+
76+
function shouldEmitUnderscoreUnderscoreESModule() {
77+
if (!currentModuleInfo.exportEquals && isExternalModule(currentSourceFile)) {
78+
return true;
79+
}
80+
return false;
81+
}
82+
7783
/**
7884
* Transforms a SourceFile into a CommonJS module.
7985
*
@@ -85,7 +91,7 @@ namespace ts {
8591
const statements: Statement[] = [];
8692
const statementOffset = addPrologueDirectives(statements, node.statements, /*ensureUseStrict*/ !compilerOptions.noImplicitUseStrict, sourceElementVisitor);
8793

88-
if (!currentModuleInfo.exportEquals) {
94+
if (shouldEmitUnderscoreUnderscoreESModule()) {
8995
append(statements, createUnderscoreUnderscoreESModule());
9096
}
9197

@@ -378,7 +384,7 @@ namespace ts {
378384
const statements: Statement[] = [];
379385
const statementOffset = addPrologueDirectives(statements, node.statements, /*ensureUseStrict*/ !compilerOptions.noImplicitUseStrict, sourceElementVisitor);
380386

381-
if (!currentModuleInfo.exportEquals) {
387+
if (shouldEmitUnderscoreUnderscoreESModule()) {
382388
append(statements, createUnderscoreUnderscoreESModule());
383389
}
384390

tests/baselines/reference/importHelpersInIsolatedModules.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ C = tslib_1.__decorate([
6969
], C);
7070
//// [script.js]
7171
"use strict";
72-
Object.defineProperty(exports, "__esModule", { value: true });
7372
var tslib_1 = require("tslib");
7473
var A = (function () {
7574
function A() {

tests/baselines/reference/isolatedModulesPlainFile-AMD.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,5 @@ run(1);
77
//// [isolatedModulesPlainFile-AMD.js]
88
define(["require", "exports"], function (require, exports) {
99
"use strict";
10-
Object.defineProperty(exports, "__esModule", { value: true });
1110
run(1);
1211
});

tests/baselines/reference/isolatedModulesPlainFile-CommonJS.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,4 @@ run(1);
66

77
//// [isolatedModulesPlainFile-CommonJS.js]
88
"use strict";
9-
Object.defineProperty(exports, "__esModule", { value: true });
109
run(1);

tests/baselines/reference/isolatedModulesPlainFile-UMD.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,5 @@ run(1);
1515
}
1616
})(function (require, exports) {
1717
"use strict";
18-
Object.defineProperty(exports, "__esModule", { value: true });
1918
run(1);
2019
});

tests/baselines/reference/transpile/Does not generate semantic diagnostics.js

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/baselines/reference/transpile/Generates expected syntactic diagnostics.js

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/baselines/reference/transpile/Generates module output.js

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/baselines/reference/transpile/Generates no diagnostics for missing file references.js

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/baselines/reference/transpile/Generates no diagnostics with valid inputs.js

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)