diff --git a/lib/middleware/index.js b/lib/middleware/index.js index d265d69..edddad6 100644 --- a/lib/middleware/index.js +++ b/lib/middleware/index.js @@ -20,6 +20,7 @@ module.exports = [ require("./domain"), require("./protocol"), require("./deploy"), - require("./ipaddress") + require("./ipaddress"), + require("./notify") //require("./log") ] diff --git a/lib/middleware/notify.js b/lib/middleware/notify.js new file mode 100644 index 0000000..84d5ad7 --- /dev/null +++ b/lib/middleware/notify.js @@ -0,0 +1,30 @@ +var updateNotifier = require("update-notifier"); +var helpers = require("./util/helpers"); +var isNPM = require("is-npm"); +var pkg = require(__dirname + "./../../package.json"); + +module.exports = function(req, next){ + // Checks for available update and returns an instance + var notifier = updateNotifier({ + // updateCheckInterval: 1000, // For testing + pkg: pkg +}); + + if (!process.stdout.isTTY || isNPM || !notifier.update) { + next(); + } else { + + helpers + .log(" ┌────────────────────────────────────────┐ ".grey) + .log(" │ ".grey + "A new version of " + "Surge".bold + " is available!" + " │".grey) + .log(" │ ".grey + "Yours: ".grey + "v" + notifier.update.current + " │".grey) + .log(" │ ".grey + "Latest: ".grey + "v" + notifier.update.latest + " │".grey) + .log(" │ │".grey) + .log(" │ ".grey + "Run " + "npm install -g ".green + notifier.update.name.green + " to update." + " │".grey) + .log(" └────────────────────────────────────────┘ ".grey) + .log() + .log() + + next(); + } +} diff --git a/package.json b/package.json index d40e0ea..0ae0390 100644 --- a/package.json +++ b/package.json @@ -7,16 +7,20 @@ "dependencies": { "du": "0.1.0", "fstream-ignore": "1.0.2", + "is-npm": "^1.0.0", "is-domain": "0.0.1", "moniker": "0.1.2", "netrc": "0.1.3", - "prompt": "~0.2.14", + "opn": "1.0.1", "progress": "1.1.8", + "prompt": "~0.2.14", + "read": "1.0.5", "request": "2.40.0", "split": "0.3.1", "surge-ignore": "0.2.0", "tar": "1.0.0", "tar.gz": "0.1.1", + "update-notifier": "^0.4.0", "url-parse-as-address": "1.0.0", "read": "1.0.5", "minimist": "1.1.1" @@ -26,12 +30,11 @@ }, "license": "ISC", "main": "./lib/surge.js", - "repository": "sintaxi/surge", - "scripts": { - "test": "mocha test" - }, "repository": { "type": "git", "url": "https://github.com/sintaxi/surge.git" + }, + "scripts": { + "test": "mocha test" } }