From 3b4a9b319c6db21f836dad0b722ce8b00f0a19f0 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@keylocation.sg> Date: Fri, 13 Jan 2017 13:30:13 +0100 Subject: [PATCH] Enhance config structure for package files (#37) * Better nest packageFiles * fix lint --- app/config/parser.js | 17 ++++++++++++----- app/index.js | 2 +- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/app/config/parser.js b/app/config/parser.js index 5461f24db6..b71b996f5b 100644 --- a/app/config/parser.js +++ b/app/config/parser.js @@ -27,12 +27,11 @@ module.exports = function init() { } // Check if repository name and package file are provided via CLI const repoName = process.argv[2]; - const packageFile = process.argv[3] || 'package.json'; if (repoName) { cliConfig.repositories = [ { - name: repoName, - packageFiles: [packageFile], + repository: repoName, + packageFiles: [process.argv[3] || 'package.json'], }, ]; } @@ -40,7 +39,7 @@ module.exports = function init() { // First, convert any strings to objects config.repositories.forEach((repo, index) => { if (typeof repo === 'string') { - config.repositories[index] = { name: repo }; + config.repositories[index] = { repository: repo }; } }); // Add 'package.json' if missing @@ -49,7 +48,15 @@ module.exports = function init() { config.repositories[index].packageFiles = ['package.json']; } }); - + // Expand format + config.repositories.forEach((repo, index) => { + config.repositories[index].packageFiles = repo.packageFiles.map((packageFile) => { + if (typeof packageFile === 'string') { + return { fileName: packageFile }; + } + return packageFile; + }); + }); // Winston log level can be controlled via config or env if (config.logLevel) { diff --git a/app/index.js b/app/index.js index 1035aa1379..4bc52d921a 100644 --- a/app/index.js +++ b/app/index.js @@ -13,7 +13,7 @@ let p = Promise.resolve(); // Queue up each repo/package combination config.repositories.forEach((repo) => { repo.packageFiles.forEach((packageFile) => { - p = p.then(() => renovate(repo.name, packageFile)); + p = p.then(() => renovate(repo.repository, packageFile.fileName)); }); }); p.then(() => { // eslint-disable-line promise/always-return -- GitLab