Skip to content
This repository has been archived by the owner on May 13, 2021. It is now read-only.

Commit

Permalink
Merge pull request #94 from manifoldjs/v0.3.1
Browse files Browse the repository at this point in the history
V0.3.1
  • Loading branch information
msrodri committed Jun 24, 2015
2 parents 586bd69 + c8e35df commit 877ec77
Show file tree
Hide file tree
Showing 11 changed files with 585 additions and 323 deletions.
100 changes: 53 additions & 47 deletions lib/common/utils.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

53 changes: 53 additions & 0 deletions lib/common/version.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
'use strict';

var http = require('http'),
semver = require('semver'),
pkg = require('../../package.json');

var getCurrentPackageVersion = function () {
return pkg.version;
};

var getCurrentPackageName = function () {
return pkg.name;
};

var getNpmPackageLatestVersion = function (packageName, callback) {
http.get('http://registry.npmjs.org/' + packageName + '/latest', function (res) {
var data = '';

res.on('data', function (chunk) {
data += chunk;
});

res.on('end', function () {
try {
var packageJson = JSON.parse(data);
callback(undefined, packageJson.version);
} catch (err) {
callback(err);
}
});
}).on('error', function (err) {
callback(err);
});
};

var checkForUpdate = function (callback) {
var name = getCurrentPackageName();
getNpmPackageLatestVersion(name, function (err, latestVersion) {
if (err) {
return callback && callback(err);
}

var currentVersion = getCurrentPackageVersion();
return callback && callback(undefined, semver.lt(currentVersion, latestVersion) ? latestVersion : undefined);
});
};

module.exports = {
getCurrentPackageName : getCurrentPackageName,
getCurrentPackageVersion: getCurrentPackageVersion,
getNpmPackageLatestVersion: getNpmPackageLatestVersion,
checkForUpdate : checkForUpdate
};
Loading

0 comments on commit 877ec77

Please sign in to comment.