From ec27dee005d6204203cfe16113fe95d9c4cb2017 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Thu, 27 Sep 2018 13:01:33 +0200
Subject: [PATCH] fix: check for installed renovate bundled yarn

---
 lib/manager/npm/post-update/yarn.js | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/lib/manager/npm/post-update/yarn.js b/lib/manager/npm/post-update/yarn.js
index 554da4fb1b..7ac70a2d83 100644
--- a/lib/manager/npm/post-update/yarn.js
+++ b/lib/manager/npm/post-update/yarn.js
@@ -27,11 +27,19 @@ async function generateLockFile(cwd, env, config = {}) {
       cmd = `node ${installedPath}`;
       // istanbul ignore if
       if (yarnIntegrity) {
-        logger.info('Using yarn@1.10 for install');
-        cmd = cmd.replace(
-          'node_modules/yarn/bin/yarn.js',
-          'bin/yarn-1.10.1.js'
-        );
+        try {
+          const renovatePath = await getInstalledPath('renovate', {
+            local: true,
+          });
+          logger.info('Using nested bundled yarn@1.10 for install');
+          cmd = upath.join(renovatePath, 'bin/yarn-1.10.1.js');
+        } catch (err) {
+          logger.info('Using bundled yarn@1.10 for install');
+          cmd = cmd.replace(
+            'node_modules/yarn/bin/yarn.js',
+            'bin/yarn-1.10.1.js'
+          );
+        }
       }
     } catch (localerr) {
       logger.debug('No locally installed yarn found');
-- 
GitLab