From 8b0fab1f96846cdbdf059c06a4251409216d4d7c Mon Sep 17 00:00:00 2001 From: jannyHou Date: Thu, 3 Sep 2020 12:40:44 -0400 Subject: [PATCH 1/2] chore: move explorer to devdependency Signed-off-by: jannyHou --- package.json | 2 +- server/server.js | 29 ++++++++++++++++++++++++----- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index a3fee723..c7ac1c48 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,6 @@ "lodash": "^4.17.11", "loopback": "^3.24.0", "loopback-boot": "^2.27.1", - "loopback-component-explorer": "^6.3.1", "method-override": "^3.0.0", "morgan": "^1.9.1", "ncp": "^2.0.0", @@ -46,6 +45,7 @@ "chai": "^1.10.0", "eslint": "^2.13.1", "eslint-config-loopback": "^2.0.0", + "loopback-component-explorer": "^6.3.1", "mocha": "^5.2.0", "mysql": "^2.16.0", "read": "^1.0.7", diff --git a/server/server.js b/server/server.js index 5cd61d8f..d389c773 100644 --- a/server/server.js +++ b/server/server.js @@ -13,6 +13,7 @@ var methodOverride = require('method-override'); var app = module.exports = loopback(); var boot = require('loopback-boot'); var cookieParser = require('cookie-parser'); +var debug = require('debug')('loopback:workspace:server'); var errorHandler = require('strong-error-handler'); /* @@ -52,11 +53,29 @@ app.use(methodOverride()); // LoopBack REST interface app.use(app.get('restApiRoot'), loopback.rest()); -// API explorer -require('loopback-component-explorer')(app); -app.once('started', function(baseUrl) { - g.log('Browse your REST API at %s%s', baseUrl, '/explorer'); -}); +// To prevent the snyk warning about swagger-ui@2.x, the explorer component +// is moved from dependencies to devDependencies. +// Here we try to mount the explorer component in case it's installed. + +var hasExplorer; +try { + require.resolve('loopback-component-explorer'); + hasExplorer = true; +} catch (err) { + debug( + 'loopback-workspace runs without API Explorer enabled due to %s. \n' + + 'To install it, run `npm i loopback-component-explorer`.', + err.stack || err + ); + hasExplorer = false; +} + +if (hasExplorer) { + require('loopback-component-explorer')(app); + app.once('started', function(baseUrl) { + g.log('Browse your REST API at %s%s', baseUrl, '/explorer'); + }); +} /* * EXTENSION POINT From c9f1619fda8e632283a23bc1b6febe30cdfe2e63 Mon Sep 17 00:00:00 2001 From: jannyHou Date: Fri, 11 Sep 2020 14:22:50 -0400 Subject: [PATCH 2/2] 4.6.0 * chore: move explorer to devdependency (jannyHou) --- CHANGES.md | 6 ++++++ package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 7ca8533f..22825a53 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,9 @@ +2020-09-11, Version 4.6.0 +========================= + + * chore: move explorer to devdependency (jannyHou) + + 2019-01-28, Version 4.5.2 ========================= diff --git a/package.json b/package.json index c7ac1c48..1faac7ca 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "loopback-workspace", - "version": "4.5.2", + "version": "4.6.0", "engines": { "node": ">=6" },