From 75da4c778442636642d0354e9f9354d976984bd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Bajto=C5=A1?= <mbajtos@cz.ibm.com> Date: Tue, 31 May 2016 18:48:47 +0200 Subject: [PATCH 1/3] Deprecate getters for express 3.x middleware In LoopBack 3.0, we are removing these getters, see #2394. --- lib/express-middleware.js | 21 +++++++++++++-------- server/middleware/favicon.js | 8 +++++++- test/access-token.test.js | 3 ++- 3 files changed, 22 insertions(+), 10 deletions(-) diff --git a/lib/express-middleware.js b/lib/express-middleware.js index cc7596ff..98fae040 100644 --- a/lib/express-middleware.js +++ b/lib/express-middleware.js @@ -4,6 +4,7 @@ // License text available at https://opensource.org/licenses/MIT var path = require('path'); +var deprecated = require('depd')('loopback'); var middlewares = exports; @@ -29,12 +30,10 @@ var middlewareModules = { 'cookieParser': 'cookie-parser', 'cookieSession': 'cookie-session', 'csrf': 'csurf', - 'errorHandler': 'errorhandler', 'session': 'express-session', 'methodOverride': 'method-override', 'logger': 'morgan', 'responseTime': 'response-time', - 'favicon': 'serve-favicon', 'directory': 'serve-index', // 'static': 'serve-static', 'vhost': 'vhost' @@ -44,14 +43,20 @@ middlewares.bodyParser = safeRequire('body-parser'); middlewares.json = middlewares.bodyParser && middlewares.bodyParser.json; middlewares.urlencoded = middlewares.bodyParser && middlewares.bodyParser.urlencoded; +['bodyParser', 'json', 'urlencoded'].forEach(function(name) { + if (!middlewares[name]) return; + middlewares[name] = deprecated.function( + middlewares[name], + deprecationMessage(name, 'body-parser')); +}); + for (var m in middlewareModules) { var moduleName = middlewareModules[m]; middlewares[m] = safeRequire(moduleName) || createMiddlewareNotInstalled(m, moduleName); + deprecated.property(middlewares, m, deprecationMessage(m, moduleName)); } -// serve-favicon requires a path -var favicon = middlewares.favicon; -middlewares.favicon = function(icon, options) { - icon = icon || path.join(__dirname, '../favicon.ico'); - return favicon(icon, options); -}; +function deprecationMessage(accessor, moduleName) { + return 'loopback.' + accessor + ' is deprecated. ' + + 'Use `require(\'' + moduleName + '\');` instead.'; +} diff --git a/server/middleware/favicon.js b/server/middleware/favicon.js index b5cf10ce..48ffac4f 100644 --- a/server/middleware/favicon.js +++ b/server/middleware/favicon.js @@ -3,8 +3,14 @@ // This file is licensed under the MIT License. // License text available at https://opensource.org/licenses/MIT +var favicon = require('serve-favicon'); +var path = require('path'); + /** * Serve the LoopBack favicon. * @header loopback.favicon() */ -module.exports = require('../../lib/express-middleware').favicon; +module.exports = function(icon, options) { + icon = icon || path.join(__dirname, '../../favicon.ico'); + return favicon(icon, options); +}; diff --git a/test/access-token.test.js b/test/access-token.test.js index 573cae5a..53b0996e 100644 --- a/test/access-token.test.js +++ b/test/access-token.test.js @@ -3,6 +3,7 @@ // This file is licensed under the MIT License. // License text available at https://opensource.org/licenses/MIT +var cookieParser = require('cookie-parser'); var loopback = require('../'); var extend = require('util')._extend; var Token = loopback.AccessToken.extend('MyToken'); @@ -500,7 +501,7 @@ function createTestApp(testToken, settings, done) { var app = loopback(); - app.use(loopback.cookieParser('secret')); + app.use(cookieParser('secret')); app.use(loopback.token(tokenSettings)); app.get('/token', function(req, res) { res.cookie('authorization', testToken.id, {signed: true}); From 05f8774ed698f76849647f2c2c40f518af358a6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Bajto=C5=A1?= <mbajtos@cz.ibm.com> Date: Tue, 31 May 2016 18:58:14 +0200 Subject: [PATCH 2/3] jscsrc: remove jsDoc rule The rule is no longer supported. --- .jscsrc | 3 --- 1 file changed, 3 deletions(-) diff --git a/.jscsrc b/.jscsrc index 0362337e..ba97a76d 100644 --- a/.jscsrc +++ b/.jscsrc @@ -14,8 +14,5 @@ "value": 150, "allowComments": true, "allowRegex": true - }, - "jsDoc": { - "requireParamTypes": true } } From b013e66883fc264135b0623e24dd8c0b162e82a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Bajto=C5=A1?= <mbajtos@cz.ibm.com> Date: Wed, 1 Jun 2016 09:26:45 +0200 Subject: [PATCH 3/3] test: increase timeouts on CI --- test/rest.middleware.test.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/rest.middleware.test.js b/test/rest.middleware.test.js index 2e372f0e..f2a97d02 100644 --- a/test/rest.middleware.test.js +++ b/test/rest.middleware.test.js @@ -17,6 +17,9 @@ describe('loopback.rest', function() { MyModel.attachTo(db); }); + if (process.env.CI) + this.timeout(3000); + it('works out-of-the-box', function(done) { app.model(MyModel); app.use(loopback.rest());