From 163bad03c99a7f556ff86737fcb188d1e4dcaceb Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Wed, 20 Jun 2018 19:11:37 +0200
Subject: [PATCH] fix: catch JSON.parse error for renovate config

---
 lib/workers/repository/init/config.js | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/lib/workers/repository/init/config.js b/lib/workers/repository/init/config.js
index 8f35c24ace..7e80b9b20e 100644
--- a/lib/workers/repository/init/config.js
+++ b/lib/workers/repository/init/config.js
@@ -89,7 +89,16 @@ async function mergeRenovateConfig(config) {
       error.validationMessage = JSON.stringify(jsonValidationError);
       throw error;
     }
-    renovateJson = JSON.parse(renovateConfig);
+    try {
+      renovateJson = JSON.parse(renovateConfig);
+    } catch (err) /* istanbul ignore next */ {
+      logger.debug({ renovateConfig }, 'Error parsing renovate config');
+      const error = new Error('config-validation');
+      error.configFile = configFile;
+      error.validationError = 'Invalid JSON (parsing failed)';
+      error.validationMessage = 'JSON.parse error: ' + err.message;
+      throw error;
+    }
     logger.info({ config: renovateJson }, 'renovate.json config');
   }
   const migratedConfig = await migrateAndValidate(config, renovateJson);
-- 
GitLab