merge with origin/release-2.0.5

This commit is contained in:
Vladimir Matveev
2016-09-13 15:59:04 -07:00
189 changed files with 2854 additions and 1443 deletions

View File

@@ -11,9 +11,9 @@ namespace ts {
const defaultTypeRoots = ["node_modules/@types"];
export function findConfigFile(searchPath: string, fileExists: (fileName: string) => boolean): string {
export function findConfigFile(searchPath: string, fileExists: (fileName: string) => boolean, configName = "tsconfig.json"): string {
while (true) {
const fileName = combinePaths(searchPath, "tsconfig.json");
const fileName = combinePaths(searchPath, configName);
if (fileExists(fileName)) {
return fileName;
}
@@ -79,22 +79,19 @@ namespace ts {
const typeReferenceExtensions = [".d.ts"];
function getEffectiveTypeRoots(options: CompilerOptions, host: ModuleResolutionHost) {
export function getEffectiveTypeRoots(options: CompilerOptions, currentDirectory: string) {
if (options.typeRoots) {
return options.typeRoots;
}
let currentDirectory: string;
if (options.configFilePath) {
currentDirectory = getDirectoryPath(options.configFilePath);
}
else if (host.getCurrentDirectory) {
currentDirectory = host.getCurrentDirectory();
}
if (!currentDirectory) {
return undefined;
}
return map(defaultTypeRoots, d => combinePaths(currentDirectory, d));
}
@@ -112,7 +109,7 @@ namespace ts {
traceEnabled
};
const typeRoots = getEffectiveTypeRoots(options, host);
const typeRoots = getEffectiveTypeRoots(options, host.getCurrentDirectory && host.getCurrentDirectory());
if (traceEnabled) {
if (containingFile === undefined) {
if (typeRoots === undefined) {
@@ -427,7 +424,7 @@ namespace ts {
// Walk the primary type lookup locations
const result: string[] = [];
if (host.directoryExists && host.getDirectories) {
const typeRoots = getEffectiveTypeRoots(options, host);
const typeRoots = getEffectiveTypeRoots(options, host.getCurrentDirectory && host.getCurrentDirectory());
if (typeRoots) {
for (const root of typeRoots) {
if (host.directoryExists(root)) {