Merge pull request #5661 from weswigham/use-common-directory-for-out

Use common source directory for calculating concatenated module paths
This commit is contained in:
Wesley Wigham
2015-11-25 17:18:48 -08:00
57 changed files with 452 additions and 534 deletions
+15 -6
View File
@@ -658,7 +658,7 @@ namespace ts {
}
else {
write("require(");
writeTextOfNode(currentText, getExternalModuleImportEqualsDeclarationExpression(node));
emitExternalModuleSpecifier(node);
write(");");
}
writer.writeLine();
@@ -715,14 +715,23 @@ namespace ts {
}
write(" from ");
}
emitExternalModuleSpecifier(node.moduleSpecifier);
emitExternalModuleSpecifier(node);
write(";");
writer.writeLine();
}
function emitExternalModuleSpecifier(moduleSpecifier: Expression) {
if (moduleSpecifier.kind === SyntaxKind.StringLiteral && isBundledEmit) {
const moduleName = getExternalModuleNameFromDeclaration(host, resolver, moduleSpecifier.parent as (ImportEqualsDeclaration | ImportDeclaration | ExportDeclaration));
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 && isBundledEmit && (compilerOptions.out || compilerOptions.outFile)) {
const moduleName = getExternalModuleNameFromDeclaration(host, resolver, parent);
if (moduleName) {
write("\"");
write(moduleName);
@@ -765,7 +774,7 @@ namespace ts {
}
if (node.moduleSpecifier) {
write(" from ");
emitExternalModuleSpecifier(node.moduleSpecifier);
emitExternalModuleSpecifier(node);
}
write(";");
writer.writeLine();
+9 -16
View File
@@ -6810,7 +6810,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(<LiteralExpression>moduleName) || getLiteralText(<LiteralExpression>moduleName);
@@ -7370,7 +7376,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];
@@ -7386,12 +7392,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}) {`);
@@ -7434,14 +7434,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);
+25 -18
View File
@@ -395,7 +395,7 @@ namespace ts {
getTypeChecker,
getClassifiableNames,
getDiagnosticsProducingTypeChecker,
getCommonSourceDirectory: () => commonSourceDirectory,
getCommonSourceDirectory,
emit,
getCurrentDirectory: () => currentDirectory,
getNodeCount: () => getDiagnosticsProducingTypeChecker().getNodeCount(),
@@ -411,6 +411,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.
@@ -1234,24 +1253,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));
}
}
+1 -1
View File
@@ -1906,7 +1906,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 = toPath(host.getCommonSourceDirectory(), host.getCurrentDirectory(), f => host.getCanonicalFileName(f));
const relativePath = getRelativePathToDirectoryOrUrl(dir, fileName, dir, f => host.getCanonicalFileName(f), /*isAbsolutePathAnUrl*/ false);
return removeFileExtension(relativePath);
}
@@ -0,0 +1,32 @@
//// [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) {
"use strict";
exports.pi = Math.PI;
exports.y = bar_1.x * foo_1.i;
});
define("A:/foo", ["require", "exports", "B:/baz"], function (require, exports, baz_1) {
"use strict";
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) {
"use strict";
exports.x = foo_2.z + foo_2.z;
});
@@ -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))
@@ -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
@@ -0,0 +1,32 @@
//// [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) {
"use strict";
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) {
"use strict";
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) {
"use strict";
exports.x = foo_2.z + foo_2.z;
});
@@ -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))
@@ -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
@@ -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;
}
@@ -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;
@@ -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;
@@ -1,4 +1,4 @@
define("ref/m1", ["require", "exports"], function (require, exports) {
define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) {
"use strict";
exports.m1_a1 = 10;
var m1_c1 = (function () {
@@ -13,7 +13,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) {
"use strict";
exports.m2_a1 = 10;
var m2_c1 = (function () {
@@ -28,7 +28,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) {
"use strict";
exports.a1 = 10;
var c1 = (function () {
@@ -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;
}
@@ -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) {
>>> "use strict";
>>> exports.m1_a1 = 10;
1 >^^^^
@@ -175,7 +175,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) {
>>> "use strict";
>>> exports.m2_a1 = 10;
1 >^^^^
@@ -342,7 +342,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) {
>>> "use strict";
>>> exports.a1 = 10;
1 >^^^^
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -1,4 +1,4 @@
define("ref/m1", ["require", "exports"], function (require, exports) {
define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) {
"use strict";
exports.m1_a1 = 10;
var m1_c1 = (function () {
@@ -13,7 +13,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) {
"use strict";
exports.m2_a1 = 10;
var m2_c1 = (function () {
@@ -28,7 +28,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) {
"use strict";
exports.a1 = 10;
var c1 = (function () {
@@ -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;
}
@@ -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) {
>>> "use strict";
>>> exports.m1_a1 = 10;
1 >^^^^
@@ -175,7 +175,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) {
>>> "use strict";
>>> exports.m2_a1 = 10;
1 >^^^^
@@ -342,7 +342,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) {
>>> "use strict";
>>> exports.a1 = 10;
1 >^^^^
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -1,4 +1,4 @@
define("ref/m1", ["require", "exports"], function (require, exports) {
define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) {
"use strict";
exports.m1_a1 = 10;
var m1_c1 = (function () {
@@ -13,7 +13,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) {
"use strict";
exports.m2_a1 = 10;
var m2_c1 = (function () {
@@ -28,7 +28,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) {
"use strict";
exports.a1 = 10;
var c1 = (function () {
@@ -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;
}
@@ -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) {
>>> "use strict";
>>> exports.m1_a1 = 10;
1 >^^^^
@@ -175,7 +175,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) {
>>> "use strict";
>>> exports.m2_a1 = 10;
1 >^^^^
@@ -342,7 +342,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) {
>>> "use strict";
>>> exports.a1 = 10;
1 >^^^^
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -1,4 +1,4 @@
define("ref/m1", ["require", "exports"], function (require, exports) {
define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) {
"use strict";
exports.m1_a1 = 10;
var m1_c1 = (function () {
@@ -13,7 +13,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) {
"use strict";
exports.m2_a1 = 10;
var m2_c1 = (function () {
@@ -28,7 +28,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) {
"use strict";
exports.a1 = 10;
var c1 = (function () {
@@ -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;
}
@@ -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) {
>>> "use strict";
>>> exports.m1_a1 = 10;
1 >^^^^
@@ -175,7 +175,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) {
>>> "use strict";
>>> exports.m2_a1 = 10;
1 >^^^^
@@ -342,7 +342,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) {
>>> "use strict";
>>> exports.a1 = 10;
1 >^^^^
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -1,4 +1,4 @@
define("ref/m1", ["require", "exports"], function (require, exports) {
define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) {
"use strict";
exports.m1_a1 = 10;
var m1_c1 = (function () {
@@ -13,7 +13,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) {
"use strict";
exports.m2_a1 = 10;
var m2_c1 = (function () {
@@ -28,7 +28,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) {
"use strict";
exports.a1 = 10;
var c1 = (function () {
@@ -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;
}
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -1,4 +1,4 @@
define("ref/m1", ["require", "exports"], function (require, exports) {
define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) {
"use strict";
exports.m1_a1 = 10;
var m1_c1 = (function () {
@@ -13,7 +13,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) {
"use strict";
exports.m2_a1 = 10;
var m2_c1 = (function () {
@@ -28,7 +28,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) {
"use strict";
exports.a1 = 10;
var c1 = (function () {
@@ -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;
}
@@ -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) {
>>> "use strict";
>>> exports.m1_a1 = 10;
1 >^^^^
@@ -175,7 +175,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) {
>>> "use strict";
>>> exports.m2_a1 = 10;
1 >^^^^
@@ -342,7 +342,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) {
>>> "use strict";
>>> exports.a1 = 10;
1 >^^^^
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -1,4 +1,4 @@
define("ref/m1", ["require", "exports"], function (require, exports) {
define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) {
"use strict";
exports.m1_a1 = 10;
var m1_c1 = (function () {
@@ -13,7 +13,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) {
"use strict";
exports.m2_a1 = 10;
var m2_c1 = (function () {
@@ -28,7 +28,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) {
"use strict";
exports.a1 = 10;
var c1 = (function () {
@@ -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;
}
@@ -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) {
>>> "use strict";
>>> exports.m1_a1 = 10;
1 >^^^^
@@ -175,7 +175,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) {
>>> "use strict";
>>> exports.m2_a1 = 10;
1 >^^^^
@@ -342,7 +342,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) {
>>> "use strict";
>>> exports.a1 = 10;
1 >^^^^
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -1,4 +1,4 @@
define("ref/m1", ["require", "exports"], function (require, exports) {
define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) {
"use strict";
exports.m1_a1 = 10;
var m1_c1 = (function () {
@@ -13,7 +13,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) {
"use strict";
exports.m2_a1 = 10;
var m2_c1 = (function () {
@@ -28,7 +28,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) {
"use strict";
exports.a1 = 10;
var c1 = (function () {
@@ -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;
}
@@ -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) {
>>> "use strict";
>>> exports.m1_a1 = 10;
1 >^^^^
@@ -175,7 +175,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) {
>>> "use strict";
>>> exports.m2_a1 = 10;
1 >^^^^
@@ -342,7 +342,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) {
>>> "use strict";
>>> exports.a1 = 10;
1 >^^^^
@@ -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;
@@ -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;
@@ -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;
@@ -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;
@@ -1,4 +1,4 @@
define("ref/m1", ["require", "exports"], function (require, exports) {
define("outputdir_module_multifolder/ref/m1", ["require", "exports"], function (require, exports) {
"use strict";
exports.m1_a1 = 10;
var m1_c1 = (function () {
@@ -13,7 +13,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) {
"use strict";
exports.m2_a1 = 10;
var m2_c1 = (function () {
@@ -28,7 +28,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) {
"use strict";
exports.a1 = 10;
var c1 = (function () {
@@ -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;
}
@@ -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) {
>>> "use strict";
>>> exports.m1_a1 = 10;
1 >^^^^
@@ -175,7 +175,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) {
>>> "use strict";
>>> exports.m2_a1 = 10;
1 >^^^^
@@ -342,7 +342,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) {
>>> "use strict";
>>> exports.a1 = 10;
1 >^^^^
@@ -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;
@@ -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;
+17
View File
@@ -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;
+17
View File
@@ -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;