From a32f44f9f4c630c8e644e40bf6c9826b18a420e1 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Mon, 9 Nov 2015 14:24:19 -0800 Subject: [PATCH 01/28] Add command line flag to allow synthetic default exports --- src/compiler/checker.ts | 6 ++- src/compiler/commandLineParser.ts | 5 +++ src/compiler/diagnosticMessages.json | 4 ++ src/compiler/types.ts | 1 + .../allowSyntheticDefaultImports1.js | 22 ++++++++++ .../allowSyntheticDefaultImports1.symbols | 18 ++++++++ .../allowSyntheticDefaultImports1.types | 19 +++++++++ .../allowSyntheticDefaultImports2.js | 40 ++++++++++++++++++ .../allowSyntheticDefaultImports2.symbols | 17 ++++++++ .../allowSyntheticDefaultImports2.types | 18 ++++++++ .../allowSyntheticDefaultImports3.errors.txt | 14 +++++++ .../allowSyntheticDefaultImports3.js | 41 +++++++++++++++++++ .../allowSyntheticDefaultImports4.js | 16 ++++++++ .../allowSyntheticDefaultImports4.symbols | 18 ++++++++ .../allowSyntheticDefaultImports4.types | 19 +++++++++ .../allowSyntheticDefaultImports5.js | 27 ++++++++++++ .../allowSyntheticDefaultImports5.symbols | 18 ++++++++ .../allowSyntheticDefaultImports5.types | 19 +++++++++ .../allowSyntheticDefaultImports6.errors.txt | 15 +++++++ .../allowSyntheticDefaultImports6.js | 27 ++++++++++++ .../compiler/allowSyntheticDefaultImports1.ts | 10 +++++ .../compiler/allowSyntheticDefaultImports2.ts | 9 ++++ .../compiler/allowSyntheticDefaultImports3.ts | 10 +++++ .../compiler/allowSyntheticDefaultImports4.ts | 11 +++++ .../compiler/allowSyntheticDefaultImports5.ts | 10 +++++ .../compiler/allowSyntheticDefaultImports6.ts | 11 +++++ 26 files changed, 424 insertions(+), 1 deletion(-) create mode 100644 tests/baselines/reference/allowSyntheticDefaultImports1.js create mode 100644 tests/baselines/reference/allowSyntheticDefaultImports1.symbols create mode 100644 tests/baselines/reference/allowSyntheticDefaultImports1.types create mode 100644 tests/baselines/reference/allowSyntheticDefaultImports2.js create mode 100644 tests/baselines/reference/allowSyntheticDefaultImports2.symbols create mode 100644 tests/baselines/reference/allowSyntheticDefaultImports2.types create mode 100644 tests/baselines/reference/allowSyntheticDefaultImports3.errors.txt create mode 100644 tests/baselines/reference/allowSyntheticDefaultImports3.js create mode 100644 tests/baselines/reference/allowSyntheticDefaultImports4.js create mode 100644 tests/baselines/reference/allowSyntheticDefaultImports4.symbols create mode 100644 tests/baselines/reference/allowSyntheticDefaultImports4.types create mode 100644 tests/baselines/reference/allowSyntheticDefaultImports5.js create mode 100644 tests/baselines/reference/allowSyntheticDefaultImports5.symbols create mode 100644 tests/baselines/reference/allowSyntheticDefaultImports5.types create mode 100644 tests/baselines/reference/allowSyntheticDefaultImports6.errors.txt create mode 100644 tests/baselines/reference/allowSyntheticDefaultImports6.js create mode 100644 tests/cases/compiler/allowSyntheticDefaultImports1.ts create mode 100644 tests/cases/compiler/allowSyntheticDefaultImports2.ts create mode 100644 tests/cases/compiler/allowSyntheticDefaultImports3.ts create mode 100644 tests/cases/compiler/allowSyntheticDefaultImports4.ts create mode 100644 tests/cases/compiler/allowSyntheticDefaultImports5.ts create mode 100644 tests/cases/compiler/allowSyntheticDefaultImports6.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 706ed1c65a3..9dbce88c32b 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -46,6 +46,7 @@ namespace ts { const compilerOptions = host.getCompilerOptions(); const languageVersion = compilerOptions.target || ScriptTarget.ES3; const modulekind = compilerOptions.module ? compilerOptions.module : languageVersion === ScriptTarget.ES6 ? ModuleKind.ES6 : ModuleKind.None; + const allowSyntheticDefaultImports = compilerOptions.hasOwnProperty("allowSyntheticDefaultImports") ? compilerOptions.allowSyntheticDefaultImports : modulekind === ModuleKind.System; const emitResolver = createResolver(); @@ -730,9 +731,12 @@ namespace ts { const moduleSymbol = resolveExternalModuleName(node, (node.parent).moduleSpecifier); if (moduleSymbol) { const exportDefaultSymbol = resolveSymbol(moduleSymbol.exports["default"]); - if (!exportDefaultSymbol) { + if (!exportDefaultSymbol && !allowSyntheticDefaultImports) { error(node.name, Diagnostics.Module_0_has_no_default_export, symbolToString(moduleSymbol)); } + else if (!exportDefaultSymbol && allowSyntheticDefaultImports) { + return resolveSymbol(moduleSymbol.exports["export="]) || resolveSymbol(moduleSymbol); + } return exportDefaultSymbol; } } diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 3fca97c0450..272f5430b8c 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -279,6 +279,11 @@ namespace ts { name: "forceConsistentCasingInFileNames", type: "boolean", description: Diagnostics.Disallow_inconsistently_cased_references_to_the_same_file + }, + { + name: "allowSyntheticDefaultImports", + type: "boolean", + description: Diagnostics.Allow_default_imports_from_modules_with_no_default_export } ]; diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index e6008ce3c1e..cdd20b38a69 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -2101,6 +2101,10 @@ "category": "Message", "code": 6010 }, + "Allow default imports from modules with no default export": { + "category": "Message", + "code": 6011 + }, "Specify ECMAScript target version: 'ES3' (default), 'ES5', or 'ES2015' (experimental)": { "category": "Message", "code": 6015 diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 679957d1d38..b846dc88aab 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2109,6 +2109,7 @@ namespace ts { noImplicitReturns?: boolean; noFallthroughCasesInSwitch?: boolean; forceConsistentCasingInFileNames?: boolean; + allowSyntheticDefaultImports?: boolean; /* @internal */ stripInternal?: boolean; // Skip checking lib.d.ts to help speed up tests. diff --git a/tests/baselines/reference/allowSyntheticDefaultImports1.js b/tests/baselines/reference/allowSyntheticDefaultImports1.js new file mode 100644 index 00000000000..bc78725cb1c --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports1.js @@ -0,0 +1,22 @@ +//// [tests/cases/compiler/allowSyntheticDefaultImports1.ts] //// + +//// [a.ts] +import Namespace from "./b"; +export var x = new Namespace.Foo(); + +//// [b.ts] +export class Foo { + member: string; +} + + +//// [b.js] +var Foo = (function () { + function Foo() { + } + return Foo; +})(); +exports.Foo = Foo; +//// [a.js] +var b_1 = require("./b"); +exports.x = new b_1["default"].Foo(); diff --git a/tests/baselines/reference/allowSyntheticDefaultImports1.symbols b/tests/baselines/reference/allowSyntheticDefaultImports1.symbols new file mode 100644 index 00000000000..d88a79e1bf2 --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports1.symbols @@ -0,0 +1,18 @@ +=== tests/cases/compiler/a.ts === +import Namespace from "./b"; +>Namespace : Symbol(Namespace, Decl(a.ts, 0, 6)) + +export var x = new Namespace.Foo(); +>x : Symbol(x, Decl(a.ts, 1, 10)) +>Namespace.Foo : Symbol(Namespace.Foo, Decl(b.ts, 0, 0)) +>Namespace : Symbol(Namespace, Decl(a.ts, 0, 6)) +>Foo : Symbol(Namespace.Foo, Decl(b.ts, 0, 0)) + +=== tests/cases/compiler/b.ts === +export class Foo { +>Foo : Symbol(Foo, Decl(b.ts, 0, 0)) + + member: string; +>member : Symbol(member, Decl(b.ts, 0, 18)) +} + diff --git a/tests/baselines/reference/allowSyntheticDefaultImports1.types b/tests/baselines/reference/allowSyntheticDefaultImports1.types new file mode 100644 index 00000000000..c2265d7611b --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports1.types @@ -0,0 +1,19 @@ +=== tests/cases/compiler/a.ts === +import Namespace from "./b"; +>Namespace : typeof Namespace + +export var x = new Namespace.Foo(); +>x : Namespace.Foo +>new Namespace.Foo() : Namespace.Foo +>Namespace.Foo : typeof Namespace.Foo +>Namespace : typeof Namespace +>Foo : typeof Namespace.Foo + +=== tests/cases/compiler/b.ts === +export class Foo { +>Foo : Foo + + member: string; +>member : string +} + diff --git a/tests/baselines/reference/allowSyntheticDefaultImports2.js b/tests/baselines/reference/allowSyntheticDefaultImports2.js new file mode 100644 index 00000000000..3c1981bee9b --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports2.js @@ -0,0 +1,40 @@ +//// [tests/cases/compiler/allowSyntheticDefaultImports2.ts] //// + +//// [a.ts] +import Namespace from "./b"; +export var x = new Namespace.Foo(); + +//// [b.ts] +export class Foo { + member: string; +} + +//// [b.js] +System.register([], function(exports_1) { + var Foo; + return { + setters:[], + execute: function() { + Foo = (function () { + function Foo() { + } + return Foo; + })(); + exports_1("Foo", Foo); + } + } +}); +//// [a.js] +System.register(["./b"], function(exports_1) { + var b_1; + var x; + return { + setters:[ + function (b_1_1) { + b_1 = b_1_1; + }], + execute: function() { + exports_1("x", x = new b_1["default"].Foo()); + } + } +}); diff --git a/tests/baselines/reference/allowSyntheticDefaultImports2.symbols b/tests/baselines/reference/allowSyntheticDefaultImports2.symbols new file mode 100644 index 00000000000..cea6145fbd6 --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports2.symbols @@ -0,0 +1,17 @@ +=== tests/cases/compiler/a.ts === +import Namespace from "./b"; +>Namespace : Symbol(Namespace, Decl(a.ts, 0, 6)) + +export var x = new Namespace.Foo(); +>x : Symbol(x, Decl(a.ts, 1, 10)) +>Namespace.Foo : Symbol(Namespace.Foo, Decl(b.ts, 0, 0)) +>Namespace : Symbol(Namespace, Decl(a.ts, 0, 6)) +>Foo : Symbol(Namespace.Foo, Decl(b.ts, 0, 0)) + +=== tests/cases/compiler/b.ts === +export class Foo { +>Foo : Symbol(Foo, Decl(b.ts, 0, 0)) + + member: string; +>member : Symbol(member, Decl(b.ts, 0, 18)) +} diff --git a/tests/baselines/reference/allowSyntheticDefaultImports2.types b/tests/baselines/reference/allowSyntheticDefaultImports2.types new file mode 100644 index 00000000000..c40fbc7e988 --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports2.types @@ -0,0 +1,18 @@ +=== tests/cases/compiler/a.ts === +import Namespace from "./b"; +>Namespace : typeof Namespace + +export var x = new Namespace.Foo(); +>x : Namespace.Foo +>new Namespace.Foo() : Namespace.Foo +>Namespace.Foo : typeof Namespace.Foo +>Namespace : typeof Namespace +>Foo : typeof Namespace.Foo + +=== tests/cases/compiler/b.ts === +export class Foo { +>Foo : Foo + + member: string; +>member : string +} diff --git a/tests/baselines/reference/allowSyntheticDefaultImports3.errors.txt b/tests/baselines/reference/allowSyntheticDefaultImports3.errors.txt new file mode 100644 index 00000000000..551355e5cce --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports3.errors.txt @@ -0,0 +1,14 @@ +tests/cases/compiler/a.ts(1,8): error TS1192: Module '"tests/cases/compiler/b"' has no default export. + + +==== tests/cases/compiler/a.ts (1 errors) ==== + import Namespace from "./b"; + ~~~~~~~~~ +!!! error TS1192: Module '"tests/cases/compiler/b"' has no default export. + export var x = new Namespace.Foo(); + +==== tests/cases/compiler/b.ts (0 errors) ==== + export class Foo { + member: string; + } + \ No newline at end of file diff --git a/tests/baselines/reference/allowSyntheticDefaultImports3.js b/tests/baselines/reference/allowSyntheticDefaultImports3.js new file mode 100644 index 00000000000..2345ad65d10 --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports3.js @@ -0,0 +1,41 @@ +//// [tests/cases/compiler/allowSyntheticDefaultImports3.ts] //// + +//// [a.ts] +import Namespace from "./b"; +export var x = new Namespace.Foo(); + +//// [b.ts] +export class Foo { + member: string; +} + + +//// [b.js] +System.register([], function(exports_1) { + var Foo; + return { + setters:[], + execute: function() { + Foo = (function () { + function Foo() { + } + return Foo; + })(); + exports_1("Foo", Foo); + } + } +}); +//// [a.js] +System.register(["./b"], function(exports_1) { + var b_1; + var x; + return { + setters:[ + function (b_1_1) { + b_1 = b_1_1; + }], + execute: function() { + exports_1("x", x = new b_1["default"].Foo()); + } + } +}); diff --git a/tests/baselines/reference/allowSyntheticDefaultImports4.js b/tests/baselines/reference/allowSyntheticDefaultImports4.js new file mode 100644 index 00000000000..583d4f0bc92 --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports4.js @@ -0,0 +1,16 @@ +//// [tests/cases/compiler/allowSyntheticDefaultImports4.ts] //// + +//// [b.d.ts] +declare class Foo { + member: string; +} +export = Foo; + +//// [a.ts] +import Foo from "./b"; +export var x = new Foo(); + + +//// [a.js] +var b_1 = require("./b"); +exports.x = new b_1["default"](); diff --git a/tests/baselines/reference/allowSyntheticDefaultImports4.symbols b/tests/baselines/reference/allowSyntheticDefaultImports4.symbols new file mode 100644 index 00000000000..8edad006c2d --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports4.symbols @@ -0,0 +1,18 @@ +=== tests/cases/compiler/b.d.ts === +declare class Foo { +>Foo : Symbol(Foo, Decl(b.d.ts, 0, 0)) + + member: string; +>member : Symbol(member, Decl(b.d.ts, 0, 19)) +} +export = Foo; +>Foo : Symbol(Foo, Decl(b.d.ts, 0, 0)) + +=== tests/cases/compiler/a.ts === +import Foo from "./b"; +>Foo : Symbol(Foo, Decl(a.ts, 0, 6)) + +export var x = new Foo(); +>x : Symbol(x, Decl(a.ts, 1, 10)) +>Foo : Symbol(Foo, Decl(a.ts, 0, 6)) + diff --git a/tests/baselines/reference/allowSyntheticDefaultImports4.types b/tests/baselines/reference/allowSyntheticDefaultImports4.types new file mode 100644 index 00000000000..5922abeb43f --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports4.types @@ -0,0 +1,19 @@ +=== tests/cases/compiler/b.d.ts === +declare class Foo { +>Foo : Foo + + member: string; +>member : string +} +export = Foo; +>Foo : Foo + +=== tests/cases/compiler/a.ts === +import Foo from "./b"; +>Foo : typeof Foo + +export var x = new Foo(); +>x : Foo +>new Foo() : Foo +>Foo : typeof Foo + diff --git a/tests/baselines/reference/allowSyntheticDefaultImports5.js b/tests/baselines/reference/allowSyntheticDefaultImports5.js new file mode 100644 index 00000000000..e1528e27915 --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports5.js @@ -0,0 +1,27 @@ +//// [tests/cases/compiler/allowSyntheticDefaultImports5.ts] //// + +//// [b.d.ts] +declare class Foo { + member: string; +} +export = Foo; + +//// [a.ts] +import Foo from "./b"; +export var x = new Foo(); + + +//// [a.js] +System.register(["./b"], function(exports_1) { + var b_1; + var x; + return { + setters:[ + function (b_1_1) { + b_1 = b_1_1; + }], + execute: function() { + exports_1("x", x = new b_1["default"]()); + } + } +}); diff --git a/tests/baselines/reference/allowSyntheticDefaultImports5.symbols b/tests/baselines/reference/allowSyntheticDefaultImports5.symbols new file mode 100644 index 00000000000..8edad006c2d --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports5.symbols @@ -0,0 +1,18 @@ +=== tests/cases/compiler/b.d.ts === +declare class Foo { +>Foo : Symbol(Foo, Decl(b.d.ts, 0, 0)) + + member: string; +>member : Symbol(member, Decl(b.d.ts, 0, 19)) +} +export = Foo; +>Foo : Symbol(Foo, Decl(b.d.ts, 0, 0)) + +=== tests/cases/compiler/a.ts === +import Foo from "./b"; +>Foo : Symbol(Foo, Decl(a.ts, 0, 6)) + +export var x = new Foo(); +>x : Symbol(x, Decl(a.ts, 1, 10)) +>Foo : Symbol(Foo, Decl(a.ts, 0, 6)) + diff --git a/tests/baselines/reference/allowSyntheticDefaultImports5.types b/tests/baselines/reference/allowSyntheticDefaultImports5.types new file mode 100644 index 00000000000..5922abeb43f --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports5.types @@ -0,0 +1,19 @@ +=== tests/cases/compiler/b.d.ts === +declare class Foo { +>Foo : Foo + + member: string; +>member : string +} +export = Foo; +>Foo : Foo + +=== tests/cases/compiler/a.ts === +import Foo from "./b"; +>Foo : typeof Foo + +export var x = new Foo(); +>x : Foo +>new Foo() : Foo +>Foo : typeof Foo + diff --git a/tests/baselines/reference/allowSyntheticDefaultImports6.errors.txt b/tests/baselines/reference/allowSyntheticDefaultImports6.errors.txt new file mode 100644 index 00000000000..80b9cf8d074 --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports6.errors.txt @@ -0,0 +1,15 @@ +tests/cases/compiler/a.ts(1,8): error TS1192: Module '"tests/cases/compiler/b"' has no default export. + + +==== tests/cases/compiler/b.d.ts (0 errors) ==== + declare class Foo { + member: string; + } + export = Foo; + +==== tests/cases/compiler/a.ts (1 errors) ==== + import Foo from "./b"; + ~~~ +!!! error TS1192: Module '"tests/cases/compiler/b"' has no default export. + export var x = new Foo(); + \ No newline at end of file diff --git a/tests/baselines/reference/allowSyntheticDefaultImports6.js b/tests/baselines/reference/allowSyntheticDefaultImports6.js new file mode 100644 index 00000000000..0e27ce127d8 --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports6.js @@ -0,0 +1,27 @@ +//// [tests/cases/compiler/allowSyntheticDefaultImports6.ts] //// + +//// [b.d.ts] +declare class Foo { + member: string; +} +export = Foo; + +//// [a.ts] +import Foo from "./b"; +export var x = new Foo(); + + +//// [a.js] +System.register(["./b"], function(exports_1) { + var b_1; + var x; + return { + setters:[ + function (b_1_1) { + b_1 = b_1_1; + }], + execute: function() { + exports_1("x", x = new b_1["default"]()); + } + } +}); diff --git a/tests/cases/compiler/allowSyntheticDefaultImports1.ts b/tests/cases/compiler/allowSyntheticDefaultImports1.ts new file mode 100644 index 00000000000..4793da79136 --- /dev/null +++ b/tests/cases/compiler/allowSyntheticDefaultImports1.ts @@ -0,0 +1,10 @@ +// @allowSyntheticDefaultImports: true +// @module: commonjs +// @Filename: a.ts +import Namespace from "./b"; +export var x = new Namespace.Foo(); + +// @Filename: b.ts +export class Foo { + member: string; +} diff --git a/tests/cases/compiler/allowSyntheticDefaultImports2.ts b/tests/cases/compiler/allowSyntheticDefaultImports2.ts new file mode 100644 index 00000000000..8fa004be387 --- /dev/null +++ b/tests/cases/compiler/allowSyntheticDefaultImports2.ts @@ -0,0 +1,9 @@ +// @module: system +// @Filename: a.ts +import Namespace from "./b"; +export var x = new Namespace.Foo(); + +// @Filename: b.ts +export class Foo { + member: string; +} \ No newline at end of file diff --git a/tests/cases/compiler/allowSyntheticDefaultImports3.ts b/tests/cases/compiler/allowSyntheticDefaultImports3.ts new file mode 100644 index 00000000000..65d11c892c9 --- /dev/null +++ b/tests/cases/compiler/allowSyntheticDefaultImports3.ts @@ -0,0 +1,10 @@ +// @allowSyntheticDefaultImports: false +// @module: system +// @Filename: a.ts +import Namespace from "./b"; +export var x = new Namespace.Foo(); + +// @Filename: b.ts +export class Foo { + member: string; +} diff --git a/tests/cases/compiler/allowSyntheticDefaultImports4.ts b/tests/cases/compiler/allowSyntheticDefaultImports4.ts new file mode 100644 index 00000000000..1d26c6277c1 --- /dev/null +++ b/tests/cases/compiler/allowSyntheticDefaultImports4.ts @@ -0,0 +1,11 @@ +// @allowSyntheticDefaultImports: true +// @module: commonjs +// @Filename: b.d.ts +declare class Foo { + member: string; +} +export = Foo; + +// @Filename: a.ts +import Foo from "./b"; +export var x = new Foo(); diff --git a/tests/cases/compiler/allowSyntheticDefaultImports5.ts b/tests/cases/compiler/allowSyntheticDefaultImports5.ts new file mode 100644 index 00000000000..30ebba67144 --- /dev/null +++ b/tests/cases/compiler/allowSyntheticDefaultImports5.ts @@ -0,0 +1,10 @@ +// @module: system +// @Filename: b.d.ts +declare class Foo { + member: string; +} +export = Foo; + +// @Filename: a.ts +import Foo from "./b"; +export var x = new Foo(); diff --git a/tests/cases/compiler/allowSyntheticDefaultImports6.ts b/tests/cases/compiler/allowSyntheticDefaultImports6.ts new file mode 100644 index 00000000000..ff0300e30b4 --- /dev/null +++ b/tests/cases/compiler/allowSyntheticDefaultImports6.ts @@ -0,0 +1,11 @@ +// @allowSyntheticDefaultImports: false +// @module: system +// @Filename: b.d.ts +declare class Foo { + member: string; +} +export = Foo; + +// @Filename: a.ts +import Foo from "./b"; +export var x = new Foo(); From 9024032571316f17ccdc80a3392b9d173621babe Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Mon, 9 Nov 2015 15:13:55 -0800 Subject: [PATCH 02/28] use typeof --- src/compiler/checker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 9dbce88c32b..102b6b0c670 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -46,7 +46,7 @@ namespace ts { const compilerOptions = host.getCompilerOptions(); const languageVersion = compilerOptions.target || ScriptTarget.ES3; const modulekind = compilerOptions.module ? compilerOptions.module : languageVersion === ScriptTarget.ES6 ? ModuleKind.ES6 : ModuleKind.None; - const allowSyntheticDefaultImports = compilerOptions.hasOwnProperty("allowSyntheticDefaultImports") ? compilerOptions.allowSyntheticDefaultImports : modulekind === ModuleKind.System; + const allowSyntheticDefaultImports = typeof compilerOptions.allowSyntheticDefaultImports !== "undefined" ? compilerOptions.allowSyntheticDefaultImports : modulekind === ModuleKind.System; const emitResolver = createResolver(); From b31ac2e946ed661ac9e0ea0cf7a2ef43cfa30ac6 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Thu, 12 Nov 2015 16:56:20 -0800 Subject: [PATCH 03/28] Add a handful of tests --- .../es6/moduleExportsAmd/defaultExportsGetExportedAmd.ts | 3 +++ .../moduleExportsCommonjs/defaultExportsGetExportedCommonjs.ts | 3 +++ .../es6/moduleExportsSystem/defaultExportsGetExportedSystem.ts | 3 +++ .../es6/moduleExportsUmd/defaultExportsGetExportedUmd.ts | 3 +++ 4 files changed, 12 insertions(+) create mode 100644 tests/cases/conformance/es6/moduleExportsAmd/defaultExportsGetExportedAmd.ts create mode 100644 tests/cases/conformance/es6/moduleExportsCommonjs/defaultExportsGetExportedCommonjs.ts create mode 100644 tests/cases/conformance/es6/moduleExportsSystem/defaultExportsGetExportedSystem.ts create mode 100644 tests/cases/conformance/es6/moduleExportsUmd/defaultExportsGetExportedUmd.ts diff --git a/tests/cases/conformance/es6/moduleExportsAmd/defaultExportsGetExportedAmd.ts b/tests/cases/conformance/es6/moduleExportsAmd/defaultExportsGetExportedAmd.ts new file mode 100644 index 00000000000..ef0f2ffde17 --- /dev/null +++ b/tests/cases/conformance/es6/moduleExportsAmd/defaultExportsGetExportedAmd.ts @@ -0,0 +1,3 @@ +// @target: ES6 +// @module: amd +export default class Foo {} diff --git a/tests/cases/conformance/es6/moduleExportsCommonjs/defaultExportsGetExportedCommonjs.ts b/tests/cases/conformance/es6/moduleExportsCommonjs/defaultExportsGetExportedCommonjs.ts new file mode 100644 index 00000000000..994f24df658 --- /dev/null +++ b/tests/cases/conformance/es6/moduleExportsCommonjs/defaultExportsGetExportedCommonjs.ts @@ -0,0 +1,3 @@ +// @target: ES6 +// @module: commonjs +export default class Foo {} diff --git a/tests/cases/conformance/es6/moduleExportsSystem/defaultExportsGetExportedSystem.ts b/tests/cases/conformance/es6/moduleExportsSystem/defaultExportsGetExportedSystem.ts new file mode 100644 index 00000000000..3764f2ec36c --- /dev/null +++ b/tests/cases/conformance/es6/moduleExportsSystem/defaultExportsGetExportedSystem.ts @@ -0,0 +1,3 @@ +// @target: ES6 +// @module: system +export default class Foo {} diff --git a/tests/cases/conformance/es6/moduleExportsUmd/defaultExportsGetExportedUmd.ts b/tests/cases/conformance/es6/moduleExportsUmd/defaultExportsGetExportedUmd.ts new file mode 100644 index 00000000000..39784fc7188 --- /dev/null +++ b/tests/cases/conformance/es6/moduleExportsUmd/defaultExportsGetExportedUmd.ts @@ -0,0 +1,3 @@ +// @target: ES6 +// @module: umd +export default class Foo {} From 57162e9b59c8126e4efc420f52b9666315086048 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Thu, 12 Nov 2015 18:11:07 -0800 Subject: [PATCH 04/28] handful more tests --- .../decoratedDefaultExportsGetExportedAmd.ts | 7 +++++++ .../decoratedDefaultExportsGetExportedCommonjs.ts | 7 +++++++ .../decoratedDefaultExportsGetExportedSystem.ts | 7 +++++++ .../decoratedDefaultExportsGetExportedUmd.ts | 7 +++++++ 4 files changed, 28 insertions(+) create mode 100644 tests/cases/conformance/es6/moduleExportsAmd/decoratedDefaultExportsGetExportedAmd.ts create mode 100644 tests/cases/conformance/es6/moduleExportsCommonjs/decoratedDefaultExportsGetExportedCommonjs.ts create mode 100644 tests/cases/conformance/es6/moduleExportsSystem/decoratedDefaultExportsGetExportedSystem.ts create mode 100644 tests/cases/conformance/es6/moduleExportsUmd/decoratedDefaultExportsGetExportedUmd.ts diff --git a/tests/cases/conformance/es6/moduleExportsAmd/decoratedDefaultExportsGetExportedAmd.ts b/tests/cases/conformance/es6/moduleExportsAmd/decoratedDefaultExportsGetExportedAmd.ts new file mode 100644 index 00000000000..3b51b80619f --- /dev/null +++ b/tests/cases/conformance/es6/moduleExportsAmd/decoratedDefaultExportsGetExportedAmd.ts @@ -0,0 +1,7 @@ +// @target: ES6 +// @module: amd + +var decorator: ClassDecorator; + +@decorator +export default class Foo {} diff --git a/tests/cases/conformance/es6/moduleExportsCommonjs/decoratedDefaultExportsGetExportedCommonjs.ts b/tests/cases/conformance/es6/moduleExportsCommonjs/decoratedDefaultExportsGetExportedCommonjs.ts new file mode 100644 index 00000000000..3fc09a2eeb4 --- /dev/null +++ b/tests/cases/conformance/es6/moduleExportsCommonjs/decoratedDefaultExportsGetExportedCommonjs.ts @@ -0,0 +1,7 @@ +// @target: ES6 +// @module: commonjs + +var decorator: ClassDecorator; + +@decorator +export default class Foo {} diff --git a/tests/cases/conformance/es6/moduleExportsSystem/decoratedDefaultExportsGetExportedSystem.ts b/tests/cases/conformance/es6/moduleExportsSystem/decoratedDefaultExportsGetExportedSystem.ts new file mode 100644 index 00000000000..7957b78c805 --- /dev/null +++ b/tests/cases/conformance/es6/moduleExportsSystem/decoratedDefaultExportsGetExportedSystem.ts @@ -0,0 +1,7 @@ +// @target: ES6 +// @module: system + +var decorator: ClassDecorator; + +@decorator +export default class Foo {} diff --git a/tests/cases/conformance/es6/moduleExportsUmd/decoratedDefaultExportsGetExportedUmd.ts b/tests/cases/conformance/es6/moduleExportsUmd/decoratedDefaultExportsGetExportedUmd.ts new file mode 100644 index 00000000000..9dc63bec9c3 --- /dev/null +++ b/tests/cases/conformance/es6/moduleExportsUmd/decoratedDefaultExportsGetExportedUmd.ts @@ -0,0 +1,7 @@ +// @target: ES6 +// @module: umd + +var decorator: ClassDecorator; + +@decorator +export default class Foo {} From b5ac1eb0ae3bd240b297750ea32b6d5a2e9451c5 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Thu, 12 Nov 2015 18:24:04 -0800 Subject: [PATCH 05/28] add decorator flag to tests --- .../moduleExportsAmd/decoratedDefaultExportsGetExportedAmd.ts | 1 + .../decoratedDefaultExportsGetExportedCommonjs.ts | 1 + .../decoratedDefaultExportsGetExportedSystem.ts | 1 + .../moduleExportsUmd/decoratedDefaultExportsGetExportedUmd.ts | 1 + 4 files changed, 4 insertions(+) diff --git a/tests/cases/conformance/es6/moduleExportsAmd/decoratedDefaultExportsGetExportedAmd.ts b/tests/cases/conformance/es6/moduleExportsAmd/decoratedDefaultExportsGetExportedAmd.ts index 3b51b80619f..87fc8afd263 100644 --- a/tests/cases/conformance/es6/moduleExportsAmd/decoratedDefaultExportsGetExportedAmd.ts +++ b/tests/cases/conformance/es6/moduleExportsAmd/decoratedDefaultExportsGetExportedAmd.ts @@ -1,4 +1,5 @@ // @target: ES6 +// @experimentalDecorators: true // @module: amd var decorator: ClassDecorator; diff --git a/tests/cases/conformance/es6/moduleExportsCommonjs/decoratedDefaultExportsGetExportedCommonjs.ts b/tests/cases/conformance/es6/moduleExportsCommonjs/decoratedDefaultExportsGetExportedCommonjs.ts index 3fc09a2eeb4..aefd07ffdb9 100644 --- a/tests/cases/conformance/es6/moduleExportsCommonjs/decoratedDefaultExportsGetExportedCommonjs.ts +++ b/tests/cases/conformance/es6/moduleExportsCommonjs/decoratedDefaultExportsGetExportedCommonjs.ts @@ -1,4 +1,5 @@ // @target: ES6 +// @experimentalDecorators: true // @module: commonjs var decorator: ClassDecorator; diff --git a/tests/cases/conformance/es6/moduleExportsSystem/decoratedDefaultExportsGetExportedSystem.ts b/tests/cases/conformance/es6/moduleExportsSystem/decoratedDefaultExportsGetExportedSystem.ts index 7957b78c805..b871b3c7b35 100644 --- a/tests/cases/conformance/es6/moduleExportsSystem/decoratedDefaultExportsGetExportedSystem.ts +++ b/tests/cases/conformance/es6/moduleExportsSystem/decoratedDefaultExportsGetExportedSystem.ts @@ -1,4 +1,5 @@ // @target: ES6 +// @experimentalDecorators: true // @module: system var decorator: ClassDecorator; diff --git a/tests/cases/conformance/es6/moduleExportsUmd/decoratedDefaultExportsGetExportedUmd.ts b/tests/cases/conformance/es6/moduleExportsUmd/decoratedDefaultExportsGetExportedUmd.ts index 9dc63bec9c3..9b0a7d773ef 100644 --- a/tests/cases/conformance/es6/moduleExportsUmd/decoratedDefaultExportsGetExportedUmd.ts +++ b/tests/cases/conformance/es6/moduleExportsUmd/decoratedDefaultExportsGetExportedUmd.ts @@ -1,4 +1,5 @@ // @target: ES6 +// @experimentalDecorators: true // @module: umd var decorator: ClassDecorator; From e79253a07c2b913810d5042ed592c3cacaad2f69 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Thu, 12 Nov 2015 18:27:47 -0800 Subject: [PATCH 06/28] fix handling of decorated default exports on es6 with nones6 modules --- src/compiler/emitter.ts | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 84d6f091039..ab9fe35b92f 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -5576,9 +5576,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi emitDecoratorsOfClass(node); } + if (!(node.flags & NodeFlags.Export)) { + return; + } // If this is an exported class, but not on the top level (i.e. on an internal // module), export it - if (!isES6ExportedDeclaration(node) && (node.flags & NodeFlags.Export)) { + if (node.parent.kind !== SyntaxKind.SourceFile) { writeLine(); emitStart(node); emitModuleMemberName(node); @@ -5587,12 +5590,31 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi emitEnd(node); write(";"); } - else if (isES6ExportedDeclaration(node) && (node.flags & NodeFlags.Default) && thisNodeIsDecorated) { + else if (node.parent.kind === SyntaxKind.SourceFile && (node.flags & NodeFlags.Default) && thisNodeIsDecorated) { // if this is a top level default export of decorated class, write the export after the declaration. - writeLine(); - write("export default "); - emitDeclarationName(node); - write(";"); + if (modulekind === ModuleKind.ES6) { + writeLine(); + write("export default "); + emitDeclarationName(node); + write(";"); + } + else if (modulekind === ModuleKind.System) { + writeLine(); + write(`${exportFunctionForFile}("default", `); + emitDeclarationName(node); + write(");"); + } + else { + writeLine(); + if (languageVersion === ScriptTarget.ES3) { + write(`exports["default"] = `); + } + else { + write(`exports.default = `); + } + emitDeclarationName(node); + write(";"); + } } } From 521a0a160c36eba85875817efb274c94dac58b87 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Thu, 12 Nov 2015 19:03:52 -0800 Subject: [PATCH 07/28] Fix class exports with varrying module emits while targeting es6 --- src/compiler/emitter.ts | 47 ++++++++++++++++++----------------------- 1 file changed, 20 insertions(+), 27 deletions(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index ab9fe35b92f..323a5680ccc 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -5581,7 +5581,26 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi } // If this is an exported class, but not on the top level (i.e. on an internal // module), export it - if (node.parent.kind !== SyntaxKind.SourceFile) { + if (node.parent.kind === SyntaxKind.SourceFile && (node.flags & NodeFlags.Default)) { + // if this is a top level default export of decorated class, write the export after the declaration. + writeLine(); + if (thisNodeIsDecorated && modulekind === ModuleKind.ES6) { + write("export default "); + emitDeclarationName(node); + write(";"); + } + else if (modulekind === ModuleKind.System) { + write(`${exportFunctionForFile}("default", `); + emitDeclarationName(node); + write(");"); + } + else if (modulekind !== ModuleKind.ES6) { + write(`exports.default = `); + emitDeclarationName(node); + write(";"); + } + } + else if (node.parent.kind !== SyntaxKind.SourceFile || (modulekind !== ModuleKind.ES6 && !(node.flags & NodeFlags.Default))) { writeLine(); emitStart(node); emitModuleMemberName(node); @@ -5590,32 +5609,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi emitEnd(node); write(";"); } - else if (node.parent.kind === SyntaxKind.SourceFile && (node.flags & NodeFlags.Default) && thisNodeIsDecorated) { - // if this is a top level default export of decorated class, write the export after the declaration. - if (modulekind === ModuleKind.ES6) { - writeLine(); - write("export default "); - emitDeclarationName(node); - write(";"); - } - else if (modulekind === ModuleKind.System) { - writeLine(); - write(`${exportFunctionForFile}("default", `); - emitDeclarationName(node); - write(");"); - } - else { - writeLine(); - if (languageVersion === ScriptTarget.ES3) { - write(`exports["default"] = `); - } - else { - write(`exports.default = `); - } - emitDeclarationName(node); - write(";"); - } - } } function emitClassLikeDeclarationBelowES6(node: ClassLikeDeclaration) { From 36607b99b51a2d812ca96da24069756acce44375 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Thu, 12 Nov 2015 19:05:28 -0800 Subject: [PATCH 08/28] accept baselines for new tests --- .../decoratedDefaultExportsGetExportedAmd.js | 24 ++++++++++++++ ...oratedDefaultExportsGetExportedAmd.symbols | 12 +++++++ ...ecoratedDefaultExportsGetExportedAmd.types | 12 +++++++ ...oratedDefaultExportsGetExportedCommonjs.js | 22 +++++++++++++ ...dDefaultExportsGetExportedCommonjs.symbols | 12 +++++++ ...tedDefaultExportsGetExportedCommonjs.types | 12 +++++++ ...ecoratedDefaultExportsGetExportedSystem.js | 29 +++++++++++++++++ ...tedDefaultExportsGetExportedSystem.symbols | 12 +++++++ ...ratedDefaultExportsGetExportedSystem.types | 12 +++++++ .../decoratedDefaultExportsGetExportedUmd.js | 31 +++++++++++++++++++ ...oratedDefaultExportsGetExportedUmd.symbols | 12 +++++++ ...ecoratedDefaultExportsGetExportedUmd.types | 12 +++++++ .../reference/defaultExportsGetExportedAmd.js | 10 ++++++ .../defaultExportsGetExportedAmd.symbols | 4 +++ .../defaultExportsGetExportedAmd.types | 4 +++ .../defaultExportsGetExportedCommonjs.js | 8 +++++ .../defaultExportsGetExportedCommonjs.symbols | 4 +++ .../defaultExportsGetExportedCommonjs.types | 4 +++ .../defaultExportsGetExportedSystem.js | 16 ++++++++++ .../defaultExportsGetExportedSystem.symbols | 4 +++ .../defaultExportsGetExportedSystem.types | 4 +++ .../reference/defaultExportsGetExportedUmd.js | 17 ++++++++++ .../defaultExportsGetExportedUmd.symbols | 4 +++ .../defaultExportsGetExportedUmd.types | 4 +++ 24 files changed, 285 insertions(+) create mode 100644 tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.js create mode 100644 tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.symbols create mode 100644 tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.types create mode 100644 tests/baselines/reference/decoratedDefaultExportsGetExportedCommonjs.js create mode 100644 tests/baselines/reference/decoratedDefaultExportsGetExportedCommonjs.symbols create mode 100644 tests/baselines/reference/decoratedDefaultExportsGetExportedCommonjs.types create mode 100644 tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.js create mode 100644 tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.symbols create mode 100644 tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.types create mode 100644 tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.js create mode 100644 tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.symbols create mode 100644 tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.types create mode 100644 tests/baselines/reference/defaultExportsGetExportedAmd.js create mode 100644 tests/baselines/reference/defaultExportsGetExportedAmd.symbols create mode 100644 tests/baselines/reference/defaultExportsGetExportedAmd.types create mode 100644 tests/baselines/reference/defaultExportsGetExportedCommonjs.js create mode 100644 tests/baselines/reference/defaultExportsGetExportedCommonjs.symbols create mode 100644 tests/baselines/reference/defaultExportsGetExportedCommonjs.types create mode 100644 tests/baselines/reference/defaultExportsGetExportedSystem.js create mode 100644 tests/baselines/reference/defaultExportsGetExportedSystem.symbols create mode 100644 tests/baselines/reference/defaultExportsGetExportedSystem.types create mode 100644 tests/baselines/reference/defaultExportsGetExportedUmd.js create mode 100644 tests/baselines/reference/defaultExportsGetExportedUmd.symbols create mode 100644 tests/baselines/reference/defaultExportsGetExportedUmd.types diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.js b/tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.js new file mode 100644 index 00000000000..441d8b0d70a --- /dev/null +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.js @@ -0,0 +1,24 @@ +//// [decoratedDefaultExportsGetExportedAmd.ts] + +var decorator: ClassDecorator; + +@decorator +export default class Foo {} + + +//// [decoratedDefaultExportsGetExportedAmd.js] +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +define(["require", "exports"], function (require, exports) { + var decorator; + let Foo = class { + }; + Foo = __decorate([ + decorator + ], Foo); + exports.default = Foo; +}); diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.symbols b/tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.symbols new file mode 100644 index 00000000000..d8ff6716c38 --- /dev/null +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.symbols @@ -0,0 +1,12 @@ +=== tests/cases/conformance/es6/moduleExportsAmd/decoratedDefaultExportsGetExportedAmd.ts === + +var decorator: ClassDecorator; +>decorator : Symbol(decorator, Decl(decoratedDefaultExportsGetExportedAmd.ts, 1, 3)) +>ClassDecorator : Symbol(ClassDecorator, Decl(lib.d.ts, --, --)) + +@decorator +>decorator : Symbol(decorator, Decl(decoratedDefaultExportsGetExportedAmd.ts, 1, 3)) + +export default class Foo {} +>Foo : Symbol(Foo, Decl(decoratedDefaultExportsGetExportedAmd.ts, 1, 30)) + diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.types b/tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.types new file mode 100644 index 00000000000..89df83ce76d --- /dev/null +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.types @@ -0,0 +1,12 @@ +=== tests/cases/conformance/es6/moduleExportsAmd/decoratedDefaultExportsGetExportedAmd.ts === + +var decorator: ClassDecorator; +>decorator : (target: TFunction) => TFunction | void +>ClassDecorator : (target: TFunction) => TFunction | void + +@decorator +>decorator : (target: TFunction) => TFunction | void + +export default class Foo {} +>Foo : Foo + diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedCommonjs.js b/tests/baselines/reference/decoratedDefaultExportsGetExportedCommonjs.js new file mode 100644 index 00000000000..8818241c9b5 --- /dev/null +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedCommonjs.js @@ -0,0 +1,22 @@ +//// [decoratedDefaultExportsGetExportedCommonjs.ts] + +var decorator: ClassDecorator; + +@decorator +export default class Foo {} + + +//// [decoratedDefaultExportsGetExportedCommonjs.js] +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var decorator; +let Foo = class { +}; +Foo = __decorate([ + decorator +], Foo); +exports.default = Foo; diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedCommonjs.symbols b/tests/baselines/reference/decoratedDefaultExportsGetExportedCommonjs.symbols new file mode 100644 index 00000000000..35131c1244e --- /dev/null +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedCommonjs.symbols @@ -0,0 +1,12 @@ +=== tests/cases/conformance/es6/moduleExportsCommonjs/decoratedDefaultExportsGetExportedCommonjs.ts === + +var decorator: ClassDecorator; +>decorator : Symbol(decorator, Decl(decoratedDefaultExportsGetExportedCommonjs.ts, 1, 3)) +>ClassDecorator : Symbol(ClassDecorator, Decl(lib.d.ts, --, --)) + +@decorator +>decorator : Symbol(decorator, Decl(decoratedDefaultExportsGetExportedCommonjs.ts, 1, 3)) + +export default class Foo {} +>Foo : Symbol(Foo, Decl(decoratedDefaultExportsGetExportedCommonjs.ts, 1, 30)) + diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedCommonjs.types b/tests/baselines/reference/decoratedDefaultExportsGetExportedCommonjs.types new file mode 100644 index 00000000000..56c8926342a --- /dev/null +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedCommonjs.types @@ -0,0 +1,12 @@ +=== tests/cases/conformance/es6/moduleExportsCommonjs/decoratedDefaultExportsGetExportedCommonjs.ts === + +var decorator: ClassDecorator; +>decorator : (target: TFunction) => TFunction | void +>ClassDecorator : (target: TFunction) => TFunction | void + +@decorator +>decorator : (target: TFunction) => TFunction | void + +export default class Foo {} +>Foo : Foo + diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.js b/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.js new file mode 100644 index 00000000000..1ae54560ae3 --- /dev/null +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.js @@ -0,0 +1,29 @@ +//// [decoratedDefaultExportsGetExportedSystem.ts] + +var decorator: ClassDecorator; + +@decorator +export default class Foo {} + + +//// [decoratedDefaultExportsGetExportedSystem.js] +System.register([], function(exports_1) { + var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + var decorator, Foo; + return { + setters:[], + execute: function() { + let Foo = class { + }; + Foo = __decorate([ + decorator + ], Foo); + exports_1("default", Foo); + } + } +}); diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.symbols b/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.symbols new file mode 100644 index 00000000000..106ea3cacd8 --- /dev/null +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.symbols @@ -0,0 +1,12 @@ +=== tests/cases/conformance/es6/moduleExportsSystem/decoratedDefaultExportsGetExportedSystem.ts === + +var decorator: ClassDecorator; +>decorator : Symbol(decorator, Decl(decoratedDefaultExportsGetExportedSystem.ts, 1, 3)) +>ClassDecorator : Symbol(ClassDecorator, Decl(lib.d.ts, --, --)) + +@decorator +>decorator : Symbol(decorator, Decl(decoratedDefaultExportsGetExportedSystem.ts, 1, 3)) + +export default class Foo {} +>Foo : Symbol(Foo, Decl(decoratedDefaultExportsGetExportedSystem.ts, 1, 30)) + diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.types b/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.types new file mode 100644 index 00000000000..c180f5fcf09 --- /dev/null +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.types @@ -0,0 +1,12 @@ +=== tests/cases/conformance/es6/moduleExportsSystem/decoratedDefaultExportsGetExportedSystem.ts === + +var decorator: ClassDecorator; +>decorator : (target: TFunction) => TFunction | void +>ClassDecorator : (target: TFunction) => TFunction | void + +@decorator +>decorator : (target: TFunction) => TFunction | void + +export default class Foo {} +>Foo : Foo + diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.js b/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.js new file mode 100644 index 00000000000..118af702fc1 --- /dev/null +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.js @@ -0,0 +1,31 @@ +//// [decoratedDefaultExportsGetExportedUmd.ts] + +var decorator: ClassDecorator; + +@decorator +export default class Foo {} + + +//// [decoratedDefaultExportsGetExportedUmd.js] +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +(function (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(["require", "exports"], factory); + } +})(function (require, exports) { + var decorator; + let Foo = class { + }; + Foo = __decorate([ + decorator + ], Foo); + exports.default = Foo; +}); diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.symbols b/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.symbols new file mode 100644 index 00000000000..f4a8266cfa1 --- /dev/null +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.symbols @@ -0,0 +1,12 @@ +=== tests/cases/conformance/es6/moduleExportsUmd/decoratedDefaultExportsGetExportedUmd.ts === + +var decorator: ClassDecorator; +>decorator : Symbol(decorator, Decl(decoratedDefaultExportsGetExportedUmd.ts, 1, 3)) +>ClassDecorator : Symbol(ClassDecorator, Decl(lib.d.ts, --, --)) + +@decorator +>decorator : Symbol(decorator, Decl(decoratedDefaultExportsGetExportedUmd.ts, 1, 3)) + +export default class Foo {} +>Foo : Symbol(Foo, Decl(decoratedDefaultExportsGetExportedUmd.ts, 1, 30)) + diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.types b/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.types new file mode 100644 index 00000000000..a258a600ba0 --- /dev/null +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.types @@ -0,0 +1,12 @@ +=== tests/cases/conformance/es6/moduleExportsUmd/decoratedDefaultExportsGetExportedUmd.ts === + +var decorator: ClassDecorator; +>decorator : (target: TFunction) => TFunction | void +>ClassDecorator : (target: TFunction) => TFunction | void + +@decorator +>decorator : (target: TFunction) => TFunction | void + +export default class Foo {} +>Foo : Foo + diff --git a/tests/baselines/reference/defaultExportsGetExportedAmd.js b/tests/baselines/reference/defaultExportsGetExportedAmd.js new file mode 100644 index 00000000000..4eba3ba9600 --- /dev/null +++ b/tests/baselines/reference/defaultExportsGetExportedAmd.js @@ -0,0 +1,10 @@ +//// [defaultExportsGetExportedAmd.ts] +export default class Foo {} + + +//// [defaultExportsGetExportedAmd.js] +define(["require", "exports"], function (require, exports) { + class Foo { + } + exports.default = Foo; +}); diff --git a/tests/baselines/reference/defaultExportsGetExportedAmd.symbols b/tests/baselines/reference/defaultExportsGetExportedAmd.symbols new file mode 100644 index 00000000000..22376f91b08 --- /dev/null +++ b/tests/baselines/reference/defaultExportsGetExportedAmd.symbols @@ -0,0 +1,4 @@ +=== tests/cases/conformance/es6/moduleExportsAmd/defaultExportsGetExportedAmd.ts === +export default class Foo {} +>Foo : Symbol(Foo, Decl(defaultExportsGetExportedAmd.ts, 0, 0)) + diff --git a/tests/baselines/reference/defaultExportsGetExportedAmd.types b/tests/baselines/reference/defaultExportsGetExportedAmd.types new file mode 100644 index 00000000000..94e511dbef6 --- /dev/null +++ b/tests/baselines/reference/defaultExportsGetExportedAmd.types @@ -0,0 +1,4 @@ +=== tests/cases/conformance/es6/moduleExportsAmd/defaultExportsGetExportedAmd.ts === +export default class Foo {} +>Foo : Foo + diff --git a/tests/baselines/reference/defaultExportsGetExportedCommonjs.js b/tests/baselines/reference/defaultExportsGetExportedCommonjs.js new file mode 100644 index 00000000000..a19b99fe9d3 --- /dev/null +++ b/tests/baselines/reference/defaultExportsGetExportedCommonjs.js @@ -0,0 +1,8 @@ +//// [defaultExportsGetExportedCommonjs.ts] +export default class Foo {} + + +//// [defaultExportsGetExportedCommonjs.js] +class Foo { +} +exports.default = Foo; diff --git a/tests/baselines/reference/defaultExportsGetExportedCommonjs.symbols b/tests/baselines/reference/defaultExportsGetExportedCommonjs.symbols new file mode 100644 index 00000000000..a5be95f1787 --- /dev/null +++ b/tests/baselines/reference/defaultExportsGetExportedCommonjs.symbols @@ -0,0 +1,4 @@ +=== tests/cases/conformance/es6/moduleExportsCommonjs/defaultExportsGetExportedCommonjs.ts === +export default class Foo {} +>Foo : Symbol(Foo, Decl(defaultExportsGetExportedCommonjs.ts, 0, 0)) + diff --git a/tests/baselines/reference/defaultExportsGetExportedCommonjs.types b/tests/baselines/reference/defaultExportsGetExportedCommonjs.types new file mode 100644 index 00000000000..d7034ffa03d --- /dev/null +++ b/tests/baselines/reference/defaultExportsGetExportedCommonjs.types @@ -0,0 +1,4 @@ +=== tests/cases/conformance/es6/moduleExportsCommonjs/defaultExportsGetExportedCommonjs.ts === +export default class Foo {} +>Foo : Foo + diff --git a/tests/baselines/reference/defaultExportsGetExportedSystem.js b/tests/baselines/reference/defaultExportsGetExportedSystem.js new file mode 100644 index 00000000000..1f1a7c9dea6 --- /dev/null +++ b/tests/baselines/reference/defaultExportsGetExportedSystem.js @@ -0,0 +1,16 @@ +//// [defaultExportsGetExportedSystem.ts] +export default class Foo {} + + +//// [defaultExportsGetExportedSystem.js] +System.register([], function(exports_1) { + var Foo; + return { + setters:[], + execute: function() { + class Foo { + } + exports_1("default", Foo); + } + } +}); diff --git a/tests/baselines/reference/defaultExportsGetExportedSystem.symbols b/tests/baselines/reference/defaultExportsGetExportedSystem.symbols new file mode 100644 index 00000000000..9050833680e --- /dev/null +++ b/tests/baselines/reference/defaultExportsGetExportedSystem.symbols @@ -0,0 +1,4 @@ +=== tests/cases/conformance/es6/moduleExportsSystem/defaultExportsGetExportedSystem.ts === +export default class Foo {} +>Foo : Symbol(Foo, Decl(defaultExportsGetExportedSystem.ts, 0, 0)) + diff --git a/tests/baselines/reference/defaultExportsGetExportedSystem.types b/tests/baselines/reference/defaultExportsGetExportedSystem.types new file mode 100644 index 00000000000..d1439f0f99d --- /dev/null +++ b/tests/baselines/reference/defaultExportsGetExportedSystem.types @@ -0,0 +1,4 @@ +=== tests/cases/conformance/es6/moduleExportsSystem/defaultExportsGetExportedSystem.ts === +export default class Foo {} +>Foo : Foo + diff --git a/tests/baselines/reference/defaultExportsGetExportedUmd.js b/tests/baselines/reference/defaultExportsGetExportedUmd.js new file mode 100644 index 00000000000..ed3639ace55 --- /dev/null +++ b/tests/baselines/reference/defaultExportsGetExportedUmd.js @@ -0,0 +1,17 @@ +//// [defaultExportsGetExportedUmd.ts] +export default class Foo {} + + +//// [defaultExportsGetExportedUmd.js] +(function (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(["require", "exports"], factory); + } +})(function (require, exports) { + class Foo { + } + exports.default = Foo; +}); diff --git a/tests/baselines/reference/defaultExportsGetExportedUmd.symbols b/tests/baselines/reference/defaultExportsGetExportedUmd.symbols new file mode 100644 index 00000000000..9c59f10e6e0 --- /dev/null +++ b/tests/baselines/reference/defaultExportsGetExportedUmd.symbols @@ -0,0 +1,4 @@ +=== tests/cases/conformance/es6/moduleExportsUmd/defaultExportsGetExportedUmd.ts === +export default class Foo {} +>Foo : Symbol(Foo, Decl(defaultExportsGetExportedUmd.ts, 0, 0)) + diff --git a/tests/baselines/reference/defaultExportsGetExportedUmd.types b/tests/baselines/reference/defaultExportsGetExportedUmd.types new file mode 100644 index 00000000000..ed5f4b7f709 --- /dev/null +++ b/tests/baselines/reference/defaultExportsGetExportedUmd.types @@ -0,0 +1,4 @@ +=== tests/cases/conformance/es6/moduleExportsUmd/defaultExportsGetExportedUmd.ts === +export default class Foo {} +>Foo : Foo + From 732fff225bd988fdaa3c6b420bfdd12041141f4f Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Fri, 13 Nov 2015 14:12:11 -0800 Subject: [PATCH 09/28] use common source directory for module paths --- src/compiler/utilities.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index ed7242a785e..1fffaf79332 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -1867,7 +1867,7 @@ namespace ts { * Resolves a local path to a path which is absolute to the base of the emit */ export function getExternalModuleNameFromPath(host: EmitHost, fileName: string): string { - const dir = host.getCurrentDirectory(); + const dir = host.getCommonSourceDirectory(); const relativePath = getRelativePathToDirectoryOrUrl(dir, fileName, dir, f => host.getCanonicalFileName(f), /*isAbsolutePathAnUrl*/ false); return removeFileExtension(relativePath); } From 7e69f014f37c9c9d807ba492baf85f26fcabbe5d Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Fri, 13 Nov 2015 14:41:09 -0800 Subject: [PATCH 10/28] Always compute a common source directory for a program --- src/compiler/program.ts | 19 ++++++++----------- src/compiler/utilities.ts | 2 +- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/compiler/program.ts b/src/compiler/program.ts index ca0c7d9adaa..7074dbd45c1 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -329,7 +329,6 @@ namespace ts { let fileProcessingDiagnostics = createDiagnosticCollection(); const programDiagnostics = createDiagnosticCollection(); - let commonSourceDirectory: string; let diagnosticsProducingTypeChecker: TypeChecker; let noDiagnosticsTypeChecker: TypeChecker; let classifiableNames: Map; @@ -374,6 +373,8 @@ namespace ts { } } + // _Always_ compute a common source directory + let commonSourceDirectory = computeCommonSourceDirectory(files); verifyCompilerOptions(); // unconditionally set oldProgram to undefined to prevent it from being captured in closure @@ -1056,17 +1057,13 @@ namespace ts { // If a rootDir is specified and is valid use it as the commonSourceDirectory commonSourceDirectory = getNormalizedAbsolutePath(options.rootDir, currentDirectory); } - else { - // Compute the commonSourceDirectory from the input files - commonSourceDirectory = computeCommonSourceDirectory(files); - } + } - if (commonSourceDirectory && commonSourceDirectory[commonSourceDirectory.length - 1] !== directorySeparator) { - // Make sure directory path ends with directory separator so this string can directly - // used to replace with "" to get the relative path of the source file and the relative path doesn't - // start with / making it rooted path - commonSourceDirectory += directorySeparator; - } + if (commonSourceDirectory && commonSourceDirectory[commonSourceDirectory.length - 1] !== directorySeparator) { + // Make sure directory path ends with directory separator so this string can directly + // used to replace with "" to get the relative path of the source file and the relative path doesn't + // start with / making it rooted path + commonSourceDirectory += directorySeparator; } if (options.noEmit) { diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 1fffaf79332..dc5d9db30bc 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -1867,7 +1867,7 @@ namespace ts { * Resolves a local path to a path which is absolute to the base of the emit */ export function getExternalModuleNameFromPath(host: EmitHost, fileName: string): string { - const dir = host.getCommonSourceDirectory(); + const dir = toPath(host.getCommonSourceDirectory(), host.getCurrentDirectory(), f => host.getCanonicalFileName(f)); const relativePath = getRelativePathToDirectoryOrUrl(dir, fileName, dir, f => host.getCanonicalFileName(f), /*isAbsolutePathAnUrl*/ false); return removeFileExtension(relativePath); } From 5b29a7e9d9d0d2c82cf980b2c4a4befaa7010ea8 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Fri, 13 Nov 2015 14:41:49 -0800 Subject: [PATCH 11/28] accept corrected projects baselines --- .../amd/bin/test.d.ts | 28 ------------------- .../amd/bin/test.js | 6 ++-- ...MultifolderSpecifyOutputFile.sourcemap.txt | 6 ++-- .../node/bin/test.d.ts | 4 +-- .../amd/bin/test.d.ts | 28 ------------------- .../amd/bin/test.js | 6 ++-- ...MultifolderSpecifyOutputFile.sourcemap.txt | 6 ++-- .../node/bin/test.d.ts | 4 +-- .../amd/bin/test.d.ts | 28 ------------------- .../amd/bin/test.js | 6 ++-- ...MultifolderSpecifyOutputFile.sourcemap.txt | 6 ++-- .../node/bin/test.d.ts | 4 +-- .../amd/bin/test.d.ts | 28 ------------------- .../amd/bin/test.js | 6 ++-- ...MultifolderSpecifyOutputFile.sourcemap.txt | 6 ++-- .../node/bin/test.d.ts | 4 +-- .../amd/bin/test.d.ts | 28 ------------------- .../amd/bin/test.js | 6 ++-- .../node/bin/test.d.ts | 4 +-- .../amd/bin/test.d.ts | 28 ------------------- .../amd/bin/test.js | 6 ++-- ...MultifolderSpecifyOutputFile.sourcemap.txt | 6 ++-- .../node/bin/test.d.ts | 4 +-- .../amd/bin/test.d.ts | 28 ------------------- .../amd/bin/test.js | 6 ++-- ...MultifolderSpecifyOutputFile.sourcemap.txt | 6 ++-- .../node/bin/test.d.ts | 4 +-- .../amd/bin/test.d.ts | 28 ------------------- .../amd/bin/test.js | 6 ++-- ...MultifolderSpecifyOutputFile.sourcemap.txt | 6 ++-- .../node/bin/test.d.ts | 4 +-- .../amd/bin/test.d.ts | 28 ------------------- .../amd/bin/test.js | 6 ++-- ...MultifolderSpecifyOutputFile.sourcemap.txt | 6 ++-- .../node/bin/test.d.ts | 4 +-- 35 files changed, 69 insertions(+), 321 deletions(-) delete mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts delete mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts delete mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts delete mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts delete mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts delete mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts delete mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts delete mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts delete mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts deleted file mode 100644 index 9b6af66589a..00000000000 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "../outputdir_module_multifolder_ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} -declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; -} diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js index 25cd156c4ab..e76de4f44f7 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js @@ -1,4 +1,4 @@ -define("ref/m1", ["require", "exports"], function (require, exports) { +define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) { exports.m1_a1 = 10; var m1_c1 = (function () { function m1_c1() { @@ -12,7 +12,7 @@ define("ref/m1", ["require", "exports"], function (require, exports) { } exports.m1_f1 = m1_f1; }); -define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { +define("outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { exports.m2_a1 = 10; var m2_c1 = (function () { function m2_c1() { @@ -26,7 +26,7 @@ define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], functio } exports.m2_f1 = m2_f1; }); -define("test", ["require", "exports", "ref/m1", "../outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { +define("test", ["require", "exports", "outputdir_module_multifolder/ref/m1", "outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { exports.a1 = 10; var c1 = (function () { function c1() { diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.sourcemap.txt index 4462b142d98..a6e6ece1e9e 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.sourcemap.txt +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.sourcemap.txt @@ -8,7 +8,7 @@ sources: ../ref/m1.ts,../../outputdir_module_multifolder_ref/m2.ts,../test.ts emittedFile:bin/test.js sourceFile:../ref/m1.ts ------------------------------------------------------------------- ->>>define("ref/m1", ["require", "exports"], function (require, exports) { +>>>define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) { >>> exports.m1_a1 = 10; 1 >^^^^ 2 > ^^^^^^^^^^^^^ @@ -174,7 +174,7 @@ emittedFile:bin/test.js sourceFile:../../outputdir_module_multifolder_ref/m2.ts ------------------------------------------------------------------- >>>}); ->>>define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { +>>>define("outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { >>> exports.m2_a1 = 10; 1 >^^^^ 2 > ^^^^^^^^^^^^^ @@ -340,7 +340,7 @@ emittedFile:bin/test.js sourceFile:../test.ts ------------------------------------------------------------------- >>>}); ->>>define("test", ["require", "exports", "ref/m1", "../outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { +>>>define("test", ["require", "exports", "outputdir_module_multifolder/ref/m1", "outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { >>> exports.a1 = 10; 1 >^^^^ 2 > ^^^^^^^^^^ diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts index 9b6af66589a..b4be78a74af 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts @@ -1,4 +1,4 @@ -declare module "ref/m1" { +declare module "outputdir_module_multifolder/ref/m1" { export var m1_a1: number; export class m1_c1 { m1_c1_p1: number; @@ -6,7 +6,7 @@ declare module "ref/m1" { export var m1_instance1: m1_c1; export function m1_f1(): m1_c1; } -declare module "../outputdir_module_multifolder_ref/m2" { +declare module "outputdir_module_multifolder_ref/m2" { export var m2_a1: number; export class m2_c1 { m2_c1_p1: number; diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts deleted file mode 100644 index 9b6af66589a..00000000000 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "../outputdir_module_multifolder_ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} -declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; -} diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js index 8b109433561..bd620fe66b8 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js @@ -1,4 +1,4 @@ -define("ref/m1", ["require", "exports"], function (require, exports) { +define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) { exports.m1_a1 = 10; var m1_c1 = (function () { function m1_c1() { @@ -12,7 +12,7 @@ define("ref/m1", ["require", "exports"], function (require, exports) { } exports.m1_f1 = m1_f1; }); -define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { +define("outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { exports.m2_a1 = 10; var m2_c1 = (function () { function m2_c1() { @@ -26,7 +26,7 @@ define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], functio } exports.m2_f1 = m2_f1; }); -define("test", ["require", "exports", "ref/m1", "../outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { +define("test", ["require", "exports", "outputdir_module_multifolder/ref/m1", "outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { exports.a1 = 10; var c1 = (function () { function c1() { diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/mapRootRelativePathModuleMultifolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/mapRootRelativePathModuleMultifolderSpecifyOutputFile.sourcemap.txt index 47e1835365a..98e1a2211cb 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/mapRootRelativePathModuleMultifolderSpecifyOutputFile.sourcemap.txt +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/mapRootRelativePathModuleMultifolderSpecifyOutputFile.sourcemap.txt @@ -8,7 +8,7 @@ sources: ../projects/outputdir_module_multifolder/ref/m1.ts,../projects/outputdi emittedFile:bin/test.js sourceFile:../projects/outputdir_module_multifolder/ref/m1.ts ------------------------------------------------------------------- ->>>define("ref/m1", ["require", "exports"], function (require, exports) { +>>>define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) { >>> exports.m1_a1 = 10; 1 >^^^^ 2 > ^^^^^^^^^^^^^ @@ -174,7 +174,7 @@ emittedFile:bin/test.js sourceFile:../projects/outputdir_module_multifolder_ref/m2.ts ------------------------------------------------------------------- >>>}); ->>>define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { +>>>define("outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { >>> exports.m2_a1 = 10; 1 >^^^^ 2 > ^^^^^^^^^^^^^ @@ -340,7 +340,7 @@ emittedFile:bin/test.js sourceFile:../projects/outputdir_module_multifolder/test.ts ------------------------------------------------------------------- >>>}); ->>>define("test", ["require", "exports", "ref/m1", "../outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { +>>>define("test", ["require", "exports", "outputdir_module_multifolder/ref/m1", "outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { >>> exports.a1 = 10; 1 >^^^^ 2 > ^^^^^^^^^^ diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts index 9b6af66589a..b4be78a74af 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts @@ -1,4 +1,4 @@ -declare module "ref/m1" { +declare module "outputdir_module_multifolder/ref/m1" { export var m1_a1: number; export class m1_c1 { m1_c1_p1: number; @@ -6,7 +6,7 @@ declare module "ref/m1" { export var m1_instance1: m1_c1; export function m1_f1(): m1_c1; } -declare module "../outputdir_module_multifolder_ref/m2" { +declare module "outputdir_module_multifolder_ref/m2" { export var m2_a1: number; export class m2_c1 { m2_c1_p1: number; diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts deleted file mode 100644 index 9b6af66589a..00000000000 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "../outputdir_module_multifolder_ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} -declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; -} diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js index 0734d350e11..0b83e26b91f 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js @@ -1,4 +1,4 @@ -define("ref/m1", ["require", "exports"], function (require, exports) { +define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) { exports.m1_a1 = 10; var m1_c1 = (function () { function m1_c1() { @@ -12,7 +12,7 @@ define("ref/m1", ["require", "exports"], function (require, exports) { } exports.m1_f1 = m1_f1; }); -define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { +define("outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { exports.m2_a1 = 10; var m2_c1 = (function () { function m2_c1() { @@ -26,7 +26,7 @@ define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], functio } exports.m2_f1 = m2_f1; }); -define("test", ["require", "exports", "ref/m1", "../outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { +define("test", ["require", "exports", "outputdir_module_multifolder/ref/m1", "outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { exports.a1 = 10; var c1 = (function () { function c1() { diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt index 5805c876be8..1a2de1cd877 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt @@ -8,7 +8,7 @@ sources: file:///tests/cases/projects/outputdir_module_multifolder/ref/m1.ts,fil emittedFile:bin/test.js sourceFile:file:///tests/cases/projects/outputdir_module_multifolder/ref/m1.ts ------------------------------------------------------------------- ->>>define("ref/m1", ["require", "exports"], function (require, exports) { +>>>define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) { >>> exports.m1_a1 = 10; 1 >^^^^ 2 > ^^^^^^^^^^^^^ @@ -174,7 +174,7 @@ emittedFile:bin/test.js sourceFile:file:///tests/cases/projects/outputdir_module_multifolder_ref/m2.ts ------------------------------------------------------------------- >>>}); ->>>define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { +>>>define("outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { >>> exports.m2_a1 = 10; 1 >^^^^ 2 > ^^^^^^^^^^^^^ @@ -340,7 +340,7 @@ emittedFile:bin/test.js sourceFile:file:///tests/cases/projects/outputdir_module_multifolder/test.ts ------------------------------------------------------------------- >>>}); ->>>define("test", ["require", "exports", "ref/m1", "../outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { +>>>define("test", ["require", "exports", "outputdir_module_multifolder/ref/m1", "outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { >>> exports.a1 = 10; 1 >^^^^ 2 > ^^^^^^^^^^ diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts index 9b6af66589a..b4be78a74af 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts @@ -1,4 +1,4 @@ -declare module "ref/m1" { +declare module "outputdir_module_multifolder/ref/m1" { export var m1_a1: number; export class m1_c1 { m1_c1_p1: number; @@ -6,7 +6,7 @@ declare module "ref/m1" { export var m1_instance1: m1_c1; export function m1_f1(): m1_c1; } -declare module "../outputdir_module_multifolder_ref/m2" { +declare module "outputdir_module_multifolder_ref/m2" { export var m2_a1: number; export class m2_c1 { m2_c1_p1: number; diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts deleted file mode 100644 index 9b6af66589a..00000000000 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "../outputdir_module_multifolder_ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} -declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; -} diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js index 0734d350e11..0b83e26b91f 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js @@ -1,4 +1,4 @@ -define("ref/m1", ["require", "exports"], function (require, exports) { +define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) { exports.m1_a1 = 10; var m1_c1 = (function () { function m1_c1() { @@ -12,7 +12,7 @@ define("ref/m1", ["require", "exports"], function (require, exports) { } exports.m1_f1 = m1_f1; }); -define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { +define("outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { exports.m2_a1 = 10; var m2_c1 = (function () { function m2_c1() { @@ -26,7 +26,7 @@ define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], functio } exports.m2_f1 = m2_f1; }); -define("test", ["require", "exports", "ref/m1", "../outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { +define("test", ["require", "exports", "outputdir_module_multifolder/ref/m1", "outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { exports.a1 = 10; var c1 = (function () { function c1() { diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt index 20a97890399..e9f5746232c 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt @@ -8,7 +8,7 @@ sources: outputdir_module_multifolder/ref/m1.ts,outputdir_module_multifolder_ref emittedFile:bin/test.js sourceFile:outputdir_module_multifolder/ref/m1.ts ------------------------------------------------------------------- ->>>define("ref/m1", ["require", "exports"], function (require, exports) { +>>>define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) { >>> exports.m1_a1 = 10; 1 >^^^^ 2 > ^^^^^^^^^^^^^ @@ -174,7 +174,7 @@ emittedFile:bin/test.js sourceFile:outputdir_module_multifolder_ref/m2.ts ------------------------------------------------------------------- >>>}); ->>>define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { +>>>define("outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { >>> exports.m2_a1 = 10; 1 >^^^^ 2 > ^^^^^^^^^^^^^ @@ -340,7 +340,7 @@ emittedFile:bin/test.js sourceFile:outputdir_module_multifolder/test.ts ------------------------------------------------------------------- >>>}); ->>>define("test", ["require", "exports", "ref/m1", "../outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { +>>>define("test", ["require", "exports", "outputdir_module_multifolder/ref/m1", "outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { >>> exports.a1 = 10; 1 >^^^^ 2 > ^^^^^^^^^^ diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts index 9b6af66589a..b4be78a74af 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts @@ -1,4 +1,4 @@ -declare module "ref/m1" { +declare module "outputdir_module_multifolder/ref/m1" { export var m1_a1: number; export class m1_c1 { m1_c1_p1: number; @@ -6,7 +6,7 @@ declare module "ref/m1" { export var m1_instance1: m1_c1; export function m1_f1(): m1_c1; } -declare module "../outputdir_module_multifolder_ref/m2" { +declare module "outputdir_module_multifolder_ref/m2" { export var m2_a1: number; export class m2_c1 { m2_c1_p1: number; diff --git a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts deleted file mode 100644 index 9b6af66589a..00000000000 --- a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "../outputdir_module_multifolder_ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} -declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; -} diff --git a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/bin/test.js b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/bin/test.js index 0814424ca39..be6fc113146 100644 --- a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/bin/test.js +++ b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/bin/test.js @@ -1,4 +1,4 @@ -define("ref/m1", ["require", "exports"], function (require, exports) { +define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) { exports.m1_a1 = 10; var m1_c1 = (function () { function m1_c1() { @@ -12,7 +12,7 @@ define("ref/m1", ["require", "exports"], function (require, exports) { } exports.m1_f1 = m1_f1; }); -define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { +define("outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { exports.m2_a1 = 10; var m2_c1 = (function () { function m2_c1() { @@ -26,7 +26,7 @@ define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], functio } exports.m2_f1 = m2_f1; }); -define("test", ["require", "exports", "ref/m1", "../outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { +define("test", ["require", "exports", "outputdir_module_multifolder/ref/m1", "outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { exports.a1 = 10; var c1 = (function () { function c1() { diff --git a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts index 9b6af66589a..b4be78a74af 100644 --- a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts @@ -1,4 +1,4 @@ -declare module "ref/m1" { +declare module "outputdir_module_multifolder/ref/m1" { export var m1_a1: number; export class m1_c1 { m1_c1_p1: number; @@ -6,7 +6,7 @@ declare module "ref/m1" { export var m1_instance1: m1_c1; export function m1_f1(): m1_c1; } -declare module "../outputdir_module_multifolder_ref/m2" { +declare module "outputdir_module_multifolder_ref/m2" { export var m2_a1: number; export class m2_c1 { m2_c1_p1: number; diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts deleted file mode 100644 index 9b6af66589a..00000000000 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "../outputdir_module_multifolder_ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} -declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; -} diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js index 994e21ca032..052e4455dba 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js @@ -1,4 +1,4 @@ -define("ref/m1", ["require", "exports"], function (require, exports) { +define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) { exports.m1_a1 = 10; var m1_c1 = (function () { function m1_c1() { @@ -12,7 +12,7 @@ define("ref/m1", ["require", "exports"], function (require, exports) { } exports.m1_f1 = m1_f1; }); -define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { +define("outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { exports.m2_a1 = 10; var m2_c1 = (function () { function m2_c1() { @@ -26,7 +26,7 @@ define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], functio } exports.m2_f1 = m2_f1; }); -define("test", ["require", "exports", "ref/m1", "../outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { +define("test", ["require", "exports", "outputdir_module_multifolder/ref/m1", "outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { exports.a1 = 10; var c1 = (function () { function c1() { diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.sourcemap.txt index 8c710d9c4da..631f29953c1 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.sourcemap.txt +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.sourcemap.txt @@ -8,7 +8,7 @@ sources: outputdir_module_multifolder/ref/m1.ts,outputdir_module_multifolder_ref emittedFile:bin/test.js sourceFile:outputdir_module_multifolder/ref/m1.ts ------------------------------------------------------------------- ->>>define("ref/m1", ["require", "exports"], function (require, exports) { +>>>define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) { >>> exports.m1_a1 = 10; 1 >^^^^ 2 > ^^^^^^^^^^^^^ @@ -174,7 +174,7 @@ emittedFile:bin/test.js sourceFile:outputdir_module_multifolder_ref/m2.ts ------------------------------------------------------------------- >>>}); ->>>define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { +>>>define("outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { >>> exports.m2_a1 = 10; 1 >^^^^ 2 > ^^^^^^^^^^^^^ @@ -340,7 +340,7 @@ emittedFile:bin/test.js sourceFile:outputdir_module_multifolder/test.ts ------------------------------------------------------------------- >>>}); ->>>define("test", ["require", "exports", "ref/m1", "../outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { +>>>define("test", ["require", "exports", "outputdir_module_multifolder/ref/m1", "outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { >>> exports.a1 = 10; 1 >^^^^ 2 > ^^^^^^^^^^ diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts index 9b6af66589a..b4be78a74af 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts @@ -1,4 +1,4 @@ -declare module "ref/m1" { +declare module "outputdir_module_multifolder/ref/m1" { export var m1_a1: number; export class m1_c1 { m1_c1_p1: number; @@ -6,7 +6,7 @@ declare module "ref/m1" { export var m1_instance1: m1_c1; export function m1_f1(): m1_c1; } -declare module "../outputdir_module_multifolder_ref/m2" { +declare module "outputdir_module_multifolder_ref/m2" { export var m2_a1: number; export class m2_c1 { m2_c1_p1: number; diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts deleted file mode 100644 index 9b6af66589a..00000000000 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "../outputdir_module_multifolder_ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} -declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; -} diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js index 994e21ca032..052e4455dba 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js @@ -1,4 +1,4 @@ -define("ref/m1", ["require", "exports"], function (require, exports) { +define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) { exports.m1_a1 = 10; var m1_c1 = (function () { function m1_c1() { @@ -12,7 +12,7 @@ define("ref/m1", ["require", "exports"], function (require, exports) { } exports.m1_f1 = m1_f1; }); -define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { +define("outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { exports.m2_a1 = 10; var m2_c1 = (function () { function m2_c1() { @@ -26,7 +26,7 @@ define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], functio } exports.m2_f1 = m2_f1; }); -define("test", ["require", "exports", "ref/m1", "../outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { +define("test", ["require", "exports", "outputdir_module_multifolder/ref/m1", "outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { exports.a1 = 10; var c1 = (function () { function c1() { diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.sourcemap.txt index 43c4340ba37..2499da34f4f 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.sourcemap.txt +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.sourcemap.txt @@ -8,7 +8,7 @@ sources: outputdir_module_multifolder/ref/m1.ts,outputdir_module_multifolder_ref emittedFile:bin/test.js sourceFile:outputdir_module_multifolder/ref/m1.ts ------------------------------------------------------------------- ->>>define("ref/m1", ["require", "exports"], function (require, exports) { +>>>define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) { >>> exports.m1_a1 = 10; 1 >^^^^ 2 > ^^^^^^^^^^^^^ @@ -174,7 +174,7 @@ emittedFile:bin/test.js sourceFile:outputdir_module_multifolder_ref/m2.ts ------------------------------------------------------------------- >>>}); ->>>define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { +>>>define("outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { >>> exports.m2_a1 = 10; 1 >^^^^ 2 > ^^^^^^^^^^^^^ @@ -340,7 +340,7 @@ emittedFile:bin/test.js sourceFile:outputdir_module_multifolder/test.ts ------------------------------------------------------------------- >>>}); ->>>define("test", ["require", "exports", "ref/m1", "../outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { +>>>define("test", ["require", "exports", "outputdir_module_multifolder/ref/m1", "outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { >>> exports.a1 = 10; 1 >^^^^ 2 > ^^^^^^^^^^ diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts index 9b6af66589a..b4be78a74af 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts @@ -1,4 +1,4 @@ -declare module "ref/m1" { +declare module "outputdir_module_multifolder/ref/m1" { export var m1_a1: number; export class m1_c1 { m1_c1_p1: number; @@ -6,7 +6,7 @@ declare module "ref/m1" { export var m1_instance1: m1_c1; export function m1_f1(): m1_c1; } -declare module "../outputdir_module_multifolder_ref/m2" { +declare module "outputdir_module_multifolder_ref/m2" { export var m2_a1: number; export class m2_c1 { m2_c1_p1: number; diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts deleted file mode 100644 index 9b6af66589a..00000000000 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "../outputdir_module_multifolder_ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} -declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; -} diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/bin/test.js b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/bin/test.js index 994e21ca032..052e4455dba 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/bin/test.js +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/bin/test.js @@ -1,4 +1,4 @@ -define("ref/m1", ["require", "exports"], function (require, exports) { +define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) { exports.m1_a1 = 10; var m1_c1 = (function () { function m1_c1() { @@ -12,7 +12,7 @@ define("ref/m1", ["require", "exports"], function (require, exports) { } exports.m1_f1 = m1_f1; }); -define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { +define("outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { exports.m2_a1 = 10; var m2_c1 = (function () { function m2_c1() { @@ -26,7 +26,7 @@ define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], functio } exports.m2_f1 = m2_f1; }); -define("test", ["require", "exports", "ref/m1", "../outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { +define("test", ["require", "exports", "outputdir_module_multifolder/ref/m1", "outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { exports.a1 = 10; var c1 = (function () { function c1() { diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/sourcemapModuleMultifolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/sourcemapModuleMultifolderSpecifyOutputFile.sourcemap.txt index 6c8bdf4da74..8ea4710f7ff 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/sourcemapModuleMultifolderSpecifyOutputFile.sourcemap.txt +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/sourcemapModuleMultifolderSpecifyOutputFile.sourcemap.txt @@ -8,7 +8,7 @@ sources: ../ref/m1.ts,../../outputdir_module_multifolder_ref/m2.ts,../test.ts emittedFile:bin/test.js sourceFile:../ref/m1.ts ------------------------------------------------------------------- ->>>define("ref/m1", ["require", "exports"], function (require, exports) { +>>>define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) { >>> exports.m1_a1 = 10; 1 >^^^^ 2 > ^^^^^^^^^^^^^ @@ -174,7 +174,7 @@ emittedFile:bin/test.js sourceFile:../../outputdir_module_multifolder_ref/m2.ts ------------------------------------------------------------------- >>>}); ->>>define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { +>>>define("outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { >>> exports.m2_a1 = 10; 1 >^^^^ 2 > ^^^^^^^^^^^^^ @@ -340,7 +340,7 @@ emittedFile:bin/test.js sourceFile:../test.ts ------------------------------------------------------------------- >>>}); ->>>define("test", ["require", "exports", "ref/m1", "../outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { +>>>define("test", ["require", "exports", "outputdir_module_multifolder/ref/m1", "outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { >>> exports.a1 = 10; 1 >^^^^ 2 > ^^^^^^^^^^ diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts index 9b6af66589a..b4be78a74af 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts @@ -1,4 +1,4 @@ -declare module "ref/m1" { +declare module "outputdir_module_multifolder/ref/m1" { export var m1_a1: number; export class m1_c1 { m1_c1_p1: number; @@ -6,7 +6,7 @@ declare module "ref/m1" { export var m1_instance1: m1_c1; export function m1_f1(): m1_c1; } -declare module "../outputdir_module_multifolder_ref/m2" { +declare module "outputdir_module_multifolder_ref/m2" { export var m2_a1: number; export class m2_c1 { m2_c1_p1: number; diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts deleted file mode 100644 index 9b6af66589a..00000000000 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; -} -declare module "../outputdir_module_multifolder_ref/m2" { - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; -} -declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; -} diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js index 994e21ca032..052e4455dba 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js @@ -1,4 +1,4 @@ -define("ref/m1", ["require", "exports"], function (require, exports) { +define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) { exports.m1_a1 = 10; var m1_c1 = (function () { function m1_c1() { @@ -12,7 +12,7 @@ define("ref/m1", ["require", "exports"], function (require, exports) { } exports.m1_f1 = m1_f1; }); -define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { +define("outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { exports.m2_a1 = 10; var m2_c1 = (function () { function m2_c1() { @@ -26,7 +26,7 @@ define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], functio } exports.m2_f1 = m2_f1; }); -define("test", ["require", "exports", "ref/m1", "../outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { +define("test", ["require", "exports", "outputdir_module_multifolder/ref/m1", "outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { exports.a1 = 10; var c1 = (function () { function c1() { diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/sourcerootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/sourcerootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt index d2331ef3579..36c3893e3a4 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/sourcerootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/sourcerootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt @@ -8,7 +8,7 @@ sources: outputdir_module_multifolder/ref/m1.ts,outputdir_module_multifolder_ref emittedFile:bin/test.js sourceFile:outputdir_module_multifolder/ref/m1.ts ------------------------------------------------------------------- ->>>define("ref/m1", ["require", "exports"], function (require, exports) { +>>>define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) { >>> exports.m1_a1 = 10; 1 >^^^^ 2 > ^^^^^^^^^^^^^ @@ -174,7 +174,7 @@ emittedFile:bin/test.js sourceFile:outputdir_module_multifolder_ref/m2.ts ------------------------------------------------------------------- >>>}); ->>>define("../outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { +>>>define("outputdir_module_multifolder_ref/m2", ["require", "exports"], function (require, exports) { >>> exports.m2_a1 = 10; 1 >^^^^ 2 > ^^^^^^^^^^^^^ @@ -340,7 +340,7 @@ emittedFile:bin/test.js sourceFile:outputdir_module_multifolder/test.ts ------------------------------------------------------------------- >>>}); ->>>define("test", ["require", "exports", "ref/m1", "../outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { +>>>define("test", ["require", "exports", "outputdir_module_multifolder/ref/m1", "outputdir_module_multifolder_ref/m2"], function (require, exports, m1, m2) { >>> exports.a1 = 10; 1 >^^^^ 2 > ^^^^^^^^^^ diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts index 9b6af66589a..b4be78a74af 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts @@ -1,4 +1,4 @@ -declare module "ref/m1" { +declare module "outputdir_module_multifolder/ref/m1" { export var m1_a1: number; export class m1_c1 { m1_c1_p1: number; @@ -6,7 +6,7 @@ declare module "ref/m1" { export var m1_instance1: m1_c1; export function m1_f1(): m1_c1; } -declare module "../outputdir_module_multifolder_ref/m2" { +declare module "outputdir_module_multifolder_ref/m2" { export var m2_a1: number; export class m2_c1 { m2_c1_p1: number; From cb1724bd44a0f1e8b9200547297bc1837a35f8bf Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Fri, 13 Nov 2015 15:26:38 -0800 Subject: [PATCH 12/28] in declaration emit, handle = require (again) --- src/compiler/declarationEmitter.ts | 2 +- src/compiler/emitter.ts | 25 +++++++++---------------- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/src/compiler/declarationEmitter.ts b/src/compiler/declarationEmitter.ts index 669cbcbcf0c..b531302d01b 100644 --- a/src/compiler/declarationEmitter.ts +++ b/src/compiler/declarationEmitter.ts @@ -680,7 +680,7 @@ namespace ts { } else { write("require("); - writeTextOfNode(currentText, getExternalModuleImportEqualsDeclarationExpression(node)); + emitExternalModuleSpecifier(getExternalModuleImportEqualsDeclarationExpression(node)); write(");"); } writer.writeLine(); diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 2ea8c81c7e2..a483fe29cff 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -6804,7 +6804,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi } } - function getExternalModuleNameText(importNode: ImportDeclaration | ExportDeclaration | ImportEqualsDeclaration): string { + function getExternalModuleNameText(importNode: ImportDeclaration | ExportDeclaration | ImportEqualsDeclaration, emitRelativePathAsModuleName: boolean): string { + if (emitRelativePathAsModuleName) { + const name = getExternalModuleNameFromDeclaration(host, resolver, importNode); + if (name) { + return `"${name}"`; + } + } const moduleName = getExternalModuleName(importNode); if (moduleName.kind === SyntaxKind.StringLiteral) { return tryRenameExternalModule(moduleName) || getLiteralText(moduleName); @@ -7364,7 +7370,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi const dependencyGroups: DependencyGroup[] = []; for (let i = 0; i < externalImports.length; ++i) { - let text = getExternalModuleNameText(externalImports[i]); + const text = getExternalModuleNameText(externalImports[i], emitRelativePathAsModuleName); if (hasProperty(groupIndices, text)) { // deduplicate/group entries in dependency list by the dependency name const groupIndex = groupIndices[text]; @@ -7380,12 +7386,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi write(", "); } - if (emitRelativePathAsModuleName) { - const name = getExternalModuleNameFromDeclaration(host, resolver, externalImports[i]); - if (name) { - text = `"${name}"`; - } - } write(text); } write(`], function(${exportFunctionForFile}) {`); @@ -7428,14 +7428,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi for (const importNode of externalImports) { // Find the name of the external module - let externalModuleName = getExternalModuleNameText(importNode); - - if (emitRelativePathAsModuleName) { - const name = getExternalModuleNameFromDeclaration(host, resolver, importNode); - if (name) { - externalModuleName = `"${name}"`; - } - } + const externalModuleName = getExternalModuleNameText(importNode, emitRelativePathAsModuleName); // Find the name of the module alias, if there is one const importAliasName = getLocalNameForExternalImport(importNode); From 78e7804668a6d6f442eca0b113deb30695a8fef8 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Fri, 13 Nov 2015 15:46:48 -0800 Subject: [PATCH 13/28] handle things more rightly --- src/compiler/declarationEmitter.ts | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/compiler/declarationEmitter.ts b/src/compiler/declarationEmitter.ts index b531302d01b..79bee2a3b75 100644 --- a/src/compiler/declarationEmitter.ts +++ b/src/compiler/declarationEmitter.ts @@ -680,7 +680,7 @@ namespace ts { } else { write("require("); - emitExternalModuleSpecifier(getExternalModuleImportEqualsDeclarationExpression(node)); + emitExternalModuleSpecifier(node); write(");"); } writer.writeLine(); @@ -737,14 +737,23 @@ namespace ts { } write(" from "); } - emitExternalModuleSpecifier(node.moduleSpecifier); + emitExternalModuleSpecifier(node); write(";"); writer.writeLine(); } - function emitExternalModuleSpecifier(moduleSpecifier: Expression) { + function emitExternalModuleSpecifier(parent: ImportEqualsDeclaration | ImportDeclaration | ExportDeclaration) { + let moduleSpecifier: Node; + if (parent.kind === SyntaxKind.ImportEqualsDeclaration) { + const node = parent as ImportEqualsDeclaration; + moduleSpecifier = getExternalModuleImportEqualsDeclarationExpression(node); + } + else { + const node = parent as (ImportDeclaration | ExportDeclaration); + moduleSpecifier = node.moduleSpecifier; + } if (moduleSpecifier.kind === SyntaxKind.StringLiteral && (!root) && (compilerOptions.out || compilerOptions.outFile)) { - const moduleName = getExternalModuleNameFromDeclaration(host, resolver, moduleSpecifier.parent as (ImportEqualsDeclaration | ImportDeclaration | ExportDeclaration)); + const moduleName = getExternalModuleNameFromDeclaration(host, resolver, parent); if (moduleName) { write("\""); write(moduleName); @@ -787,7 +796,7 @@ namespace ts { } if (node.moduleSpecifier) { write(" from "); - emitExternalModuleSpecifier(node.moduleSpecifier); + emitExternalModuleSpecifier(node); } write(";"); writer.writeLine(); From 13faf2ccf415963b0d86c42f7a55c9a44a160039 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Fri, 13 Nov 2015 15:47:19 -0800 Subject: [PATCH 14/28] get projects dts back --- .../amd/bin/test.d.ts | 28 +++++++++++++++++++ .../node/bin/test.d.ts | 4 +-- .../amd/bin/test.d.ts | 28 +++++++++++++++++++ .../node/bin/test.d.ts | 4 +-- .../amd/bin/test.d.ts | 28 +++++++++++++++++++ .../node/bin/test.d.ts | 4 +-- .../amd/bin/test.d.ts | 28 +++++++++++++++++++ .../node/bin/test.d.ts | 4 +-- .../amd/bin/test.d.ts | 28 +++++++++++++++++++ .../node/bin/test.d.ts | 4 +-- .../amd/bin/test.d.ts | 28 +++++++++++++++++++ .../node/bin/test.d.ts | 4 +-- .../amd/bin/test.d.ts | 28 +++++++++++++++++++ .../node/bin/test.d.ts | 4 +-- .../amd/bin/test.d.ts | 28 +++++++++++++++++++ .../node/bin/test.d.ts | 4 +-- .../amd/bin/test.d.ts | 28 +++++++++++++++++++ .../node/bin/test.d.ts | 4 +-- 18 files changed, 270 insertions(+), 18 deletions(-) create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts new file mode 100644 index 00000000000..d42fc1cd136 --- /dev/null +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts @@ -0,0 +1,28 @@ +declare module "outputdir_module_multifolder/ref/m1" { + export var m1_a1: number; + export class m1_c1 { + m1_c1_p1: number; + } + export var m1_instance1: m1_c1; + export function m1_f1(): m1_c1; +} +declare module "outputdir_module_multifolder_ref/m2" { + export var m2_a1: number; + export class m2_c1 { + m2_c1_p1: number; + } + export var m2_instance1: m2_c1; + export function m2_f1(): m2_c1; +} +declare module "test" { + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); + export var a1: number; + export class c1 { + p1: number; + } + export var instance1: c1; + export function f1(): c1; + export var a2: typeof m1.m1_c1; + export var a3: typeof m2.m2_c1; +} diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts index b4be78a74af..d42fc1cd136 100644 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts @@ -15,8 +15,8 @@ declare module "outputdir_module_multifolder_ref/m2" { export function m2_f1(): m2_c1; } declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); export var a1: number; export class c1 { p1: number; diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts new file mode 100644 index 00000000000..d42fc1cd136 --- /dev/null +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts @@ -0,0 +1,28 @@ +declare module "outputdir_module_multifolder/ref/m1" { + export var m1_a1: number; + export class m1_c1 { + m1_c1_p1: number; + } + export var m1_instance1: m1_c1; + export function m1_f1(): m1_c1; +} +declare module "outputdir_module_multifolder_ref/m2" { + export var m2_a1: number; + export class m2_c1 { + m2_c1_p1: number; + } + export var m2_instance1: m2_c1; + export function m2_f1(): m2_c1; +} +declare module "test" { + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); + export var a1: number; + export class c1 { + p1: number; + } + export var instance1: c1; + export function f1(): c1; + export var a2: typeof m1.m1_c1; + export var a3: typeof m2.m2_c1; +} diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts index b4be78a74af..d42fc1cd136 100644 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts @@ -15,8 +15,8 @@ declare module "outputdir_module_multifolder_ref/m2" { export function m2_f1(): m2_c1; } declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); export var a1: number; export class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts new file mode 100644 index 00000000000..d42fc1cd136 --- /dev/null +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts @@ -0,0 +1,28 @@ +declare module "outputdir_module_multifolder/ref/m1" { + export var m1_a1: number; + export class m1_c1 { + m1_c1_p1: number; + } + export var m1_instance1: m1_c1; + export function m1_f1(): m1_c1; +} +declare module "outputdir_module_multifolder_ref/m2" { + export var m2_a1: number; + export class m2_c1 { + m2_c1_p1: number; + } + export var m2_instance1: m2_c1; + export function m2_f1(): m2_c1; +} +declare module "test" { + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); + export var a1: number; + export class c1 { + p1: number; + } + export var instance1: c1; + export function f1(): c1; + export var a2: typeof m1.m1_c1; + export var a3: typeof m2.m2_c1; +} diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts index b4be78a74af..d42fc1cd136 100644 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts @@ -15,8 +15,8 @@ declare module "outputdir_module_multifolder_ref/m2" { export function m2_f1(): m2_c1; } declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); export var a1: number; export class c1 { p1: number; diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts new file mode 100644 index 00000000000..d42fc1cd136 --- /dev/null +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts @@ -0,0 +1,28 @@ +declare module "outputdir_module_multifolder/ref/m1" { + export var m1_a1: number; + export class m1_c1 { + m1_c1_p1: number; + } + export var m1_instance1: m1_c1; + export function m1_f1(): m1_c1; +} +declare module "outputdir_module_multifolder_ref/m2" { + export var m2_a1: number; + export class m2_c1 { + m2_c1_p1: number; + } + export var m2_instance1: m2_c1; + export function m2_f1(): m2_c1; +} +declare module "test" { + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); + export var a1: number; + export class c1 { + p1: number; + } + export var instance1: c1; + export function f1(): c1; + export var a2: typeof m1.m1_c1; + export var a3: typeof m2.m2_c1; +} diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts index b4be78a74af..d42fc1cd136 100644 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts @@ -15,8 +15,8 @@ declare module "outputdir_module_multifolder_ref/m2" { export function m2_f1(): m2_c1; } declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); export var a1: number; export class c1 { p1: number; diff --git a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts new file mode 100644 index 00000000000..d42fc1cd136 --- /dev/null +++ b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts @@ -0,0 +1,28 @@ +declare module "outputdir_module_multifolder/ref/m1" { + export var m1_a1: number; + export class m1_c1 { + m1_c1_p1: number; + } + export var m1_instance1: m1_c1; + export function m1_f1(): m1_c1; +} +declare module "outputdir_module_multifolder_ref/m2" { + export var m2_a1: number; + export class m2_c1 { + m2_c1_p1: number; + } + export var m2_instance1: m2_c1; + export function m2_f1(): m2_c1; +} +declare module "test" { + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); + export var a1: number; + export class c1 { + p1: number; + } + export var instance1: c1; + export function f1(): c1; + export var a2: typeof m1.m1_c1; + export var a3: typeof m2.m2_c1; +} diff --git a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts index b4be78a74af..d42fc1cd136 100644 --- a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts @@ -15,8 +15,8 @@ declare module "outputdir_module_multifolder_ref/m2" { export function m2_f1(): m2_c1; } declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); export var a1: number; export class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts new file mode 100644 index 00000000000..d42fc1cd136 --- /dev/null +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts @@ -0,0 +1,28 @@ +declare module "outputdir_module_multifolder/ref/m1" { + export var m1_a1: number; + export class m1_c1 { + m1_c1_p1: number; + } + export var m1_instance1: m1_c1; + export function m1_f1(): m1_c1; +} +declare module "outputdir_module_multifolder_ref/m2" { + export var m2_a1: number; + export class m2_c1 { + m2_c1_p1: number; + } + export var m2_instance1: m2_c1; + export function m2_f1(): m2_c1; +} +declare module "test" { + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); + export var a1: number; + export class c1 { + p1: number; + } + export var instance1: c1; + export function f1(): c1; + export var a2: typeof m1.m1_c1; + export var a3: typeof m2.m2_c1; +} diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts index b4be78a74af..d42fc1cd136 100644 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts @@ -15,8 +15,8 @@ declare module "outputdir_module_multifolder_ref/m2" { export function m2_f1(): m2_c1; } declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); export var a1: number; export class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts new file mode 100644 index 00000000000..d42fc1cd136 --- /dev/null +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts @@ -0,0 +1,28 @@ +declare module "outputdir_module_multifolder/ref/m1" { + export var m1_a1: number; + export class m1_c1 { + m1_c1_p1: number; + } + export var m1_instance1: m1_c1; + export function m1_f1(): m1_c1; +} +declare module "outputdir_module_multifolder_ref/m2" { + export var m2_a1: number; + export class m2_c1 { + m2_c1_p1: number; + } + export var m2_instance1: m2_c1; + export function m2_f1(): m2_c1; +} +declare module "test" { + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); + export var a1: number; + export class c1 { + p1: number; + } + export var instance1: c1; + export function f1(): c1; + export var a2: typeof m1.m1_c1; + export var a3: typeof m2.m2_c1; +} diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts index b4be78a74af..d42fc1cd136 100644 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts @@ -15,8 +15,8 @@ declare module "outputdir_module_multifolder_ref/m2" { export function m2_f1(): m2_c1; } declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); export var a1: number; export class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts new file mode 100644 index 00000000000..d42fc1cd136 --- /dev/null +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts @@ -0,0 +1,28 @@ +declare module "outputdir_module_multifolder/ref/m1" { + export var m1_a1: number; + export class m1_c1 { + m1_c1_p1: number; + } + export var m1_instance1: m1_c1; + export function m1_f1(): m1_c1; +} +declare module "outputdir_module_multifolder_ref/m2" { + export var m2_a1: number; + export class m2_c1 { + m2_c1_p1: number; + } + export var m2_instance1: m2_c1; + export function m2_f1(): m2_c1; +} +declare module "test" { + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); + export var a1: number; + export class c1 { + p1: number; + } + export var instance1: c1; + export function f1(): c1; + export var a2: typeof m1.m1_c1; + export var a3: typeof m2.m2_c1; +} diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts index b4be78a74af..d42fc1cd136 100644 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts @@ -15,8 +15,8 @@ declare module "outputdir_module_multifolder_ref/m2" { export function m2_f1(): m2_c1; } declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); export var a1: number; export class c1 { p1: number; diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts new file mode 100644 index 00000000000..d42fc1cd136 --- /dev/null +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts @@ -0,0 +1,28 @@ +declare module "outputdir_module_multifolder/ref/m1" { + export var m1_a1: number; + export class m1_c1 { + m1_c1_p1: number; + } + export var m1_instance1: m1_c1; + export function m1_f1(): m1_c1; +} +declare module "outputdir_module_multifolder_ref/m2" { + export var m2_a1: number; + export class m2_c1 { + m2_c1_p1: number; + } + export var m2_instance1: m2_c1; + export function m2_f1(): m2_c1; +} +declare module "test" { + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); + export var a1: number; + export class c1 { + p1: number; + } + export var instance1: c1; + export function f1(): c1; + export var a2: typeof m1.m1_c1; + export var a3: typeof m2.m2_c1; +} diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts index b4be78a74af..d42fc1cd136 100644 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts @@ -15,8 +15,8 @@ declare module "outputdir_module_multifolder_ref/m2" { export function m2_f1(): m2_c1; } declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); export var a1: number; export class c1 { p1: number; From e41f1ae04d69f1dadf02c40c56d378098865f2ff Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Tue, 17 Nov 2015 13:03:15 -0800 Subject: [PATCH 15/28] only check against default flag --- 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 4bddaa221e8..1cd017cbf2b 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -5583,7 +5583,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi } // If this is an exported class, but not on the top level (i.e. on an internal // module), export it - if (node.parent.kind === SyntaxKind.SourceFile && (node.flags & NodeFlags.Default)) { + if (node.flags & NodeFlags.Default) { // if this is a top level default export of decorated class, write the export after the declaration. writeLine(); if (thisNodeIsDecorated && modulekind === ModuleKind.ES6) { From a44ebbbc7eec05931e26b1646630929bba942e58 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Wed, 18 Nov 2015 13:19:56 -0800 Subject: [PATCH 16/28] only make common dir on call --- src/compiler/program.ts | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/compiler/program.ts b/src/compiler/program.ts index d3eb24b7540..bd59410b738 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -374,7 +374,7 @@ namespace ts { } // _Always_ compute a common source directory - let commonSourceDirectory = computeCommonSourceDirectory(files); + let commonSourceDirectory: string; verifyCompilerOptions(); // unconditionally set oldProgram to undefined to prevent it from being captured in closure @@ -395,7 +395,9 @@ namespace ts { getTypeChecker, getClassifiableNames, getDiagnosticsProducingTypeChecker, - getCommonSourceDirectory: () => commonSourceDirectory, + getCommonSourceDirectory: () => { + return typeof commonSourceDirectory === "undefined" ? (commonSourceDirectory = computeCommonSourceDirectory(files)) : commonSourceDirectory; + }, emit, getCurrentDirectory: () => currentDirectory, getNodeCount: () => getDiagnosticsProducingTypeChecker().getNodeCount(), @@ -1071,11 +1073,12 @@ namespace ts { } } - if (commonSourceDirectory && commonSourceDirectory[commonSourceDirectory.length - 1] !== directorySeparator) { - // Make sure directory path ends with directory separator so this string can directly - // used to replace with "" to get the relative path of the source file and the relative path doesn't - // start with / making it rooted path - commonSourceDirectory += directorySeparator; + if (commonSourceDirectory && commonSourceDirectory[commonSourceDirectory.length - 1] !== directorySeparator) { + // Make sure directory path ends with directory separator so this string can directly + // used to replace with "" to get the relative path of the source file and the relative path doesn't + // start with / making it rooted path + commonSourceDirectory += directorySeparator; + } } if (options.noEmit) { From 294f846d265e4f6120087111027d6277c0f3e11f Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Wed, 18 Nov 2015 13:56:38 -0800 Subject: [PATCH 17/28] Add a test which uses common src dir in a different way --- tests/baselines/reference/commonSourceDir5.js | 29 +++++++++++ .../reference/commonSourceDir5.symbols | 42 ++++++++++++++++ .../reference/commonSourceDir5.types | 48 +++++++++++++++++++ tests/cases/compiler/commonSourceDir5.ts | 17 +++++++ 4 files changed, 136 insertions(+) create mode 100644 tests/baselines/reference/commonSourceDir5.js create mode 100644 tests/baselines/reference/commonSourceDir5.symbols create mode 100644 tests/baselines/reference/commonSourceDir5.types create mode 100644 tests/cases/compiler/commonSourceDir5.ts diff --git a/tests/baselines/reference/commonSourceDir5.js b/tests/baselines/reference/commonSourceDir5.js new file mode 100644 index 00000000000..3270df7015f --- /dev/null +++ b/tests/baselines/reference/commonSourceDir5.js @@ -0,0 +1,29 @@ +//// [tests/cases/compiler/commonSourceDir5.ts] //// + +//// [bar.ts] +import {z} from "./foo"; +export var x = z + z; + +//// [foo.ts] +import {pi} from "B:/baz"; +export var i = Math.sqrt(-1); +export var z = pi * pi; + +//// [baz.ts] +import {x} from "A:/bar"; +import {i} from "A:/foo"; +export var pi = Math.PI; +export var y = x * i; + +//// [concat.js] +define("B:/baz", ["require", "exports", "A:/bar", "A:/foo"], function (require, exports, bar_1, foo_1) { + exports.pi = Math.PI; + exports.y = bar_1.x * foo_1.i; +}); +define("A:/foo", ["require", "exports", "B:/baz"], function (require, exports, baz_1) { + exports.i = Math.sqrt(-1); + exports.z = baz_1.pi * baz_1.pi; +}); +define("A:/bar", ["require", "exports", "A:/foo"], function (require, exports, foo_2) { + exports.x = foo_2.z + foo_2.z; +}); diff --git a/tests/baselines/reference/commonSourceDir5.symbols b/tests/baselines/reference/commonSourceDir5.symbols new file mode 100644 index 00000000000..6426ac39de3 --- /dev/null +++ b/tests/baselines/reference/commonSourceDir5.symbols @@ -0,0 +1,42 @@ +=== A:/bar.ts === +import {z} from "./foo"; +>z : Symbol(z, Decl(bar.ts, 0, 8)) + +export var x = z + z; +>x : Symbol(x, Decl(bar.ts, 1, 10)) +>z : Symbol(z, Decl(bar.ts, 0, 8)) +>z : Symbol(z, Decl(bar.ts, 0, 8)) + +=== A:/foo.ts === +import {pi} from "B:/baz"; +>pi : Symbol(pi, Decl(foo.ts, 0, 8)) + +export var i = Math.sqrt(-1); +>i : Symbol(i, Decl(foo.ts, 1, 10)) +>Math.sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) + +export var z = pi * pi; +>z : Symbol(z, Decl(foo.ts, 2, 10)) +>pi : Symbol(pi, Decl(foo.ts, 0, 8)) +>pi : Symbol(pi, Decl(foo.ts, 0, 8)) + +=== B:/baz.ts === +import {x} from "A:/bar"; +>x : Symbol(x, Decl(baz.ts, 0, 8)) + +import {i} from "A:/foo"; +>i : Symbol(i, Decl(baz.ts, 1, 8)) + +export var pi = Math.PI; +>pi : Symbol(pi, Decl(baz.ts, 2, 10)) +>Math.PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) + +export var y = x * i; +>y : Symbol(y, Decl(baz.ts, 3, 10)) +>x : Symbol(x, Decl(baz.ts, 0, 8)) +>i : Symbol(i, Decl(baz.ts, 1, 8)) + diff --git a/tests/baselines/reference/commonSourceDir5.types b/tests/baselines/reference/commonSourceDir5.types new file mode 100644 index 00000000000..ff13bb20215 --- /dev/null +++ b/tests/baselines/reference/commonSourceDir5.types @@ -0,0 +1,48 @@ +=== A:/bar.ts === +import {z} from "./foo"; +>z : number + +export var x = z + z; +>x : number +>z + z : number +>z : number +>z : number + +=== A:/foo.ts === +import {pi} from "B:/baz"; +>pi : number + +export var i = Math.sqrt(-1); +>i : number +>Math.sqrt(-1) : number +>Math.sqrt : (x: number) => number +>Math : Math +>sqrt : (x: number) => number +>-1 : number +>1 : number + +export var z = pi * pi; +>z : number +>pi * pi : number +>pi : number +>pi : number + +=== B:/baz.ts === +import {x} from "A:/bar"; +>x : number + +import {i} from "A:/foo"; +>i : number + +export var pi = Math.PI; +>pi : number +>Math.PI : number +>Math : Math +>PI : number + +export var y = x * i; +>y : number +>x * i : number +>x : number +>i : number + diff --git a/tests/cases/compiler/commonSourceDir5.ts b/tests/cases/compiler/commonSourceDir5.ts new file mode 100644 index 00000000000..d181bef68fe --- /dev/null +++ b/tests/cases/compiler/commonSourceDir5.ts @@ -0,0 +1,17 @@ +// @outFile: concat.js +// @module: amd +// @moduleResolution: node +// @Filename: A:/bar.ts +import {z} from "./foo"; +export var x = z + z; + +// @Filename: A:/foo.ts +import {pi} from "B:/baz"; +export var i = Math.sqrt(-1); +export var z = pi * pi; + +// @Filename: B:/baz.ts +import {x} from "A:/bar"; +import {i} from "A:/foo"; +export var pi = Math.PI; +export var y = x * i; \ No newline at end of file From c0f185943c2259cd821d1a607bc78a611c01b968 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Wed, 18 Nov 2015 14:10:53 -0800 Subject: [PATCH 18/28] remove comment --- src/compiler/program.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/compiler/program.ts b/src/compiler/program.ts index bd59410b738..d5b2eb1aea4 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -329,6 +329,7 @@ namespace ts { let fileProcessingDiagnostics = createDiagnosticCollection(); const programDiagnostics = createDiagnosticCollection(); + let commonSourceDirectory: string; let diagnosticsProducingTypeChecker: TypeChecker; let noDiagnosticsTypeChecker: TypeChecker; let classifiableNames: Map; @@ -373,8 +374,6 @@ namespace ts { } } - // _Always_ compute a common source directory - let commonSourceDirectory: string; verifyCompilerOptions(); // unconditionally set oldProgram to undefined to prevent it from being captured in closure From 08045dfd3164a8759658b307f42001ccfc815533 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Wed, 18 Nov 2015 17:10:22 -0800 Subject: [PATCH 19/28] Refactor getCommonSourceDirectory into a closure function --- src/compiler/program.ts | 45 +++++++++++++++++++++++------------------ 1 file changed, 25 insertions(+), 20 deletions(-) diff --git a/src/compiler/program.ts b/src/compiler/program.ts index d5b2eb1aea4..3dd9c06ac34 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -394,9 +394,7 @@ namespace ts { getTypeChecker, getClassifiableNames, getDiagnosticsProducingTypeChecker, - getCommonSourceDirectory: () => { - return typeof commonSourceDirectory === "undefined" ? (commonSourceDirectory = computeCommonSourceDirectory(files)) : commonSourceDirectory; - }, + getCommonSourceDirectory, emit, getCurrentDirectory: () => currentDirectory, getNodeCount: () => getDiagnosticsProducingTypeChecker().getNodeCount(), @@ -407,6 +405,25 @@ namespace ts { }; return program; + function getCommonSourceDirectory() { + if (typeof commonSourceDirectory === "undefined") { + if (options.rootDir && checkSourceFilesBelongToPath(files, options.rootDir)) { + // If a rootDir is specified and is valid use it as the commonSourceDirectory + commonSourceDirectory = getNormalizedAbsolutePath(options.rootDir, currentDirectory); + } + else { + commonSourceDirectory = computeCommonSourceDirectory(files); + } + if (commonSourceDirectory && commonSourceDirectory[commonSourceDirectory.length - 1] !== directorySeparator) { + // Make sure directory path ends with directory separator so this string can directly + // used to replace with "" to get the relative path of the source file and the relative path doesn't + // start with / making it rooted path + commonSourceDirectory += directorySeparator; + } + } + return commonSourceDirectory; + } + function getClassifiableNames() { if (!classifiableNames) { // Initialize a checker so that all our files are bound. @@ -1059,24 +1076,12 @@ namespace ts { options.sourceRoot || // there is --sourceRoot specified options.mapRoot) { // there is --mapRoot specified - if (options.rootDir && checkSourceFilesBelongToPath(files, options.rootDir)) { - // If a rootDir is specified and is valid use it as the commonSourceDirectory - commonSourceDirectory = getNormalizedAbsolutePath(options.rootDir, currentDirectory); - } - else { - // Compute the commonSourceDirectory from the input files - commonSourceDirectory = computeCommonSourceDirectory(files); - // If we failed to find a good common directory, but outDir is specified and at least one of our files is on a windows drive/URL/other resource, add a failure - if (options.outDir && commonSourceDirectory === "" && forEach(files, file => getRootLength(file.fileName) > 1)) { - programDiagnostics.add(createCompilerDiagnostic(Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files)); - } - } + // Precalculate and cache the common source directory + const dir = getCommonSourceDirectory(); - if (commonSourceDirectory && commonSourceDirectory[commonSourceDirectory.length - 1] !== directorySeparator) { - // Make sure directory path ends with directory separator so this string can directly - // used to replace with "" to get the relative path of the source file and the relative path doesn't - // start with / making it rooted path - commonSourceDirectory += directorySeparator; + // If we failed to find a good common directory, but outDir is specified and at least one of our files is on a windows drive/URL/other resource, add a failure + if (options.outDir && dir === "" && forEach(files, file => getRootLength(file.fileName) > 1)) { + programDiagnostics.add(createCompilerDiagnostic(Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files)); } } From ba3805d6f27ac0e2964fda866860b78b837306d4 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Wed, 18 Nov 2015 17:29:16 -0800 Subject: [PATCH 20/28] add a new test --- tests/cases/compiler/commonSourceDir6.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 tests/cases/compiler/commonSourceDir6.ts diff --git a/tests/cases/compiler/commonSourceDir6.ts b/tests/cases/compiler/commonSourceDir6.ts new file mode 100644 index 00000000000..ff2b1309035 --- /dev/null +++ b/tests/cases/compiler/commonSourceDir6.ts @@ -0,0 +1,17 @@ +// @outFile: concat.js +// @outDir: a +// @module: amd +// @Filename: a/bar.ts +import {z} from "./foo"; +export var x = z + z; + +// @Filename: a/foo.ts +import {pi} from "../baz"; +export var i = Math.sqrt(-1); +export var z = pi * pi; + +// @Filename: baz.ts +import {x} from "a/bar"; +import {i} from "a/foo"; +export var pi = Math.PI; +export var y = x * i; \ No newline at end of file From 075bea0ab86d4e1a987f0f1024911a873904af84 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Thu, 19 Nov 2015 12:48:01 -0800 Subject: [PATCH 21/28] I forgot to commit the baselines. T.T --- tests/baselines/reference/commonSourceDir6.js | 29 +++++++++++ .../reference/commonSourceDir6.symbols | 42 ++++++++++++++++ .../reference/commonSourceDir6.types | 48 +++++++++++++++++++ 3 files changed, 119 insertions(+) create mode 100644 tests/baselines/reference/commonSourceDir6.js create mode 100644 tests/baselines/reference/commonSourceDir6.symbols create mode 100644 tests/baselines/reference/commonSourceDir6.types diff --git a/tests/baselines/reference/commonSourceDir6.js b/tests/baselines/reference/commonSourceDir6.js new file mode 100644 index 00000000000..c08c8645006 --- /dev/null +++ b/tests/baselines/reference/commonSourceDir6.js @@ -0,0 +1,29 @@ +//// [tests/cases/compiler/commonSourceDir6.ts] //// + +//// [bar.ts] +import {z} from "./foo"; +export var x = z + z; + +//// [foo.ts] +import {pi} from "../baz"; +export var i = Math.sqrt(-1); +export var z = pi * pi; + +//// [baz.ts] +import {x} from "a/bar"; +import {i} from "a/foo"; +export var pi = Math.PI; +export var y = x * i; + +//// [concat.js] +define("tests/cases/compiler/baz", ["require", "exports", "tests/cases/compiler/a/bar", "tests/cases/compiler/a/foo"], function (require, exports, bar_1, foo_1) { + exports.pi = Math.PI; + exports.y = bar_1.x * foo_1.i; +}); +define("tests/cases/compiler/a/foo", ["require", "exports", "tests/cases/compiler/baz"], function (require, exports, baz_1) { + exports.i = Math.sqrt(-1); + exports.z = baz_1.pi * baz_1.pi; +}); +define("tests/cases/compiler/a/bar", ["require", "exports", "tests/cases/compiler/a/foo"], function (require, exports, foo_2) { + exports.x = foo_2.z + foo_2.z; +}); diff --git a/tests/baselines/reference/commonSourceDir6.symbols b/tests/baselines/reference/commonSourceDir6.symbols new file mode 100644 index 00000000000..e9d5edb28b2 --- /dev/null +++ b/tests/baselines/reference/commonSourceDir6.symbols @@ -0,0 +1,42 @@ +=== tests/cases/compiler/a/bar.ts === +import {z} from "./foo"; +>z : Symbol(z, Decl(bar.ts, 0, 8)) + +export var x = z + z; +>x : Symbol(x, Decl(bar.ts, 1, 10)) +>z : Symbol(z, Decl(bar.ts, 0, 8)) +>z : Symbol(z, Decl(bar.ts, 0, 8)) + +=== tests/cases/compiler/a/foo.ts === +import {pi} from "../baz"; +>pi : Symbol(pi, Decl(foo.ts, 0, 8)) + +export var i = Math.sqrt(-1); +>i : Symbol(i, Decl(foo.ts, 1, 10)) +>Math.sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>sqrt : Symbol(Math.sqrt, Decl(lib.d.ts, --, --)) + +export var z = pi * pi; +>z : Symbol(z, Decl(foo.ts, 2, 10)) +>pi : Symbol(pi, Decl(foo.ts, 0, 8)) +>pi : Symbol(pi, Decl(foo.ts, 0, 8)) + +=== tests/cases/compiler/baz.ts === +import {x} from "a/bar"; +>x : Symbol(x, Decl(baz.ts, 0, 8)) + +import {i} from "a/foo"; +>i : Symbol(i, Decl(baz.ts, 1, 8)) + +export var pi = Math.PI; +>pi : Symbol(pi, Decl(baz.ts, 2, 10)) +>Math.PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --)) +>PI : Symbol(Math.PI, Decl(lib.d.ts, --, --)) + +export var y = x * i; +>y : Symbol(y, Decl(baz.ts, 3, 10)) +>x : Symbol(x, Decl(baz.ts, 0, 8)) +>i : Symbol(i, Decl(baz.ts, 1, 8)) + diff --git a/tests/baselines/reference/commonSourceDir6.types b/tests/baselines/reference/commonSourceDir6.types new file mode 100644 index 00000000000..e30cdd2deee --- /dev/null +++ b/tests/baselines/reference/commonSourceDir6.types @@ -0,0 +1,48 @@ +=== tests/cases/compiler/a/bar.ts === +import {z} from "./foo"; +>z : number + +export var x = z + z; +>x : number +>z + z : number +>z : number +>z : number + +=== tests/cases/compiler/a/foo.ts === +import {pi} from "../baz"; +>pi : number + +export var i = Math.sqrt(-1); +>i : number +>Math.sqrt(-1) : number +>Math.sqrt : (x: number) => number +>Math : Math +>sqrt : (x: number) => number +>-1 : number +>1 : number + +export var z = pi * pi; +>z : number +>pi * pi : number +>pi : number +>pi : number + +=== tests/cases/compiler/baz.ts === +import {x} from "a/bar"; +>x : number + +import {i} from "a/foo"; +>i : number + +export var pi = Math.PI; +>pi : number +>Math.PI : number +>Math : Math +>PI : number + +export var y = x * i; +>y : number +>x * i : number +>x : number +>i : number + From 02a9b11e0e1dbc5cf51e6c9d7fac9ebe42f1e249 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Fri, 20 Nov 2015 13:41:41 -0800 Subject: [PATCH 22/28] Accpet new baselines --- .../getEmitOutputSingleFile2.baseline | 2 +- ...ultifolderSpecifyOutputFile.dts.errors.txt | 41 ------------------- ...ultifolderSpecifyOutputFile.dts.errors.txt | 41 ------------------- ...ultifolderSpecifyOutputFile.dts.errors.txt | 41 ------------------- ...ultifolderSpecifyOutputFile.dts.errors.txt | 41 ------------------- ...ultifolderSpecifyOutputFile.dts.errors.txt | 41 ------------------- ...ultifolderSpecifyOutputFile.dts.errors.txt | 41 ------------------- ...ultifolderSpecifyOutputFile.dts.errors.txt | 41 ------------------- ...ultifolderSpecifyOutputFile.dts.errors.txt | 41 ------------------- ...ultifolderSpecifyOutputFile.dts.errors.txt | 41 ------------------- 10 files changed, 1 insertion(+), 370 deletions(-) delete mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.dts.errors.txt delete mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/mapRootRelativePathModuleMultifolderSpecifyOutputFile.dts.errors.txt delete mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlModuleMultifolderSpecifyOutputFile.dts.errors.txt delete mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.dts.errors.txt delete mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/outModuleMultifolderSpecifyOutputFile.dts.errors.txt delete mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.dts.errors.txt delete mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.dts.errors.txt delete mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/sourcemapModuleMultifolderSpecifyOutputFile.dts.errors.txt delete mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/sourcerootUrlModuleMultifolderSpecifyOutputFile.dts.errors.txt diff --git a/tests/baselines/reference/getEmitOutputSingleFile2.baseline b/tests/baselines/reference/getEmitOutputSingleFile2.baseline index 3022dcf68d8..21e28eb7feb 100644 --- a/tests/baselines/reference/getEmitOutputSingleFile2.baseline +++ b/tests/baselines/reference/getEmitOutputSingleFile2.baseline @@ -23,7 +23,7 @@ declare class Foo { x: string; y: number; } -declare module "tests/cases/fourslash/inputFile3" { +declare module "inputFile3" { export var foo: number; export var bar: string; } diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.dts.errors.txt b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.dts.errors.txt deleted file mode 100644 index d827a2492f8..00000000000 --- a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.dts.errors.txt +++ /dev/null @@ -1,41 +0,0 @@ -bin/test.d.ts(9,16): error TS2436: Ambient module declaration cannot specify relative module name. -bin/test.d.ts(19,5): error TS2439: Import or export declaration in an ambient module declaration cannot reference module through relative module name. -bin/test.d.ts(19,25): error TS2307: Cannot find module '../outputdir_module_multifolder_ref/m2'. - - -==== bin/test.d.ts (3 errors) ==== - declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; - } - declare module "../outputdir_module_multifolder_ref/m2" { - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2436: Ambient module declaration cannot specify relative module name. - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; - } - declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2439: Import or export declaration in an ambient module declaration cannot reference module through relative module name. - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2307: Cannot find module '../outputdir_module_multifolder_ref/m2'. - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; - } - \ No newline at end of file diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/mapRootRelativePathModuleMultifolderSpecifyOutputFile.dts.errors.txt b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/mapRootRelativePathModuleMultifolderSpecifyOutputFile.dts.errors.txt deleted file mode 100644 index d827a2492f8..00000000000 --- a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/mapRootRelativePathModuleMultifolderSpecifyOutputFile.dts.errors.txt +++ /dev/null @@ -1,41 +0,0 @@ -bin/test.d.ts(9,16): error TS2436: Ambient module declaration cannot specify relative module name. -bin/test.d.ts(19,5): error TS2439: Import or export declaration in an ambient module declaration cannot reference module through relative module name. -bin/test.d.ts(19,25): error TS2307: Cannot find module '../outputdir_module_multifolder_ref/m2'. - - -==== bin/test.d.ts (3 errors) ==== - declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; - } - declare module "../outputdir_module_multifolder_ref/m2" { - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2436: Ambient module declaration cannot specify relative module name. - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; - } - declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2439: Import or export declaration in an ambient module declaration cannot reference module through relative module name. - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2307: Cannot find module '../outputdir_module_multifolder_ref/m2'. - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; - } - \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlModuleMultifolderSpecifyOutputFile.dts.errors.txt b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlModuleMultifolderSpecifyOutputFile.dts.errors.txt deleted file mode 100644 index d827a2492f8..00000000000 --- a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlModuleMultifolderSpecifyOutputFile.dts.errors.txt +++ /dev/null @@ -1,41 +0,0 @@ -bin/test.d.ts(9,16): error TS2436: Ambient module declaration cannot specify relative module name. -bin/test.d.ts(19,5): error TS2439: Import or export declaration in an ambient module declaration cannot reference module through relative module name. -bin/test.d.ts(19,25): error TS2307: Cannot find module '../outputdir_module_multifolder_ref/m2'. - - -==== bin/test.d.ts (3 errors) ==== - declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; - } - declare module "../outputdir_module_multifolder_ref/m2" { - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2436: Ambient module declaration cannot specify relative module name. - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; - } - declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2439: Import or export declaration in an ambient module declaration cannot reference module through relative module name. - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2307: Cannot find module '../outputdir_module_multifolder_ref/m2'. - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; - } - \ No newline at end of file diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.dts.errors.txt b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.dts.errors.txt deleted file mode 100644 index d827a2492f8..00000000000 --- a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.dts.errors.txt +++ /dev/null @@ -1,41 +0,0 @@ -bin/test.d.ts(9,16): error TS2436: Ambient module declaration cannot specify relative module name. -bin/test.d.ts(19,5): error TS2439: Import or export declaration in an ambient module declaration cannot reference module through relative module name. -bin/test.d.ts(19,25): error TS2307: Cannot find module '../outputdir_module_multifolder_ref/m2'. - - -==== bin/test.d.ts (3 errors) ==== - declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; - } - declare module "../outputdir_module_multifolder_ref/m2" { - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2436: Ambient module declaration cannot specify relative module name. - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; - } - declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2439: Import or export declaration in an ambient module declaration cannot reference module through relative module name. - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2307: Cannot find module '../outputdir_module_multifolder_ref/m2'. - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; - } - \ No newline at end of file diff --git a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/outModuleMultifolderSpecifyOutputFile.dts.errors.txt b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/outModuleMultifolderSpecifyOutputFile.dts.errors.txt deleted file mode 100644 index d827a2492f8..00000000000 --- a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/outModuleMultifolderSpecifyOutputFile.dts.errors.txt +++ /dev/null @@ -1,41 +0,0 @@ -bin/test.d.ts(9,16): error TS2436: Ambient module declaration cannot specify relative module name. -bin/test.d.ts(19,5): error TS2439: Import or export declaration in an ambient module declaration cannot reference module through relative module name. -bin/test.d.ts(19,25): error TS2307: Cannot find module '../outputdir_module_multifolder_ref/m2'. - - -==== bin/test.d.ts (3 errors) ==== - declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; - } - declare module "../outputdir_module_multifolder_ref/m2" { - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2436: Ambient module declaration cannot specify relative module name. - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; - } - declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2439: Import or export declaration in an ambient module declaration cannot reference module through relative module name. - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2307: Cannot find module '../outputdir_module_multifolder_ref/m2'. - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; - } - \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.dts.errors.txt b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.dts.errors.txt deleted file mode 100644 index d827a2492f8..00000000000 --- a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.dts.errors.txt +++ /dev/null @@ -1,41 +0,0 @@ -bin/test.d.ts(9,16): error TS2436: Ambient module declaration cannot specify relative module name. -bin/test.d.ts(19,5): error TS2439: Import or export declaration in an ambient module declaration cannot reference module through relative module name. -bin/test.d.ts(19,25): error TS2307: Cannot find module '../outputdir_module_multifolder_ref/m2'. - - -==== bin/test.d.ts (3 errors) ==== - declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; - } - declare module "../outputdir_module_multifolder_ref/m2" { - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2436: Ambient module declaration cannot specify relative module name. - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; - } - declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2439: Import or export declaration in an ambient module declaration cannot reference module through relative module name. - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2307: Cannot find module '../outputdir_module_multifolder_ref/m2'. - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; - } - \ No newline at end of file diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.dts.errors.txt b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.dts.errors.txt deleted file mode 100644 index d827a2492f8..00000000000 --- a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.dts.errors.txt +++ /dev/null @@ -1,41 +0,0 @@ -bin/test.d.ts(9,16): error TS2436: Ambient module declaration cannot specify relative module name. -bin/test.d.ts(19,5): error TS2439: Import or export declaration in an ambient module declaration cannot reference module through relative module name. -bin/test.d.ts(19,25): error TS2307: Cannot find module '../outputdir_module_multifolder_ref/m2'. - - -==== bin/test.d.ts (3 errors) ==== - declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; - } - declare module "../outputdir_module_multifolder_ref/m2" { - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2436: Ambient module declaration cannot specify relative module name. - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; - } - declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2439: Import or export declaration in an ambient module declaration cannot reference module through relative module name. - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2307: Cannot find module '../outputdir_module_multifolder_ref/m2'. - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; - } - \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/sourcemapModuleMultifolderSpecifyOutputFile.dts.errors.txt b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/sourcemapModuleMultifolderSpecifyOutputFile.dts.errors.txt deleted file mode 100644 index d827a2492f8..00000000000 --- a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/sourcemapModuleMultifolderSpecifyOutputFile.dts.errors.txt +++ /dev/null @@ -1,41 +0,0 @@ -bin/test.d.ts(9,16): error TS2436: Ambient module declaration cannot specify relative module name. -bin/test.d.ts(19,5): error TS2439: Import or export declaration in an ambient module declaration cannot reference module through relative module name. -bin/test.d.ts(19,25): error TS2307: Cannot find module '../outputdir_module_multifolder_ref/m2'. - - -==== bin/test.d.ts (3 errors) ==== - declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; - } - declare module "../outputdir_module_multifolder_ref/m2" { - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2436: Ambient module declaration cannot specify relative module name. - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; - } - declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2439: Import or export declaration in an ambient module declaration cannot reference module through relative module name. - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2307: Cannot find module '../outputdir_module_multifolder_ref/m2'. - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; - } - \ No newline at end of file diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/sourcerootUrlModuleMultifolderSpecifyOutputFile.dts.errors.txt b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/sourcerootUrlModuleMultifolderSpecifyOutputFile.dts.errors.txt deleted file mode 100644 index d827a2492f8..00000000000 --- a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/sourcerootUrlModuleMultifolderSpecifyOutputFile.dts.errors.txt +++ /dev/null @@ -1,41 +0,0 @@ -bin/test.d.ts(9,16): error TS2436: Ambient module declaration cannot specify relative module name. -bin/test.d.ts(19,5): error TS2439: Import or export declaration in an ambient module declaration cannot reference module through relative module name. -bin/test.d.ts(19,25): error TS2307: Cannot find module '../outputdir_module_multifolder_ref/m2'. - - -==== bin/test.d.ts (3 errors) ==== - declare module "ref/m1" { - export var m1_a1: number; - export class m1_c1 { - m1_c1_p1: number; - } - export var m1_instance1: m1_c1; - export function m1_f1(): m1_c1; - } - declare module "../outputdir_module_multifolder_ref/m2" { - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2436: Ambient module declaration cannot specify relative module name. - export var m2_a1: number; - export class m2_c1 { - m2_c1_p1: number; - } - export var m2_instance1: m2_c1; - export function m2_f1(): m2_c1; - } - declare module "test" { - import m1 = require("ref/m1"); - import m2 = require("../outputdir_module_multifolder_ref/m2"); - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2439: Import or export declaration in an ambient module declaration cannot reference module through relative module name. - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2307: Cannot find module '../outputdir_module_multifolder_ref/m2'. - export var a1: number; - export class c1 { - p1: number; - } - export var instance1: c1; - export function f1(): c1; - export var a2: typeof m1.m1_c1; - export var a3: typeof m2.m2_c1; - } - \ No newline at end of file From 8d3fca9de8d95371ed4a08c648960524c8c3d2f5 Mon Sep 17 00:00:00 2001 From: Yui T Date: Fri, 20 Nov 2015 16:26:13 -0800 Subject: [PATCH 23/28] apply tslint rule to scripts\tslint --- Jakefile.js | 14 ++++++++++++-- scripts/tslint/typeOperatorSpacingRule.ts | 4 ++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/Jakefile.js b/Jakefile.js index 5dfbcc26d74..2c7442a4916 100644 --- a/Jakefile.js +++ b/Jakefile.js @@ -106,6 +106,16 @@ var serverCoreSources = [ return path.join(serverDirectory, f); }); +var scriptSources = [ + "tslint/booleanTriviaRule.ts", + "tslint/nextLineRule.ts", + "tslint/noNullRule.ts", + "tslint/preferConstRule.ts", + "tslint/typeOperatorSpacingRule.ts" +].map(function (f) { + return path.join(scriptsDirectory, f); +}); + var serverSources = serverCoreSources.concat(servicesSources); var languageServiceLibrarySources = [ @@ -365,7 +375,6 @@ file(builtGeneratedDiagnosticMessagesJSON,[generatedDiagnosticMessagesJSON], fun desc("Generates a diagnostic file in TypeScript based on an input JSON file"); task("generate-diagnostics", [diagnosticInfoMapTs]); - // Publish nightly var configureNightlyJs = path.join(scriptsDirectory, "configureNightly.js"); var configureNightlyTs = path.join(scriptsDirectory, "configureNightly.ts"); @@ -909,7 +918,8 @@ function lintFileAsync(options, path, cb) { var lintTargets = compilerSources .concat(harnessCoreSources) - .concat(serverCoreSources); + .concat(serverCoreSources) + .concat(scriptSources) desc("Runs tslint on the compiler sources"); task("lint", ["build-rules"], function() { diff --git a/scripts/tslint/typeOperatorSpacingRule.ts b/scripts/tslint/typeOperatorSpacingRule.ts index 4196d024768..7ceef2372bf 100644 --- a/scripts/tslint/typeOperatorSpacingRule.ts +++ b/scripts/tslint/typeOperatorSpacingRule.ts @@ -13,10 +13,10 @@ export class Rule extends Lint.Rules.AbstractRule { class TypeOperatorSpacingWalker extends Lint.RuleWalker { public visitNode(node: ts.Node) { if (node.kind === ts.SyntaxKind.UnionType || node.kind === ts.SyntaxKind.IntersectionType) { - let types = (node).types; + const types = (node).types; let expectedStart = types[0].end + 2; // space, | or & for (let i = 1; i < types.length; i++) { - let currentType = types[i]; + const currentType = types[i]; if (expectedStart !== currentType.pos || currentType.getLeadingTriviaWidth() !== 1) { const failure = this.createFailure(currentType.pos, currentType.getWidth(), Rule.FAILURE_STRING); this.addFailure(failure); From 97f0bfcd72d0fe9602e55da409d39619b2bb0c28 Mon Sep 17 00:00:00 2001 From: Yui T Date: Fri, 20 Nov 2015 16:28:58 -0800 Subject: [PATCH 24/28] apply tslint rule to scripts\tslint --- Jakefile.js | 14 ++++++++++++-- scripts/tslint/typeOperatorSpacingRule.ts | 4 ++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/Jakefile.js b/Jakefile.js index 5dfbcc26d74..7cd36aaa8bd 100644 --- a/Jakefile.js +++ b/Jakefile.js @@ -106,6 +106,16 @@ var serverCoreSources = [ return path.join(serverDirectory, f); }); +var scriptSources = [ + "tslint/booleanTriviaRule.ts", + "tslint/nextLineRule.ts", + "tslint/noNullRule.ts", + "tslint/preferConstRule.ts", + "tslint/typeOperatorSpacingRule.ts" +].map(function (f) { + return path.join(scriptsDirectory, f); +}); + var serverSources = serverCoreSources.concat(servicesSources); var languageServiceLibrarySources = [ @@ -365,7 +375,6 @@ file(builtGeneratedDiagnosticMessagesJSON,[generatedDiagnosticMessagesJSON], fun desc("Generates a diagnostic file in TypeScript based on an input JSON file"); task("generate-diagnostics", [diagnosticInfoMapTs]); - // Publish nightly var configureNightlyJs = path.join(scriptsDirectory, "configureNightly.js"); var configureNightlyTs = path.join(scriptsDirectory, "configureNightly.ts"); @@ -909,7 +918,8 @@ function lintFileAsync(options, path, cb) { var lintTargets = compilerSources .concat(harnessCoreSources) - .concat(serverCoreSources); + .concat(serverCoreSources) + .concat(scriptSources); desc("Runs tslint on the compiler sources"); task("lint", ["build-rules"], function() { diff --git a/scripts/tslint/typeOperatorSpacingRule.ts b/scripts/tslint/typeOperatorSpacingRule.ts index 4196d024768..7ceef2372bf 100644 --- a/scripts/tslint/typeOperatorSpacingRule.ts +++ b/scripts/tslint/typeOperatorSpacingRule.ts @@ -13,10 +13,10 @@ export class Rule extends Lint.Rules.AbstractRule { class TypeOperatorSpacingWalker extends Lint.RuleWalker { public visitNode(node: ts.Node) { if (node.kind === ts.SyntaxKind.UnionType || node.kind === ts.SyntaxKind.IntersectionType) { - let types = (node).types; + const types = (node).types; let expectedStart = types[0].end + 2; // space, | or & for (let i = 1; i < types.length; i++) { - let currentType = types[i]; + const currentType = types[i]; if (expectedStart !== currentType.pos || currentType.getLeadingTriviaWidth() !== 1) { const failure = this.createFailure(currentType.pos, currentType.getWidth(), Rule.FAILURE_STRING); this.addFailure(failure); From 39266849f14121bef62637cd87b60f12b0f239eb Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Wed, 25 Nov 2015 16:58:44 -0800 Subject: [PATCH 25/28] accept projects tests baselines --- .../amd/bin/test.d.ts | 28 +++++++++++++++++++ .../amd/bin/test.d.ts | 28 +++++++++++++++++++ .../amd/bin/test.d.ts | 28 +++++++++++++++++++ .../amd/bin/test.d.ts | 28 +++++++++++++++++++ .../amd/bin/test.d.ts | 28 +++++++++++++++++++ .../amd/bin/test.d.ts | 28 +++++++++++++++++++ .../amd/bin/test.d.ts | 28 +++++++++++++++++++ .../amd/bin/test.d.ts | 28 +++++++++++++++++++ .../amd/bin/test.d.ts | 28 +++++++++++++++++++ 9 files changed, 252 insertions(+) create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts diff --git a/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts new file mode 100644 index 00000000000..d42fc1cd136 --- /dev/null +++ b/tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts @@ -0,0 +1,28 @@ +declare module "outputdir_module_multifolder/ref/m1" { + export var m1_a1: number; + export class m1_c1 { + m1_c1_p1: number; + } + export var m1_instance1: m1_c1; + export function m1_f1(): m1_c1; +} +declare module "outputdir_module_multifolder_ref/m2" { + export var m2_a1: number; + export class m2_c1 { + m2_c1_p1: number; + } + export var m2_instance1: m2_c1; + export function m2_f1(): m2_c1; +} +declare module "test" { + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); + export var a1: number; + export class c1 { + p1: number; + } + export var instance1: c1; + export function f1(): c1; + export var a2: typeof m1.m1_c1; + export var a3: typeof m2.m2_c1; +} diff --git a/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts new file mode 100644 index 00000000000..d42fc1cd136 --- /dev/null +++ b/tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts @@ -0,0 +1,28 @@ +declare module "outputdir_module_multifolder/ref/m1" { + export var m1_a1: number; + export class m1_c1 { + m1_c1_p1: number; + } + export var m1_instance1: m1_c1; + export function m1_f1(): m1_c1; +} +declare module "outputdir_module_multifolder_ref/m2" { + export var m2_a1: number; + export class m2_c1 { + m2_c1_p1: number; + } + export var m2_instance1: m2_c1; + export function m2_f1(): m2_c1; +} +declare module "test" { + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); + export var a1: number; + export class c1 { + p1: number; + } + export var instance1: c1; + export function f1(): c1; + export var a2: typeof m1.m1_c1; + export var a3: typeof m2.m2_c1; +} diff --git a/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts new file mode 100644 index 00000000000..d42fc1cd136 --- /dev/null +++ b/tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts @@ -0,0 +1,28 @@ +declare module "outputdir_module_multifolder/ref/m1" { + export var m1_a1: number; + export class m1_c1 { + m1_c1_p1: number; + } + export var m1_instance1: m1_c1; + export function m1_f1(): m1_c1; +} +declare module "outputdir_module_multifolder_ref/m2" { + export var m2_a1: number; + export class m2_c1 { + m2_c1_p1: number; + } + export var m2_instance1: m2_c1; + export function m2_f1(): m2_c1; +} +declare module "test" { + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); + export var a1: number; + export class c1 { + p1: number; + } + export var instance1: c1; + export function f1(): c1; + export var a2: typeof m1.m1_c1; + export var a3: typeof m2.m2_c1; +} diff --git a/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts new file mode 100644 index 00000000000..d42fc1cd136 --- /dev/null +++ b/tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts @@ -0,0 +1,28 @@ +declare module "outputdir_module_multifolder/ref/m1" { + export var m1_a1: number; + export class m1_c1 { + m1_c1_p1: number; + } + export var m1_instance1: m1_c1; + export function m1_f1(): m1_c1; +} +declare module "outputdir_module_multifolder_ref/m2" { + export var m2_a1: number; + export class m2_c1 { + m2_c1_p1: number; + } + export var m2_instance1: m2_c1; + export function m2_f1(): m2_c1; +} +declare module "test" { + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); + export var a1: number; + export class c1 { + p1: number; + } + export var instance1: c1; + export function f1(): c1; + export var a2: typeof m1.m1_c1; + export var a3: typeof m2.m2_c1; +} diff --git a/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts new file mode 100644 index 00000000000..d42fc1cd136 --- /dev/null +++ b/tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts @@ -0,0 +1,28 @@ +declare module "outputdir_module_multifolder/ref/m1" { + export var m1_a1: number; + export class m1_c1 { + m1_c1_p1: number; + } + export var m1_instance1: m1_c1; + export function m1_f1(): m1_c1; +} +declare module "outputdir_module_multifolder_ref/m2" { + export var m2_a1: number; + export class m2_c1 { + m2_c1_p1: number; + } + export var m2_instance1: m2_c1; + export function m2_f1(): m2_c1; +} +declare module "test" { + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); + export var a1: number; + export class c1 { + p1: number; + } + export var instance1: c1; + export function f1(): c1; + export var a2: typeof m1.m1_c1; + export var a3: typeof m2.m2_c1; +} diff --git a/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts new file mode 100644 index 00000000000..d42fc1cd136 --- /dev/null +++ b/tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts @@ -0,0 +1,28 @@ +declare module "outputdir_module_multifolder/ref/m1" { + export var m1_a1: number; + export class m1_c1 { + m1_c1_p1: number; + } + export var m1_instance1: m1_c1; + export function m1_f1(): m1_c1; +} +declare module "outputdir_module_multifolder_ref/m2" { + export var m2_a1: number; + export class m2_c1 { + m2_c1_p1: number; + } + export var m2_instance1: m2_c1; + export function m2_f1(): m2_c1; +} +declare module "test" { + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); + export var a1: number; + export class c1 { + p1: number; + } + export var instance1: c1; + export function f1(): c1; + export var a2: typeof m1.m1_c1; + export var a3: typeof m2.m2_c1; +} diff --git a/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts new file mode 100644 index 00000000000..d42fc1cd136 --- /dev/null +++ b/tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts @@ -0,0 +1,28 @@ +declare module "outputdir_module_multifolder/ref/m1" { + export var m1_a1: number; + export class m1_c1 { + m1_c1_p1: number; + } + export var m1_instance1: m1_c1; + export function m1_f1(): m1_c1; +} +declare module "outputdir_module_multifolder_ref/m2" { + export var m2_a1: number; + export class m2_c1 { + m2_c1_p1: number; + } + export var m2_instance1: m2_c1; + export function m2_f1(): m2_c1; +} +declare module "test" { + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); + export var a1: number; + export class c1 { + p1: number; + } + export var instance1: c1; + export function f1(): c1; + export var a2: typeof m1.m1_c1; + export var a3: typeof m2.m2_c1; +} diff --git a/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts new file mode 100644 index 00000000000..d42fc1cd136 --- /dev/null +++ b/tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts @@ -0,0 +1,28 @@ +declare module "outputdir_module_multifolder/ref/m1" { + export var m1_a1: number; + export class m1_c1 { + m1_c1_p1: number; + } + export var m1_instance1: m1_c1; + export function m1_f1(): m1_c1; +} +declare module "outputdir_module_multifolder_ref/m2" { + export var m2_a1: number; + export class m2_c1 { + m2_c1_p1: number; + } + export var m2_instance1: m2_c1; + export function m2_f1(): m2_c1; +} +declare module "test" { + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); + export var a1: number; + export class c1 { + p1: number; + } + export var instance1: c1; + export function f1(): c1; + export var a2: typeof m1.m1_c1; + export var a3: typeof m2.m2_c1; +} diff --git a/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts new file mode 100644 index 00000000000..d42fc1cd136 --- /dev/null +++ b/tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts @@ -0,0 +1,28 @@ +declare module "outputdir_module_multifolder/ref/m1" { + export var m1_a1: number; + export class m1_c1 { + m1_c1_p1: number; + } + export var m1_instance1: m1_c1; + export function m1_f1(): m1_c1; +} +declare module "outputdir_module_multifolder_ref/m2" { + export var m2_a1: number; + export class m2_c1 { + m2_c1_p1: number; + } + export var m2_instance1: m2_c1; + export function m2_f1(): m2_c1; +} +declare module "test" { + import m1 = require("outputdir_module_multifolder/ref/m1"); + import m2 = require("outputdir_module_multifolder_ref/m2"); + export var a1: number; + export class c1 { + p1: number; + } + export var instance1: c1; + export function f1(): c1; + export var a2: typeof m1.m1_c1; + export var a3: typeof m2.m2_c1; +} From adc3f2bd199c5441c7922164bba005ba26eb5a9d Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Wed, 25 Nov 2015 17:27:07 -0800 Subject: [PATCH 26/28] update description --- src/compiler/commandLineParser.ts | 2 +- src/compiler/diagnosticMessages.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 8ec47fcffef..034b7022e82 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -283,7 +283,7 @@ namespace ts { { name: "allowSyntheticDefaultImports", type: "boolean", - description: Diagnostics.Allow_default_imports_from_modules_with_no_default_export + description: Diagnostics.Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking }, { name: "allowJs", diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 9646353d8f8..882fd41d6d4 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -2109,7 +2109,7 @@ "category": "Message", "code": 6010 }, - "Allow default imports from modules with no default export": { + "Allow default imports from modules with no default export. This does not affect code emit, just typechecking.": { "category": "Message", "code": 6011 }, From 2198988e7be39ba227a46f128944d1b72f227fd2 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Wed, 25 Nov 2015 17:46:27 -0800 Subject: [PATCH 27/28] accept baselines --- .../baselines/reference/decoratedDefaultExportsGetExportedAmd.js | 1 + .../reference/decoratedDefaultExportsGetExportedCommonjs.js | 1 + .../reference/decoratedDefaultExportsGetExportedSystem.js | 1 + .../baselines/reference/decoratedDefaultExportsGetExportedUmd.js | 1 + tests/baselines/reference/defaultExportsGetExportedAmd.js | 1 + tests/baselines/reference/defaultExportsGetExportedCommonjs.js | 1 + tests/baselines/reference/defaultExportsGetExportedSystem.js | 1 + tests/baselines/reference/defaultExportsGetExportedUmd.js | 1 + 8 files changed, 8 insertions(+) diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.js b/tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.js index 441d8b0d70a..3fb23375f02 100644 --- a/tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.js +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.js @@ -14,6 +14,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, return c > 3 && r && Object.defineProperty(target, key, r), r; }; define(["require", "exports"], function (require, exports) { + "use strict"; var decorator; let Foo = class { }; diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedCommonjs.js b/tests/baselines/reference/decoratedDefaultExportsGetExportedCommonjs.js index 8818241c9b5..32acfbbea39 100644 --- a/tests/baselines/reference/decoratedDefaultExportsGetExportedCommonjs.js +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedCommonjs.js @@ -7,6 +7,7 @@ export default class Foo {} //// [decoratedDefaultExportsGetExportedCommonjs.js] +"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.js b/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.js index 1ae54560ae3..a2b22e4ccdb 100644 --- a/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.js +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.js @@ -8,6 +8,7 @@ export default class Foo {} //// [decoratedDefaultExportsGetExportedSystem.js] System.register([], function(exports_1) { + "use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.js b/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.js index 118af702fc1..06cee476b57 100644 --- a/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.js +++ b/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.js @@ -21,6 +21,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key, define(["require", "exports"], factory); } })(function (require, exports) { + "use strict"; var decorator; let Foo = class { }; diff --git a/tests/baselines/reference/defaultExportsGetExportedAmd.js b/tests/baselines/reference/defaultExportsGetExportedAmd.js index 4eba3ba9600..b9387a2cc84 100644 --- a/tests/baselines/reference/defaultExportsGetExportedAmd.js +++ b/tests/baselines/reference/defaultExportsGetExportedAmd.js @@ -4,6 +4,7 @@ export default class Foo {} //// [defaultExportsGetExportedAmd.js] define(["require", "exports"], function (require, exports) { + "use strict"; class Foo { } exports.default = Foo; diff --git a/tests/baselines/reference/defaultExportsGetExportedCommonjs.js b/tests/baselines/reference/defaultExportsGetExportedCommonjs.js index a19b99fe9d3..28301251efc 100644 --- a/tests/baselines/reference/defaultExportsGetExportedCommonjs.js +++ b/tests/baselines/reference/defaultExportsGetExportedCommonjs.js @@ -3,6 +3,7 @@ export default class Foo {} //// [defaultExportsGetExportedCommonjs.js] +"use strict"; class Foo { } exports.default = Foo; diff --git a/tests/baselines/reference/defaultExportsGetExportedSystem.js b/tests/baselines/reference/defaultExportsGetExportedSystem.js index 1f1a7c9dea6..7d5c6ee2854 100644 --- a/tests/baselines/reference/defaultExportsGetExportedSystem.js +++ b/tests/baselines/reference/defaultExportsGetExportedSystem.js @@ -4,6 +4,7 @@ export default class Foo {} //// [defaultExportsGetExportedSystem.js] System.register([], function(exports_1) { + "use strict"; var Foo; return { setters:[], diff --git a/tests/baselines/reference/defaultExportsGetExportedUmd.js b/tests/baselines/reference/defaultExportsGetExportedUmd.js index ed3639ace55..902fc89c1d4 100644 --- a/tests/baselines/reference/defaultExportsGetExportedUmd.js +++ b/tests/baselines/reference/defaultExportsGetExportedUmd.js @@ -11,6 +11,7 @@ export default class Foo {} define(["require", "exports"], factory); } })(function (require, exports) { + "use strict"; class Foo { } exports.default = Foo; From fd5f4404cb4bed07c234ec468d7ab9815cc59a73 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Wed, 25 Nov 2015 18:22:44 -0800 Subject: [PATCH 28/28] accept new baselines --- tests/baselines/reference/allowSyntheticDefaultImports1.js | 2 ++ tests/baselines/reference/allowSyntheticDefaultImports2.js | 2 ++ tests/baselines/reference/allowSyntheticDefaultImports3.js | 2 ++ tests/baselines/reference/allowSyntheticDefaultImports4.js | 1 + tests/baselines/reference/allowSyntheticDefaultImports5.js | 1 + tests/baselines/reference/allowSyntheticDefaultImports6.js | 1 + 6 files changed, 9 insertions(+) diff --git a/tests/baselines/reference/allowSyntheticDefaultImports1.js b/tests/baselines/reference/allowSyntheticDefaultImports1.js index bc78725cb1c..699880f930c 100644 --- a/tests/baselines/reference/allowSyntheticDefaultImports1.js +++ b/tests/baselines/reference/allowSyntheticDefaultImports1.js @@ -11,6 +11,7 @@ export class Foo { //// [b.js] +"use strict"; var Foo = (function () { function Foo() { } @@ -18,5 +19,6 @@ var Foo = (function () { })(); exports.Foo = Foo; //// [a.js] +"use strict"; var b_1 = require("./b"); exports.x = new b_1["default"].Foo(); diff --git a/tests/baselines/reference/allowSyntheticDefaultImports2.js b/tests/baselines/reference/allowSyntheticDefaultImports2.js index 3c1981bee9b..d21750c65fc 100644 --- a/tests/baselines/reference/allowSyntheticDefaultImports2.js +++ b/tests/baselines/reference/allowSyntheticDefaultImports2.js @@ -11,6 +11,7 @@ export class Foo { //// [b.js] System.register([], function(exports_1) { + "use strict"; var Foo; return { setters:[], @@ -26,6 +27,7 @@ System.register([], function(exports_1) { }); //// [a.js] System.register(["./b"], function(exports_1) { + "use strict"; var b_1; var x; return { diff --git a/tests/baselines/reference/allowSyntheticDefaultImports3.js b/tests/baselines/reference/allowSyntheticDefaultImports3.js index 2345ad65d10..8864a28e796 100644 --- a/tests/baselines/reference/allowSyntheticDefaultImports3.js +++ b/tests/baselines/reference/allowSyntheticDefaultImports3.js @@ -12,6 +12,7 @@ export class Foo { //// [b.js] System.register([], function(exports_1) { + "use strict"; var Foo; return { setters:[], @@ -27,6 +28,7 @@ System.register([], function(exports_1) { }); //// [a.js] System.register(["./b"], function(exports_1) { + "use strict"; var b_1; var x; return { diff --git a/tests/baselines/reference/allowSyntheticDefaultImports4.js b/tests/baselines/reference/allowSyntheticDefaultImports4.js index 583d4f0bc92..747f59dc904 100644 --- a/tests/baselines/reference/allowSyntheticDefaultImports4.js +++ b/tests/baselines/reference/allowSyntheticDefaultImports4.js @@ -12,5 +12,6 @@ export var x = new Foo(); //// [a.js] +"use strict"; var b_1 = require("./b"); exports.x = new b_1["default"](); diff --git a/tests/baselines/reference/allowSyntheticDefaultImports5.js b/tests/baselines/reference/allowSyntheticDefaultImports5.js index e1528e27915..c9121512b61 100644 --- a/tests/baselines/reference/allowSyntheticDefaultImports5.js +++ b/tests/baselines/reference/allowSyntheticDefaultImports5.js @@ -13,6 +13,7 @@ export var x = new Foo(); //// [a.js] System.register(["./b"], function(exports_1) { + "use strict"; var b_1; var x; return { diff --git a/tests/baselines/reference/allowSyntheticDefaultImports6.js b/tests/baselines/reference/allowSyntheticDefaultImports6.js index 0e27ce127d8..64d52e70af9 100644 --- a/tests/baselines/reference/allowSyntheticDefaultImports6.js +++ b/tests/baselines/reference/allowSyntheticDefaultImports6.js @@ -13,6 +13,7 @@ export var x = new Foo(); //// [a.js] System.register(["./b"], function(exports_1) { + "use strict"; var b_1; var x; return {