From ada085a914ab1b39538882c002e97fb8445c1d77 Mon Sep 17 00:00:00 2001 From: Chris Vignola Date: Mon, 25 Sep 2017 12:57:19 -0500 Subject: [PATCH] fixups to swaggerize --- app/index.js | 13 ++++++++----- app/templates/.dockerignore | 2 ++ app/templates/Dockerfile | 2 +- app/templates/Dockerfile-tools | 4 ---- app/templates/server/routers/index.js | 2 +- app/templates/server/server.js | 7 +++++-- 6 files changed, 17 insertions(+), 13 deletions(-) create mode 100644 app/templates/.dockerignore diff --git a/app/index.js b/app/index.js index 8a97a54..38286a1 100644 --- a/app/index.js +++ b/app/index.js @@ -13,7 +13,7 @@ 'use strict'; const Generator = require('yeoman-generator'); -const Bundle = require("./../package.json") +const Bundle = require("./../package.json"); const Log4js = require('log4js'); const logger = Log4js.getLogger("generator-core-node-express"); const helpers = require('../lib/helpers'); @@ -28,7 +28,10 @@ module.exports = class extends Generator { constructor(args, opts) { super(args, opts); - logger.info("Package info ::", Bundle.name, Bundle.version); + + if ( typeof opts.bluemix.quiet == "undefined" || ! opts.bluemix.quiet ) { + logger.info("Package info ::", Bundle.name, Bundle.version); + } // bluemix option for YaaS integration this.argument(OPTION_BLUEMIX, { @@ -127,8 +130,8 @@ module.exports = class extends Generator { this.fs.delete(this.destinationPath('server/routers/swagger.js')); } - // microservice does not serve up default page - if(this.options.spec && this.options.spec.applicationType === 'MS') { + // if there is swagger, there is no index page + if( this.options.genSwagger ) { this.fs.delete(this.destinationPath('server/routers/public.js')); } else { @@ -154,7 +157,7 @@ module.exports = class extends Generator { return false; } - if (optionValue.indexOf("file:") === 0) { + if (typeof optionValue === "string" && optionValue.indexOf("file:") === 0) { let fileName = optionValue.replace("file:", ""); let filePath = this.destinationPath("./" + fileName); logger.info("Reading", name, "parameter from local file", filePath); diff --git a/app/templates/.dockerignore b/app/templates/.dockerignore new file mode 100644 index 0000000..bebde3d --- /dev/null +++ b/app/templates/.dockerignore @@ -0,0 +1,2 @@ +node_modules/ +node_modules_linux/ \ No newline at end of file diff --git a/app/templates/Dockerfile b/app/templates/Dockerfile index d2051a6..6ac7608 100644 --- a/app/templates/Dockerfile +++ b/app/templates/Dockerfile @@ -6,7 +6,7 @@ ENV PORT 3000 WORKDIR "/app" # Install app dependencies -COPY package.json package-lock.json /app/ +COPY package.json /app/ RUN cd /app; npm install # Bundle app source diff --git a/app/templates/Dockerfile-tools b/app/templates/Dockerfile-tools index ab21599..8998601 100644 --- a/app/templates/Dockerfile-tools +++ b/app/templates/Dockerfile-tools @@ -4,10 +4,6 @@ ENV PORT 3000 WORKDIR "/app" -# Install app dependencies -COPY package.json package-lock.json /app/ -RUN cd /app; npm install - # Bundle app source COPY . /app diff --git a/app/templates/server/routers/index.js b/app/templates/server/routers/index.js index 7962e14..f04417c 100644 --- a/app/templates/server/routers/index.js +++ b/app/templates/server/routers/index.js @@ -11,7 +11,7 @@ module.exports = function(app){ if( genSwagger ){ %> require('./swagger')(app); <% } - if ( typeof spec === 'undefined' || (typeof spec !== 'undefined' && spec.applicationType !== 'MS')) {%> + if ( !parsedSwagger ) {%> require('./public')(app); <% } if(typeof spec === 'undefined' || spec.applicationType !== 'BLANK'){ %> diff --git a/app/templates/server/server.js b/app/templates/server/server.js index d9d9f5a..f5d49bd 100644 --- a/app/templates/server/server.js +++ b/app/templates/server/server.js @@ -14,9 +14,12 @@ require('./routers/index')(app); const port = process.env.PORT || localConfig.port; app.listen(port, function(){ + logger.info(`<%= bluemix.name %> listening on http://localhost:${port}/appmetrics-dash`); + <% if( !genSwagger ){ %> logger.info(`<%= bluemix.name %> listening on http://localhost:${port}`); - <% if(typeof spec !== 'undefined' && spec.applicationType === 'MS'){ %> + <% } %> + <% if( genSwagger ){ %> logger.info(`OpenAPI (Swagger) spec is available at http://localhost:${port}/swagger/api`); logger.info(`Swagger UI is available at http://localhost:${port}/explorer`); <% } %> -}); +}); \ No newline at end of file