Skip to content

Commit 787ea50

Browse files
committed
Add test
1 parent 95dc77c commit 787ea50

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

src/server/project.ts

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

1834+
/*@internal*/
18341835
private static readonly maxDependencies = 10;
18351836

18361837
/*@internal*/

src/testRunner/unittests/tsserver/autoImportProvider.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,26 @@ namespace ts.projectSystem {
229229
host.writeFile(packageJson.path, packageJson.content);
230230
assert.ok(projectService.configuredProjects.get(tsconfig.path)!.getLanguageService().getAutoImportProvider());
231231
});
232+
233+
it("Does not create an auto import provider if there are too many dependencies", () => {
234+
const createPackage = (i: number): File[] => ([
235+
{ path: `/node_modules/package${i}/package.json`, content: `{ "name": "package${i}" }` },
236+
{ path: `/node_modules/package${i}/index.d.ts`, content: `` }
237+
]);
238+
239+
const packages = [];
240+
for (let i = 0; i < 11; i++) {
241+
packages.push(createPackage(i));
242+
}
243+
244+
const dependencies = packages.reduce((hash, p) => ({ ...hash, [JSON.parse(p[0].content).name]: "*" }), {});
245+
const packageJson: File = { path: "/package.json", content: JSON.stringify(dependencies) };
246+
const { projectService, session } = setup([ ...flatten(packages), indexTs, tsconfig, packageJson ]);
247+
248+
openFilesForSession([indexTs], session);
249+
const project = projectService.configuredProjects.get(tsconfig.path)!;
250+
assert.isUndefined(project.getPackageJsonAutoImportProvider());
251+
});
232252
});
233253

234254
describe("unittests:: tsserver:: autoImportProvider - monorepo", () => {

0 commit comments

Comments
 (0)