Skip to content

Commit 95dc77c

Browse files
committed
Limit auto import provider project size
1 parent d3877d2 commit 95dc77c

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/server/project.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1831,6 +1831,8 @@ namespace ts.server {
18311831
export class AutoImportProviderProject extends Project {
18321832
private static readonly newName = createProjectNameFactoryWithCounter(makeAutoImportProviderProjectName);
18331833

1834+
private static readonly maxDependencies = 10;
1835+
18341836
/*@internal*/
18351837
static getRootFileNames(dependencySelection: PackageJsonAutoImportPreference, hostProject: Project, moduleResolutionHost: ModuleResolutionHost, compilerOptions: CompilerOptions): string[] {
18361838
if (!dependencySelection) {
@@ -1862,6 +1864,10 @@ namespace ts.server {
18621864
const fileName = moduleResolutionHost.realpath?.(resolvedFileName) || resolvedFileName;
18631865
if (!hostProject.getCurrentProgram()!.getSourceFile(fileName) && !hostProject.getCurrentProgram()!.getSourceFile(resolvedFileName)) {
18641866
rootNames = append(rootNames, fileName);
1867+
// Avoid creating a large project that would significantly slow down time to editor interactivity
1868+
if (rootNames.length > this.maxDependencies) {
1869+
return ts.emptyArray;
1870+
}
18651871
}
18661872
}
18671873
}

0 commit comments

Comments
 (0)