CR feedback and Update LKG

This commit is contained in:
zhengbli
2016-03-14 22:20:35 -07:00
parent cfa83e9d34
commit 5e74ebdc69
6 changed files with 72 additions and 80 deletions
+12 -14
View File
@@ -33374,20 +33374,8 @@ var ts;
}
return file_1;
}
if (!options.disableSizeLimit) {
if (programSizeForNonTsFiles === -1) {
return;
}
if (programSizeForNonTsFiles > ts.maxProgramSizeForNonTsFiles) {
var commonSourceDirectory_1 = getCommonSourceDirectory();
var rootLevelDirectory = path.substring(0, Math.max(commonSourceDirectory_1.length, path.indexOf(ts.directorySeparator, commonSourceDirectory_1.length)));
if (rootLevelDirectory[rootLevelDirectory.length - 1] !== ts.directorySeparator) {
rootLevelDirectory += ts.directorySeparator;
}
programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Too_many_JavaScript_files_in_the_project_Consider_specifying_the_exclude_setting_in_project_configuration_to_limit_included_source_folders_The_likely_folder_to_exclude_is_0_To_disable_the_project_size_limit_set_the_disableSizeLimit_compiler_option_to_true, rootLevelDirectory));
programSizeForNonTsFiles = -1;
return;
}
if (!options.disableSizeLimit && programSizeForNonTsFiles === -1) {
return undefined;
}
var file = host.getSourceFile(fileName, options.target, function (hostErrorMessage) {
if (refFile !== undefined && refPos !== undefined && refEnd !== undefined) {
@@ -33399,6 +33387,16 @@ var ts;
});
if (!options.disableSizeLimit && file && file.text && !ts.hasTypeScriptFileExtension(file.fileName)) {
programSizeForNonTsFiles += file.text.length;
if (programSizeForNonTsFiles > ts.maxProgramSizeForNonTsFiles) {
var commonSourceDirectory_1 = getCommonSourceDirectory();
var rootLevelDirectory = path.substring(0, Math.max(commonSourceDirectory_1.length, path.indexOf(ts.directorySeparator, commonSourceDirectory_1.length)));
if (rootLevelDirectory[rootLevelDirectory.length - 1] !== ts.directorySeparator) {
rootLevelDirectory += ts.directorySeparator;
}
programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Too_many_JavaScript_files_in_the_project_Consider_specifying_the_exclude_setting_in_project_configuration_to_limit_included_source_folders_The_likely_folder_to_exclude_is_0_To_disable_the_project_size_limit_set_the_disableSizeLimit_compiler_option_to_true, rootLevelDirectory));
programSizeForNonTsFiles = -1;
return undefined;
}
}
filesByName.set(path, file);
if (file) {
+12 -14
View File
@@ -33999,20 +33999,8 @@ var ts;
}
return file_1;
}
if (!options.disableSizeLimit) {
if (programSizeForNonTsFiles === -1) {
return;
}
if (programSizeForNonTsFiles > ts.maxProgramSizeForNonTsFiles) {
var commonSourceDirectory_1 = getCommonSourceDirectory();
var rootLevelDirectory = path.substring(0, Math.max(commonSourceDirectory_1.length, path.indexOf(ts.directorySeparator, commonSourceDirectory_1.length)));
if (rootLevelDirectory[rootLevelDirectory.length - 1] !== ts.directorySeparator) {
rootLevelDirectory += ts.directorySeparator;
}
programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Too_many_JavaScript_files_in_the_project_Consider_specifying_the_exclude_setting_in_project_configuration_to_limit_included_source_folders_The_likely_folder_to_exclude_is_0_To_disable_the_project_size_limit_set_the_disableSizeLimit_compiler_option_to_true, rootLevelDirectory));
programSizeForNonTsFiles = -1;
return;
}
if (!options.disableSizeLimit && programSizeForNonTsFiles === -1) {
return undefined;
}
var file = host.getSourceFile(fileName, options.target, function (hostErrorMessage) {
if (refFile !== undefined && refPos !== undefined && refEnd !== undefined) {
@@ -34024,6 +34012,16 @@ var ts;
});
if (!options.disableSizeLimit && file && file.text && !ts.hasTypeScriptFileExtension(file.fileName)) {
programSizeForNonTsFiles += file.text.length;
if (programSizeForNonTsFiles > ts.maxProgramSizeForNonTsFiles) {
var commonSourceDirectory_1 = getCommonSourceDirectory();
var rootLevelDirectory = path.substring(0, Math.max(commonSourceDirectory_1.length, path.indexOf(ts.directorySeparator, commonSourceDirectory_1.length)));
if (rootLevelDirectory[rootLevelDirectory.length - 1] !== ts.directorySeparator) {
rootLevelDirectory += ts.directorySeparator;
}
programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Too_many_JavaScript_files_in_the_project_Consider_specifying_the_exclude_setting_in_project_configuration_to_limit_included_source_folders_The_likely_folder_to_exclude_is_0_To_disable_the_project_size_limit_set_the_disableSizeLimit_compiler_option_to_true, rootLevelDirectory));
programSizeForNonTsFiles = -1;
return undefined;
}
}
filesByName.set(path, file);
if (file) {
+14 -16
View File
@@ -40278,10 +40278,20 @@ var ts;
}
return file_1;
}
if (!options.disableSizeLimit) {
if (programSizeForNonTsFiles === -1) {
return;
if (!options.disableSizeLimit && programSizeForNonTsFiles === -1) {
return undefined;
}
// We haven't looked for this file, do so now and cache result
var file = host.getSourceFile(fileName, options.target, function (hostErrorMessage) {
if (refFile !== undefined && refPos !== undefined && refEnd !== undefined) {
fileProcessingDiagnostics.add(ts.createFileDiagnostic(refFile, refPos, refEnd - refPos, ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
}
else {
fileProcessingDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
}
});
if (!options.disableSizeLimit && file && file.text && !ts.hasTypeScriptFileExtension(file.fileName)) {
programSizeForNonTsFiles += file.text.length;
if (programSizeForNonTsFiles > ts.maxProgramSizeForNonTsFiles) {
// If the program size limit was reached when processing a file, this file is
// likely in the problematic folder than contains too many files.
@@ -40295,21 +40305,9 @@ var ts;
}
programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Too_many_JavaScript_files_in_the_project_Consider_specifying_the_exclude_setting_in_project_configuration_to_limit_included_source_folders_The_likely_folder_to_exclude_is_0_To_disable_the_project_size_limit_set_the_disableSizeLimit_compiler_option_to_true, rootLevelDirectory));
programSizeForNonTsFiles = -1;
return;
return undefined;
}
}
// We haven't looked for this file, do so now and cache result
var file = host.getSourceFile(fileName, options.target, function (hostErrorMessage) {
if (refFile !== undefined && refPos !== undefined && refEnd !== undefined) {
fileProcessingDiagnostics.add(ts.createFileDiagnostic(refFile, refPos, refEnd - refPos, ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
}
else {
fileProcessingDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
}
});
if (!options.disableSizeLimit && file && file.text && !ts.hasTypeScriptFileExtension(file.fileName)) {
programSizeForNonTsFiles += file.text.length;
}
filesByName.set(path, file);
if (file) {
file.path = path;
+14 -16
View File
@@ -40278,10 +40278,20 @@ var ts;
}
return file_1;
}
if (!options.disableSizeLimit) {
if (programSizeForNonTsFiles === -1) {
return;
if (!options.disableSizeLimit && programSizeForNonTsFiles === -1) {
return undefined;
}
// We haven't looked for this file, do so now and cache result
var file = host.getSourceFile(fileName, options.target, function (hostErrorMessage) {
if (refFile !== undefined && refPos !== undefined && refEnd !== undefined) {
fileProcessingDiagnostics.add(ts.createFileDiagnostic(refFile, refPos, refEnd - refPos, ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
}
else {
fileProcessingDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
}
});
if (!options.disableSizeLimit && file && file.text && !ts.hasTypeScriptFileExtension(file.fileName)) {
programSizeForNonTsFiles += file.text.length;
if (programSizeForNonTsFiles > ts.maxProgramSizeForNonTsFiles) {
// If the program size limit was reached when processing a file, this file is
// likely in the problematic folder than contains too many files.
@@ -40295,21 +40305,9 @@ var ts;
}
programDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Too_many_JavaScript_files_in_the_project_Consider_specifying_the_exclude_setting_in_project_configuration_to_limit_included_source_folders_The_likely_folder_to_exclude_is_0_To_disable_the_project_size_limit_set_the_disableSizeLimit_compiler_option_to_true, rootLevelDirectory));
programSizeForNonTsFiles = -1;
return;
return undefined;
}
}
// We haven't looked for this file, do so now and cache result
var file = host.getSourceFile(fileName, options.target, function (hostErrorMessage) {
if (refFile !== undefined && refPos !== undefined && refEnd !== undefined) {
fileProcessingDiagnostics.add(ts.createFileDiagnostic(refFile, refPos, refEnd - refPos, ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
}
else {
fileProcessingDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
}
});
if (!options.disableSizeLimit && file && file.text && !ts.hasTypeScriptFileExtension(file.fileName)) {
programSizeForNonTsFiles += file.text.length;
}
filesByName.set(path, file);
if (file) {
file.path = path;
+17 -19
View File
@@ -1089,25 +1089,8 @@ namespace ts {
return file;
}
if (!options.disableSizeLimit) {
if (programSizeForNonTsFiles === -1) {
return;
}
if (programSizeForNonTsFiles > maxProgramSizeForNonTsFiles) {
// If the program size limit was reached when processing a file, this file is
// likely in the problematic folder than contains too many files.
// Normally the folder is one level down from the commonSourceDirectory, for example,
// if the commonSourceDirectory is "/src/", and the last processed path was "/src/node_modules/a/b.js",
// we should show in the error message "/src/node_modules/".
const commonSourceDirectory = getCommonSourceDirectory();
let rootLevelDirectory = path.substring(0, Math.max(commonSourceDirectory.length, path.indexOf(directorySeparator, commonSourceDirectory.length)));
if (rootLevelDirectory[rootLevelDirectory.length - 1] !== directorySeparator) {
rootLevelDirectory += directorySeparator;
}
programDiagnostics.add(createCompilerDiagnostic(Diagnostics.Too_many_JavaScript_files_in_the_project_Consider_specifying_the_exclude_setting_in_project_configuration_to_limit_included_source_folders_The_likely_folder_to_exclude_is_0_To_disable_the_project_size_limit_set_the_disableSizeLimit_compiler_option_to_true, rootLevelDirectory));
programSizeForNonTsFiles = -1;
return;
}
if (!options.disableSizeLimit && programSizeForNonTsFiles === -1) {
return undefined;
}
// We haven't looked for this file, do so now and cache result
@@ -1123,6 +1106,21 @@ namespace ts {
if (!options.disableSizeLimit && file && file.text && !hasTypeScriptFileExtension(file.fileName)) {
programSizeForNonTsFiles += file.text.length;
if (programSizeForNonTsFiles > maxProgramSizeForNonTsFiles) {
// If the program size limit was reached when processing a file, this file is
// likely in the problematic folder than contains too many files.
// Normally the folder is one level down from the commonSourceDirectory, for example,
// if the commonSourceDirectory is "/src/", and the last processed path was "/src/node_modules/a/b.js",
// we should show in the error message "/src/node_modules/".
const commonSourceDirectory = getCommonSourceDirectory();
let rootLevelDirectory = path.substring(0, Math.max(commonSourceDirectory.length, path.indexOf(directorySeparator, commonSourceDirectory.length)));
if (rootLevelDirectory[rootLevelDirectory.length - 1] !== directorySeparator) {
rootLevelDirectory += directorySeparator;
}
programDiagnostics.add(createCompilerDiagnostic(Diagnostics.Too_many_JavaScript_files_in_the_project_Consider_specifying_the_exclude_setting_in_project_configuration_to_limit_included_source_folders_The_likely_folder_to_exclude_is_0_To_disable_the_project_size_limit_set_the_disableSizeLimit_compiler_option_to_true, rootLevelDirectory));
programSizeForNonTsFiles = -1;
return undefined;
}
}
filesByName.set(path, file);
+3 -1
View File
@@ -1252,6 +1252,8 @@ namespace ts.server {
}
}
else {
// The project size is too large. Stop loading the files on the server,
// and let the compiler issue an diagnostic via `createProgram`.
break;
}
}
@@ -1285,7 +1287,7 @@ namespace ts.server {
}
else {
// if the project is too large, the root files might not have been all loaded if the total
// program size reached the upper limit. In that case project.projectOptions.files should
// program size reached the upper limit. In that case project.projectOptions.files should
// be more precise. However this would only happen for configured project.
const oldFileNames = project.projectOptions ? project.projectOptions.files : project.compilerService.host.roots.map(info => info.fileName);
const newFileNames = projectOptions.files;