From 3a8ccdac8ba53cba155a7ff2a7a0684768bff0d4 Mon Sep 17 00:00:00 2001 From: Raymond Feng Date: Thu, 24 Jul 2014 17:07:10 -0700 Subject: [PATCH 1/2] Remove direct dependency on express --- index.js | 10 +++++----- package.json | 5 ++--- test/swagger.test.js | 3 +-- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/index.js b/index.js index 5062627..a575936 100644 --- a/index.js +++ b/index.js @@ -6,7 +6,7 @@ var url = require('url'); var path = require('path'); var urlJoin = require('./lib/url-join'); var _defaults = require('lodash.defaults'); -var express = require('express'); +var loopback = require('loopback'); var swagger = require('./lib/swagger'); var SWAGGER_UI_ROOT = path.join(__dirname, 'node_modules', 'swagger-ui', 'dist'); @@ -27,7 +27,7 @@ function explorer(loopbackApplication, options) { apiInfo: loopbackApplication.get('apiInfo') || {} }); - var app = express(); + var app = loopback(); swagger(loopbackApplication, app, options); @@ -53,12 +53,12 @@ function explorer(loopbackApplication, options) { // In this way one could e.g. make changes to index.html without having // to worry about constantly pulling in JS updates. if (options.swaggerDistRoot) { - app.use(express.static(options.swaggerDistRoot)); + app.use(loopback.static(options.swaggerDistRoot)); } // File in node_modules are overridden by a few customizations - app.use(express.static(STATIC_ROOT)); + app.use(loopback.static(STATIC_ROOT)); // Swagger UI distribution - app.use(express.static(SWAGGER_UI_ROOT)); + app.use(loopback.static(SWAGGER_UI_ROOT)); return app; } diff --git a/package.json b/package.json index 46626d4..77c1eef 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "url": "https://github.com/strongloop/loopback-explorer/issues" }, "devDependencies": { - "loopback": "1.x", + "loopback": "1.x || 2.x", "mocha": "~1.20.1", "supertest": "~0.13.0", "chai": "~1.9.1" @@ -34,7 +34,6 @@ "swagger-ui": "~2.0.18", "debug": "~1.0.3", "lodash.clonedeep": "^2.4.1", - "lodash.defaults": "^2.4.1", - "express": "3.x" + "lodash.defaults": "^2.4.1" } } diff --git a/test/swagger.test.js b/test/swagger.test.js index 2fd6bd2..6890ecc 100644 --- a/test/swagger.test.js +++ b/test/swagger.test.js @@ -3,7 +3,6 @@ var url = require('url'); var urlJoin = require('../lib/url-join'); var loopback = require('loopback'); -var express = require('express'); var swagger = require('../lib/swagger'); var request = require('supertest'); @@ -109,7 +108,7 @@ describe('swagger definition', function() { function mountSwagger(options, addlOptions) { addlOptions = addlOptions || {}; var app = createLoopbackAppWithModel(addlOptions.apiRoot); - var swaggerApp = express(); + var swaggerApp = loopback(); swagger(app, swaggerApp, options); app.use(addlOptions.explorerRoot || '/explorer', swaggerApp); return app; From 38d15cb1dd57ebf5beb62bb02d84fb92cc1ea832 Mon Sep 17 00:00:00 2001 From: Raymond Feng Date: Fri, 25 Jul 2014 00:04:52 -0700 Subject: [PATCH 2/2] Remove the need of require('loopback') --- index.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/index.js b/index.js index a575936..32bdd74 100644 --- a/index.js +++ b/index.js @@ -6,7 +6,6 @@ var url = require('url'); var path = require('path'); var urlJoin = require('./lib/url-join'); var _defaults = require('lodash.defaults'); -var loopback = require('loopback'); var swagger = require('./lib/swagger'); var SWAGGER_UI_ROOT = path.join(__dirname, 'node_modules', 'swagger-ui', 'dist'); @@ -27,12 +26,12 @@ function explorer(loopbackApplication, options) { apiInfo: loopbackApplication.get('apiInfo') || {} }); + var loopback = loopbackApplication.loopback; var app = loopback(); + app.disable('x-powered-by'); swagger(loopbackApplication, app, options); - app.disable('x-powered-by'); - // config.json is loaded by swagger-ui. The server should respond // with the relative URI of the resource doc. app.get('/config.json', function(req, res) {