From 71b1b58c284c5b8ac442180e086fdeea59c9b29f Mon Sep 17 00:00:00 2001
From: Ian Walter <ianwalter@hey.com>
Date: Wed, 29 Jul 2020 01:16:08 -0400
Subject: [PATCH] feat(pnpm): Adding --recursive flag to pnpm install (#6850)

Closes #2015: pnpm recursive support

Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
---
 .../npm/post-update/__snapshots__/pnpm.spec.ts.snap       | 8 ++++----
 lib/manager/npm/post-update/pnpm.ts                       | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/lib/manager/npm/post-update/__snapshots__/pnpm.spec.ts.snap b/lib/manager/npm/post-update/__snapshots__/pnpm.spec.ts.snap
index 06316efe2e..e0f6b6898d 100644
--- a/lib/manager/npm/post-update/__snapshots__/pnpm.spec.ts.snap
+++ b/lib/manager/npm/post-update/__snapshots__/pnpm.spec.ts.snap
@@ -3,7 +3,7 @@
 exports[`generateLockFile catches errors 1`] = `
 Array [
   Object {
-    "cmd": "pnpm install --lockfile-only --ignore-scripts --ignore-pnpmfile",
+    "cmd": "pnpm install --recursive --lockfile-only --ignore-scripts --ignore-pnpmfile",
     "options": Object {
       "cwd": "some-dir",
       "encoding": "utf-8",
@@ -25,7 +25,7 @@ Array [
 exports[`generateLockFile finds pnpm globally 1`] = `
 Array [
   Object {
-    "cmd": "pnpm install --lockfile-only --ignore-scripts --ignore-pnpmfile",
+    "cmd": "pnpm install --recursive --lockfile-only --ignore-scripts --ignore-pnpmfile",
     "options": Object {
       "cwd": "some-dir",
       "encoding": "utf-8",
@@ -47,7 +47,7 @@ Array [
 exports[`generateLockFile generates lock files 1`] = `
 Array [
   Object {
-    "cmd": "pnpm install --lockfile-only --ignore-scripts --ignore-pnpmfile",
+    "cmd": "pnpm install --recursive --lockfile-only --ignore-scripts --ignore-pnpmfile",
     "options": Object {
       "cwd": "some-dir",
       "encoding": "utf-8",
@@ -69,7 +69,7 @@ Array [
 exports[`generateLockFile performs lock file maintenance 1`] = `
 Array [
   Object {
-    "cmd": "pnpm install --lockfile-only --ignore-scripts --ignore-pnpmfile",
+    "cmd": "pnpm install --recursive --lockfile-only --ignore-scripts --ignore-pnpmfile",
     "options": Object {
       "cwd": "some-dir",
       "encoding": "utf-8",
diff --git a/lib/manager/npm/post-update/pnpm.ts b/lib/manager/npm/post-update/pnpm.ts
index 69825df15d..d1ee9d2f0a 100644
--- a/lib/manager/npm/post-update/pnpm.ts
+++ b/lib/manager/npm/post-update/pnpm.ts
@@ -54,7 +54,7 @@ export async function generateLockFile(
       execOptions.docker.volumes = [[homeNpmrc, '/home/ubuntu/.npmrc']];
     }
     cmd = 'pnpm';
-    let args = 'install --lockfile-only';
+    let args = 'install --recursive --lockfile-only';
     if (global.trustLevel !== 'high' || config.ignoreScripts) {
       args += ' --ignore-scripts';
       args += ' --ignore-pnpmfile';
-- 
GitLab