From 42fe6f548f000b318134fe659cfbc50dce68b3c7 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Wed, 20 Mar 2019 22:46:56 +0100
Subject: [PATCH] fix(lerna): call bootstrap if yarn workspaces not used

---
 lib/manager/npm/extract/monorepo.js  | 4 ++++
 lib/manager/npm/post-update/index.js | 6 ++++++
 2 files changed, 10 insertions(+)

diff --git a/lib/manager/npm/extract/monorepo.js b/lib/manager/npm/extract/monorepo.js
index 66137cfbb4..55752c02f6 100644
--- a/lib/manager/npm/extract/monorepo.js
+++ b/lib/manager/npm/extract/monorepo.js
@@ -54,6 +54,10 @@ function detectMonorepos(packageFiles) {
         subPackage.lernaClient = lernaClient;
         subPackage.yarnLock = subPackage.yarnLock || yarnLock;
         subPackage.npmLock = subPackage.npmLock || npmLock;
+        // istanbul ignore if
+        if (subPackage.yarnLock) {
+          subPackage.hasYarnWorkspaces = !!yarnWorkspacesPackages;
+        }
       }
     }
   }
diff --git a/lib/manager/npm/post-update/index.js b/lib/manager/npm/post-update/index.js
index 720f235b2f..6734a858eb 100644
--- a/lib/manager/npm/post-update/index.js
+++ b/lib/manager/npm/post-update/index.js
@@ -78,6 +78,12 @@ function determineLockFileDirs(config, packageFiles) {
     if (packageFile.lernaDir && packageFile.npmLock) {
       logger.debug(`${packageFile.packageFile} has lerna lock file`);
       lernaDirs.push(packageFile.lernaDir);
+    } else if (
+      packageFile.lernaDir &&
+      packageFile.yarnLock &&
+      !packageFile.hasYarnWorkspaces
+    ) {
+      lernaDirs.push(packageFile.lernaDir);
     } else {
       // push full lock file names and convert them later
       yarnLockDirs.push(packageFile.yarnLock);
-- 
GitLab