@@ -32804,6 +32804,7 @@ var ts;
3280432804 var diagnosticsProducingTypeChecker;
3280532805 var noDiagnosticsTypeChecker;
3280632806 var classifiableNames;
32807+ var programSizeLimitExceeded = -1;
3280732808 var programSizeForNonTsFiles = 0;
3280832809 var skipDefaultLib = options.noLib;
3280932810 var supportedExtensions = ts.getSupportedExtensions(options);
@@ -32876,6 +32877,9 @@ var ts;
3287632877 verifyCompilerOptions();
3287732878 ts.programTime += new Date().getTime() - start;
3287832879 return program;
32880+ function exceedProgramSizeLimit() {
32881+ return !options.disableSizeLimit && programSizeForNonTsFiles === programSizeLimitExceeded;
32882+ }
3287932883 function getCommonSourceDirectory() {
3288032884 if (typeof commonSourceDirectory === "undefined") {
3288132885 if (options.rootDir && checkSourceFilesBelongToPath(files, options.rootDir)) {
@@ -33327,8 +33331,10 @@ var ts;
3332733331 diagnosticArgument = [fileName, "'" + supportedExtensions.join("', '") + "'"];
3332833332 }
3332933333 else if (!findSourceFile(fileName, ts.toPath(fileName, currentDirectory, getCanonicalFileName), isDefaultLib, refFile, refPos, refEnd)) {
33330- diagnostic = ts.Diagnostics.File_0_not_found;
33331- diagnosticArgument = [fileName];
33334+ if (ts.hasTypeScriptFileExtension(fileName) || !exceedProgramSizeLimit()) {
33335+ diagnostic = ts.Diagnostics.File_0_not_found;
33336+ diagnosticArgument = [fileName];
33337+ }
3333233338 }
3333333339 else if (refFile && host.getCanonicalFileName(fileName) === host.getCanonicalFileName(refFile.fileName)) {
3333433340 diagnostic = ts.Diagnostics.A_file_cannot_have_a_reference_to_itself;
@@ -33339,13 +33345,17 @@ var ts;
3333933345 var nonTsFile = options.allowNonTsExtensions && findSourceFile(fileName, ts.toPath(fileName, currentDirectory, getCanonicalFileName), isDefaultLib, refFile, refPos, refEnd);
3334033346 if (!nonTsFile) {
3334133347 if (options.allowNonTsExtensions) {
33342- diagnostic = ts.Diagnostics.File_0_not_found;
33343- diagnosticArgument = [fileName];
33348+ if (!exceedProgramSizeLimit()) {
33349+ diagnostic = ts.Diagnostics.File_0_not_found;
33350+ diagnosticArgument = [fileName];
33351+ }
3334433352 }
3334533353 else if (!ts.forEach(supportedExtensions, function (extension) { return findSourceFile(fileName + extension, ts.toPath(fileName + extension, currentDirectory, getCanonicalFileName), isDefaultLib, refFile, refPos, refEnd); })) {
33346- diagnostic = ts.Diagnostics.File_0_not_found;
33347- fileName += ".ts";
33348- diagnosticArgument = [fileName];
33354+ if (!exceedProgramSizeLimit()) {
33355+ diagnostic = ts.Diagnostics.File_0_not_found;
33356+ fileName += ".ts";
33357+ diagnosticArgument = [fileName];
33358+ }
3334933359 }
3335033360 }
3335133361 }
@@ -33374,7 +33384,8 @@ var ts;
3337433384 }
3337533385 return file_1;
3337633386 }
33377- if (!options.disableSizeLimit && programSizeForNonTsFiles === -1) {
33387+ var isNonTsFile = !ts.hasTypeScriptFileExtension(fileName);
33388+ if (isNonTsFile && exceedProgramSizeLimit()) {
3337833389 return undefined;
3337933390 }
3338033391 var file = host.getSourceFile(fileName, options.target, function (hostErrorMessage) {
@@ -33385,7 +33396,7 @@ var ts;
3338533396 fileProcessingDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage));
3338633397 }
3338733398 });
33388- if (!options.disableSizeLimit && file && file.text && !ts.hasTypeScriptFileExtension(file.fileName) ) {
33399+ if (isNonTsFile && !options.disableSizeLimit && file && file.text) {
3338933400 programSizeForNonTsFiles += file.text.length;
3339033401 if (programSizeForNonTsFiles > ts.maxProgramSizeForNonTsFiles) {
3339133402 var commonSourceDirectory_1 = getCommonSourceDirectory();
@@ -33394,7 +33405,7 @@ var ts;
3339433405 rootLevelDirectory += ts.directorySeparator;
3339533406 }
3339633407 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));
33397- programSizeForNonTsFiles = -1 ;
33408+ programSizeForNonTsFiles = programSizeLimitExceeded ;
3339833409 return undefined;
3339933410 }
3340033411 }
0 commit comments