From 1683e08a398218a88fbe6e31494fa1022329f89c Mon Sep 17 00:00:00 2001
From: Chroslen <chroslen@gmail.com>
Date: Mon, 23 Jan 2017 18:49:59 +0800
Subject: [PATCH 1/2] Express 3.x to 4.x Migration

---
 app.js        | 76 +++++++++++++++++++++++++--------------------------
 package.json  | 41 ++++++++++++++++++++++-----
 routes/api.js |  2 +-
 3 files changed, 73 insertions(+), 46 deletions(-)

diff --git a/app.js b/app.js
index abac5238..b6ecbf29 100644
--- a/app.js
+++ b/app.js
@@ -1,36 +1,38 @@
-
-/**
- * Module dependencies.
- */
-
-var express = require('express'),
-  routes = require('./routes'),
-  api = require('./routes/api');
-
-var app = module.exports = express.createServer();
-
-// Configuration
-
-app.configure(function(){
-  app.set('views', __dirname + '/views');
-  app.set('view engine', 'jade');
-  app.set('view options', {
-    layout: false
-  });
-  app.use(express.bodyParser());
-  app.use(express.methodOverride());
-  app.use(express.static(__dirname + '/public'));
-  app.use(app.router);
-});
-
-
-app.configure('development', function(){
-  app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
-});
-
-app.configure('production', function(){
-  app.use(express.errorHandler());
-});
+var http = require('http');
+var express = require('express');
+var routes = require('./routes');
+var api = require('./routes/api');
+var path = require('path');
+
+var favicon = require('serve-favicon');
+var logger = require('morgan');
+var methodOverride = require('method-override');
+var session = require('express-session');
+var bodyParser = require('body-parser');
+var multer = require('multer');
+var errorHandler = require('errorhandler');
+
+var app = express();
+
+// all environments
+app.set('port', process.env.PORT || 3000);
+app.set('views', path.join(__dirname, 'views'));
+app.set('view engine', 'jade');
+// app.use(favicon(__dirname + '/public/favicon.ico'));
+app.use(logger('dev'));
+app.use(methodOverride());
+app.use(session({ resave: true,
+                  saveUninitialized: true,
+                  secret: 'uwotm8' }));
+app.use(bodyParser.json());
+app.use(bodyParser.urlencoded({ extended: true }));
+// app.use(multer());
+app.use(express.static(path.join(__dirname, 'public')));
+
+// error handling middleware should be loaded after the loading the routes
+if ('development' == app.get('env')) {
+  app.use(errorHandler());
+}
 
 // Routes
 
@@ -40,7 +42,6 @@ app.get('/partials/:name', routes.partials);
 // JSON API
 
 app.get('/api/posts', api.posts);
-
 app.get('/api/post/:id', api.post);
 app.post('/api/post', api.addPost);
 app.put('/api/post/:id', api.editPost);
@@ -49,8 +50,7 @@ app.delete('/api/post/:id', api.deletePost);
 // redirect all others to the index (HTML5 history)
 app.get('*', routes.index);
 
-// Start server
-
-app.listen(3000, function(){
-  console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
+var server = http.createServer(app);
+server.listen(app.get('port'), function(){
+  console.log('Express server listening on port ' + app.get('port'));
 });
diff --git a/package.json b/package.json
index 84470bfe..67197e50 100644
--- a/package.json
+++ b/package.json
@@ -1,9 +1,36 @@
 {
-    "name": "application-name"
-  , "version": "0.0.1"
-  , "private": true
-  , "dependencies": {
-      "express": "2.5.10"
-    , "jade": ">= 0.0.1"
+  "name": "myblog",
+  "version": "1.0.0",
+  "description": "my first blog",
+  "main": "app.js",
+  "scripts": {
+    "test": "echo \"Error: no test specified\" && exit 1"
+  },
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/chroslen/myblog.git"
+  },
+  "keywords": [
+    "blog"
+  ],
+  "author": "chroslen",
+  "license": "ISC",
+  "bugs": {
+    "url": "https://github.com/chroslen/myblog/issues"
+  },
+  "homepage": "https://github.com/chroslen/myblog#readme",
+  "dependencies": {
+    "angularjs": "0.0.1",
+    "body-parser": "^1.16.0",
+    "connect": "^3.5.0",
+    "errorhandler": "^1.5.0",
+    "express": "^4.14.0",
+    "express-session": "^1.15.0",
+    "jade": "^1.11.0",
+    "method-override": "^2.3.7",
+    "morgan": "^1.7.0",
+    "multer": "^1.2.1",
+    "pug": "^2.0.0-beta6",
+    "serve-favicon": "^2.3.2"
   }
-}
\ No newline at end of file
+}
diff --git a/routes/api.js b/routes/api.js
index 48deee3b..fc883fa4 100644
--- a/routes/api.js
+++ b/routes/api.js
@@ -75,4 +75,4 @@ exports.deletePost = function (req, res) {
   } else {
     res.json(false);
   }
-};
\ No newline at end of file
+};

From 11c44413a592b3794ad73bc59dd57648766733b6 Mon Sep 17 00:00:00 2001
From: Chroslen <chroslen@gmail.com>
Date: Mon, 23 Jan 2017 19:10:19 +0800
Subject: [PATCH 2/2] changed package

---
 app.js       | 11 +++++++++--
 package.json | 16 +---------------
 2 files changed, 10 insertions(+), 17 deletions(-)

diff --git a/app.js b/app.js
index b6ecbf29..ffa65875 100644
--- a/app.js
+++ b/app.js
@@ -1,3 +1,8 @@
+
+/**
+ * Module dependencies.
+ */
+
 var http = require('http');
 var express = require('express');
 var routes = require('./routes');
@@ -18,7 +23,6 @@ var app = express();
 app.set('port', process.env.PORT || 3000);
 app.set('views', path.join(__dirname, 'views'));
 app.set('view engine', 'jade');
-// app.use(favicon(__dirname + '/public/favicon.ico'));
 app.use(logger('dev'));
 app.use(methodOverride());
 app.use(session({ resave: true,
@@ -26,10 +30,10 @@ app.use(session({ resave: true,
                   secret: 'uwotm8' }));
 app.use(bodyParser.json());
 app.use(bodyParser.urlencoded({ extended: true }));
-// app.use(multer());
 app.use(express.static(path.join(__dirname, 'public')));
 
 // error handling middleware should be loaded after the loading the routes
+
 if ('development' == app.get('env')) {
   app.use(errorHandler());
 }
@@ -48,8 +52,11 @@ app.put('/api/post/:id', api.editPost);
 app.delete('/api/post/:id', api.deletePost);
 
 // redirect all others to the index (HTML5 history)
+
 app.get('*', routes.index);
 
+// Start server
+
 var server = http.createServer(app);
 server.listen(app.get('port'), function(){
   console.log('Express server listening on port ' + app.get('port'));
diff --git a/package.json b/package.json
index 67197e50..5139cd16 100644
--- a/package.json
+++ b/package.json
@@ -1,24 +1,10 @@
 {
-  "name": "myblog",
+  "name": "application-name",
   "version": "1.0.0",
-  "description": "my first blog",
   "main": "app.js",
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1"
   },
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/chroslen/myblog.git"
-  },
-  "keywords": [
-    "blog"
-  ],
-  "author": "chroslen",
-  "license": "ISC",
-  "bugs": {
-    "url": "https://github.com/chroslen/myblog/issues"
-  },
-  "homepage": "https://github.com/chroslen/myblog#readme",
   "dependencies": {
     "angularjs": "0.0.1",
     "body-parser": "^1.16.0",