From 1c00491310d8426ed8fb88e4095c2e8d4a96c9a7 Mon Sep 17 00:00:00 2001
From: Misha Kaletsky <15040698+mmkal@users.noreply.github.com>
Date: Fri, 17 Jul 2020 12:42:12 +0100
Subject: [PATCH] fix: add currentValue to yarn upgrade command (#6759)

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

diff --git a/lib/manager/npm/post-update/__snapshots__/yarn.spec.ts.snap b/lib/manager/npm/post-update/__snapshots__/yarn.spec.ts.snap
index 3edffc2f3f..cd859537c0 100644
--- a/lib/manager/npm/post-update/__snapshots__/yarn.spec.ts.snap
+++ b/lib/manager/npm/post-update/__snapshots__/yarn.spec.ts.snap
@@ -222,7 +222,7 @@ Array [
     },
   },
   Object {
-    "cmd": "yarn upgrade some-dep --ignore-engines --ignore-platform --network-timeout 100000 --ignore-scripts",
+    "cmd": "yarn upgrade some-dep@^1.2.3 --ignore-engines --ignore-platform --network-timeout 100000 --ignore-scripts",
     "options": Object {
       "cwd": "some-dir",
       "encoding": "utf-8",
@@ -261,7 +261,7 @@ Array [
     },
   },
   Object {
-    "cmd": "yarn upgrade some-dep --ignore-engines --ignore-platform --network-timeout 100000 --ignore-scripts",
+    "cmd": "yarn upgrade some-dep@^1.2.3 --ignore-engines --ignore-platform --network-timeout 100000 --ignore-scripts",
     "options": Object {
       "cwd": "some-dir",
       "encoding": "utf-8",
diff --git a/lib/manager/npm/post-update/yarn.spec.ts b/lib/manager/npm/post-update/yarn.spec.ts
index e26f857efd..78c43d8e65 100644
--- a/lib/manager/npm/post-update/yarn.spec.ts
+++ b/lib/manager/npm/post-update/yarn.spec.ts
@@ -65,6 +65,7 @@ describe(getName(__filename), () => {
       const res = await yarnHelper.generateLockFile('some-dir', {}, {}, [
         {
           depName: 'some-dep',
+          currentValue: '^1.2.3',
           isLockfileUpdate: true,
         },
       ]);
@@ -87,6 +88,7 @@ describe(getName(__filename), () => {
       const res = await yarnHelper.generateLockFile('some-dir', {}, {}, [
         {
           depName: 'some-dep',
+          currentValue: '^1.2.3',
           isLockfileUpdate: true,
         },
       ]);
diff --git a/lib/manager/npm/post-update/yarn.ts b/lib/manager/npm/post-update/yarn.ts
index 944a227b1d..b64b4a281d 100644
--- a/lib/manager/npm/post-update/yarn.ts
+++ b/lib/manager/npm/post-update/yarn.ts
@@ -94,7 +94,7 @@ export async function generateLockFile(
     // rangeStrategy = update-lockfile
     const lockUpdates = upgrades
       .filter((upgrade) => upgrade.isLockfileUpdate)
-      .map((upgrade) => upgrade.depName);
+      .map((upgrade) => `${upgrade.depName}@${upgrade.currentValue}`);
     if (lockUpdates.length) {
       logger.debug('Performing lockfileUpdate (yarn)');
       commands.push(
-- 
GitLab