Skip to content

Commit cde3ed0

Browse files
committed
Merge pull request #2937 from Microsoft/emitModuleInSeparateCompilation
emit file as external module if separateCompilation flag is specified
2 parents 2349a27 + 56bf73a commit cde3ed0

16 files changed

+138
-1
lines changed

src/compiler/emitter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5493,7 +5493,7 @@ if (typeof __param !== "function") __param = function (paramIndex, decorator) {
54935493
paramEmitted = true;
54945494
}
54955495

5496-
if (isExternalModule(node)) {
5496+
if (isExternalModule(node) || compilerOptions.separateCompilation) {
54975497
if (languageVersion >= ScriptTarget.ES6) {
54985498
emitES6Module(node, startIndex);
54995499
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
tests/cases/compiler/separateCompilationPlainFile-AMD.ts(2,1): error TS1208: Cannot compile non-external modules when the '--separateCompilation' flag is provided.
2+
3+
4+
==== tests/cases/compiler/separateCompilationPlainFile-AMD.ts (1 errors) ====
5+
6+
declare function run(a: number): void;
7+
~~~~~~~
8+
!!! error TS1208: Cannot compile non-external modules when the '--separateCompilation' flag is provided.
9+
run(1);
10+
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
//// [separateCompilationPlainFile-AMD.ts]
2+
3+
declare function run(a: number): void;
4+
run(1);
5+
6+
7+
//// [separateCompilationPlainFile-AMD.js]
8+
define(["require", "exports"], function (require, exports) {
9+
run(1);
10+
});
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
tests/cases/compiler/separateCompilationPlainFile-CommonJS.ts(2,1): error TS1208: Cannot compile non-external modules when the '--separateCompilation' flag is provided.
2+
3+
4+
==== tests/cases/compiler/separateCompilationPlainFile-CommonJS.ts (1 errors) ====
5+
6+
declare function run(a: number): void;
7+
~~~~~~~
8+
!!! error TS1208: Cannot compile non-external modules when the '--separateCompilation' flag is provided.
9+
run(1);
10+
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
//// [separateCompilationPlainFile-CommonJS.ts]
2+
3+
declare function run(a: number): void;
4+
run(1);
5+
6+
7+
//// [separateCompilationPlainFile-CommonJS.js]
8+
run(1);
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
tests/cases/compiler/separateCompilationPlainFile-ES6.ts(2,1): error TS1208: Cannot compile non-external modules when the '--separateCompilation' flag is provided.
2+
3+
4+
==== tests/cases/compiler/separateCompilationPlainFile-ES6.ts (1 errors) ====
5+
6+
declare function run(a: number): void;
7+
~~~~~~~
8+
!!! error TS1208: Cannot compile non-external modules when the '--separateCompilation' flag is provided.
9+
run(1);
10+
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
//// [separateCompilationPlainFile-ES6.ts]
2+
3+
declare function run(a: number): void;
4+
run(1);
5+
6+
7+
//// [separateCompilationPlainFile-ES6.js]
8+
run(1);
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
tests/cases/compiler/separateCompilationPlainFile-System.ts(2,1): error TS1208: Cannot compile non-external modules when the '--separateCompilation' flag is provided.
2+
3+
4+
==== tests/cases/compiler/separateCompilationPlainFile-System.ts (1 errors) ====
5+
6+
declare function run(a: number): void;
7+
~~~~~~~
8+
!!! error TS1208: Cannot compile non-external modules when the '--separateCompilation' flag is provided.
9+
run(1);
10+
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
//// [separateCompilationPlainFile-System.ts]
2+
3+
declare function run(a: number): void;
4+
run(1);
5+
6+
7+
//// [separateCompilationPlainFile-System.js]
8+
System.register([], function(exports_1) {
9+
return {
10+
setters:[],
11+
execute: function() {
12+
run(1);
13+
}
14+
}
15+
});
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
tests/cases/compiler/separateCompilationPlainFile-UMD.ts(2,1): error TS1208: Cannot compile non-external modules when the '--separateCompilation' flag is provided.
2+
3+
4+
==== tests/cases/compiler/separateCompilationPlainFile-UMD.ts (1 errors) ====
5+
6+
declare function run(a: number): void;
7+
~~~~~~~
8+
!!! error TS1208: Cannot compile non-external modules when the '--separateCompilation' flag is provided.
9+
run(1);
10+
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
//// [separateCompilationPlainFile-UMD.ts]
2+
3+
declare function run(a: number): void;
4+
run(1);
5+
6+
7+
//// [separateCompilationPlainFile-UMD.js]
8+
(function (deps, factory) {
9+
if (typeof module === 'object' && typeof module.exports === 'object') {
10+
var v = factory(require, exports); if (v !== undefined) module.exports = v;
11+
}
12+
else if (typeof define === 'function' && define.amd) {
13+
define(deps, factory);
14+
}
15+
})(["require", "exports"], function (require, exports) {
16+
run(1);
17+
});
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// @target: es5
2+
// @module: amd
3+
// @separateCompilation: true
4+
5+
declare function run(a: number): void;
6+
run(1);
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// @target: es5
2+
// @module: commonjs
3+
// @separateCompilation: true
4+
5+
declare function run(a: number): void;
6+
run(1);
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
// @target: es6
2+
// @separateCompilation: true
3+
4+
declare function run(a: number): void;
5+
run(1);
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// @target: es5
2+
// @module: system
3+
// @separateCompilation: true
4+
5+
declare function run(a: number): void;
6+
run(1);
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// @target: es5
2+
// @module: umd
3+
// @separateCompilation: true
4+
5+
declare function run(a: number): void;
6+
run(1);

0 commit comments

Comments
 (0)