From 0268b72d2c4690b554408aa64e9ae2fc42fa490c Mon Sep 17 00:00:00 2001 From: Keen Yee Liau Date: Sat, 17 Oct 2020 12:35:16 -0700 Subject: [PATCH] Revert "test(language-service): Make project service a singleton (#39308)" (#39322) This reverts commit 1b21350e1719428b8d0c3280add470d1b395e2af. PR Close #39322 --- .../language-service/ivy/test/mock_host.ts | 30 +++++++------------ 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/packages/language-service/ivy/test/mock_host.ts b/packages/language-service/ivy/test/mock_host.ts index b28c13335a..34a052eacf 100644 --- a/packages/language-service/ivy/test/mock_host.ts +++ b/packages/language-service/ivy/test/mock_host.ts @@ -69,12 +69,6 @@ export const host: ts.server.ServerHost = { }, }; -/** - * Constructing a project service is expensive (~2.5s on MacBook Pro), so it - * should be a singleton service shared throughout all tests. - */ -let projectService: ts.server.ProjectService; - /** * Create a ConfiguredProject and an actual program for the test project located * in packages/language-service/test/project. Project creation exercises the @@ -82,19 +76,17 @@ let projectService: ts.server.ProjectService; * and modify test files. */ export function setup() { - if (!projectService) { - projectService = new ts.server.ProjectService({ - host, - logger, - cancellationToken: ts.server.nullCancellationToken, - useSingleInferredProject: true, - useInferredProjectPerProjectRoot: true, - typingsInstaller: ts.server.nullTypingsInstaller, - }); - // Opening APP_COMPONENT forces a new ConfiguredProject to be created based - // on the tsconfig.json in the test project. - projectService.openClientFile(APP_COMPONENT); - } + const projectService = new ts.server.ProjectService({ + host, + logger, + cancellationToken: ts.server.nullCancellationToken, + useSingleInferredProject: true, + useInferredProjectPerProjectRoot: true, + typingsInstaller: ts.server.nullTypingsInstaller, + }); + // Opening APP_COMPONENT forces a new ConfiguredProject to be created based + // on the tsconfig.json in the test project. + projectService.openClientFile(APP_COMPONENT); const project = projectService.findProject(TSCONFIG); if (!project) { throw new Error(`Failed to create project for ${TSCONFIG}`);