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