From 2142007737aa6939723990cdcd1ca0360d1fa097 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Mon, 17 Jun 2019 20:48:01 +0200
Subject: [PATCH] fix(bazel): better match replace string

Closes #3902
---
 lib/manager/bazel/update.js | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/lib/manager/bazel/update.js b/lib/manager/bazel/update.js
index 54705a5509..01a4ee3624 100644
--- a/lib/manager/bazel/update.js
+++ b/lib/manager/bazel/update.js
@@ -77,11 +77,16 @@ async function updateDependency(fileContent, upgrade) {
       });
     }
     logger.debug({ oldDef: upgrade.def, newDef });
-    let existingRegExStr = `${upgrade.depType}\\([^\\)]+name\\s*=\\s*"${upgrade.depName}"[^\\)]+\\)`;
+    let existingRegExStr = `${upgrade.depType}\\([^\\)]+name\\s*=\\s*"${upgrade.depName}"(.*\\n)+?\\s*\\)`;
     if (newDef.endsWith('\n')) {
       existingRegExStr += '\n';
     }
     const existingDef = new RegExp(existingRegExStr);
+    // istanbul ignore if
+    if (!fileContent.match(existingDef)) {
+      logger.info('Cannot match existing string');
+      return null;
+    }
     return fileContent.replace(existingDef, newDef);
   } catch (err) {
     logger.info({ err }, 'Error setting new bazel WORKSPACE version');
-- 
GitLab