mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Merge branch 'master' into release-1.5
This commit is contained in:
@@ -3788,7 +3788,7 @@ module ts {
|
||||
}
|
||||
|
||||
function combineTypeMappers(mapper1: TypeMapper, mapper2: TypeMapper): TypeMapper {
|
||||
return t => mapper2(mapper1(t));
|
||||
return t => instantiateType(mapper1(t), mapper2);
|
||||
}
|
||||
|
||||
function instantiateTypeParameter(typeParameter: TypeParameter, mapper: TypeMapper): TypeParameter {
|
||||
@@ -3859,7 +3859,7 @@ module ts {
|
||||
function instantiateType(type: Type, mapper: TypeMapper): Type {
|
||||
if (mapper !== identityMapper) {
|
||||
if (type.flags & TypeFlags.TypeParameter) {
|
||||
return mapper(type);
|
||||
return mapper(<TypeParameter>type);
|
||||
}
|
||||
if (type.flags & TypeFlags.Anonymous) {
|
||||
return type.symbol && type.symbol.flags & (SymbolFlags.Function | SymbolFlags.Method | SymbolFlags.TypeLiteral | SymbolFlags.ObjectLiteral) ?
|
||||
|
||||
@@ -110,6 +110,13 @@ module ts {
|
||||
type: "boolean",
|
||||
description: Diagnostics.Do_not_emit_comments_to_output,
|
||||
},
|
||||
{
|
||||
name: "rootDir",
|
||||
type: "string",
|
||||
isFilePath: true,
|
||||
description: Diagnostics.Specifies_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir,
|
||||
paramType: Diagnostics.LOCATION,
|
||||
},
|
||||
{
|
||||
name: "separateCompilation",
|
||||
type: "boolean",
|
||||
|
||||
@@ -496,6 +496,8 @@ module ts {
|
||||
Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures: { code: 6055, category: DiagnosticCategory.Message, key: "Suppress noImplicitAny errors for indexing objects lacking index signatures." },
|
||||
Do_not_emit_declarations_for_code_that_has_an_internal_annotation: { code: 6056, category: DiagnosticCategory.Message, key: "Do not emit declarations for code that has an '@internal' annotation." },
|
||||
Preserve_new_lines_when_emitting_code: { code: 6057, category: DiagnosticCategory.Message, key: "Preserve new-lines when emitting code." },
|
||||
Specifies_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir: { code: 6058, category: DiagnosticCategory.Message, key: "Specifies the root directory of input files. Use to control the output directory structure with --outDir." },
|
||||
File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files: { code: 6059, category: DiagnosticCategory.Error, key: "File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files." },
|
||||
Variable_0_implicitly_has_an_1_type: { code: 7005, category: DiagnosticCategory.Error, key: "Variable '{0}' implicitly has an '{1}' type." },
|
||||
Parameter_0_implicitly_has_an_1_type: { code: 7006, category: DiagnosticCategory.Error, key: "Parameter '{0}' implicitly has an '{1}' type." },
|
||||
Member_0_implicitly_has_an_1_type: { code: 7008, category: DiagnosticCategory.Error, key: "Member '{0}' implicitly has an '{1}' type." },
|
||||
|
||||
@@ -1972,6 +1972,15 @@
|
||||
"category": "Message",
|
||||
"code": 6057
|
||||
},
|
||||
"Specifies the root directory of input files. Use to control the output directory structure with --outDir.": {
|
||||
"category": "Message",
|
||||
"code": 6058
|
||||
},
|
||||
"File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files.": {
|
||||
"category": "Error",
|
||||
"code": 6059
|
||||
},
|
||||
|
||||
|
||||
"Variable '{0}' implicitly has an '{1}' type.": {
|
||||
"category": "Error",
|
||||
|
||||
+69
-34
@@ -455,6 +455,66 @@ module ts {
|
||||
}
|
||||
}
|
||||
|
||||
function computeCommonSourceDirectory(sourceFiles: SourceFile[]): string {
|
||||
let commonPathComponents: string[];
|
||||
let currentDirectory = host.getCurrentDirectory();
|
||||
forEach(files, sourceFile => {
|
||||
// Each file contributes into common source file path
|
||||
if (isDeclarationFile(sourceFile)) {
|
||||
return;
|
||||
}
|
||||
|
||||
let sourcePathComponents = getNormalizedPathComponents(sourceFile.fileName, currentDirectory);
|
||||
sourcePathComponents.pop(); // The base file name is not part of the common directory path
|
||||
|
||||
if (!commonPathComponents) {
|
||||
// first file
|
||||
commonPathComponents = sourcePathComponents;
|
||||
return;
|
||||
}
|
||||
|
||||
for (let i = 0, n = Math.min(commonPathComponents.length, sourcePathComponents.length); i < n; i++) {
|
||||
if (commonPathComponents[i] !== sourcePathComponents[i]) {
|
||||
if (i === 0) {
|
||||
diagnostics.add(createCompilerDiagnostic(Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files));
|
||||
return;
|
||||
}
|
||||
|
||||
// New common path found that is 0 -> i-1
|
||||
commonPathComponents.length = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// If the sourcePathComponents was shorter than the commonPathComponents, truncate to the sourcePathComponents
|
||||
if (sourcePathComponents.length < commonPathComponents.length) {
|
||||
commonPathComponents.length = sourcePathComponents.length;
|
||||
}
|
||||
});
|
||||
|
||||
return getNormalizedPathFromPathComponents(commonPathComponents);
|
||||
}
|
||||
|
||||
function checkSourceFilesBelongToPath(sourceFiles: SourceFile[], rootDirectory: string): boolean {
|
||||
let allFilesBelongToPath = true;
|
||||
if (sourceFiles) {
|
||||
let currentDirectory = host.getCurrentDirectory();
|
||||
let absoluteRootDirectoryPath = host.getCanonicalFileName(getNormalizedAbsolutePath(rootDirectory, currentDirectory));
|
||||
|
||||
for (var sourceFile of sourceFiles) {
|
||||
if (!isDeclarationFile(sourceFile)) {
|
||||
let absoluteSourceFilePath = host.getCanonicalFileName(getNormalizedAbsolutePath(sourceFile.fileName, currentDirectory));
|
||||
if (absoluteSourceFilePath.indexOf(absoluteRootDirectoryPath) !== 0) {
|
||||
diagnostics.add(createCompilerDiagnostic(Diagnostics.File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files, sourceFile.fileName, options.rootDir));
|
||||
allFilesBelongToPath = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return allFilesBelongToPath;
|
||||
}
|
||||
|
||||
function verifyCompilerOptions() {
|
||||
if (options.separateCompilation) {
|
||||
if (options.sourceMap) {
|
||||
@@ -517,41 +577,16 @@ module ts {
|
||||
(options.mapRoot && // there is --mapRoot specified and there would be multiple js files generated
|
||||
(!options.out || firstExternalModuleSourceFile !== undefined))) {
|
||||
|
||||
let commonPathComponents: string[];
|
||||
forEach(files, sourceFile => {
|
||||
// Each file contributes into common source file path
|
||||
if (!(sourceFile.flags & NodeFlags.DeclarationFile)
|
||||
&& !fileExtensionIs(sourceFile.fileName, ".js")) {
|
||||
let sourcePathComponents = getNormalizedPathComponents(sourceFile.fileName, host.getCurrentDirectory());
|
||||
sourcePathComponents.pop(); // FileName is not part of directory
|
||||
if (commonPathComponents) {
|
||||
for (let i = 0; i < Math.min(commonPathComponents.length, sourcePathComponents.length); i++) {
|
||||
if (commonPathComponents[i] !== sourcePathComponents[i]) {
|
||||
if (i === 0) {
|
||||
diagnostics.add(createCompilerDiagnostic(Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files));
|
||||
return;
|
||||
}
|
||||
if (options.rootDir && checkSourceFilesBelongToPath(files, options.rootDir)) {
|
||||
// If a rootDir is specified and is valid use it as the commonSourceDirectory
|
||||
commonSourceDirectory = getNormalizedAbsolutePath(options.rootDir, host.getCurrentDirectory());
|
||||
}
|
||||
else {
|
||||
// Compute the commonSourceDirectory from the input files
|
||||
commonSourceDirectory = computeCommonSourceDirectory(files);
|
||||
}
|
||||
|
||||
// New common path found that is 0 -> i-1
|
||||
commonPathComponents.length = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// If the fileComponent path completely matched and less than already found update the length
|
||||
if (sourcePathComponents.length < commonPathComponents.length) {
|
||||
commonPathComponents.length = sourcePathComponents.length;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// first file
|
||||
commonPathComponents = sourcePathComponents;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
commonSourceDirectory = getNormalizedPathFromPathComponents(commonPathComponents);
|
||||
if (commonSourceDirectory) {
|
||||
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
|
||||
|
||||
@@ -1577,7 +1577,7 @@ module ts {
|
||||
|
||||
/* @internal */
|
||||
export interface TypeMapper {
|
||||
(t: Type): Type;
|
||||
(t: TypeParameter): Type;
|
||||
}
|
||||
|
||||
/* @internal */
|
||||
@@ -1654,6 +1654,7 @@ module ts {
|
||||
preserveConstEnums?: boolean;
|
||||
project?: string;
|
||||
removeComments?: boolean;
|
||||
rootDir?: string;
|
||||
sourceMap?: boolean;
|
||||
sourceRoot?: string;
|
||||
suppressImplicitAnyIndexErrors?: boolean;
|
||||
|
||||
@@ -18,6 +18,7 @@ interface ProjectRunnerTestCase {
|
||||
runTest?: boolean; // Run the resulting test
|
||||
bug?: string; // If there is any bug associated with this test case
|
||||
noResolve?: boolean;
|
||||
rootDir?: string; // --rootDir
|
||||
}
|
||||
|
||||
interface ProjectRunnerTestCaseResolutionInfo extends ProjectRunnerTestCase {
|
||||
@@ -160,7 +161,8 @@ class ProjectRunner extends RunnerBase {
|
||||
mapRoot: testCase.resolveMapRoot && testCase.mapRoot ? ts.sys.resolvePath(testCase.mapRoot) : testCase.mapRoot,
|
||||
sourceRoot: testCase.resolveSourceRoot && testCase.sourceRoot ? ts.sys.resolvePath(testCase.sourceRoot) : testCase.sourceRoot,
|
||||
module: moduleKind,
|
||||
noResolve: testCase.noResolve
|
||||
noResolve: testCase.noResolve,
|
||||
rootDir: testCase.rootDir
|
||||
};
|
||||
}
|
||||
|
||||
@@ -344,6 +346,7 @@ class ProjectRunner extends RunnerBase {
|
||||
baselineCheck: testCase.baselineCheck,
|
||||
runTest: testCase.runTest,
|
||||
bug: testCase.bug,
|
||||
rootDir: testCase.rootDir,
|
||||
resolvedInputFiles: ts.map(compilerResult.program.getSourceFiles(), inputFile => inputFile.fileName),
|
||||
emittedFiles: ts.map(compilerResult.outputFiles, outputFile => outputFile.emittedFileName)
|
||||
};
|
||||
|
||||
@@ -527,6 +527,9 @@ module ts.server {
|
||||
if (lineText.charAt(i) == " ") {
|
||||
indentPosition--;
|
||||
}
|
||||
else if (lineText.charAt(i) == "\t") {
|
||||
indentPosition -= editorOptions.IndentSize;
|
||||
}
|
||||
else {
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
//// [baseTypeWrappingInstantiationChain.ts]
|
||||
class C<T1> extends CBase<T1> {
|
||||
public works() {
|
||||
new CBaseBase<Wrapper<T1>>(this);
|
||||
}
|
||||
public alsoWorks() {
|
||||
new CBase<T1>(this); // Should not error, parameter is of type Parameter<Wrapper<T1>>
|
||||
}
|
||||
|
||||
public method(t: Wrapper<T1>) { }
|
||||
}
|
||||
|
||||
class CBase<T2> extends CBaseBase<Wrapper<T2>> {
|
||||
|
||||
}
|
||||
|
||||
class CBaseBase<T3> {
|
||||
constructor(x: Parameter<T3>) { }
|
||||
}
|
||||
|
||||
class Parameter<T4> {
|
||||
method(t: T4) { }
|
||||
}
|
||||
|
||||
class Wrapper<T5> {
|
||||
property: T5;
|
||||
}
|
||||
|
||||
//// [baseTypeWrappingInstantiationChain.js]
|
||||
var __extends = this.__extends || function (d, b) {
|
||||
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
|
||||
function __() { this.constructor = d; }
|
||||
__.prototype = b.prototype;
|
||||
d.prototype = new __();
|
||||
};
|
||||
var C = (function (_super) {
|
||||
__extends(C, _super);
|
||||
function C() {
|
||||
_super.apply(this, arguments);
|
||||
}
|
||||
C.prototype.works = function () {
|
||||
new CBaseBase(this);
|
||||
};
|
||||
C.prototype.alsoWorks = function () {
|
||||
new CBase(this); // Should not error, parameter is of type Parameter<Wrapper<T1>>
|
||||
};
|
||||
C.prototype.method = function (t) { };
|
||||
return C;
|
||||
})(CBase);
|
||||
var CBase = (function (_super) {
|
||||
__extends(CBase, _super);
|
||||
function CBase() {
|
||||
_super.apply(this, arguments);
|
||||
}
|
||||
return CBase;
|
||||
})(CBaseBase);
|
||||
var CBaseBase = (function () {
|
||||
function CBaseBase(x) {
|
||||
}
|
||||
return CBaseBase;
|
||||
})();
|
||||
var Parameter = (function () {
|
||||
function Parameter() {
|
||||
}
|
||||
Parameter.prototype.method = function (t) { };
|
||||
return Parameter;
|
||||
})();
|
||||
var Wrapper = (function () {
|
||||
function Wrapper() {
|
||||
}
|
||||
return Wrapper;
|
||||
})();
|
||||
@@ -0,0 +1,69 @@
|
||||
=== tests/cases/compiler/baseTypeWrappingInstantiationChain.ts ===
|
||||
class C<T1> extends CBase<T1> {
|
||||
>C : Symbol(C, Decl(baseTypeWrappingInstantiationChain.ts, 0, 0))
|
||||
>T1 : Symbol(T1, Decl(baseTypeWrappingInstantiationChain.ts, 0, 8))
|
||||
>CBase : Symbol(CBase, Decl(baseTypeWrappingInstantiationChain.ts, 9, 1))
|
||||
>T1 : Symbol(T1, Decl(baseTypeWrappingInstantiationChain.ts, 0, 8))
|
||||
|
||||
public works() {
|
||||
>works : Symbol(works, Decl(baseTypeWrappingInstantiationChain.ts, 0, 31))
|
||||
|
||||
new CBaseBase<Wrapper<T1>>(this);
|
||||
>CBaseBase : Symbol(CBaseBase, Decl(baseTypeWrappingInstantiationChain.ts, 13, 1))
|
||||
>Wrapper : Symbol(Wrapper, Decl(baseTypeWrappingInstantiationChain.ts, 21, 1))
|
||||
>T1 : Symbol(T1, Decl(baseTypeWrappingInstantiationChain.ts, 0, 8))
|
||||
>this : Symbol(C, Decl(baseTypeWrappingInstantiationChain.ts, 0, 0))
|
||||
}
|
||||
public alsoWorks() {
|
||||
>alsoWorks : Symbol(alsoWorks, Decl(baseTypeWrappingInstantiationChain.ts, 3, 5))
|
||||
|
||||
new CBase<T1>(this); // Should not error, parameter is of type Parameter<Wrapper<T1>>
|
||||
>CBase : Symbol(CBase, Decl(baseTypeWrappingInstantiationChain.ts, 9, 1))
|
||||
>T1 : Symbol(T1, Decl(baseTypeWrappingInstantiationChain.ts, 0, 8))
|
||||
>this : Symbol(C, Decl(baseTypeWrappingInstantiationChain.ts, 0, 0))
|
||||
}
|
||||
|
||||
public method(t: Wrapper<T1>) { }
|
||||
>method : Symbol(method, Decl(baseTypeWrappingInstantiationChain.ts, 6, 5))
|
||||
>t : Symbol(t, Decl(baseTypeWrappingInstantiationChain.ts, 8, 18))
|
||||
>Wrapper : Symbol(Wrapper, Decl(baseTypeWrappingInstantiationChain.ts, 21, 1))
|
||||
>T1 : Symbol(T1, Decl(baseTypeWrappingInstantiationChain.ts, 0, 8))
|
||||
}
|
||||
|
||||
class CBase<T2> extends CBaseBase<Wrapper<T2>> {
|
||||
>CBase : Symbol(CBase, Decl(baseTypeWrappingInstantiationChain.ts, 9, 1))
|
||||
>T2 : Symbol(T2, Decl(baseTypeWrappingInstantiationChain.ts, 11, 12))
|
||||
>CBaseBase : Symbol(CBaseBase, Decl(baseTypeWrappingInstantiationChain.ts, 13, 1))
|
||||
>Wrapper : Symbol(Wrapper, Decl(baseTypeWrappingInstantiationChain.ts, 21, 1))
|
||||
>T2 : Symbol(T2, Decl(baseTypeWrappingInstantiationChain.ts, 11, 12))
|
||||
|
||||
}
|
||||
|
||||
class CBaseBase<T3> {
|
||||
>CBaseBase : Symbol(CBaseBase, Decl(baseTypeWrappingInstantiationChain.ts, 13, 1))
|
||||
>T3 : Symbol(T3, Decl(baseTypeWrappingInstantiationChain.ts, 15, 16))
|
||||
|
||||
constructor(x: Parameter<T3>) { }
|
||||
>x : Symbol(x, Decl(baseTypeWrappingInstantiationChain.ts, 16, 16))
|
||||
>Parameter : Symbol(Parameter, Decl(baseTypeWrappingInstantiationChain.ts, 17, 1))
|
||||
>T3 : Symbol(T3, Decl(baseTypeWrappingInstantiationChain.ts, 15, 16))
|
||||
}
|
||||
|
||||
class Parameter<T4> {
|
||||
>Parameter : Symbol(Parameter, Decl(baseTypeWrappingInstantiationChain.ts, 17, 1))
|
||||
>T4 : Symbol(T4, Decl(baseTypeWrappingInstantiationChain.ts, 19, 16))
|
||||
|
||||
method(t: T4) { }
|
||||
>method : Symbol(method, Decl(baseTypeWrappingInstantiationChain.ts, 19, 21))
|
||||
>t : Symbol(t, Decl(baseTypeWrappingInstantiationChain.ts, 20, 11))
|
||||
>T4 : Symbol(T4, Decl(baseTypeWrappingInstantiationChain.ts, 19, 16))
|
||||
}
|
||||
|
||||
class Wrapper<T5> {
|
||||
>Wrapper : Symbol(Wrapper, Decl(baseTypeWrappingInstantiationChain.ts, 21, 1))
|
||||
>T5 : Symbol(T5, Decl(baseTypeWrappingInstantiationChain.ts, 23, 14))
|
||||
|
||||
property: T5;
|
||||
>property : Symbol(property, Decl(baseTypeWrappingInstantiationChain.ts, 23, 19))
|
||||
>T5 : Symbol(T5, Decl(baseTypeWrappingInstantiationChain.ts, 23, 14))
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
=== tests/cases/compiler/baseTypeWrappingInstantiationChain.ts ===
|
||||
class C<T1> extends CBase<T1> {
|
||||
>C : C<T1>
|
||||
>T1 : T1
|
||||
>CBase : CBase<T2>
|
||||
>T1 : T1
|
||||
|
||||
public works() {
|
||||
>works : () => void
|
||||
|
||||
new CBaseBase<Wrapper<T1>>(this);
|
||||
>new CBaseBase<Wrapper<T1>>(this) : CBaseBase<Wrapper<T1>>
|
||||
>CBaseBase : typeof CBaseBase
|
||||
>Wrapper : Wrapper<T5>
|
||||
>T1 : T1
|
||||
>this : C<T1>
|
||||
}
|
||||
public alsoWorks() {
|
||||
>alsoWorks : () => void
|
||||
|
||||
new CBase<T1>(this); // Should not error, parameter is of type Parameter<Wrapper<T1>>
|
||||
>new CBase<T1>(this) : CBase<T1>
|
||||
>CBase : typeof CBase
|
||||
>T1 : T1
|
||||
>this : C<T1>
|
||||
}
|
||||
|
||||
public method(t: Wrapper<T1>) { }
|
||||
>method : (t: Wrapper<T1>) => void
|
||||
>t : Wrapper<T1>
|
||||
>Wrapper : Wrapper<T5>
|
||||
>T1 : T1
|
||||
}
|
||||
|
||||
class CBase<T2> extends CBaseBase<Wrapper<T2>> {
|
||||
>CBase : CBase<T2>
|
||||
>T2 : T2
|
||||
>CBaseBase : CBaseBase<T3>
|
||||
>Wrapper : Wrapper<T5>
|
||||
>T2 : T2
|
||||
|
||||
}
|
||||
|
||||
class CBaseBase<T3> {
|
||||
>CBaseBase : CBaseBase<T3>
|
||||
>T3 : T3
|
||||
|
||||
constructor(x: Parameter<T3>) { }
|
||||
>x : Parameter<T3>
|
||||
>Parameter : Parameter<T4>
|
||||
>T3 : T3
|
||||
}
|
||||
|
||||
class Parameter<T4> {
|
||||
>Parameter : Parameter<T4>
|
||||
>T4 : T4
|
||||
|
||||
method(t: T4) { }
|
||||
>method : (t: T4) => void
|
||||
>t : T4
|
||||
>T4 : T4
|
||||
}
|
||||
|
||||
class Wrapper<T5> {
|
||||
>Wrapper : Wrapper<T5>
|
||||
>T5 : T5
|
||||
|
||||
property: T5;
|
||||
>property : T5
|
||||
>T5 : T5
|
||||
}
|
||||
Vendored
+2
@@ -0,0 +1,2 @@
|
||||
declare class C {
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
var C = (function () {
|
||||
function C() {
|
||||
}
|
||||
return C;
|
||||
})();
|
||||
//# sourceMappingURL=fileC.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"fileC.js","sourceRoot":"","sources":["../../../../FolderA/FolderB/FolderC/fileC.ts"],"names":["C","C.constructor"],"mappings":"AAAA;IAAAA;IACAC,CAACA;IAADD,QAACA;AAADA,CAACA,AADD,IACC"}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
/// <reference path="FolderC/fileC.d.ts" />
|
||||
declare class B {
|
||||
c: C;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/// <reference path='FolderC/fileC.ts'/>
|
||||
var B = (function () {
|
||||
function B() {
|
||||
}
|
||||
return B;
|
||||
})();
|
||||
//# sourceMappingURL=fileB.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"fileB.js","sourceRoot":"","sources":["../../../FolderA/FolderB/fileB.ts"],"names":["B","B.constructor"],"mappings":"AACA,AADA,wCAAwC;;IACxCA;IAEAC,CAACA;IAADD,QAACA;AAADA,CAACA,AAFD,IAEC"}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"scenario": "rootDirectory: specify rootDirectory",
|
||||
"projectRoot": "tests/cases/projects/rootDirectory",
|
||||
"inputFiles": [
|
||||
"FolderA/FolderB/fileB.ts"
|
||||
],
|
||||
"outDir": "outdir/simple",
|
||||
"sourceMap": true,
|
||||
"declaration": true,
|
||||
"baselineCheck": true,
|
||||
"rootDir": "FolderA",
|
||||
"resolvedInputFiles": [
|
||||
"lib.d.ts",
|
||||
"FolderA/FolderB/FolderC/fileC.ts",
|
||||
"FolderA/FolderB/fileB.ts"
|
||||
],
|
||||
"emittedFiles": [
|
||||
"outdir/simple/FolderB/FolderC/fileC.js.map",
|
||||
"outdir/simple/FolderB/FolderC/fileC.js",
|
||||
"outdir/simple/FolderB/FolderC/fileC.d.ts",
|
||||
"outdir/simple/FolderB/fileB.js.map",
|
||||
"outdir/simple/FolderB/fileB.js",
|
||||
"outdir/simple/FolderB/fileB.d.ts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
===================================================================
|
||||
JsFile: fileC.js
|
||||
mapUrl: fileC.js.map
|
||||
sourceRoot:
|
||||
sources: ../../../../FolderA/FolderB/FolderC/fileC.ts
|
||||
===================================================================
|
||||
-------------------------------------------------------------------
|
||||
emittedFile:outdir/simple/FolderB/FolderC/fileC.js
|
||||
sourceFile:../../../../FolderA/FolderB/FolderC/fileC.ts
|
||||
-------------------------------------------------------------------
|
||||
>>>var C = (function () {
|
||||
1 >
|
||||
2 >^^^^^^^^^^^^^^^^^^^->
|
||||
1 >
|
||||
1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0)
|
||||
---
|
||||
>>> function C() {
|
||||
1->^^^^
|
||||
2 > ^^->
|
||||
1->
|
||||
1->Emitted(2, 5) Source(1, 1) + SourceIndex(0) name (C)
|
||||
---
|
||||
>>> }
|
||||
1->^^^^
|
||||
2 > ^
|
||||
3 > ^^^^^^^^^->
|
||||
1->class C {
|
||||
>
|
||||
2 > }
|
||||
1->Emitted(3, 5) Source(2, 1) + SourceIndex(0) name (C.constructor)
|
||||
2 >Emitted(3, 6) Source(2, 2) + SourceIndex(0) name (C.constructor)
|
||||
---
|
||||
>>> return C;
|
||||
1->^^^^
|
||||
2 > ^^^^^^^^
|
||||
1->
|
||||
2 > }
|
||||
1->Emitted(4, 5) Source(2, 1) + SourceIndex(0) name (C)
|
||||
2 >Emitted(4, 13) Source(2, 2) + SourceIndex(0) name (C)
|
||||
---
|
||||
>>>})();
|
||||
1 >
|
||||
2 >^
|
||||
3 >
|
||||
4 > ^^^^
|
||||
5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^->
|
||||
1 >
|
||||
2 >}
|
||||
3 >
|
||||
4 > class C {
|
||||
> }
|
||||
1 >Emitted(5, 1) Source(2, 1) + SourceIndex(0) name (C)
|
||||
2 >Emitted(5, 2) Source(2, 2) + SourceIndex(0) name (C)
|
||||
3 >Emitted(5, 2) Source(1, 1) + SourceIndex(0)
|
||||
4 >Emitted(5, 6) Source(2, 2) + SourceIndex(0)
|
||||
---
|
||||
>>>//# sourceMappingURL=fileC.js.map===================================================================
|
||||
JsFile: fileB.js
|
||||
mapUrl: fileB.js.map
|
||||
sourceRoot:
|
||||
sources: ../../../FolderA/FolderB/fileB.ts
|
||||
===================================================================
|
||||
-------------------------------------------------------------------
|
||||
emittedFile:outdir/simple/FolderB/fileB.js
|
||||
sourceFile:../../../FolderA/FolderB/fileB.ts
|
||||
-------------------------------------------------------------------
|
||||
>>>/// <reference path='FolderC/fileC.ts'/>
|
||||
1 >
|
||||
2 >
|
||||
3 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
1 >/// <reference path='FolderC/fileC.ts'/>
|
||||
>
|
||||
2 >
|
||||
3 >/// <reference path='FolderC/fileC.ts'/>
|
||||
1 >Emitted(1, 1) Source(2, 1) + SourceIndex(0)
|
||||
2 >Emitted(1, 1) Source(1, 1) + SourceIndex(0)
|
||||
3 >Emitted(1, 41) Source(1, 41) + SourceIndex(0)
|
||||
---
|
||||
>>>var B = (function () {
|
||||
>>> function B() {
|
||||
1 >^^^^
|
||||
2 > ^^->
|
||||
1 >
|
||||
>
|
||||
1 >Emitted(3, 5) Source(2, 1) + SourceIndex(0) name (B)
|
||||
---
|
||||
>>> }
|
||||
1->^^^^
|
||||
2 > ^
|
||||
3 > ^^^^^^^^^->
|
||||
1->class B {
|
||||
> public c: C;
|
||||
>
|
||||
2 > }
|
||||
1->Emitted(4, 5) Source(4, 1) + SourceIndex(0) name (B.constructor)
|
||||
2 >Emitted(4, 6) Source(4, 2) + SourceIndex(0) name (B.constructor)
|
||||
---
|
||||
>>> return B;
|
||||
1->^^^^
|
||||
2 > ^^^^^^^^
|
||||
1->
|
||||
2 > }
|
||||
1->Emitted(5, 5) Source(4, 1) + SourceIndex(0) name (B)
|
||||
2 >Emitted(5, 13) Source(4, 2) + SourceIndex(0) name (B)
|
||||
---
|
||||
>>>})();
|
||||
1 >
|
||||
2 >^
|
||||
3 >
|
||||
4 > ^^^^
|
||||
5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^->
|
||||
1 >
|
||||
2 >}
|
||||
3 >
|
||||
4 > class B {
|
||||
> public c: C;
|
||||
> }
|
||||
1 >Emitted(6, 1) Source(4, 1) + SourceIndex(0) name (B)
|
||||
2 >Emitted(6, 2) Source(4, 2) + SourceIndex(0) name (B)
|
||||
3 >Emitted(6, 2) Source(2, 1) + SourceIndex(0)
|
||||
4 >Emitted(6, 6) Source(4, 2) + SourceIndex(0)
|
||||
---
|
||||
>>>//# sourceMappingURL=fileB.js.map
|
||||
Vendored
+2
@@ -0,0 +1,2 @@
|
||||
declare class C {
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
var C = (function () {
|
||||
function C() {
|
||||
}
|
||||
return C;
|
||||
})();
|
||||
//# sourceMappingURL=fileC.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"fileC.js","sourceRoot":"","sources":["../../../../FolderA/FolderB/FolderC/fileC.ts"],"names":["C","C.constructor"],"mappings":"AAAA;IAAAA;IACAC,CAACA;IAADD,QAACA;AAADA,CAACA,AADD,IACC"}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
/// <reference path="FolderC/fileC.d.ts" />
|
||||
declare class B {
|
||||
c: C;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
/// <reference path='FolderC/fileC.ts'/>
|
||||
var B = (function () {
|
||||
function B() {
|
||||
}
|
||||
return B;
|
||||
})();
|
||||
//# sourceMappingURL=fileB.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"fileB.js","sourceRoot":"","sources":["../../../FolderA/FolderB/fileB.ts"],"names":["B","B.constructor"],"mappings":"AACA,AADA,wCAAwC;;IACxCA;IAEAC,CAACA;IAADD,QAACA;AAADA,CAACA,AAFD,IAEC"}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"scenario": "rootDirectory: specify rootDirectory",
|
||||
"projectRoot": "tests/cases/projects/rootDirectory",
|
||||
"inputFiles": [
|
||||
"FolderA/FolderB/fileB.ts"
|
||||
],
|
||||
"outDir": "outdir/simple",
|
||||
"sourceMap": true,
|
||||
"declaration": true,
|
||||
"baselineCheck": true,
|
||||
"rootDir": "FolderA",
|
||||
"resolvedInputFiles": [
|
||||
"lib.d.ts",
|
||||
"FolderA/FolderB/FolderC/fileC.ts",
|
||||
"FolderA/FolderB/fileB.ts"
|
||||
],
|
||||
"emittedFiles": [
|
||||
"outdir/simple/FolderB/FolderC/fileC.js.map",
|
||||
"outdir/simple/FolderB/FolderC/fileC.js",
|
||||
"outdir/simple/FolderB/FolderC/fileC.d.ts",
|
||||
"outdir/simple/FolderB/fileB.js.map",
|
||||
"outdir/simple/FolderB/fileB.js",
|
||||
"outdir/simple/FolderB/fileB.d.ts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
===================================================================
|
||||
JsFile: fileC.js
|
||||
mapUrl: fileC.js.map
|
||||
sourceRoot:
|
||||
sources: ../../../../FolderA/FolderB/FolderC/fileC.ts
|
||||
===================================================================
|
||||
-------------------------------------------------------------------
|
||||
emittedFile:outdir/simple/FolderB/FolderC/fileC.js
|
||||
sourceFile:../../../../FolderA/FolderB/FolderC/fileC.ts
|
||||
-------------------------------------------------------------------
|
||||
>>>var C = (function () {
|
||||
1 >
|
||||
2 >^^^^^^^^^^^^^^^^^^^->
|
||||
1 >
|
||||
1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0)
|
||||
---
|
||||
>>> function C() {
|
||||
1->^^^^
|
||||
2 > ^^->
|
||||
1->
|
||||
1->Emitted(2, 5) Source(1, 1) + SourceIndex(0) name (C)
|
||||
---
|
||||
>>> }
|
||||
1->^^^^
|
||||
2 > ^
|
||||
3 > ^^^^^^^^^->
|
||||
1->class C {
|
||||
>
|
||||
2 > }
|
||||
1->Emitted(3, 5) Source(2, 1) + SourceIndex(0) name (C.constructor)
|
||||
2 >Emitted(3, 6) Source(2, 2) + SourceIndex(0) name (C.constructor)
|
||||
---
|
||||
>>> return C;
|
||||
1->^^^^
|
||||
2 > ^^^^^^^^
|
||||
1->
|
||||
2 > }
|
||||
1->Emitted(4, 5) Source(2, 1) + SourceIndex(0) name (C)
|
||||
2 >Emitted(4, 13) Source(2, 2) + SourceIndex(0) name (C)
|
||||
---
|
||||
>>>})();
|
||||
1 >
|
||||
2 >^
|
||||
3 >
|
||||
4 > ^^^^
|
||||
5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^->
|
||||
1 >
|
||||
2 >}
|
||||
3 >
|
||||
4 > class C {
|
||||
> }
|
||||
1 >Emitted(5, 1) Source(2, 1) + SourceIndex(0) name (C)
|
||||
2 >Emitted(5, 2) Source(2, 2) + SourceIndex(0) name (C)
|
||||
3 >Emitted(5, 2) Source(1, 1) + SourceIndex(0)
|
||||
4 >Emitted(5, 6) Source(2, 2) + SourceIndex(0)
|
||||
---
|
||||
>>>//# sourceMappingURL=fileC.js.map===================================================================
|
||||
JsFile: fileB.js
|
||||
mapUrl: fileB.js.map
|
||||
sourceRoot:
|
||||
sources: ../../../FolderA/FolderB/fileB.ts
|
||||
===================================================================
|
||||
-------------------------------------------------------------------
|
||||
emittedFile:outdir/simple/FolderB/fileB.js
|
||||
sourceFile:../../../FolderA/FolderB/fileB.ts
|
||||
-------------------------------------------------------------------
|
||||
>>>/// <reference path='FolderC/fileC.ts'/>
|
||||
1 >
|
||||
2 >
|
||||
3 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
1 >/// <reference path='FolderC/fileC.ts'/>
|
||||
>
|
||||
2 >
|
||||
3 >/// <reference path='FolderC/fileC.ts'/>
|
||||
1 >Emitted(1, 1) Source(2, 1) + SourceIndex(0)
|
||||
2 >Emitted(1, 1) Source(1, 1) + SourceIndex(0)
|
||||
3 >Emitted(1, 41) Source(1, 41) + SourceIndex(0)
|
||||
---
|
||||
>>>var B = (function () {
|
||||
>>> function B() {
|
||||
1 >^^^^
|
||||
2 > ^^->
|
||||
1 >
|
||||
>
|
||||
1 >Emitted(3, 5) Source(2, 1) + SourceIndex(0) name (B)
|
||||
---
|
||||
>>> }
|
||||
1->^^^^
|
||||
2 > ^
|
||||
3 > ^^^^^^^^^->
|
||||
1->class B {
|
||||
> public c: C;
|
||||
>
|
||||
2 > }
|
||||
1->Emitted(4, 5) Source(4, 1) + SourceIndex(0) name (B.constructor)
|
||||
2 >Emitted(4, 6) Source(4, 2) + SourceIndex(0) name (B.constructor)
|
||||
---
|
||||
>>> return B;
|
||||
1->^^^^
|
||||
2 > ^^^^^^^^
|
||||
1->
|
||||
2 > }
|
||||
1->Emitted(5, 5) Source(4, 1) + SourceIndex(0) name (B)
|
||||
2 >Emitted(5, 13) Source(4, 2) + SourceIndex(0) name (B)
|
||||
---
|
||||
>>>})();
|
||||
1 >
|
||||
2 >^
|
||||
3 >
|
||||
4 > ^^^^
|
||||
5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^->
|
||||
1 >
|
||||
2 >}
|
||||
3 >
|
||||
4 > class B {
|
||||
> public c: C;
|
||||
> }
|
||||
1 >Emitted(6, 1) Source(4, 1) + SourceIndex(0) name (B)
|
||||
2 >Emitted(6, 2) Source(4, 2) + SourceIndex(0) name (B)
|
||||
3 >Emitted(6, 2) Source(2, 1) + SourceIndex(0)
|
||||
4 >Emitted(6, 6) Source(4, 2) + SourceIndex(0)
|
||||
---
|
||||
>>>//# sourceMappingURL=fileB.js.map
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
declare class C {
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
var C = (function () {
|
||||
function C() {
|
||||
}
|
||||
return C;
|
||||
})();
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
/// <reference path="FolderC/fileC.d.ts" />
|
||||
declare class B {
|
||||
c: C;
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
/// <reference path='FolderC/fileC.ts'/>
|
||||
var B = (function () {
|
||||
function B() {
|
||||
}
|
||||
return B;
|
||||
})();
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
error TS6059: File 'FolderA/FolderB/fileB.ts' is not under 'rootDir' 'FolderA/FolderB/FolderC'. 'rootDir' is expected to contain all source files.
|
||||
|
||||
|
||||
!!! error TS6059: File 'fileB.ts' is not under 'rootDir' 'FolderA/FolderB/FolderC'. 'rootDir' is expected to contain all source files.
|
||||
==== FolderA/FolderB/FolderC/fileC.ts (0 errors) ====
|
||||
class C {
|
||||
}
|
||||
|
||||
==== FolderA/FolderB/fileB.ts (0 errors) ====
|
||||
/// <reference path='FolderC/fileC.ts'/>
|
||||
class B {
|
||||
public c: C;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"scenario": "rootDirectory: Files outside the rootDirectory",
|
||||
"projectRoot": "tests/cases/projects/rootDirectory",
|
||||
"inputFiles": [
|
||||
"FolderA/FolderB/fileB.ts"
|
||||
],
|
||||
"outDir": "outdir/simple",
|
||||
"declaration": true,
|
||||
"baselineCheck": true,
|
||||
"rootDir": "FolderA/FolderB/FolderC",
|
||||
"resolvedInputFiles": [
|
||||
"lib.d.ts",
|
||||
"FolderA/FolderB/FolderC/fileC.ts",
|
||||
"FolderA/FolderB/fileB.ts"
|
||||
],
|
||||
"emittedFiles": [
|
||||
"outdir/simple/FolderC/fileC.js",
|
||||
"outdir/simple/FolderC/fileC.d.ts",
|
||||
"outdir/simple/fileB.js",
|
||||
"outdir/simple/fileB.d.ts"
|
||||
]
|
||||
}
|
||||
Vendored
+2
@@ -0,0 +1,2 @@
|
||||
declare class C {
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
var C = (function () {
|
||||
function C() {
|
||||
}
|
||||
return C;
|
||||
})();
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
/// <reference path="FolderC/fileC.d.ts" />
|
||||
declare class B {
|
||||
c: C;
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
/// <reference path='FolderC/fileC.ts'/>
|
||||
var B = (function () {
|
||||
function B() {
|
||||
}
|
||||
return B;
|
||||
})();
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
error TS6059: File 'FolderA/FolderB/fileB.ts' is not under 'rootDir' 'FolderA/FolderB/FolderC'. 'rootDir' is expected to contain all source files.
|
||||
|
||||
|
||||
!!! error TS6059: File 'fileB.ts' is not under 'rootDir' 'FolderA/FolderB/FolderC'. 'rootDir' is expected to contain all source files.
|
||||
==== FolderA/FolderB/FolderC/fileC.ts (0 errors) ====
|
||||
class C {
|
||||
}
|
||||
|
||||
==== FolderA/FolderB/fileB.ts (0 errors) ====
|
||||
/// <reference path='FolderC/fileC.ts'/>
|
||||
class B {
|
||||
public c: C;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"scenario": "rootDirectory: Files outside the rootDirectory",
|
||||
"projectRoot": "tests/cases/projects/rootDirectory",
|
||||
"inputFiles": [
|
||||
"FolderA/FolderB/fileB.ts"
|
||||
],
|
||||
"outDir": "outdir/simple",
|
||||
"declaration": true,
|
||||
"baselineCheck": true,
|
||||
"rootDir": "FolderA/FolderB/FolderC",
|
||||
"resolvedInputFiles": [
|
||||
"lib.d.ts",
|
||||
"FolderA/FolderB/FolderC/fileC.ts",
|
||||
"FolderA/FolderB/fileB.ts"
|
||||
],
|
||||
"emittedFiles": [
|
||||
"outdir/simple/FolderC/fileC.js",
|
||||
"outdir/simple/FolderC/fileC.d.ts",
|
||||
"outdir/simple/fileB.js",
|
||||
"outdir/simple/fileB.d.ts"
|
||||
]
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
var C = (function () {
|
||||
function C() {
|
||||
}
|
||||
return C;
|
||||
})();
|
||||
//# sourceMappingURL=fileC.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"fileC.js","sourceRoot":"SourceRootPath/","sources":["FolderB/FolderC/fileC.ts"],"names":["C","C.constructor"],"mappings":"AAAA;IAAAA;IACAC,CAACA;IAADD,QAACA;AAADA,CAACA,AADD,IACC"}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
/// <reference path='FolderC/fileC.ts'/>
|
||||
var B = (function () {
|
||||
function B() {
|
||||
}
|
||||
return B;
|
||||
})();
|
||||
//# sourceMappingURL=fileB.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"fileB.js","sourceRoot":"SourceRootPath/","sources":["FolderB/fileB.ts"],"names":["B","B.constructor"],"mappings":"AACA,AADA,wCAAwC;;IACxCA;IAEAC,CAACA;IAADD,QAACA;AAADA,CAACA,AAFD,IAEC"}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"scenario": "rootDirectory: specify rootDirectory with sourceRoot",
|
||||
"projectRoot": "tests/cases/projects/rootDirectory",
|
||||
"inputFiles": [
|
||||
"FolderA/FolderB/fileB.ts"
|
||||
],
|
||||
"outDir": "outdir/simple",
|
||||
"sourceMap": true,
|
||||
"sourceRoot": "SourceRootPath",
|
||||
"baselineCheck": true,
|
||||
"rootDir": "FolderA",
|
||||
"resolvedInputFiles": [
|
||||
"lib.d.ts",
|
||||
"FolderA/FolderB/FolderC/fileC.ts",
|
||||
"FolderA/FolderB/fileB.ts"
|
||||
],
|
||||
"emittedFiles": [
|
||||
"outdir/simple/FolderB/FolderC/fileC.js.map",
|
||||
"outdir/simple/FolderB/FolderC/fileC.js",
|
||||
"outdir/simple/FolderB/fileB.js.map",
|
||||
"outdir/simple/FolderB/fileB.js"
|
||||
]
|
||||
}
|
||||
+123
@@ -0,0 +1,123 @@
|
||||
===================================================================
|
||||
JsFile: fileC.js
|
||||
mapUrl: fileC.js.map
|
||||
sourceRoot: SourceRootPath/
|
||||
sources: FolderB/FolderC/fileC.ts
|
||||
===================================================================
|
||||
-------------------------------------------------------------------
|
||||
emittedFile:outdir/simple/FolderB/FolderC/fileC.js
|
||||
sourceFile:FolderB/FolderC/fileC.ts
|
||||
-------------------------------------------------------------------
|
||||
>>>var C = (function () {
|
||||
1 >
|
||||
2 >^^^^^^^^^^^^^^^^^^^->
|
||||
1 >
|
||||
1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0)
|
||||
---
|
||||
>>> function C() {
|
||||
1->^^^^
|
||||
2 > ^^->
|
||||
1->
|
||||
1->Emitted(2, 5) Source(1, 1) + SourceIndex(0) name (C)
|
||||
---
|
||||
>>> }
|
||||
1->^^^^
|
||||
2 > ^
|
||||
3 > ^^^^^^^^^->
|
||||
1->class C {
|
||||
>
|
||||
2 > }
|
||||
1->Emitted(3, 5) Source(2, 1) + SourceIndex(0) name (C.constructor)
|
||||
2 >Emitted(3, 6) Source(2, 2) + SourceIndex(0) name (C.constructor)
|
||||
---
|
||||
>>> return C;
|
||||
1->^^^^
|
||||
2 > ^^^^^^^^
|
||||
1->
|
||||
2 > }
|
||||
1->Emitted(4, 5) Source(2, 1) + SourceIndex(0) name (C)
|
||||
2 >Emitted(4, 13) Source(2, 2) + SourceIndex(0) name (C)
|
||||
---
|
||||
>>>})();
|
||||
1 >
|
||||
2 >^
|
||||
3 >
|
||||
4 > ^^^^
|
||||
5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^->
|
||||
1 >
|
||||
2 >}
|
||||
3 >
|
||||
4 > class C {
|
||||
> }
|
||||
1 >Emitted(5, 1) Source(2, 1) + SourceIndex(0) name (C)
|
||||
2 >Emitted(5, 2) Source(2, 2) + SourceIndex(0) name (C)
|
||||
3 >Emitted(5, 2) Source(1, 1) + SourceIndex(0)
|
||||
4 >Emitted(5, 6) Source(2, 2) + SourceIndex(0)
|
||||
---
|
||||
>>>//# sourceMappingURL=fileC.js.map===================================================================
|
||||
JsFile: fileB.js
|
||||
mapUrl: fileB.js.map
|
||||
sourceRoot: SourceRootPath/
|
||||
sources: FolderB/fileB.ts
|
||||
===================================================================
|
||||
-------------------------------------------------------------------
|
||||
emittedFile:outdir/simple/FolderB/fileB.js
|
||||
sourceFile:FolderB/fileB.ts
|
||||
-------------------------------------------------------------------
|
||||
>>>/// <reference path='FolderC/fileC.ts'/>
|
||||
1 >
|
||||
2 >
|
||||
3 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
1 >/// <reference path='FolderC/fileC.ts'/>
|
||||
>
|
||||
2 >
|
||||
3 >/// <reference path='FolderC/fileC.ts'/>
|
||||
1 >Emitted(1, 1) Source(2, 1) + SourceIndex(0)
|
||||
2 >Emitted(1, 1) Source(1, 1) + SourceIndex(0)
|
||||
3 >Emitted(1, 41) Source(1, 41) + SourceIndex(0)
|
||||
---
|
||||
>>>var B = (function () {
|
||||
>>> function B() {
|
||||
1 >^^^^
|
||||
2 > ^^->
|
||||
1 >
|
||||
>
|
||||
1 >Emitted(3, 5) Source(2, 1) + SourceIndex(0) name (B)
|
||||
---
|
||||
>>> }
|
||||
1->^^^^
|
||||
2 > ^
|
||||
3 > ^^^^^^^^^->
|
||||
1->class B {
|
||||
> public c: C;
|
||||
>
|
||||
2 > }
|
||||
1->Emitted(4, 5) Source(4, 1) + SourceIndex(0) name (B.constructor)
|
||||
2 >Emitted(4, 6) Source(4, 2) + SourceIndex(0) name (B.constructor)
|
||||
---
|
||||
>>> return B;
|
||||
1->^^^^
|
||||
2 > ^^^^^^^^
|
||||
1->
|
||||
2 > }
|
||||
1->Emitted(5, 5) Source(4, 1) + SourceIndex(0) name (B)
|
||||
2 >Emitted(5, 13) Source(4, 2) + SourceIndex(0) name (B)
|
||||
---
|
||||
>>>})();
|
||||
1 >
|
||||
2 >^
|
||||
3 >
|
||||
4 > ^^^^
|
||||
5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^->
|
||||
1 >
|
||||
2 >}
|
||||
3 >
|
||||
4 > class B {
|
||||
> public c: C;
|
||||
> }
|
||||
1 >Emitted(6, 1) Source(4, 1) + SourceIndex(0) name (B)
|
||||
2 >Emitted(6, 2) Source(4, 2) + SourceIndex(0) name (B)
|
||||
3 >Emitted(6, 2) Source(2, 1) + SourceIndex(0)
|
||||
4 >Emitted(6, 6) Source(4, 2) + SourceIndex(0)
|
||||
---
|
||||
>>>//# sourceMappingURL=fileB.js.map
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
var C = (function () {
|
||||
function C() {
|
||||
}
|
||||
return C;
|
||||
})();
|
||||
//# sourceMappingURL=fileC.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"fileC.js","sourceRoot":"SourceRootPath/","sources":["FolderB/FolderC/fileC.ts"],"names":["C","C.constructor"],"mappings":"AAAA;IAAAA;IACAC,CAACA;IAADD,QAACA;AAADA,CAACA,AADD,IACC"}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
/// <reference path='FolderC/fileC.ts'/>
|
||||
var B = (function () {
|
||||
function B() {
|
||||
}
|
||||
return B;
|
||||
})();
|
||||
//# sourceMappingURL=fileB.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"fileB.js","sourceRoot":"SourceRootPath/","sources":["FolderB/fileB.ts"],"names":["B","B.constructor"],"mappings":"AACA,AADA,wCAAwC;;IACxCA;IAEAC,CAACA;IAADD,QAACA;AAADA,CAACA,AAFD,IAEC"}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"scenario": "rootDirectory: specify rootDirectory with sourceRoot",
|
||||
"projectRoot": "tests/cases/projects/rootDirectory",
|
||||
"inputFiles": [
|
||||
"FolderA/FolderB/fileB.ts"
|
||||
],
|
||||
"outDir": "outdir/simple",
|
||||
"sourceMap": true,
|
||||
"sourceRoot": "SourceRootPath",
|
||||
"baselineCheck": true,
|
||||
"rootDir": "FolderA",
|
||||
"resolvedInputFiles": [
|
||||
"lib.d.ts",
|
||||
"FolderA/FolderB/FolderC/fileC.ts",
|
||||
"FolderA/FolderB/fileB.ts"
|
||||
],
|
||||
"emittedFiles": [
|
||||
"outdir/simple/FolderB/FolderC/fileC.js.map",
|
||||
"outdir/simple/FolderB/FolderC/fileC.js",
|
||||
"outdir/simple/FolderB/fileB.js.map",
|
||||
"outdir/simple/FolderB/fileB.js"
|
||||
]
|
||||
}
|
||||
+123
@@ -0,0 +1,123 @@
|
||||
===================================================================
|
||||
JsFile: fileC.js
|
||||
mapUrl: fileC.js.map
|
||||
sourceRoot: SourceRootPath/
|
||||
sources: FolderB/FolderC/fileC.ts
|
||||
===================================================================
|
||||
-------------------------------------------------------------------
|
||||
emittedFile:outdir/simple/FolderB/FolderC/fileC.js
|
||||
sourceFile:FolderB/FolderC/fileC.ts
|
||||
-------------------------------------------------------------------
|
||||
>>>var C = (function () {
|
||||
1 >
|
||||
2 >^^^^^^^^^^^^^^^^^^^->
|
||||
1 >
|
||||
1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0)
|
||||
---
|
||||
>>> function C() {
|
||||
1->^^^^
|
||||
2 > ^^->
|
||||
1->
|
||||
1->Emitted(2, 5) Source(1, 1) + SourceIndex(0) name (C)
|
||||
---
|
||||
>>> }
|
||||
1->^^^^
|
||||
2 > ^
|
||||
3 > ^^^^^^^^^->
|
||||
1->class C {
|
||||
>
|
||||
2 > }
|
||||
1->Emitted(3, 5) Source(2, 1) + SourceIndex(0) name (C.constructor)
|
||||
2 >Emitted(3, 6) Source(2, 2) + SourceIndex(0) name (C.constructor)
|
||||
---
|
||||
>>> return C;
|
||||
1->^^^^
|
||||
2 > ^^^^^^^^
|
||||
1->
|
||||
2 > }
|
||||
1->Emitted(4, 5) Source(2, 1) + SourceIndex(0) name (C)
|
||||
2 >Emitted(4, 13) Source(2, 2) + SourceIndex(0) name (C)
|
||||
---
|
||||
>>>})();
|
||||
1 >
|
||||
2 >^
|
||||
3 >
|
||||
4 > ^^^^
|
||||
5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^->
|
||||
1 >
|
||||
2 >}
|
||||
3 >
|
||||
4 > class C {
|
||||
> }
|
||||
1 >Emitted(5, 1) Source(2, 1) + SourceIndex(0) name (C)
|
||||
2 >Emitted(5, 2) Source(2, 2) + SourceIndex(0) name (C)
|
||||
3 >Emitted(5, 2) Source(1, 1) + SourceIndex(0)
|
||||
4 >Emitted(5, 6) Source(2, 2) + SourceIndex(0)
|
||||
---
|
||||
>>>//# sourceMappingURL=fileC.js.map===================================================================
|
||||
JsFile: fileB.js
|
||||
mapUrl: fileB.js.map
|
||||
sourceRoot: SourceRootPath/
|
||||
sources: FolderB/fileB.ts
|
||||
===================================================================
|
||||
-------------------------------------------------------------------
|
||||
emittedFile:outdir/simple/FolderB/fileB.js
|
||||
sourceFile:FolderB/fileB.ts
|
||||
-------------------------------------------------------------------
|
||||
>>>/// <reference path='FolderC/fileC.ts'/>
|
||||
1 >
|
||||
2 >
|
||||
3 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
1 >/// <reference path='FolderC/fileC.ts'/>
|
||||
>
|
||||
2 >
|
||||
3 >/// <reference path='FolderC/fileC.ts'/>
|
||||
1 >Emitted(1, 1) Source(2, 1) + SourceIndex(0)
|
||||
2 >Emitted(1, 1) Source(1, 1) + SourceIndex(0)
|
||||
3 >Emitted(1, 41) Source(1, 41) + SourceIndex(0)
|
||||
---
|
||||
>>>var B = (function () {
|
||||
>>> function B() {
|
||||
1 >^^^^
|
||||
2 > ^^->
|
||||
1 >
|
||||
>
|
||||
1 >Emitted(3, 5) Source(2, 1) + SourceIndex(0) name (B)
|
||||
---
|
||||
>>> }
|
||||
1->^^^^
|
||||
2 > ^
|
||||
3 > ^^^^^^^^^->
|
||||
1->class B {
|
||||
> public c: C;
|
||||
>
|
||||
2 > }
|
||||
1->Emitted(4, 5) Source(4, 1) + SourceIndex(0) name (B.constructor)
|
||||
2 >Emitted(4, 6) Source(4, 2) + SourceIndex(0) name (B.constructor)
|
||||
---
|
||||
>>> return B;
|
||||
1->^^^^
|
||||
2 > ^^^^^^^^
|
||||
1->
|
||||
2 > }
|
||||
1->Emitted(5, 5) Source(4, 1) + SourceIndex(0) name (B)
|
||||
2 >Emitted(5, 13) Source(4, 2) + SourceIndex(0) name (B)
|
||||
---
|
||||
>>>})();
|
||||
1 >
|
||||
2 >^
|
||||
3 >
|
||||
4 > ^^^^
|
||||
5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^->
|
||||
1 >
|
||||
2 >}
|
||||
3 >
|
||||
4 > class B {
|
||||
> public c: C;
|
||||
> }
|
||||
1 >Emitted(6, 1) Source(4, 1) + SourceIndex(0) name (B)
|
||||
2 >Emitted(6, 2) Source(4, 2) + SourceIndex(0) name (B)
|
||||
3 >Emitted(6, 2) Source(2, 1) + SourceIndex(0)
|
||||
4 >Emitted(6, 6) Source(4, 2) + SourceIndex(0)
|
||||
---
|
||||
>>>//# sourceMappingURL=fileB.js.map
|
||||
@@ -0,0 +1,26 @@
|
||||
class C<T1> extends CBase<T1> {
|
||||
public works() {
|
||||
new CBaseBase<Wrapper<T1>>(this);
|
||||
}
|
||||
public alsoWorks() {
|
||||
new CBase<T1>(this); // Should not error, parameter is of type Parameter<Wrapper<T1>>
|
||||
}
|
||||
|
||||
public method(t: Wrapper<T1>) { }
|
||||
}
|
||||
|
||||
class CBase<T2> extends CBaseBase<Wrapper<T2>> {
|
||||
|
||||
}
|
||||
|
||||
class CBaseBase<T3> {
|
||||
constructor(x: Parameter<T3>) { }
|
||||
}
|
||||
|
||||
class Parameter<T4> {
|
||||
method(t: T4) { }
|
||||
}
|
||||
|
||||
class Wrapper<T5> {
|
||||
property: T5;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"scenario": "rootDirectory: specify rootDirectory",
|
||||
"projectRoot": "tests/cases/projects/rootDirectory",
|
||||
"inputFiles": [
|
||||
"FolderA/FolderB/fileB.ts"
|
||||
],
|
||||
"outDir": "outdir/simple",
|
||||
"rootDir": "FolderA",
|
||||
"sourceMap": true,
|
||||
"declaration": true,
|
||||
"baselineCheck": true
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"scenario": "rootDirectory: Files outside the rootDirectory",
|
||||
"projectRoot": "tests/cases/projects/rootDirectory",
|
||||
"inputFiles": [
|
||||
"FolderA/FolderB/fileB.ts"
|
||||
],
|
||||
"outDir": "outdir/simple",
|
||||
"rootDir": "FolderA/FolderB/FolderC",
|
||||
"declaration": true,
|
||||
"baselineCheck": true
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"scenario": "rootDirectory: specify rootDirectory with sourceRoot",
|
||||
"projectRoot": "tests/cases/projects/rootDirectory",
|
||||
"inputFiles": [
|
||||
"FolderA/FolderB/fileB.ts"
|
||||
],
|
||||
"outDir": "outdir/simple",
|
||||
"rootDir": "FolderA",
|
||||
"sourceMap": true,
|
||||
"sourceRoot": "SourceRootPath",
|
||||
"baselineCheck": true
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
class C {
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
/// <reference path='FolderC/fileC.ts'/>
|
||||
class B {
|
||||
public c: C;
|
||||
}
|
||||
Reference in New Issue
Block a user