From 843e03c5d9c62854b5051f98ad011a96d15eff83 Mon Sep 17 00:00:00 2001 From: Rhys Arkins <rhys@keylocation.sg> Date: Sat, 7 Jan 2017 22:19:53 +0100 Subject: [PATCH] Refactor argument checks --- src/index.js | 50 ++++++++++++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/src/index.js b/src/index.js index 52b5943ea6..e688866424 100644 --- a/src/index.js +++ b/src/index.js @@ -5,42 +5,48 @@ const config = require('./config'); const github = require('./github'); const npm = require('./npm'); -const token = process.env.RENOVATE_TOKEN; -// token must be defined -if (typeof token === 'undefined') { - console.error('Error: Environment variable RENOVATE_TOKEN must be defined'); - process.exit(1); -} - -if (process.argv.length < 3 || process.argv.length > 4) { - console.error('Error: You must specify the GitHub repository and optionally path.'); - console.log('Example: node src singapore/renovate'); - console.log('Example: node src foo/bar baz/package.json'); - process.exit(1); -} +npm.init(config.verbose); -// Process command line arguments +// Process arguments const repoName = process.argv[2]; -const userName = repoName.split('/')[0]; -const packageFile = process.argv[3] || 'package.json';; - -npm.init(config.verbose); +const packageFile = process.argv[3] || 'package.json'; +const token = process.env.RENOVATE_TOKEN; -let basePackageJson; +validateArguments(); -github.init(token, repoName, config.baseBranch, config.verbose) +initializeGitHub() .then(getPackageFileContents) -.then(getAllUpgrades) +.then(determineUpgrades) .then(processUpgradesSequentially) .catch(err => { console.log('updateDependency error: ' + err); }); +function validateArguments() { + // token must be defined + if (typeof token === 'undefined') { + console.error('Error: Environment variable RENOVATE_TOKEN must be defined'); + process.exit(1); + } + + // Check arguments + if (process.argv.length < 3 || process.argv.length > 4) { + console.error('Error: You must specify the GitHub repository and optionally path.'); + console.log('Example: node src singapore/renovate'); + console.log('Example: node src foo/bar baz/package.json'); + process.exit(1); + } +} + +function initializeGitHub() { + return github.init(token, repoName, config.baseBranch, config.verbose); +} + function getPackageFileContents() { return github.getFileContents(packageFile); } -function getAllUpgrades(packageFileContents) { +function determineUpgrades(packageFileContents) { return npm.getAllDependencyUpgrades(packageFileContents); } -- GitLab