From cb92a9e01070b42945f6010a49aaba3b1b0b48a2 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@arkins.net> Date: Thu, 29 Mar 2018 05:47:49 +0200 Subject: [PATCH] fix: validator needs to use async validate command Closes #1734 --- bin/config-validator.js | 72 +++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 35 deletions(-) diff --git a/bin/config-validator.js b/bin/config-validator.js index 422c053b36..0257f4d413 100644 --- a/bin/config-validator.js +++ b/bin/config-validator.js @@ -7,8 +7,8 @@ const { validateConfig } = require('../lib/config/validation'); let returnVal = 0; -function validate(desc, config) { - const res = validateConfig(config); +async function validate(desc, config) { + const res = await validateConfig(config); if (res.errors.length) { console.log( `${desc} contains errors:\n\n${JSON.stringify(res.errors, null, 2)}` @@ -23,42 +23,44 @@ function validate(desc, config) { } } -const renovateConfigFiles = [ - 'renovate.json', - '.renovaterc', - '.renovaterc.json', -]; -for (const file of renovateConfigFiles) { - try { - const rawContent = fs.readFileSync(file, 'utf8'); - console.log(`Validating ${file}`); +(async () => { + const renovateConfigFiles = [ + 'renovate.json', + '.renovaterc', + '.renovaterc.json', + ]; + for (const file of renovateConfigFiles) { try { - const jsonContent = JSON.parse(rawContent); - validate(file, jsonContent); + const rawContent = fs.readFileSync(file, 'utf8'); + console.log(`Validating ${file}`); + try { + const jsonContent = JSON.parse(rawContent); + await validate(file, jsonContent); + } catch (err) { + console.log(`${file} is not valid JSON`); + returnVal = 1; + } } catch (err) { - console.log(`${file} is not valid JSON`); - returnVal = 1; + // file does not exist } - } catch (err) { - // file does not exist } -} -try { - const pkgJson = JSON.parse(fs.readFileSync('package.json', 'utf8')); - if (pkgJson.renovate) { - console.log(`Validating package.json > renovate`); - validate('package.json > renovate', pkgJson.renovate); + try { + const pkgJson = JSON.parse(fs.readFileSync('package.json', 'utf8')); + if (pkgJson.renovate) { + console.log(`Validating package.json > renovate`); + await validate('package.json > renovate', pkgJson.renovate); + } + if (pkgJson['renovate-config']) { + console.log(`Validating package.json > renovate-config`); + for (const presetConfig of Object.values(pkgJson['renovate-config'])) { + await validate('package.json > renovate-config', presetConfig); + } + } + } catch (err) { + // ignore } - if (pkgJson['renovate-config']) { - console.log(`Validating package.json > renovate-config`); - Object.values(pkgJson['renovate-config']).forEach(presetConfig => { - validate('package.json > renovate-config', presetConfig); - }); + if (returnVal !== 0) { + process.exit(returnVal); } -} catch (err) { - // ignore -} -if (returnVal !== 0) { - process.exit(returnVal); -} -console.log('OK'); + console.log('OK'); +})(); -- GitLab