diff --git a/src/index.js b/src/index.js index ebdb0e694d28a87c07f4e2cefcbf7ab16f8ff7f4..e2dfe0f6509b8b3055cb2397eb0fdad1c7c69856 100644 --- a/src/index.js +++ b/src/index.js @@ -31,10 +31,9 @@ let basePackageJson; github.init(token, repoName, config.baseBranch, config.verbose).then(() => { // Get the base package.json return github.getFileContents(packageFile); -}).then((packageContents) => { - // Get the list of possible upgrades - return npm.getAllDependencyUpgrades(packageContents); -}).then((upgrades) => { +}) +.then(npm.getAllDependencyUpgrades) +.then((upgrades) => { if (config.verbose) { console.log('All upgrades: ' + JSON.stringify(upgrades)); } diff --git a/src/npm.js b/src/npm.js index c54276b4a0abee4ca702da3c15395cb0871871cd..10f24c976568cfdb006bd12e166d92dae3e25238 100644 --- a/src/npm.js +++ b/src/npm.js @@ -22,35 +22,10 @@ module.exports = { }); return allDependencies; }, - - getDependencyUpgrades: function(depName, currentVersion) { - return getDependency(depName) - .then(res => { - let allUpgrades = {}; - if (!res.body['versions']) { - console.log(depName + ' versions is null'); - } - Object.keys(res.body['versions']).forEach(function(version) { - if (stable.is(currentVersion) && !stable.is(version)) { - // Ignore unstable versions, unless the current version is unstable - return; - } - if (semver.gt(version, currentVersion)) { - // Group by major versions - var thisMajor = semver.major(version); - if (!allUpgrades[thisMajor] || semver.gt(version, allUpgrades[thisMajor])) { - allUpgrades[thisMajor] = version; - } - } - }); - return allUpgrades; - }); - }, getAllDependencyUpgrades: function(packageContents) { const allDependencyChecks = []; const allDependencyUpgrades = []; const dependencyTypes = ['dependencies', 'devDependencies']; - const getDependencyUpgrades = this.getDependencyUpgrades; dependencyTypes.forEach(function(depType) { if (!packageContents[depType]) { return; @@ -90,3 +65,27 @@ function getDependency(depName) { // supports scoped packages, e.g. @user/package return got(`https://registry.npmjs.org/${depName.replace('/', '%2F')}`, { json: true }); } + +function getDependencyUpgrades(depName, currentVersion) { + return getDependency(depName) + .then(res => { + let allUpgrades = {}; + if (!res.body['versions']) { + console.log(depName + ' versions is null'); + } + Object.keys(res.body['versions']).forEach(function(version) { + if (stable.is(currentVersion) && !stable.is(version)) { + // Ignore unstable versions, unless the current version is unstable + return; + } + if (semver.gt(version, currentVersion)) { + // Group by major versions + var thisMajor = semver.major(version); + if (!allUpgrades[thisMajor] || semver.gt(version, allUpgrades[thisMajor])) { + allUpgrades[thisMajor] = version; + } + } + }); + return allUpgrades; + }); +}