From cea2397e06c29614551f71d9934788169cc1fc20 Mon Sep 17 00:00:00 2001 From: Nick Rayburn Date: Thu, 27 May 2021 23:13:03 -0500 Subject: [PATCH] npm check for root package.json before findFiles --- extensions/npm/src/tasks.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/extensions/npm/src/tasks.ts b/extensions/npm/src/tasks.ts index 911d66fbe3b..533ec5c56b6 100644 --- a/extensions/npm/src/tasks.ts +++ b/extensions/npm/src/tasks.ts @@ -365,12 +365,16 @@ export function getPackageJsonUriFromTask(task: Task): Uri | null { } export async function hasPackageJson(): Promise { + // Faster than `findFiles` for workspaces with a root package.json. + if (await hasRootPackageJson()) { + return true; + } const token = new CancellationTokenSource(); // Search for files for max 1 second. const timeout = setTimeout(() => token.cancel(), 1000); const files = await workspace.findFiles('**/package.json', undefined, 1, token.token); clearTimeout(timeout); - return files.length > 0 || await hasRootPackageJson(); + return files.length > 0; } async function hasRootPackageJson(): Promise {