From 6ce9176926d58919eba96eaa43dac2f0e48340c3 Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Mon, 27 Apr 2015 15:47:49 -0700 Subject: [PATCH 1/2] always emit files as modules when separateCompilation flag is specified --- src/compiler/emitter.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 48718146ac6ad..0d2ffc4154d18 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -5493,7 +5493,7 @@ if (typeof __param !== "function") __param = function (paramIndex, decorator) { paramEmitted = true; } - if (isExternalModule(node)) { + if (isExternalModule(node) || compilerOptions.separateCompilation) { if (languageVersion >= ScriptTarget.ES6) { emitES6Module(node, startIndex); } From 56bf73aa8bb434d9f31126415efaa72c4842fb57 Mon Sep 17 00:00:00 2001 From: Vladimir Matveev Date: Mon, 27 Apr 2015 16:37:36 -0700 Subject: [PATCH 2/2] added tests --- .../separateCompilationPlainFile-AMD.errors.txt | 10 ++++++++++ .../separateCompilationPlainFile-AMD.js | 10 ++++++++++ ...rateCompilationPlainFile-CommonJS.errors.txt | 10 ++++++++++ .../separateCompilationPlainFile-CommonJS.js | 8 ++++++++ .../separateCompilationPlainFile-ES6.errors.txt | 10 ++++++++++ .../separateCompilationPlainFile-ES6.js | 8 ++++++++ ...parateCompilationPlainFile-System.errors.txt | 10 ++++++++++ .../separateCompilationPlainFile-System.js | 15 +++++++++++++++ .../separateCompilationPlainFile-UMD.errors.txt | 10 ++++++++++ .../separateCompilationPlainFile-UMD.js | 17 +++++++++++++++++ .../separateCompilationPlainFile-AMD.ts | 6 ++++++ .../separateCompilationPlainFile-CommonJS.ts | 6 ++++++ .../separateCompilationPlainFile-ES6.ts | 5 +++++ .../separateCompilationPlainFile-System.ts | 6 ++++++ .../separateCompilationPlainFile-UMD.ts | 6 ++++++ 15 files changed, 137 insertions(+) create mode 100644 tests/baselines/reference/separateCompilationPlainFile-AMD.errors.txt create mode 100644 tests/baselines/reference/separateCompilationPlainFile-AMD.js create mode 100644 tests/baselines/reference/separateCompilationPlainFile-CommonJS.errors.txt create mode 100644 tests/baselines/reference/separateCompilationPlainFile-CommonJS.js create mode 100644 tests/baselines/reference/separateCompilationPlainFile-ES6.errors.txt create mode 100644 tests/baselines/reference/separateCompilationPlainFile-ES6.js create mode 100644 tests/baselines/reference/separateCompilationPlainFile-System.errors.txt create mode 100644 tests/baselines/reference/separateCompilationPlainFile-System.js create mode 100644 tests/baselines/reference/separateCompilationPlainFile-UMD.errors.txt create mode 100644 tests/baselines/reference/separateCompilationPlainFile-UMD.js create mode 100644 tests/cases/compiler/separateCompilationPlainFile-AMD.ts create mode 100644 tests/cases/compiler/separateCompilationPlainFile-CommonJS.ts create mode 100644 tests/cases/compiler/separateCompilationPlainFile-ES6.ts create mode 100644 tests/cases/compiler/separateCompilationPlainFile-System.ts create mode 100644 tests/cases/compiler/separateCompilationPlainFile-UMD.ts diff --git a/tests/baselines/reference/separateCompilationPlainFile-AMD.errors.txt b/tests/baselines/reference/separateCompilationPlainFile-AMD.errors.txt new file mode 100644 index 0000000000000..3605dc7f44e99 --- /dev/null +++ b/tests/baselines/reference/separateCompilationPlainFile-AMD.errors.txt @@ -0,0 +1,10 @@ +tests/cases/compiler/separateCompilationPlainFile-AMD.ts(2,1): error TS1208: Cannot compile non-external modules when the '--separateCompilation' flag is provided. + + +==== tests/cases/compiler/separateCompilationPlainFile-AMD.ts (1 errors) ==== + + declare function run(a: number): void; + ~~~~~~~ +!!! error TS1208: Cannot compile non-external modules when the '--separateCompilation' flag is provided. + run(1); + \ No newline at end of file diff --git a/tests/baselines/reference/separateCompilationPlainFile-AMD.js b/tests/baselines/reference/separateCompilationPlainFile-AMD.js new file mode 100644 index 0000000000000..e3e9fc1eaeb89 --- /dev/null +++ b/tests/baselines/reference/separateCompilationPlainFile-AMD.js @@ -0,0 +1,10 @@ +//// [separateCompilationPlainFile-AMD.ts] + +declare function run(a: number): void; +run(1); + + +//// [separateCompilationPlainFile-AMD.js] +define(["require", "exports"], function (require, exports) { + run(1); +}); diff --git a/tests/baselines/reference/separateCompilationPlainFile-CommonJS.errors.txt b/tests/baselines/reference/separateCompilationPlainFile-CommonJS.errors.txt new file mode 100644 index 0000000000000..d56e82fd6e181 --- /dev/null +++ b/tests/baselines/reference/separateCompilationPlainFile-CommonJS.errors.txt @@ -0,0 +1,10 @@ +tests/cases/compiler/separateCompilationPlainFile-CommonJS.ts(2,1): error TS1208: Cannot compile non-external modules when the '--separateCompilation' flag is provided. + + +==== tests/cases/compiler/separateCompilationPlainFile-CommonJS.ts (1 errors) ==== + + declare function run(a: number): void; + ~~~~~~~ +!!! error TS1208: Cannot compile non-external modules when the '--separateCompilation' flag is provided. + run(1); + \ No newline at end of file diff --git a/tests/baselines/reference/separateCompilationPlainFile-CommonJS.js b/tests/baselines/reference/separateCompilationPlainFile-CommonJS.js new file mode 100644 index 0000000000000..cd82cdf20a6b2 --- /dev/null +++ b/tests/baselines/reference/separateCompilationPlainFile-CommonJS.js @@ -0,0 +1,8 @@ +//// [separateCompilationPlainFile-CommonJS.ts] + +declare function run(a: number): void; +run(1); + + +//// [separateCompilationPlainFile-CommonJS.js] +run(1); diff --git a/tests/baselines/reference/separateCompilationPlainFile-ES6.errors.txt b/tests/baselines/reference/separateCompilationPlainFile-ES6.errors.txt new file mode 100644 index 0000000000000..6054ab552c8b9 --- /dev/null +++ b/tests/baselines/reference/separateCompilationPlainFile-ES6.errors.txt @@ -0,0 +1,10 @@ +tests/cases/compiler/separateCompilationPlainFile-ES6.ts(2,1): error TS1208: Cannot compile non-external modules when the '--separateCompilation' flag is provided. + + +==== tests/cases/compiler/separateCompilationPlainFile-ES6.ts (1 errors) ==== + + declare function run(a: number): void; + ~~~~~~~ +!!! error TS1208: Cannot compile non-external modules when the '--separateCompilation' flag is provided. + run(1); + \ No newline at end of file diff --git a/tests/baselines/reference/separateCompilationPlainFile-ES6.js b/tests/baselines/reference/separateCompilationPlainFile-ES6.js new file mode 100644 index 0000000000000..1cb6082f1340d --- /dev/null +++ b/tests/baselines/reference/separateCompilationPlainFile-ES6.js @@ -0,0 +1,8 @@ +//// [separateCompilationPlainFile-ES6.ts] + +declare function run(a: number): void; +run(1); + + +//// [separateCompilationPlainFile-ES6.js] +run(1); diff --git a/tests/baselines/reference/separateCompilationPlainFile-System.errors.txt b/tests/baselines/reference/separateCompilationPlainFile-System.errors.txt new file mode 100644 index 0000000000000..716909cee4f36 --- /dev/null +++ b/tests/baselines/reference/separateCompilationPlainFile-System.errors.txt @@ -0,0 +1,10 @@ +tests/cases/compiler/separateCompilationPlainFile-System.ts(2,1): error TS1208: Cannot compile non-external modules when the '--separateCompilation' flag is provided. + + +==== tests/cases/compiler/separateCompilationPlainFile-System.ts (1 errors) ==== + + declare function run(a: number): void; + ~~~~~~~ +!!! error TS1208: Cannot compile non-external modules when the '--separateCompilation' flag is provided. + run(1); + \ No newline at end of file diff --git a/tests/baselines/reference/separateCompilationPlainFile-System.js b/tests/baselines/reference/separateCompilationPlainFile-System.js new file mode 100644 index 0000000000000..c256ed7862a91 --- /dev/null +++ b/tests/baselines/reference/separateCompilationPlainFile-System.js @@ -0,0 +1,15 @@ +//// [separateCompilationPlainFile-System.ts] + +declare function run(a: number): void; +run(1); + + +//// [separateCompilationPlainFile-System.js] +System.register([], function(exports_1) { + return { + setters:[], + execute: function() { + run(1); + } + } +}); diff --git a/tests/baselines/reference/separateCompilationPlainFile-UMD.errors.txt b/tests/baselines/reference/separateCompilationPlainFile-UMD.errors.txt new file mode 100644 index 0000000000000..c86daeabddfa7 --- /dev/null +++ b/tests/baselines/reference/separateCompilationPlainFile-UMD.errors.txt @@ -0,0 +1,10 @@ +tests/cases/compiler/separateCompilationPlainFile-UMD.ts(2,1): error TS1208: Cannot compile non-external modules when the '--separateCompilation' flag is provided. + + +==== tests/cases/compiler/separateCompilationPlainFile-UMD.ts (1 errors) ==== + + declare function run(a: number): void; + ~~~~~~~ +!!! error TS1208: Cannot compile non-external modules when the '--separateCompilation' flag is provided. + run(1); + \ No newline at end of file diff --git a/tests/baselines/reference/separateCompilationPlainFile-UMD.js b/tests/baselines/reference/separateCompilationPlainFile-UMD.js new file mode 100644 index 0000000000000..6a145e7d239cb --- /dev/null +++ b/tests/baselines/reference/separateCompilationPlainFile-UMD.js @@ -0,0 +1,17 @@ +//// [separateCompilationPlainFile-UMD.ts] + +declare function run(a: number): void; +run(1); + + +//// [separateCompilationPlainFile-UMD.js] +(function (deps, factory) { + if (typeof module === 'object' && typeof module.exports === 'object') { + var v = factory(require, exports); if (v !== undefined) module.exports = v; + } + else if (typeof define === 'function' && define.amd) { + define(deps, factory); + } +})(["require", "exports"], function (require, exports) { + run(1); +}); diff --git a/tests/cases/compiler/separateCompilationPlainFile-AMD.ts b/tests/cases/compiler/separateCompilationPlainFile-AMD.ts new file mode 100644 index 0000000000000..a1010ce3e8c86 --- /dev/null +++ b/tests/cases/compiler/separateCompilationPlainFile-AMD.ts @@ -0,0 +1,6 @@ +// @target: es5 +// @module: amd +// @separateCompilation: true + +declare function run(a: number): void; +run(1); diff --git a/tests/cases/compiler/separateCompilationPlainFile-CommonJS.ts b/tests/cases/compiler/separateCompilationPlainFile-CommonJS.ts new file mode 100644 index 0000000000000..532d97f09eb1c --- /dev/null +++ b/tests/cases/compiler/separateCompilationPlainFile-CommonJS.ts @@ -0,0 +1,6 @@ +// @target: es5 +// @module: commonjs +// @separateCompilation: true + +declare function run(a: number): void; +run(1); diff --git a/tests/cases/compiler/separateCompilationPlainFile-ES6.ts b/tests/cases/compiler/separateCompilationPlainFile-ES6.ts new file mode 100644 index 0000000000000..20d4e8d79a285 --- /dev/null +++ b/tests/cases/compiler/separateCompilationPlainFile-ES6.ts @@ -0,0 +1,5 @@ +// @target: es6 +// @separateCompilation: true + +declare function run(a: number): void; +run(1); diff --git a/tests/cases/compiler/separateCompilationPlainFile-System.ts b/tests/cases/compiler/separateCompilationPlainFile-System.ts new file mode 100644 index 0000000000000..6906571825438 --- /dev/null +++ b/tests/cases/compiler/separateCompilationPlainFile-System.ts @@ -0,0 +1,6 @@ +// @target: es5 +// @module: system +// @separateCompilation: true + +declare function run(a: number): void; +run(1); diff --git a/tests/cases/compiler/separateCompilationPlainFile-UMD.ts b/tests/cases/compiler/separateCompilationPlainFile-UMD.ts new file mode 100644 index 0000000000000..4ab45686c909c --- /dev/null +++ b/tests/cases/compiler/separateCompilationPlainFile-UMD.ts @@ -0,0 +1,6 @@ +// @target: es5 +// @module: umd +// @separateCompilation: true + +declare function run(a: number): void; +run(1);