diff --git a/bin/bower b/bin/bower index 73e60061..fc6dcd8f 100755 --- a/bin/bower +++ b/bin/bower @@ -1,9 +1,10 @@ #!/usr/bin/env node -var semver = require('semver'); -var nopt = require('nopt'); -var path = require('path'); -var pkg = require(path.join(__dirname, '..', 'package.json')); +var semver = require('semver'); +var nopt = require('nopt'); +var path = require('path'); +var pkg = require(path.join(__dirname, '..', 'package.json')); +var updateNotifier = require('update-notifier'); var template = require('../lib/util/template'); var bower = require('../lib'); @@ -15,6 +16,11 @@ var input = process.argv; var nodeVer = process.version; var reqVer = pkg.engines.node; var errors = []; +var notifier = updateNotifier({ packageName: pkg.name, packageVersion: pkg.version }); + +if (notifier.update) { + process.stderr.write(template('update-notice', notifier.update, true)); +} process.title = 'bower'; diff --git a/package.json b/package.json index 381f49fc..adebc5a5 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,8 @@ "unzip": "0.1.4", "tar": "~0.1.13", "promptly": "~0.1.0", - "abbrev": "~1.0.4" + "abbrev": "~1.0.4", + "update-notifier": "~0.1.3" }, "scripts": { "test": "mocha --reporter spec --timeout 40000" diff --git a/templates/update-notice.mustache b/templates/update-notice.mustache new file mode 100644 index 00000000..a9af17ee --- /dev/null +++ b/templates/update-notice.mustache @@ -0,0 +1,4 @@ +{{#red}}-----------------------------------------{{/red}} +Update available: {{#yellow}}{{latest}}{{/yellow}} {{#cyan}}(current: {{current}}){{/cyan}} +Run {{#yellow}}npm update -g {{name}}{{/yellow}} to update +{{#red}}-----------------------------------------{{/red}}