From ba9da35ec8c4000bda558a4fc1cede84ca98b403 Mon Sep 17 00:00:00 2001 From: Erich Gamma Date: Sun, 25 Mar 2018 18:34:27 +0200 Subject: [PATCH] Fix #45816 only search for package.json files when auto detection is enabled --- extensions/npm/src/main.ts | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/extensions/npm/src/main.ts b/extensions/npm/src/main.ts index 00de7090ed1..ee072978725 100644 --- a/extensions/npm/src/main.ts +++ b/extensions/npm/src/main.ts @@ -100,17 +100,22 @@ async function provideNpmScripts(): Promise { let emptyTasks: vscode.Task[] = []; let allTasks: vscode.Task[] = []; - let paths = await vscode.workspace.findFiles('**/package.json', '**/node_modules/**'); - if (paths.length === 0) { + let folders = vscode.workspace.workspaceFolders; + if (!folders) { return emptyTasks; } - try { - for (let i = 0; i < paths.length; i++) { - let folder = vscode.workspace.getWorkspaceFolder(paths[i]); - if (folder && isEnabled(folder) && !isExcluded(folder, paths[i])) { - let tasks = await provideNpmScriptsForFolder(paths[i]); - allTasks.push(...tasks); + for (let i = 0; i < folders.length; i++) { + let folder = folders[i]; + if (isEnabled(folder)) { + let relativePattern = new vscode.RelativePattern(folder, '**/package.json'); + let paths = await vscode.workspace.findFiles(relativePattern, '**/node_modules/**'); + for (let j = 0; j < paths.length; j++) { + if (!isExcluded(folder, paths[j])) { + let tasks = await provideNpmScriptsForFolder(paths[j]); + allTasks.push(...tasks); + } + } } } return allTasks; -- GitLab