Socket
Socket
Sign inDemoInstall

npm-check-updates

Package Overview
Dependencies
Maintainers
1
Versions
470
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

npm-check-updates - npm Package Compare versions

Comparing version 1.1.1 to 1.2.0

51

lib/npm-check-updates.js

@@ -20,2 +20,3 @@ // npm-check-updates

var program = require('commander');
var async = require('async');
var fs = require('fs');

@@ -30,2 +31,3 @@ var path = require('path');

}
var newPackageData = vm.updatePackageData(packageData, currentDependencies, upgradedDependencies);

@@ -49,8 +51,9 @@ writePackageFile(packageFile, newPackageData, function (error) {

var upgradedDependencies = vm.upgradeDependencies(currentDependencies, latestVersions);
callback(error, upgradedDependencies);
callback(error, upgradedDependencies, latestVersions);
});
}
function analyzeGlobalDependecies() {
vm.getGlobalPackages(function (error, globalPackages) {
function analyzeGlobalPackages() {
vm.getInstalledPackages(function (error, globalPackages) {
if (error) {

@@ -60,3 +63,3 @@ return console.error("There was an error reading the global packages: ");

upgradePackageDefinitions(globalPackages, function (error, upgradedPackages) {
upgradePackageDefinitions(globalPackages, function (error, upgradedPackages, latestVersions) {
if (error) {

@@ -71,3 +74,4 @@ return console.error("There was an error determining the latest package versions: " + error);

for (var package in upgradedPackages) {
print('Package "' + package + '" could be updated to version ' + upgradedPackages[package]);
print('"' + package + '" can be updated from ' +
globalPackages[package] + ' to ' + upgradedPackages[package]);
}

@@ -80,8 +84,15 @@ }

function analyzeProjectDependencies(packageFile) {
vm.getCurrentDependencies(packageFile, function (error, currentDependencies) {
async.series({
current: function (callback) {
vm.getCurrentDependencies(packageFile, callback);
},
installed: function (callback) {
vm.getInstalledPackages(callback);
}
}, function (error, results) {
if (error) {
return console.error("There was an error reading the package file: " + error);
return console.error("There was an error analyzing the dependencies: " + error);
}
upgradePackageDefinitions(currentDependencies, function (error, upgradedDependencies) {
upgradePackageDefinitions(results.current, function (error, upgradedDependencies, latestVersions) {
if (error) {

@@ -92,11 +103,7 @@ return console.error("There was an error determining the latest package versions: " + error);

print('');
if (isEmpty(upgradedDependencies)) {
print("All dependencies match the latest package versions :)");
} else {
for (var dependency in upgradedDependencies) {
print('Dependency "' + dependency + '" could be updated to ' + upgradedDependencies[dependency]);
}
printDependencyUpgrades(results.current, upgradedDependencies, results.installed, latestVersions);
if (isEmpty(upgradedDependencies) === false) {
if (program.upgrade) {
upgradePackageFile(packageFile, currentDependencies, upgradedDependencies, function (error) {
upgradePackageFile(packageFile, results.current, upgradedDependencies, function (error) {
if (error) {

@@ -116,2 +123,14 @@ return console.error("There was an error writing the package.json file: " + error);

function printDependencyUpgrades(currentDependencies, upgradedDependencies, installedVersions, latestVersions) {
if (isEmpty(upgradedDependencies)) {
print("All dependencies match the latest package versions :)");
} else {
for (var dependency in upgradedDependencies) {
print('"' + dependency + '" can be updated from ' +
currentDependencies[dependency] + ' to ' + upgradedDependencies[dependency] +
" (Installed: " + (installedVersions[dependency] ? installedVersions[dependency] : "none") + ", Latest: " + latestVersions[dependency] + ")");
}
}
}
program

@@ -133,3 +152,3 @@ .version('1.1.1')

if (program.global) {
analyzeGlobalDependecies();
analyzeGlobalPackages();
} else {

@@ -136,0 +155,0 @@ var packageFile = 'package.json';

@@ -127,3 +127,3 @@ var npm = require('npm');

for (var dependency in newDependencies) {
var expression = '"*.' + dependency + '*.:*."' + escapeRegexp(oldDependencies[dependency] + '"');
var expression = '".*' + dependency + '.*:.*"' + escapeRegexp(oldDependencies[dependency] + '"');
var regExp = new RegExp(expression, "g");

@@ -149,3 +149,3 @@ data = data.replace(regExp, '"' + dependency + '": ' + '"' + newDependencies[dependency] + '"');

function getGlobalPackages(callback) {
function getInstalledPackages(callback) {
npm.commands.list([], true, function (error, results) {

@@ -158,6 +158,6 @@ if (error) {

if (!packageList) {
return callback(new Error("Unable to retrieve NPM global package list"));
return callback(new Error("Unable to retrieve NPM package list"));
}
var globalPackages = {}
var globalPackages = {};
for (var package in packageList) {

@@ -270,2 +270,2 @@ globalPackages[packageList[package].name] = packageList[package].version;

exports.updatePackageData = updatePackageData;
exports.getGlobalPackages = getGlobalPackages;
exports.getInstalledPackages = getInstalledPackages;
{
"name": "npm-check-updates",
"version": "1.1.1",
"version": "1.2.0",
"author": "Tomas Junnonen <tomas1@gmail.com>",

@@ -12,3 +12,3 @@ "description": "Find newer versions of dependencies than what your package.json allows",

"read-package-json": "1.1.x",
"semver": "2.1.x"
"semver": "2.2.x"
},

@@ -15,0 +15,0 @@ "main": "./lib/npm-check-updates",

@@ -49,4 +49,4 @@ npm-check-updates

Dependency "connect" could be updated to 2.8.x
Dependency "commander" could be updated to 2.0.0
"connect" can be updated from 2.8.x to 2.11.x (Installed: 2.8.8, Latest: 2.11.0)
"commander" can be updated from 1.3.x to 2.0.x (Installed: 1.3.2, Latest: 2.0.0)

@@ -60,3 +60,3 @@ Run 'npm-check-updates -u' to upgrade your package.json automatically

Package "mocha" could be updated to version 1.12.1
"mocha" can be updated to version 1.12.1
```

@@ -68,3 +68,3 @@

Dependency "request" could be updated to 2.27.x
"request" can be updated from 2.20.x to 2.27.x (Installed: 2.20.0, Latest: 2.27.1)

@@ -80,2 +80,5 @@ package.json upgraded

- 1.2
- Print currently installed and latest package version in addition to semantic versions
- Fixed bug where extra whitespace in package.json may prevent automatic upgrade
- 1.1

@@ -82,0 +85,0 @@ - Added option to check global packages for updates: -g switch

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc